🚀 Highlights
Ignite CLI v29.0.0 is finally there! This new version is packed with new features and dev ux improvements:
- 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 use
cosmossdk.io/collections
for state management. - New
xast
package to help developers make Ignite Apps even more 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 usinggolangci-lint
- #3770 Add
scaffold configs
andscaffold params
commands - #4001 Improve
xgenny
dry run - #3967 Add HD wallet parameters
address index
andaccount 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 thescaffold 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 thescaffold
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 toignite 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 scaffoldedtools.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 addscalar
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 usecollections.IndexedMap
. - #4058 Simplify scaffolded modules by including
ValidateBasic()
logic in message handler. - #4058 Use
address.Codec
instead ofAccAddressFromBech32
. - #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
topkg/xyaml
- #4075 Use
gopkg.in/yaml.v3
insteadgopkg.in/yaml.v2
- #4118 Version scaffolded protos as
v1
to follow SDK structure. - #4167 Scaffold
int64
instead ofint32
when a field type isint
- #4159 Enable gci linter
- #4160 Enable copyloopvar linter
- #4162 Enable errcheck linter
- #4189 Deprecate
ignite node
forignite 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
andgenerate
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 retractedcore
v1 to SDKHasGenesis
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 inignite version
only when in a go module. - #4709 Remove legacy msgServer support
- #4710 Remove the
nullify
pkg from the chaintestutil
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
andperms.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