v0.41.0 (2023-07-28)
- Bump IBC-Go to 7.2.0 #1459
- Ensure history position does not conflict #1462
- Bump sequence in ibctests for failed messages #1464
- Accept wasm data from state-sync as valid #1467
- Add updates to ibctesting framework for MS #1472
- Bump CometBFT to v0.37.2 - security fix #1479
- Gov: support contracts that dynamically instantiate other contracts #1207
- Deprecate alias.go #1484
- Upgrade to wasmvm v1.3 #1296
- System tests dependency cleanup #1489
- Allow better override of wasmVM in x/wasm keeper #1494
- Make system tests extendable for other app binaries #1503
- Build release + artifact on CI #1515
- Add/Remove addresses for code upload params #1493
- Bump SDK to v0.47.4 #1525
- Bump CometBFT to v0.37.2 because of security issues. See https://github.com/advisories/GHSA-w24w-wp77-qffm
- Support for new wasmvm v1.3.0 capabilities #1296
- Deprecate alias.go #1484
- Gov: support contracts that dynamically instantiate other contracts #1207
- Add/Remove addresses for code upload params #1493
- This release does not include any state migrations but breaking changes that require a coordinated chain upgrade.
- This release contains an ibc-go version bump from v7.0.1 to v7.2.0. Please read the migration guide carefully.
v0.40.2 (2023-06-09)
This patch release includes only the cosmos-sdk upgrade to v0.47.3. It solves barberry security vulnerability.
- Upgrade cosmos-sdk to v0.47.3
- This release does not include any state migrations or breaking changes, therefore a coordinated chain upgrade is not required.
v0.40.1 (2023-06-06)
This patch release includes only the wasmvm upgrade to v1.2.4. It solves some incompatibility problems by improving cache invalidation. See #426
- Upgrade wasmvm to v1.2.4. #1430
- This release does not include any state migrations or breaking changes, therefore a coordinated chain upgrade is not required.
v0.40.0 (2023-05-25)
Wasmd 0.40 has a large dependency upgrade of the Cosmos SDK version from 0.45 to 0.47. Please read notable changes and migration notes below to learn more!
- Bump IBC-Go to v7.0.1 to include the fix for the huckleberry security advisory.#1418
- Fix cli update-instantiate-config command /#1415
- Import export simulation test for
x/wasm
is missing #1372 - Better tracking of CosmWasm capabilities #1341
- Rename
lastIDKey
key #1182 - Use ICS4Wrapper to send raw IBC packets & fix Fee middleware in wasm stack (backport #1375) #1379
- Add wasm store to import-export sims #1374
- Bumped SDK to 0.47.2 and CometBFT to 0.37.1 #1369
- Remove starport config #1359
- Proper v1 gov support for wasm msg types #1301
- Cleanup
ErrNotFound
cases #1258 - New proto annotations #1157
- Simulations with '--dry-run' return an error #713
- Add wasmvm decorator option #1348
- More verbose error message #1354
- Remove gogo/protobuf from the 47 build's dependencies #1281
- Set final ibc-go version #1271
- Upgrade to cosmos-sdk proto 0.47.x #1148
- If you are not coming from v0.32.0, please see the "Notables changes" below, first. Especially about CometBFT.
- IBC-Go is a new major version including the "hucklebery" security fix. See v7.0.1.
- SDK 47 support is a big step from the SDK 45 version supported before. Make sure to read the upgrade guide for the SDK before applying any changes. Links below.
- Some advice from working with SDK 47 that may affect you, too:
- The SDK version includes some key store migration for the CLI. Make sure you backup your private keys before testing this! You can not switch back to v0.45 afaik
- Take care that you use the goleveldb version used in the SDK. A transitive dependency may change it which caused
failing queries on a running server:
Error: rpc error: code = InvalidArgument desc = failed to load state at height 1; version does not exist (latest height: 1): invalid request
Ensure this in go.mod:github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
- With custom modules, use the new proto-builder version (Makefile) to let proto types register with the correct registry
- Ensure that all
ParameterChangeProposal
are completed before the upgrade or migrate them tov1.gov
. SDK and wasm modules execute a migration before so that these proposals would not have an affect. - Attribute keys/ values in events are strings and not bytes in CometBFT. This may break clients
- CLI:
add-genesis-account
,gentx,add-genesis-account
,collect-gentxs
and others are now under genesis command as parent - CLI:
--broadcast-mode block
was removed. You need to query the result for a TX withwasmd q tx <hash>
instead
- This release contains a state migration for the wasmd module that stores the params in the module store.
- SDK v0.47 comes with a lot of api/state braking changes to previous versions. Please see their upgrade guide which contains a lot of helpful details.
- Please read the migration guide for IBC-Go v7.0.0 carefully
v0.32.0 (2023-05-11)
- Redesign IBC on packet recv error/ result.Err handling #1358
- Use ICS4Wrapper to send raw IBC packets & fix Fee middleware in wasm stack #1375
- Better configuration for CosmWasm capabilities #1361
- Remove old starport config - unused #1359
- Better error message for wasm file limit exceeded #1354
- CLI param to bypass version check for wasm lib #1338
- Cleanup ErrNotFound cases #1343
- Add wasmvm decorator option #1350
- Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.0 /#1336
- Update OnRecvPacket method to panic when an error is returned by the VM /#1303
- Removed the unnecessary usage of ErrInvalidMsg #1317
- Upgrade wasmvm to v1.2.3 #1355, see wasmvm v1.2.3
- Upgrade to Cosmos-SDK v0.45.15 including CometBFT #1284
- New CLI param to skip checkLibwasmVersion
--wasm.skip_wasmvm_version_check
- The wasmvm version includes the Cherry bugfix
- New behaviour for Contracts returning errors on IBC packet receive.
- Let contract fully abort IBC receive in certain case #1220
- Return non redacted error content on IBC packet recv #1289
- Wasm and submessage events follow SDK transaction behaviour. Not persisted on state rollback
- Full error message is stored in event #1288
- See updates in cosmwasm doc for more details.
- The SDK v0.45.15 replaces Tendermint with CometBFT. This requires a
replace
statement ingo.mod
. Please read their release notes carefully for details - The SDK v0.45.x line reached its end-of-life.
- CometBFT includes some breaking changes
- This release does not include any state migrations but breaking changes that require a coordinated chain upgrade
v0.31.0 (2023-03-13)
- Upgrade wasmvm to v1.2.1 #1245, see wasmvm v1.2.1
- Fix checksum check for zipped gov store proposals #1232
- Return IBC packet sequence number in the handler plugin #1154
- Add Windows client-side support #1169
- Upgrade Cosmos-SDK to v0.45.14
- Add missing events for admin-related methods #1173
- Disallow storing new codes with ACCESS_TYPE_ONLY_ADDRESS #1144
- Support builds without CGO #1129
- Wasmd does not sort coins when converting from CosmWasm Coins to SDK Coins #1118
- Add InstantiateContract2Proposal #1062
- CLI: Allow using key name for --admin #1039
- More gov proposal simulations #1107
- Remove genesis messages #987
- Update instantiate config command #843
- Upgrade IBC-go to v4.3.0 #1180
- Upgrade ICA to v0.2.6 #1192
- Genesis messages were deprecated before and are removed with this release
- New
cosmwasm_1_2
capability to enable new features:- Support for
gov.MsgVoteWeighted
,wasm.Instantiate2
messages - code info query for contracts
- Support for
- See "State Machine Breaking" changes in IBC-go
- See notes about the "store fix" in Cosmos-sdk
- Wasmd can now be used as a library without CGO
- Wasmd client can now be used on Windows
- This release does not include any state migrations but breaking changes that require a coordinated chain upgrade
v0.30.0 (2022-12-02)
- Provide source, builder and codehash information in store code proposal message#1072
- Add new CLI query/ endpoint to get contracts by creator address #998
- Upgrade to Go v1.19 #1044
- Upgrade to Cosmos-sdk to v0.45.11 /#1096
- Upgrade to IBC v4.2.0 with interchain-accounts v0.2.4 #1088
- Preserve contract history/ created date on genesis import #878
- Authz module integration - more granularity for WasmExecuteMsg authorizations #803
- StoreAndInstantiate gov proposal #785
- Start developer guide for contributors #654
- IBC fee middleware is setup in
app.go
. Please note that it can be enabled with new channels only. A nice read is this article. - Authz for wasm contracts can be granted via
wasmd tx wasm grant
and executed viawasmd tx authz exec
command - Go v1.19 required to prevent a mixed chain setup with older versions. Just to be on the safe side.
- Store code proposal types have new metadata fields added that can help to build client side tooling to verify the wasm contract in the proposal
- The wasmd module version was bumped and a state migration registered.
- See ibc-go migration notes
- See interchain-accounts
MsgRegisterAccount.Version
field. Full diff v0.1.0 to v0.2.4
v0.29.2 (2022-11-08)
- Fixes missing instantiate-anyof-addresses flag declaration for gov /#1084
v0.29.1 (2022-10-14)
- Upgrade to Cosmos-sdk to v45.9 /#1052
v0.29.0 (2022-10-10)
- Add dependencies for protobuf and remove third_party forlder /#1030
- Check wasmvm version on startup #1029
- Allow AccessConfig to use a list of addresses instead of just a single address #945
- Make contract addresses predictable ("deterministic") #942
- Add query for the total supply of a coin #903 (larry0x)
- Upgrade go to v1.18 [#866]#866) (faddat)
- Upgrade to ibc-go v3.3.0 REQUIRES MIGRATION #1016
- Upgrade to cosmos-sdk v0.45.8 #964 (faddat)
- Upgrade wasmvm to v1.1.1 #1012, see wasmvm v1.1.1
- Add documentation how to add x/wasm to a new Cosmos SDK chain #876
- Upgrade keyring / go-keychain dependencies (removes deprecate warning) #957
- Make contract pinning an optional field in StoreCode proposals #972
- Add gRPC query for WASM params #889
- Expose Keepers in app.go? #881
- Remove unused
flagProposalType
flag in gov proposals #849 - Restrict code access config modifications #901
- Prevent migration to a restricted code #900
- Charge gas to unzip wasm code #898
- BaseAccount and pruned vesting account types can be re-used for contracts addresses
- A new MsgInstantiateContract2 was introduced which is an additional value for
message
type events - Store event contains a new attribute with the code checksum now
- New
wasmd tx wasm instantiate2
CLI command for predictable addresses on instantiation - New
cosmwasm_1_1
CosmWasm capability (former "feature") was introduced in cosmwasm/#1356 to support total supply queries - Protobuf files are published to buf.build
- See ibc-go migration notes
v0.28.0 (2022-07-29)
API Breaking
No
Fixed Bugs
- Fix: Make events in reply completely determinisitic by stripping out anything coming from Cosmos SDK (not CosmWasm codebase) #917 (assafmo)
Migration notes:
- Contracts can no longer parse events from any calls except if they call another contract (or instantiate it, migrate it, etc). The main issue here is likely "Custom" queries from a blockchain, which want to send info (eg. how many tokens were swapped). Since those custom bindings are maintained by the chain, they can use the data field to pass any deterministic information back to the contract. We recommend using JSON encoding there with some documented format the contracts can parse out easily.
- For possible non-determinism issues, we also sort all attributes in events. Better safe than sorry.
v0.27.0 (2022-05-19)
API Breaking Yes
Fixed bugs:
- Fix: allow no admin in instantiation through proposal #828 (jhernandezb)
- Fix SudoContractProposal and ExecuteContractProposal #808 (the-frey)
Implemented Enhancements
- Add UpdateInstantiateConfig governance proposal #820 (jhernandezb)
- Upgrade wasmvm to v1.0.0 #844 and #858
- Support state sync #478
- Upgrade to ibc-go v3 #806
- Initial ICA integration #837 (ethanfrey)
- Consolidate MaxWasmSize constraints into a single var #826
- Add AccessConfig to CodeInfo query response #829
- Bump sdk to v0.45.4 #818 (alpe)
- Bump buf docker image to fix proto generation issues #820 (alpe)
- Add MsgStoreCode and MsgInstantiateContract support to simulations #831 (pinosu)
Implemented Enhancements
- Make MaxLabelSize a var not const #822
v0.26.0 (2022-04-21)
Fixed bugs:
- Unpack contract details from genesis #802
Closed issues:
Merged pull requests:
- Disable stargate queries #812
- Gov param change examples #805
- Create link to SECURITY.md in other repo #801
- Tests some event edge cases #799
v0.25.0 (2022-04-06)
API Breaking
Implemented Enhancements
- Fix: close iterators #792
- Use callback pattern for contract state iterator #794
- Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 #787
- Bump github.com/cosmos/ibc-go/v2 from 2.0.3 to 2.2.0 #786
v0.24.0 (2022-03-09)
API Breaking
- Add cosmwasm project prefix to REST query paths #743
- Add support for old contract addresses of length 20 #758
- Update wasmvm to 1.0.0-beta7 (incl wasmer 2.2) #774
Fixed bugs
- Add missing colons in String of some proposals #752
- Replace custom codec with SDK codec (needed for rosetta) #760
- Support
--no-admin
flag on cli for gov instantiation #771
Implemented Enhancements
- Add support for Buf Build #753, #755, #756
- Redact most errors sent to contracts, for better determinism guarantees #765, #775
v0.23.0 (2022-01-28)
Fixed bugs
- Set end block order #736
v0.22.0 (2022-01-20)
Api Breaking:
Implemented Enhancements:
- Use proper SystemError::NoSuchContract on ContractInfo if missing #687
- Benchmark tests flickering: directory not empty #659
- Implement PinCode and UnpinCode proposal client handlers #707 (orkunkl)
- Use replace statements to enforce consistent versioning. #692 (faddat)
- Fixed circleci by removing the golang executor from a docker build
- Go 1.17 provides a much clearer go.mod file #679 (faddat)
- Autopin wasm code uploaded by gov proposal #726 (ethanfrey)
- You must explicitly declare --no-admin on cli instantiate if that is what you want #727 (ethanfrey)
- Add governance proposals for Wasm Execute and Sudo #730 (ethanfrey)
- Remove unused run-as flag from Wasm Migrate proposals #730 (ethanfrey)
- Expose wasm/Keeper.SetParams #732 (ethanfrey)
v0.21.0 (2021-11-17)
Fixed bugs + Api Breaking:
- Prevent infinite gas consumption in simulation queries #670
- Amino JSON representation of inner message in Msg{Instantiate,Migrate,Execute}Contract #642
Implemented Enhancements:
- Bump wasmvm to v1.0.0-beta2 #676
- Add Benchmarks to compare with native modules #635
- Document M1 is not supported #653
- Open read access to sequences #669
- Remove unused flags from command prompt for storing contract #647
- Ran
make format
#649 - Add golangci lint check to circleci jobs \620
- Updated error log statements in initGenesis for easier debugging: #643
- Bump github.com/cosmos/iavl from 0.17.1 to 0.17.2 #673
- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 #666
v0.20.0 (2021-10-08)
Fixed bugs:
- Add capabilities to begin block #626
Api Breaking:
- Update to wasmvm 1.0.0-soon2 #624
Implemented Enhancements:
- Upgrade Cosmos-sdk v0.42.10 #627 (alpe)
- Add transaction index implemented as counter #601
- Fix inconsistent return of
contractAddress
fromkeeper/init()
? #616 - Query pinned wasm codes #596
- Doc IBC Events #593
- Allow contract Info query from the contract #584
- Revisit reply gas costs for submessages. #450
- Benchmarks for gas pricing #634
- Treat all contracts as pinned for gas costs in reply #630
- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 #615
v0.19.0 (2021-09-15)
Fixed bugs:
Api Breaking:
- Bump Go version to 1.16 #612
Implemented Enhancements:
- Ensure query isolation #611
- Optimize BalanceQuery #609
- Bump wasmvm to v0.16.1 #605
- Bump github.com/rs/zerolog from 1.23.0 to 1.25.0 #603
- Add decorator options #598
- Bump github.com/spf13/cast from 1.4.0 to 1.4.1 #592
v0.18.0 (2021-08-16)
Api Breaking:
- Events documented and refactored #448, #589, #587
- Add organisation to grpc gateway path #578
- Move Proto version from
v1beta1
tov1
for all cosmwasm.wasm.* types #563 - Renamed InitMsg and MigrateMsg fields to Msg. This applies to protobuf Msg and Proposals, as well as REST and CLI #563
- Removed source and builder fields from StoreCode and CodeInfo. They were rarely used. #564
- Changed contract address derivation function. If you hardcoded the first contract addresses anywhere (in scripts?), please update them. #565
Implemented Enhancements:
- Cosmos SDK 0.42.9, wasmvm 0.16.0 #582
- Better ibc contract interface #570 (ethanfrey)
- Reject invalid events/attributes returned from contracts #560
- IBC Query methods from Wasm contracts only return OPEN channels #568
- Extendable gas costs #525
- Limit init/migrate/execute payload message size #203
- Add cli alias #496
- Remove max gas limit #529 (alpe)
- Add SECURITY.md #303
v0.17.0 (2021-05-26)
Features:
- Remove json type cast for contract msgs #520 (alpe)
- Bump github.com/cosmos/cosmos-sdk from 0.42.4 to 0.42.5 #519 (dependabot-preview[bot])
v0.16.0 (2021-04-30)
Features:
- Upgrade to wasmvm v0.14.0-rc1 #508 (alpe)
- Use the cache metrics from WasmVM #500
- Update IBC.md #494 (ethanfrey)
- Extend ContractInfo for custom data #492 (alpe)
- Reply response on submessages can overwrite "caller" result #495
- Update to sdk 0.42.4 #485
- Add extension points to the CLI #477 (alpe)
- Simplify staking reward query #399
- Update IBC.md #398
- Add IBCQuery support #434
- Follow proto dir best practice (in cosmos eco) #342
- Remove internal package #464 (alpe)
- Introduce new interfaces for extendability #471 (alpe)
- Handle non default IBC transfer port in message encoder #396
- Collect Contract Metrics #387
- Add Submessages for IBC callbacks #449
- Handle wasmvm Burn message #489 (alpe)
- Add telemetry #463 (alpe)
- Handle non default transfer port id #462 (alpe)
- Allow subsecond block times #453 (ethanfrey)
- Submsg and replies #441 (ethanfrey)
- Ibc query support #439 (ethanfrey)
- Pin/Unpin contract in cache #436 (alpe)
- Stargate msg and query #435 (ethanfrey)
- Sudo entry point #433 (ethanfrey)
- Add custom message handler option #402 (alpe)
- Expose contract pinning #401
- Add support for Stargate CosmosMsg/QueryRequest #388
- Add MsgInstantiateContractResponse.data #385
- Added randomized simulation parameters generation #389 (bragaz)
- Implement IBC contract support #394 (alpe)
Api breaking:
Fixed bugs:
- Correct order for migrated contracts #323
- Keeper Send Coins does not perform expected validation #414
v0.15.1 (2021-02-18)
Implemented enhancements:
- Support custom MessageHandler in wasm #327
Fixed bugs:
- Fix Parameter change via proposal #392
v0.15.0 (2021-01-27)
Features:
- Upgrade to cosmos-sdk v0.41.0 #390
v0.14.1 (2021-01-20)
Features:
- Upgrade to cosmos-sdk v0.40.1 final + Tendermint 0.34.3 #380
v0.14.0 (2021-01-11)
Features:
- Upgrade to cosmos-sdk v0.40.0 final #354
- Refactor to GRPC message server #366
- Make it easy to initialize contracts in genesis file with new CLI commands#326
- Upgrade to WasmVM v0.13.0 #358
- Upgrade to cosmos-sdk v0.40.0-rc6 #354
- Upgrade to cosmos-sdk v0.40.0-rc5 #344
- Add Dependabot to keep dependencies secure and up-to-date #336
Fixed bugs:
- Dependabot can't resolve your Go dependency files #339
- Errors in
InitGenesis
#335 - Invalid homeDir for export command #334
v0.13.0 (2020-12-04)
Fixed bugs:
- REST handler wrong
Sender
source #324
Closed issues:
- Change proto package to match <organisation>.<module>.<version> #329
- Out of gas causes panic when external contract store query executed #321
- Check codecov report #298
- cosmwasm.GoAPI will not work on sdk.ValAddress #264
- Stargate: Add pagination support for queries #242
Merged pull requests:
- Rename protobuf package #330 (alpe)
- Use base request data for sender #325 (alpe)
- Handle panics in query contract smart #322 (alpe)
v0.12.1 (2020-11-23)
Closed issues:
Merged pull requests:
- Exclude generate proto code files in coverage #320 (alpe)
- Upgrade wasmvm to 0.12.0 #319 (webmaster128)
- Fix chain id setup in contrib/local/setup_wasmd.sh #318 (orkunkl)
- Add pagination to grpc queries #317 (alpe)
v0.12.0 (2020-11-17)
Closed issues:
- Merge wasmd and wasmcli into a single binary #308
- Change bech32 prefix for wasmd #313
- Upgrade go-cowasmwasm to wasmvm 0.12 #309
- Use string type for AccAddresses in proto #306
- Upgrade to cosmos/sdk v0.40.0-rc2 #296
- Generate protobuf outputs in a container #295
- Instantiate contract process ordering #292
- Make Wasm maxSize a configuration option #289
- Return error if wasm to big #287
Merged pull requests:
- Set bech32 prefix #316 (alpe)
- Replace sdk.AccAddress with bech32 string #314 (alpe)
- Integrate wasmcli into wasmd #312 (alpe)
- Upgrade wasmvm aka go-cosmwasm #311 (alpe)
- Upgrade to Stargate RC3 #305 (alpe)
- Containerized Protobuf generation #304 (alpe)
- Reject wasm code exceeding limit #302 (alpe)
- Support self calling contract on instantiation #300 (alpe)
- Upgrade to Stargate RC2 #299 (alpe)