Repository: CosmWasm/cosmwasm
Pull request #1780 (2023-07-18 09:18:16)

Merge `release/1.3` into `main`
Since we released 1.3, we should merge them


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9cea75c7e..480e8b1e2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,7 +20,7 @@ and this project adheres to
 [#1667]: https://github.com/CosmWasm/cosmwasm/pull/1667
 [#1677]: https://github.com/CosmWasm/cosmwasm/pull/1677
 
-## [1.3.0-rc.0] - 2023-07-03
+## [1.3.0] - 2023-07-17
 
 ### Fixed
 
@@ -1793,7 +1793,7 @@ Some main points:
 All future Changelog entries will reference this base
 
 [unreleased]: https://github.com/CosmWasm/cosmwasm/compare/v1.3.0-rc.0...HEAD
-[1.3.0-rc.0]: https://github.com/CosmWasm/cosmwasm/compare/v1.2.7...v1.3.0-rc.0
+[1.3.0]: https://github.com/CosmWasm/cosmwasm/compare/v1.2.7...v1.3.0
 [1.2.7]: https://github.com/CosmWasm/cosmwasm/compare/v1.2.6...v1.2.7
 [1.2.6]: https://github.com/CosmWasm/cosmwasm/compare/v1.2.5...v1.2.6
 [1.2.5]: https://github.com/CosmWasm/cosmwasm/compare/v1.2.4...v1.2.5
diff --git a/Cargo.lock b/Cargo.lock
index 2d51248c9..e3a42ca29 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -417,7 +417,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-check"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -430,7 +430,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "criterion",
@@ -449,7 +449,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-std",
  "syn 1.0.109",
@@ -457,7 +457,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "anyhow",
  "cosmwasm-schema-derive",
@@ -472,7 +472,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -481,7 +481,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -504,7 +504,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-storage"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-std",
  "serde",
@@ -512,7 +512,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/burner/Cargo.lock b/contracts/burner/Cargo.lock
index e7afa66cb..8e5dc9aba 100644
--- a/contracts/burner/Cargo.lock
+++ b/contracts/burner/Cargo.lock
@@ -193,7 +193,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -204,14 +204,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -222,7 +222,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -231,7 +231,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -249,7 +249,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/crypto-verify/Cargo.lock b/contracts/crypto-verify/Cargo.lock
index bdf504794..8fe3c3b23 100644
--- a/contracts/crypto-verify/Cargo.lock
+++ b/contracts/crypto-verify/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/cyberpunk/Cargo.lock b/contracts/cyberpunk/Cargo.lock
index 486f71732..b5c0b4ec3 100644
--- a/contracts/cyberpunk/Cargo.lock
+++ b/contracts/cyberpunk/Cargo.lock
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -222,14 +222,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -240,7 +240,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -249,7 +249,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -267,7 +267,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/cyberpunk/src/msg.rs b/contracts/cyberpunk/src/msg.rs
index 8e9ee80bf..c02b51872 100644
--- a/contracts/cyberpunk/src/msg.rs
+++ b/contracts/cyberpunk/src/msg.rs
@@ -1,5 +1,4 @@
 use cosmwasm_schema::{cw_serde, QueryResponses};
-use cosmwasm_std::DenomMetadata;
 
 #[cw_serde]
 pub enum ExecuteMsg {
@@ -41,10 +40,10 @@ pub enum QueryMsg {
     MirrorEnv {},
 
     /// Queries `AllDenomMetadata` from the bank module repeatedly and returns all entries
-    #[returns(Vec<DenomMetadata>)]
+    #[returns(Vec<cosmwasm_std::DenomMetadata>)]
     Denoms {},
 
     /// Queries `DenomMetadata` from the bank module and returns the result
-    #[returns(DenomMetadata)]
+    #[returns(cosmwasm_std::DenomMetadata)]
     Denom { denom: String },
 }
diff --git a/contracts/floaty/Cargo.lock b/contracts/floaty/Cargo.lock
index 7e88d1d53..92b19c33a 100644
--- a/contracts/floaty/Cargo.lock
+++ b/contracts/floaty/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/hackatom/Cargo.lock b/contracts/hackatom/Cargo.lock
index 2c8549bc2..fa745cfa4 100644
--- a/contracts/hackatom/Cargo.lock
+++ b/contracts/hackatom/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/ibc-reflect-send/Cargo.lock b/contracts/ibc-reflect-send/Cargo.lock
index b8765ec7a..d48fccc9a 100644
--- a/contracts/ibc-reflect-send/Cargo.lock
+++ b/contracts/ibc-reflect-send/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/ibc-reflect/Cargo.lock b/contracts/ibc-reflect/Cargo.lock
index 7c3927f3b..844282d14 100644
--- a/contracts/ibc-reflect/Cargo.lock
+++ b/contracts/ibc-reflect/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/queue/Cargo.lock b/contracts/queue/Cargo.lock
index 2d39bd5af..6f28d1634 100644
--- a/contracts/queue/Cargo.lock
+++ b/contracts/queue/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/reflect/Cargo.lock b/contracts/reflect/Cargo.lock
index 742fb8f91..fcd335dd5 100644
--- a/contracts/reflect/Cargo.lock
+++ b/contracts/reflect/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/staking/Cargo.lock b/contracts/staking/Cargo.lock
index eb507bdb2..1f8eb40d0 100644
--- a/contracts/staking/Cargo.lock
+++ b/contracts/staking/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/contracts/virus/Cargo.lock b/contracts/virus/Cargo.lock
index 2bf601883..9e3e0dff3 100644
--- a/contracts/virus/Cargo.lock
+++ b/contracts/virus/Cargo.lock
@@ -182,7 +182,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "digest 0.10.3",
  "ed25519-zebra",
@@ -193,14 +193,14 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "syn",
 ]
 
 [[package]]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "cosmwasm-schema-derive",
  "schemars",
@@ -211,7 +211,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -220,7 +220,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "base64",
  "bnum",
@@ -238,7 +238,7 @@ dependencies = [
 
 [[package]]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 dependencies = [
  "bitflags",
  "bytecheck",
diff --git a/packages/check/Cargo.toml b/packages/check/Cargo.toml
index 88300df19..5888b7f26 100644
--- a/packages/check/Cargo.toml
+++ b/packages/check/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-check"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Mauro Lacy <mauro@lacy.com.es>"]
 edition = "2021"
 description = "A CLI tool for verifying CosmWasm smart contracts"
@@ -11,8 +11,8 @@ license = "Apache-2.0"
 anyhow = "1.0.57"
 clap = "4"
 colored = "2"
-cosmwasm-vm = { path = "../vm", version = "1.3.0-rc.0" }
-cosmwasm-std = { path = "../std", version = "1.3.0-rc.0" }
+cosmwasm-vm = { path = "../vm", version = "1.3.0" }
+cosmwasm-std = { path = "../std", version = "1.3.0" }
 
 [dev-dependencies]
 assert_cmd = "=2.0.10" # 2.0.11+ requires Rust 1.65.0 which we currently don't want to make the minimum if possible
diff --git a/packages/crypto/Cargo.toml b/packages/crypto/Cargo.toml
index c1a3d9b10..480808b80 100644
--- a/packages/crypto/Cargo.toml
+++ b/packages/crypto/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-crypto"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Mauro Lacy <maurolacy@users.noreply.github.com>"]
 edition = "2021"
 description = "Crypto bindings for cosmwasm contracts"
diff --git a/packages/derive/Cargo.toml b/packages/derive/Cargo.toml
index 68212e10a..3e8f640ee 100644
--- a/packages/derive/Cargo.toml
+++ b/packages/derive/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Simon Warta <webmaster128@users.noreply.github.com>"]
 edition = "2021"
 description = "A package for auto-generated code used for CosmWasm contract development. This is shipped as part of cosmwasm-std. Do not use directly."
diff --git a/packages/schema-derive/Cargo.toml b/packages/schema-derive/Cargo.toml
index ccf9e6ce0..ccebd5fd9 100644
--- a/packages/schema-derive/Cargo.toml
+++ b/packages/schema-derive/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-schema-derive"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Tomasz Kurcz <tom@confio.gmbh>"]
 edition = "2021"
 description = "Derive macros for cosmwasm-schema"
diff --git a/packages/schema/Cargo.toml b/packages/schema/Cargo.toml
index 7394ecb89..4f22af347 100644
--- a/packages/schema/Cargo.toml
+++ b/packages/schema/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-schema"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Simon Warta <webmaster128@users.noreply.github.com>", "Ethan Frey <ethanfrey@users.noreply.github.com>"]
 edition = "2021"
 description = "A dev-dependency for CosmWasm contracts to generate JSON Schema files."
