Skip to content

Conversation

@julienrbrt
Copy link
Member

@julienrbrt julienrbrt commented May 30, 2025

Closes: #4623, #4708


🚀 Highlights

Ignite CLI v29.0.0 is finally there! This new version is packed with new features and dev ux improvement:

  • As always, Ignite scaffolds the latest Cosmos Stack: Cosmos SDK v0.53, IBC-go v10 (IBC v1 and v2 enabled), and all the latest features enabled 💥.
  • New scaffolding commands: config, params and new scaffolding flags: --default-denom to allow you to do more, with less.
  • Thanks to an overhaul of the CLI internal, Ignite now scaffolds a chain without cluttering it with the infamous // this line is used by starport scaffolding line.
  • Scaffolded modules now uses cosmossdk.io/collections for state management.
  • New xast package to help developers make Ignite Apps even easily (an Ignite EVM App is coming, thanks to that).
  • The CLI stays compatible with all Ignite Apps, only some are being updated to work with IBC-go v10 (notably Ignite Wasm App).
  • Improved tooling, by using the latest Go 1.24 and buf features. Only a ignite doctor away, when upgrading from v28.

Upgrade today and supercharge your chain development with the best Ignite experience yet!

📝 Changelog

Following an exhaustive list of changes in this release:

v29.0.0

Features

  • #3707 and #4094 Add collections support.
  • #3977 Add chain lint command to lint the chain's codebase using golangci-lint
  • #3770 Add scaffold configs and scaffold params commands
  • #4001 Improve xgenny dry run
  • #3967 Add HD wallet parameters address index and account number to the chain account config
  • #4004 Remove all import placeholders using the xast pkg
  • #4071 Support custom proto path
  • #3718 Add gen-mig-diffs tool app to compare scaffold output of two versions of ignite
  • #4100 Set the proto-dir flag only for the scaffold chain command and use the proto path from the config
  • #4111 Remove vuex generation
  • #4113 Generate chain config documentation automatically
  • #4131 Support bytes as data type in the scaffold commands
  • #4300 Only panics the module in the most top function level
  • #4327 Use the TxConfig from simState instead create a new one
  • #4326 Add buf.build version to ignite version command
  • #4436 Return tx hash to the faucet API
  • #4437 Remove module placeholders
  • #4289, #4423, #4432, #4507, #4524 Cosmos SDK v0.52 support and downgrade back to 0.50, while keeping latest improvements.
  • #4480 Add field max length
  • #4477, #4559 IBC v10 support
  • #4166 Migrate buf config files to v2
  • #4494 Automatic migrate the buf configs to v2
  • #4509 Upgrade to Go 1.24. Running ignite doctor migrates the scaffolded tools.go to the tool directive in the go.mod
  • #4588 Run `buf format after scaffold proto files.
  • #4603 Add GetIgniteInfo gRPC API for apps.
  • #4657 Upgrade to Cosmos SDK v0.53.0.
    • Add x/epochs module to default template (except for minimal template).
    • Bump minimum compatible Cosmos SDK version to v0.50.0.
  • #4683 Allow to change default denom via flag.
  • #4687 Add address type with scalar annotations, and add scalar type to signer field.
  • #4686 Filter discovered protos to only messages.
  • #4694 Install an app using the . as a current path show a wrong app name.

Changes

  • #4094 Scaffolding a multi-index map using ignite s map foo bar baz --index foobar,foobaz is no longer supported. Use one index instead of use collections.IndexedMap.
  • #4058 Simplify scaffolded modules by including ValidateBasic() logic in message handler.
  • #4058 Use address.Codec instead of AccAddressFromBech32.
  • #3993 Oracle scaffolding was deprecated and has been removed
  • #3962 Rename all RPC endpoints and autocli commands generated for map/list/single types
  • #3976 Remove error checks for Cobra command value get calls
  • #4002 Bump buf build
  • #4008 Rename pkg/yaml to pkg/xyaml
  • #4075 Use gopkg.in/yaml.v3 instead gopkg.in/yaml.v2
  • #4118 Version scaffolded protos as v1 to follow SDK structure.
  • #4167 Scaffold int64 instead of int32 when a field type is int
  • #4159 Enable gci linter
  • #4160 Enable copyloopvar linter
  • #4162 Enable errcheck linter
  • #4189 Deprecate ignite node for ignite connect app
  • #4290 Remove ignite ics logic from ignite cli (this functionality will be in the consumer app)
  • #4295 Stop scaffolding pulsar files
  • #4317 Remove xchisel dependency
  • #4361 Remove unused KeyPrefix method
  • #4384 Compare genesis params into chain genesis tests
  • #4463 Run chain simulation with any simulation test case
  • #4533 Promote GitHub codespace instead of Gitpod
  • #4549 Remove unused placeholder vars
  • #4557 Remove github.com/gookit/color
  • #4596 Add default openapi.yml when skipping proto gen.
  • #4601 Add appregistry as default plugin
  • #4613 Improve and simplify prompting logic by bubbletea.
  • #4624 Fix autocli templates for variadics.
  • #4644 Improve UI and UX for testnet multi-node command.
  • #4645 Refactor the xast.ModifyFunction to improve the readability.
  • #3393 Remove xgenny embed walker
  • #4664 Add verbose flags on scaffold and generate commands.
    • The flag displays the steps Ignite is taking to generate the code.
    • The verbosity only applies to the command. For full verbosity use the IGNT_DEBUG environment variable instead.
  • #4689 Revert HasGenesis implementation from retracted core v1 to SDK HasGenesis interface.
  • #4701 Improve ignite doctor by removing manual migration step. Additionally, remove protoc to buf migrations logic.
  • #4703 Remove testutil.Register function.
  • #4702 Improve app detection by checking for inheritance instead of interface implementation.
  • #4707 Show buf version in ignite version only when in a go module.
  • #4709 Remove legacy msgServer support
  • #4710 Remove the nullify pkg from the chain testutil

Fixes

  • #4000 Run all dry runners before the wet run in the xgenny pkg
  • #4091 Fix race conditions in the plugin logic
  • #4128 Check for duplicate proto fields in config
  • #4402 Fix gentx parser into the cosmosutil package
  • #4552 Avoid direct access to proto field perms.Account and perms.Permissions
  • #4555 Fix buf lint issues into the chain code
  • #4347 Fix ts-client generation
  • #4577 Add proto version to query path.
  • #4579 Fix empty params response.
  • #4585 Fix faucet cmd issue.
  • #4587 Add missing light clients routes to IBC client keeper.
  • #4595 Fix wrong InterfaceRegistry for IBC modules.
  • #4609 Add work dir for relayer integration tests.
  • #4658 Fix indentation for params scaffolded into a struct.
  • #4582 Fix xast misplacing comments.
  • #4660 Fix xast test case indentation.
  • #4667 Harden IsSlice

@julienrbrt
Copy link
Member Author

I'll re-trigger CI once the tag is out (cosmos/cosmos-sdk#24818).

@julienrbrt julienrbrt marked this pull request as ready for review May 30, 2025 21:43
@julienrbrt julienrbrt merged commit 83a9888 into main May 31, 2025
52 of 78 checks passed
@julienrbrt julienrbrt deleted the julien/v29 branch May 31, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FIX: pass the coin type through the CLI will panic

3 participants