- Updated
pkg/cosmosanalysis
to discover the list of app modules when defined in variables or functions. - Improve genesis parser for
network
commands - Integration tests build their own ignite binary.
- Updated
pkg/cosmosanalysis
to discover the list of app modules when defined in variables. - Switch to broadcast mode sync in
cosmosclient
- Updated
nodetime
:ts-proto
tov1.123.0
,protobufjs
tov7.1.1
,swagger-typescript-api
tov9.2.0
- Switched codegen client to use
axios
instead offetch
- nodetime built with
vercel/[email protected]
- Change CLI to use an events bus to print to stdout.
- Move generated proto files to
proto/{appname}/{module}
- Fix ICA controller wiring.
- Change vuex generation to use a default TS client path.
- Fix cli action org in templates.
- Seal the capability keeper in the
app.go
template - Change faucet to allow C.O.R.S. preflight requests.
- Fix config file migration to void leaving end of file content chunks
- Add generated TS client test support to integration tests.
- Change nightly tag format
- Add cosmos-sdk version in
version
command
- Upgraded Cosmos SDK to
v0.46.0
and IBC tov5
in CLI and scaffolding templates - Change chain init to check that no gentx are present in the initial genesis
- Add
network rewards release
command - Add "make mocks" target to Makefile
- Add
--skip-proto
flag tobuild
,init
andserve
commands to build the chain without building proto files - Add
node query tx
command to query a transaction in any chain. - Add
node query bank
command to query an account's bank balance in any chain. - Add
node tx bank send
command to send funds from one account to an other in any chain. - Add migration system for the config file to allow config versioning
- Add
node tx bank send
command to send funds from one account to another in any chain. - Implement
network profile
command - Add
generate ts-client
command to generate a stand-alone modular TypeScript client.
- Add changelog merge strategy in .gitattributes to avoid conflicts.
- Refactor
templates/app
to removemonitoringp
module from the default template - Updated keyring dependency to match Cosmos SDK
- Speed up the integration tests
- Refactor ignite network and fix genesis generation bug
- Make Go dependency verification optional during build by adding the
--check-dependencies
flag so Ignite CLI can work in a Go workspace context. - Temporary SPN address change for nightly
- Rename
simapp.go.plush
simulation file template tohelpers.go.plush
- Remove campaign creation from the
network chain publish
command - Optimized JavaScript generator to use a single typescript API generator binary
- Improve documentation and add support for protocol buffers and Go modules syntax
- Add inline documentation for CLI commands
- Change
cmd/account
to skip passphrase prompt when importing from mnemonic - Add nodejs version in the output of ignite version
- Removed
handler.go
from scaffolded module template - Migrated to
cosmossdk.io
packages for andmath
- Vuex stores from the
generate vuex
command use the new TypeScript client - Upgraded frontend Vue template to v0.3.10
- Improved error handling for crypto wrapper functions
- Fix
pkg/cosmosclient
to call the faucet prior to creating the tx. - Test and refactor
pkg/comosclient
. - Change templates to add missing call to
RegisterMsgServer
in the default module's template to match what's specified in the docs - Fix cosmoscmd appID parameter value to sign a transaction correctly
- Fix
scaffold query
command to useGetClientQueryContext
instead ofGetClientTxContext
- Fix flaky integration tests issue that failed with "text file busy"
- Fix default chain ID for publish
- Replace
os.Rename
withxos.Rename
- Fix CLI reference generation to add
ignite completion
documentation - Remove usage of deprecated
io/ioutil
package
- Apps can now use generics
- Fix
pkg/cosmosanalysis
to support apps with generics - Remove
ignite-hq/cli
from dependency list in scaffolded chains
- Change
pkg/cosmosgen
to allow importing IBC proto files - Improve docs for Docker related commands
- Improve and fix documentation issues in developer tutorials
- Add migration docs for v0.22.2
- Improve
go mod download
error report inpkg/cosmosgen
- Enable Darwin ARM 64 target for chain binary releases in CI templates
- Rename
ignite-hq
toignite
- Fix IBC module scaffolding interface in templates
- Optimized the build system. The
chain serve
,chain build
,chain generate
commands and other variants are way faster now - Upgraded CLI and templates to use IBC v3
- Add a fix in code generation to avoid user's NodeJS configs to break TS client generation routine
- Set min. gas to zero when running
chain
command set
- Add compatibility to run chains built with Cosmos-SDK
v0.46.0-alpha1
and above - Scaffold chains now will have
auth
module enabled by default
- Fixed shell completion generation
- Make sure proto package names are valid when using simple app names
- Support simple app names when scaffolding chains. e.g.:
ignite scaffold chain mars
- Ask confirmation when scaffolding over changes that are not committed yet
- Use
protoc
binary compiled in an older version of macOS AMD64 for backwards compatibility in code generation
- Use latest version of CLI in templates to fix Linux ARM support (It's now possible to develop chains in Linux ARM machines and since the chain depends on the CLI in its go.mod, it needs to use the latest version that support ARM targets)
- Use
unsafe-reset-all
cmd undertendermint
cmd for chains that use=> v0.45.3
version of Cosmos SDK
- Release the CLI with Linux ARM and native M1 binaries
Our new name is Ignite CLI!
IMPORTANT! This upgrade renames starport
command to ignite
. From now on, use ignite
command to access the CLI.
- Upgraded Cosmos SDK version to
v0.45.2
- Added support for in memory backend in
pkg/cosmosclient
package - Improved our tutorials and documentation
- Enable client code and Vuex code generation for query only modules as well.
- Upgraded the Vue template to
v0.3.5
.
- Fixed snake case in code generation.
- Fixed plugin installations for Go =>v1.18.
- Dropped transpilation of TS to JS. Code generation now only produces TS files.
- Upgraded Vue template to
v0.3.0
.
- Upgraded Flutter template to
v2.0.3
- Fixed race condition during faucet transfer
- Fixed account sequence mismatch issue on faucet and relayer
- Fixed templates for IBC code scaffolding
- Upgraded blockchain templates to use IBC v2.0.2
-
Deprecated the Starport Modules tendermint/spm repo and moved the contents to the Ignite CLI repo
ignite/pkg/
in PR 1971Updates are required if your chain uses these packages:
spm/ibckeeper
is nowpkg/cosmosibckeeper
spm/cosmoscmd
is nowpkg/cosmoscmd
spm/openapiconsole
is nowpkg/openapiconsole
testutil/sample
is nowcosmostestutil/sample
-
Updated the faucet HTTP API schema. See API changes in fix: improve faucet reliability #1974
- Enabled the
scaffold flutter
command
starport scaffold
commands supportints
,uints
,strings
,coin
,coins
as field types (#1579)- Added simulation testing with
simapp
to the default template (#1731) - Added
starport generate dart
to generate a Dart client from protocol buffer files - Added
starport scaffold flutter
to scaffold a Flutter mobile app template - Parameters can be specified with a new
--params
flag when scaffolding modules (#1716) - Simulations can be run with
starport chain simulate
- Set
cointype
for accounts inconfig.yml
(#1663)
- Allow using a
creator
field when scaffolding a model with a--no-message
flag (#1730) - Improved error handling when generating code (#1907)
- Ensure account has funds after faucet transfer when using
cosmosclient
(#1846) - Move from
io/ioutil
toio
andos
package (refactoring) (#1746)
- Starport v0.18 comes with Cosmos SDK v0.44 that introduced changes that are not compatible with chains that were scaffolded with Starport versions lower than v0.18. After upgrading from Starport v0.17.3 to Starport v0.18, you must update the default blockchain template to use blockchains that were scaffolded with earlier versions. See Migration.
- Scaffold commands allow using previously scaffolded types as fields
- Added
--signer
flag tomessage
,list
,map
, andsingle
scaffolding to allow customizing the name of the signer of the message - Added
--index
flag toscaffold map
to provide a custom list of indices - Added
scaffold type
to scaffold a protocol buffer definition of a type - Automatically check for new Starport versions
- Added
starport tools completions
to generate CLI completions - Added
starport account
commands to manage accounts (key pairs) starport version
now prints detailed information about OS, Go version, and more- Modules are scaffolded with genesis validation tests
- Types are scaffolded with tests for
ValidateBasic
methods cosmosclient
has been refactored and can be used as a library for interacting with Cosmos SDK chainsstarport relayer
usesstarport account
- Added
--path
flag for allscaffold
,generate
andchain
commands - Added
--output
flag to thebuild
command - Configure port of gRPC web in
config.yml
with thehost.grpc-web
property - Added
build.main
field toconfig.yml
for apps to specify the path of the chain's main package. This property is required to be set only when an app contains multiple main packages.
- Scaffolding a message no longer prevents scaffolding a map, list, or single that has the same type name when using the
--no-message
flag - Generate Go code from proto files only from default directories or directories specified in
config.yml
- Fixed faucet token transfer calculation
- Removed
creator
field for types scaffolded with the--no-message
flag - Encode the count value in the store with
BigEndian
- oracle: add a specific BandChain pkg version to avoid Cosmos SDK version conflicts
client.toml
is initialized and used by node's CLI, can be configured throughconfig.yml
with theinit.client
property- Support serving Cosmos SDK
v0.43.x
based chains
- Set visibility to
public
on Gitpod's port 7575 to enable peer discovery for SPN - Fixed GitHub action that releases blockchain node's binary
- Fixed an error in chain scaffolding due to "unknown revision"
- Fixed an error in
starport chain serve
by limiting the scope where proto files are searched for
- Added GitHub action that automatically builds and releases a binary
- The
--release
flag for thebuild
command adds the ability to release binaries in a tarball with a checksum file. - Added the flag
--no-module
to the commandstarport app
to prevent scaffolding a default module when creating a new app - Added
--dep
flag to specify module dependency when scaffolding a module - Added support for multiple naming conventions for component names and field names
- Print created and modified files when scaffolding a new component
- Added
starport generate
namespace with commands to generate Go, Vuex and OpenAPI - Added
starport chain init
command to initialize a chain without starting a node - Scaffold a type that contains a single instance in the store
- Introduced
starport tools
command for advanced users. Existingstarport relayer lowlevel *
commands are also moved undertools
- Added
faucet.rate_limit_window
property toconfig.yml
- Simplified the
cmd
package in the template - Added
starport scaffold band
oracle query scaffolding - Updated TypeScript relayer to 0.2.0
- Added customizable gas limits for the relayer
- Use snake case for generated files
- Prevent using incorrect module name
- Fixed permissions issue when using Starport in Docker
- Ignore hidden directories when building a chain
- Fix error when scaffolding an IBC module in non-Starport chains
- Prevent indirect Buf dependency
- Ensure that CLI operates fine even if the installation directory (bin) of Go programs is not configured properly
- The new
join
flag adds the ability to pass a--genesis
file and--peers
address list withstarport network chain join
- The new
show
flag adds the ability to show--genesis
and--peers
list withstarport network chain show
protoc
is now bundled with Ignite CLI. You don't need to install it anymore.- Starport is now published automatically on the Docker Hub
starport relayer
configure
andconnect
commands now use the confio/ts-relayer under the hood. Also, checkout the newstarport relayer lowlevel
command- An OpenAPI spec for your chain is now automatically generated with
serve
andbuild
commands: a console is available atlocalhost:1317
and spec atlocalhost:1317/static/openapi.yml
by default for the newly scaffolded chains - Keplr extension is supported on web apps created with Starport
- Added tests to the scaffold
- Improved reliability of scaffolding by detecting placeholders
- Added ability to scaffold modules in chains not created with Starport
- Added the ability to scaffold Cosmos SDK queries
- IBC relayer support is available on web apps created with Starport
- New types without CRUD operations can be added with the
--no-message
flag in thetype
command - New packet without messages can be added with the
--no-message
flag in thepacket
command - Added
docs
command to read Starport documentation on the CLI - Published documentation on https://docs.starport.network
- Added
mnemonic
property to account in theaccounts
list to generate a key from a mnemonic
starport network chain join
hanging issue when creating an account- Error when scaffolding a chain with an underscore in the repo name (thanks @bensooraj!)
starport serve
no longer starts the web app in thevue
directory (usenpm
to start it manually)- Default scaffold no longer includes legacy REST API endpoints (thanks @bensooraj!)
- Removed support for Cosmos SDK v0.39 Launchpad
- IBC module scaffolding
- IBC packet scaffolding with acknowledgements
- JavaScript and Vuex client code generation for Cosmos SDK and custom modules
- Standalone relayer with
configure
andconnect
commands - Advanced relayer options for configuring ports and versions
- Scaffold now follows
MsgServer
convention - Message scaffolding
- Added
starport type ... --indexed
to scaffold indexed types - Custom config file support with
starport serve -c custom.yml
- Detailed terminal output for created accounts: name, address, mnemonic
- Added spinners to indicate progress for long-running commands
- Updated to Cosmos SDK v0.42.1
- Replaced
packr
with Go 1.16embed
- Renamed
servers
top-level property tohost
- Chain state persistence between
starport serve
launches - Integrated Stargate app's
scripts/protocgen
into Starport as a native feature. Runningstarport build/serve
will automatically take care of building proto files without a need of script in the app's source code. - Integrated third-party proto-files used by Cosmos SDK modules into Ignite CLI
- Added ability to customize binary name with
build.binary
inconfig.yml
- Added ability to change path to home directory with
.home
inconfig.yml
- Added ability to add accounts by
address
with inconfig.yml
- Added faucet functionality available on port 4500 and configurable with
faucet
inconfig.yml
- Added
starport faucet [address] [coins]
command - Updated scaffold to Cosmos SDK v0.41.0
- Distroless multiplatform docker containers for starport that can be used for
starport serve
- UI containers for chains scaffolded with Starport
- Use SOS-lite and Docker instead of systemD
- Arch PKGBUILD in
scripts
- Support for CosmWasm on Stargate
- Bug with dashes in Github username breaking proto package name
- Bug with custom address prefix
- use docker buildx as a single command with multiple platforms to make multi-manifest work properly
- Added
starport network
commands for launching blockchains - Added proxy (Chisel) to support launching blockchains from Gitpod
- Upgraded the template (Stargate) to Cosmos SDK v0.40.0-rc3
- Added a gRPC-Web proxy that is available under http://localhost:12345/grpc
- Added chain id configurability by recognizing
chain_id
fromgenesis
section ofconfig.yml
. - Added
config/app.toml
andconfig/config.toml
configurability for appd under newinit.app
andinit.config
sections ofconfig.yml
- Point to Stargate as default SDK version for scaffolding
- Covered CRUD operations for Stargate scaffolding
- Added docs on gopath to build from source directions
- Arch Linux Based Raspberry Pi development environment
- Calculate the necessary gas for sending transactions to SPN
- Routing REST API endpoints of querier on Stargate
- Evaluate
--address-prefix
option when scaffolding for Stargate - Use a deterministic method to generate scaffolded type IDs
- Modify scaffolded type's creator type from address to string
- Copy built starport arm64 binary from tendermintdevelopment/starport:arm64 for device images
- Added git to amd64 docker image
- Comment out Gaia's seeds in the systemd unit template for downstream chains
- Added Github CLI to gitpod environment for greater ease of use
- Added
starport build
command to build and install app binaries - Improved the first-time experience for readers of the Starport readme and parts of the Starport Handbook
- Added
starport module create
command to scaffold custom modules - Raspberry Pi now installs, builds, and serves the Vue UI
- Improved documentation for Raspberry Pi Device Images
- Added IBC and some other modules
- Added an option to configure server addresses under
servers
section inconfig.yml
--address-prefix
will always be translated to lowercase while scaffolding withapp
command- HTTP API: accept strings in JSON and cast them to int and bool
- Update @tendermint/vue to
v0.1.7
- Removed "Starport Pi"
- Removed Makefile from Downstream Pi
- Fixed Downstream Pi image Github Action
- Prevent duplicated fields with
type
command - Fixed handling of protobufs profiler: prof_laddr -> pprof_laddr
- Fix an error, when a Stargate
serve
cmd doesn't start if a user doesn't have a relayer installed
- Published on Snapcraft
- Added experimental Stargate scaffolding option with
--sdk-version stargate
flag onstarport app
command - Pi Image Generation for chains generated with Starport
- Github action with capture of binary artifacts for chains generated with Starport
- Gitpod: added guidelines and changed working directory into
docs
- Updated web scaffold with an improved sign in, balance list and a simple wallet
- Added CRUD actions for scaffolded types: delete, update, and get
- Add ARM64 releases
- OS Image Generation for Raspberry Pi 3 and 4
- Added
version
command - Added support for validator configuration in config.yml.
- Starport can be launched on Gitpod
- Added
make clean
- Compile with go1.15
- Running
starport add type...
multiple times no longer breaks the app - Running
appcli tx app create-x
now checks for all required args - Removed unused
--denom
flag from theapp
command. It previously has moved as a prop to theconfig.yml
underaccounts
section - Disabled proxy server in the Vue app (this was causing to some compatibilitiy issues) and enabled CORS for
appcli rest-server
instead type
command supports dashes in app names
- Configure
genesis.json
throughgenesis
field inconfig.yml
- Initialize git repository on
app
scaffolding - Check Go and GOPATH when running
serve
- verbose is --verbose, not -v, in the cli
- Renamed
frontend
directory tovue
- Added first E2E tests (for
app
andadd wasm
subcommands)
- No longer crashes when git is initialized but doesn't have commits
- Failure to start the frontend doesn't prevent Starport from running
- Changes to
config.yml
trigger reinitialization of the app - Running
starport add wasm
multiple times no longer breaks the app
- Initialize with accounts defined
config.yml
starport serve --verbose
shows detailed output from every process- Custom address prefixes with
--address-prefix
flag - Cosmos SDK Launchpad support
- Rebuild and reinitialize on file change
Initial release.