@@ -8,7 +8,7 @@ repository = "https://github.com/CosmWasm/cosmwasm/tree/main/packages/schema"
 license = "Apache-2.0"
 
 [dependencies]
-cosmwasm-schema-derive = { version = "=1.3.0-rc.0", path = "../schema-derive" }
+cosmwasm-schema-derive = { version = "=1.3.0", path = "../schema-derive" }
 schemars = "0.8.3"
 serde = "1.0"
 serde_json = "1.0.40"
@@ -16,6 +16,6 @@ thiserror = "1.0.26"
 
 [dev-dependencies]
 anyhow = "1.0.57"
-cosmwasm-std = { version = "1.3.0-rc.0", path = "../std" }
+cosmwasm-std = { version = "1.3.0", path = "../std" }
 semver = "1"
 tempfile = "3"
diff --git a/packages/std/Cargo.toml b/packages/std/Cargo.toml
index aadcbb448..3f9264ea4 100644
--- a/packages/std/Cargo.toml
+++ b/packages/std/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-std"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Ethan Frey <ethanfrey@users.noreply.github.com>"]
 edition = "2021"
 description = "Standard library for Wasm based smart contracts on Cosmos blockchains"
@@ -45,7 +45,7 @@ cosmwasm_1_3 = ["cosmwasm_1_2"]
 
 [dependencies]
 base64 = "0.13.0"
-cosmwasm-derive = { path = "../derive", version = "1.3.0-rc.0" }
+cosmwasm-derive = { path = "../derive", version = "1.3.0" }
 derivative = "2"
 forward_ref = "1"
 hex = "0.4"
@@ -57,7 +57,7 @@ thiserror = "1.0.26"
 bnum = "0.7.0"
 
 [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-cosmwasm-crypto = { path = "../crypto", version = "1.3.0-rc.0" }
+cosmwasm-crypto = { path = "../crypto", version = "1.3.0" }
 
 [dev-dependencies]
 cosmwasm-schema = { path = "../schema" }
diff --git a/packages/std/src/query/bank.rs b/packages/std/src/query/bank.rs
index 74d8b2b9d..a1ea2670f 100644
--- a/packages/std/src/query/bank.rs
+++ b/packages/std/src/query/bank.rs
@@ -44,6 +44,9 @@ pub struct SupplyResponse {
     pub amount: Coin,
 }
 
+#[cfg(feature = "cosmwasm_1_1")]
+impl_response_constructor!(SupplyResponse, amount: Coin);
+
 #[cfg(feature = "cosmwasm_1_1")]
 impl QueryResponseType for SupplyResponse {}
 
@@ -55,6 +58,8 @@ pub struct BalanceResponse {
     pub amount: Coin,
 }
 
+impl_response_constructor!(BalanceResponse, amount: Coin);
+
 impl QueryResponseType for BalanceResponse {}
 
 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, Eq, JsonSchema)]
@@ -64,10 +69,12 @@ pub struct AllBalanceResponse {
     pub amount: Vec<Coin>,
 }
 
+impl_response_constructor!(AllBalanceResponse, amount: Vec<Coin>);
+
 impl QueryResponseType for AllBalanceResponse {}
 
 #[cfg(feature = "cosmwasm_1_3")]
-#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, Eq, JsonSchema)]
+#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 #[serde(rename_all = "snake_case")]
 #[non_exhaustive]
 pub struct DenomMetadataResponse {
@@ -75,11 +82,14 @@ pub struct DenomMetadataResponse {
     pub metadata: DenomMetadata,
 }
 
+#[cfg(feature = "cosmwasm_1_3")]
+impl_response_constructor!(DenomMetadataResponse, metadata: DenomMetadata);
+
 #[cfg(feature = "cosmwasm_1_3")]
 impl QueryResponseType for DenomMetadataResponse {}
 
 #[cfg(feature = "cosmwasm_1_3")]
-#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, Eq, JsonSchema)]
+#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 #[serde(rename_all = "snake_case")]
 #[non_exhaustive]
 pub struct AllDenomMetadataResponse {
@@ -88,5 +98,28 @@ pub struct AllDenomMetadataResponse {
     pub next_key: Option<Binary>,
 }
 
+#[cfg(feature = "cosmwasm_1_3")]
+impl_response_constructor!(
+    AllDenomMetadataResponse,
+    metadata: Vec<DenomMetadata>,
+    next_key: Option<Binary>
+);
+
 #[cfg(feature = "cosmwasm_1_3")]
 impl QueryResponseType for AllDenomMetadataResponse {}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn private_constructor_works() {
+        let response = AllBalanceResponse::new(vec![Coin::new(1234, "uatom")]);
+        assert_eq!(
+            response,
+            AllBalanceResponse {
+                amount: vec![Coin::new(1234, "uatom")]
+            }
+        );
+    }
+}
diff --git a/packages/std/src/query/distribution.rs b/packages/std/src/query/distribution.rs
index ffe577232..bd60fa265 100644
--- a/packages/std/src/query/distribution.rs
+++ b/packages/std/src/query/distribution.rs
@@ -1,6 +1,8 @@
 use schemars::JsonSchema;
 use serde::{Deserialize, Serialize};
 
+use crate::Addr;
+
 use super::query_response::QueryResponseType;
 
 #[non_exhaustive]
@@ -12,11 +14,13 @@ pub enum DistributionQuery {
 }
 
 // https://github.com/cosmos/cosmos-sdk/blob/4f6f6c00021f4b5ee486bbb71ae2071a8ceb47c9/x/distribution/types/query.pb.go#L832-L835
-#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, Eq, JsonSchema)]
+#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 #[serde(rename_all = "snake_case")]
 #[non_exhaustive]
 pub struct DelegatorWithdrawAddressResponse {
-    pub withdraw_address: String,
+    pub withdraw_address: Addr,
 }
 
+impl_response_constructor!(DelegatorWithdrawAddressResponse, withdraw_address: Addr);
+
 impl QueryResponseType for DelegatorWithdrawAddressResponse {}
diff --git a/packages/std/src/query/ibc.rs b/packages/std/src/query/ibc.rs
index 0164de330..4cff9e43b 100644
--- a/packages/std/src/query/ibc.rs
+++ b/packages/std/src/query/ibc.rs
@@ -37,12 +37,18 @@ pub struct PortIdResponse {
     pub port_id: String,
 }
 
+impl_response_constructor!(PortIdResponse, port_id: String);
+
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 pub struct ListChannelsResponse {
     pub channels: Vec<IbcChannel>,
 }
 
+impl_response_constructor!(ListChannelsResponse, channels: Vec<IbcChannel>);
+
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 pub struct ChannelResponse {
     pub channel: Option<IbcChannel>,
 }
+
+impl_response_constructor!(ChannelResponse, channel: Option<IbcChannel>);
diff --git a/packages/std/src/query/mod.rs b/packages/std/src/query/mod.rs
index 5401f9145..f1694805e 100644
--- a/packages/std/src/query/mod.rs
+++ b/packages/std/src/query/mod.rs
@@ -5,6 +5,25 @@ use serde::{Deserialize, Serialize};
 use crate::Binary;
 use crate::Empty;
 
+/// Implements a hidden constructor for query responses.
+macro_rules! impl_response_constructor {
+    ( $response:ty, $( $field: ident : $t: ty),* ) => {
+        impl $response {
+            /// Constructor for testing frameworks such as cw-multi-test.
+            /// This is required because query response types should be #[non_exhaustive].
+            /// As a contract developer you should not need this constructor since
+            /// query responses are constructed for you via deserialization.
+            ///
+            /// Warning: This can change in breaking ways in minor versions.
+            #[doc(hidden)]
+            #[allow(dead_code)]
+            pub fn new($( $field: $t),*) -> Self {
+                Self { $( $field ),* }
+            }
+        }
+    };
+}
+
 mod bank;
 mod distribution;
 mod ibc;
diff --git a/packages/std/src/query/query_response.rs b/packages/std/src/query/query_response.rs
index dca2e766c..4aa4559e4 100644
--- a/packages/std/src/query/query_response.rs
+++ b/packages/std/src/query/query_response.rs
@@ -1,3 +1,5 @@
+use std::fmt::Debug;
+
 use serde::de::DeserializeOwned;
 
 /// A marker trait for query response types.
@@ -13,4 +15,4 @@ use serde::de::DeserializeOwned;
 /// - multi-test/cw-sdk: create a default instance and mutate the fields
 ///
 /// This trait is crate-internal and can change any time.
-pub(crate) trait QueryResponseType: Default + DeserializeOwned {}
+pub(crate) trait QueryResponseType: DeserializeOwned + Debug + PartialEq + Clone {}
diff --git a/packages/std/src/query/staking.rs b/packages/std/src/query/staking.rs
index fa513ac52..6f7b55513 100644
--- a/packages/std/src/query/staking.rs
+++ b/packages/std/src/query/staking.rs
@@ -5,6 +5,8 @@ use serde::{Deserialize, Serialize};
 
 use crate::{Addr, Coin, Decimal};
 
+use super::query_response::QueryResponseType;
+
 #[non_exhaustive]
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 #[serde(rename_all = "snake_case")]
@@ -40,6 +42,10 @@ pub struct BondedDenomResponse {
     pub denom: String,
 }
 
+impl QueryResponseType for BondedDenomResponse {}
+
+impl_response_constructor!(BondedDenomResponse, denom: String);
+
 /// DelegationsResponse is data format returned from StakingRequest::AllDelegations query
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 #[serde(rename_all = "snake_case")]
@@ -47,6 +53,10 @@ pub struct AllDelegationsResponse {
     pub delegations: Vec<Delegation>,
 }
 
+impl QueryResponseType for AllDelegationsResponse {}
+
+impl_response_constructor!(AllDelegationsResponse, delegations: Vec<Delegation>);
+
 /// Delegation is basic (cheap to query) data about a delegation.
 ///
 /// Instances are created in the querier.
@@ -76,6 +86,10 @@ pub struct DelegationResponse {
     pub delegation: Option<FullDelegation>,
 }
 
+impl QueryResponseType for DelegationResponse {}
+
+impl_response_constructor!(DelegationResponse, delegation: Option<FullDelegation>);
+
 /// FullDelegation is all the info on the delegation, some (like accumulated_reward and can_redelegate)
 /// is expensive to query.
 ///
@@ -101,12 +115,20 @@ pub struct AllValidatorsResponse {
     pub validators: Vec<Validator>,
 }
 
+impl QueryResponseType for AllValidatorsResponse {}
+
+impl_response_constructor!(AllValidatorsResponse, validators: Vec<Validator>);
+
 /// The data format returned from StakingRequest::Validator query
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 pub struct ValidatorResponse {
     pub validator: Option<Validator>,
 }
 
+impl QueryResponseType for ValidatorResponse {}
+
+impl_response_constructor!(ValidatorResponse, validator: Option<Validator>);
+
 /// Instances are created in the querier.
 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
 pub struct Validator {
diff --git a/packages/std/src/query/wasm.rs b/packages/std/src/query/wasm.rs
index 039251a4d..e8f72ad73 100644
--- a/packages/std/src/query/wasm.rs
+++ b/packages/std/src/query/wasm.rs
@@ -85,6 +85,14 @@ pub struct CodeInfoResponse {
     pub checksum: HexBinary,
 }
 
+#[cfg(feature = "cosmwasm_1_2")]
+impl_response_constructor!(
+    CodeInfoResponse,
+    code_id: u64,
+    creator: String,
+    checksum: HexBinary
+);
+
 #[cfg(feature = "cosmwasm_1_2")]
 impl QueryResponseType for CodeInfoResponse {}
 
diff --git a/packages/std/src/traits.rs b/packages/std/src/traits.rs
index 3b3812307..2752f6851 100644
--- a/packages/std/src/traits.rs
+++ b/packages/std/src/traits.rs
@@ -282,7 +282,7 @@ impl<'a, C: CustomQuery> QuerierWrapper<'a, C> {
     pub fn query_delegator_withdraw_address(
         &self,
         delegator: impl Into<String>,
-    ) -> StdResult<String> {
+    ) -> StdResult<Addr> {
         let request = DistributionQuery::DelegatorWithdrawAddress {
             delegator_address: delegator.into(),
         }
diff --git a/packages/storage/Cargo.toml b/packages/storage/Cargo.toml
index 270906d7e..e2dd2012a 100644
--- a/packages/storage/Cargo.toml
+++ b/packages/storage/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-storage"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Ethan Frey <ethanfrey@users.noreply.github.com>"]
 edition = "2021"
 description = "CosmWasm library with useful helpers for Storage patterns"
@@ -16,5 +16,5 @@ iterator = ["cosmwasm-std/iterator"]
 
 [dependencies]
 # Uses the path when built locally; uses the given version from crates.io when published
-cosmwasm-std = { path = "../std", version = "1.3.0-rc.0", default-features = false }
+cosmwasm-std = { path = "../std", version = "1.3.0", default-features = false }
 serde = { version = "1.0.103", default-features = false, features = ["derive", "alloc"] }
diff --git a/packages/vm/Cargo.toml b/packages/vm/Cargo.toml
index a27b8b27a..0283bcf32 100644
--- a/packages/vm/Cargo.toml
+++ b/packages/vm/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cosmwasm-vm"
-version = "1.3.0-rc.0"
+version = "1.3.0"
 authors = ["Ethan Frey <ethanfrey@users.noreply.github.com>"]
 edition = "2021"
 description = "VM bindings to run cosmwams contracts"
@@ -39,8 +39,8 @@ bytes = "1.4.0" # need a higher version than the one required by Wasmer for the
 clru = "0.4.0"
 crc32fast = "1.3.2"
 # Uses the path when built locally; uses the given version from crates.io when published
-cosmwasm-std = { path = "../std", version = "1.3.0-rc.0", default-features = false }
-cosmwasm-crypto = { path = "../crypto", version = "1.3.0-rc.0" }
+cosmwasm-std = { path = "../std", version = "1.3.0", default-features = false }
+cosmwasm-crypto = { path = "../crypto", version = "1.3.0" }
 derivative = "2"
 hex = "0.4"
 parity-wasm = { version = "0.45", features = ["sign_ext"] }


Test patch:
diff --git a/packages/std/src/testing/mock.rs b/packages/std/src/testing/mock.rs
index 69d3281dd..7407b1894 100644
--- a/packages/std/src/testing/mock.rs
+++ b/packages/std/src/testing/mock.rs
@@ -972,11 +972,11 @@ impl DistributionQuerier {
         let contract_result: ContractResult<Binary> = match request {
             DistributionQuery::DelegatorWithdrawAddress { delegator_address } => {
                 let res = DelegatorWithdrawAddressResponse {
-                    withdraw_address: self
-                        .withdraw_addresses
-                        .get(delegator_address)
-                        .unwrap_or(delegator_address)
-                        .clone(),
+                    withdraw_address: Addr::unchecked(
+                        self.withdraw_addresses
+                            .get(delegator_address)
+                            .unwrap_or(delegator_address),
+                    ),
                 };
                 to_binary(&res).into()
             }