13 KiB
Changelog
0.15.0 (TBD)
FEATURES:
- Add CacheContext
- Add auto sequencing to client
- Add FeeHandler to ante handler
- Gaia stake commands include, DeclareCandidacy, EditCandidacy, Delegate, Unbond
- MountStoreWithDB without providing a custom store works.
BREAKING CHANGES
- Remove go-wire, use go-amino
- Gaia simple-staking bond and unbond functions replaced
- [store] Add
SubspaceIteratorandReverseSubspaceIteratortoKVStoreinterface - [basecoin] NewBasecoinApp takes a
dbm.DBand uses namespaced DBs for substores - All module keepers now require a codespace, see basecoin or democoin for usage
BUG FIXES
- Gaia now uses stake, ported from github.com/cosmos/gaia
0.14.1 (April 9, 2018)
BUG FIXES
- [gaiacli] Fix all commands (just a duplicate of basecli for now)
0.14.0 (April 9, 2018)
BREAKING CHANGES:
- [client/builder] Renamed to
client/coreand refactored to use a CoreContext struct - [server] Refactor to improve useability and de-duplicate code
- [types]
Result.ToQuery -> Error.QueryResult - [makefile]
make buildandmake installonly build/installgaiacliandgaiad. Usemake build_examplesandmake install_examplesforbasecoind/baseclianddemocoind/democli - [staking] Various fixes/improvements
FEATURES:
- [democoin] Added Proof-of-Work module
BUG FIXES
- [client] Reuse Tendermint RPC client to avoid excessive open files
- [client] Fix setting log level
- [basecoin] Sort coins in genesis
0.13.1 (April 3, 2018)
BUG FIXES
- [x/ibc] Fix CLI and relay for IBC txs
- [x/stake] Various fixes/improvements
0.13.0 (April 2, 2018)
BREAKING CHANGES
- [basecoin] Remove cool/sketchy modules -> moved to new
democoin - [basecoin] NewBasecoinApp takes a
map[string]dbm.DBas temporary measure to allow mounting multiple stores with their own DB until they can share one - [x/staking] Renamed to
simplestake - [builder] Functions don't take
passphraseas argument - [server] GenAppState returns generated seed and address
- [basecoind]
initcommand outputs JSON of everything necessary for testnet - [basecoind]
basecoin.db -> data/basecoin.db - [basecli]
data/keys.db -> keys/keys.db
FEATURES
- [types]
Coinsupports direct arithmetic operations - [basecoind] Add
show_validatorandshow_node_idcommands - [x/stake] Initial merge of full staking module!
- [democoin] New example application to demo custom modules
IMPROVEMENTS
- [makefile]
make install - [testing] Use
/tmpfor directories so they don't get left in the repo
BUG FIXES
- [basecoin] Allow app to be restarted
- [makefile] Fix build on Windows
- [basecli] Get confirmation before overriding key with same name
0.12.0 (March 27 2018)
BREAKING CHANGES
- Revert to old go-wire for now
- glide -> godep
- [types] ErrBadNonce -> ErrInvalidSequence
- [types] Replace tx.GetFeePayer with FeePayer(tx) - returns the first signer
- [types] NewStdTx takes the Fee
- [types] ParseAccount -> AccountDecoder; ErrTxParse -> ErrTxDecoder
- [x/auth] AnteHandler deducts fees
- [x/bank] Move some errors to
types - [x/bank] Remove sequence and signature from Input
FEATURES
- [examples/basecoin] New cool module to demonstrate use of state and custom transactions
- [basecoind]
show_node_idcommand - [lcd] Implement the Light Client Daemon and endpoints
- [types/stdlib] Queue functionality
- [store] Subspace iterator on IAVLTree
- [types] StdSignDoc is the document that gets signed (chainid, msg, sequence, fee)
- [types] CodeInvalidPubKey
- [types] StdFee, and StdTx takes the StdFee
- [specs] Progression of MVPs for IBC
- [x/ibc] Initial shell of IBC functionality (no proofs)
- [x/simplestake] Simple staking module with bonding/unbonding
IMPROVEMENTS
- Lots more tests!
- [client/builder] Helpers for forming and signing transactions
- [types] sdk.Address
- [specs] Staking
BUG FIXES
- [x/auth] Fix setting pubkey on new account
- [x/auth] Require signatures to include the sequences
- [baseapp] Dont panic on nil handler
- [basecoin] Check for empty bytes in account and tx
0.11.0 (March 1, 2017)
BREAKING CHANGES
- [examples] dummy -> kvstore
- [examples] Remove gaia
- [examples/basecoin] MakeTxCodec -> MakeCodec
- [types] CommitMultiStore interface has new
GetCommitKVStore(key StoreKey) CommitKVStoremethod
FEATURES
- [examples/basecoin] CLI for
basecliandbasecoind(!) - [baseapp] router.AddRoute returns Router
IMPROVEMENTS
- [baseapp] Run msg handlers on CheckTx
- [docs] Add spec for REST API
- [all] More tests!
BUG FIXES
- [baseapp] Fix panic on app restart
- [baseapp] InitChain does not call Commit
- [basecoin] Remove IBCStore because mounting multiple stores is currently broken
0.10.0 (February 20, 2017)
BREAKING CHANGES
- [baseapp] NewBaseApp(logger, db)
- [baseapp] NewContext(isCheckTx, header)
- [x/bank] CoinMapper -> CoinKeeper
FEATURES
- [examples/gaia] Mock CLI !
- [baseapp] InitChainer, BeginBlocker, EndBlocker
- [baseapp] MountStoresIAVL
IMPROVEMENTS
- [docs] Various improvements.
- [basecoin] Much simpler :)
BUG FIXES
- [baseapp] initialize and reset msCheck and msDeliver properly
0.9.0 (February 13, 2017)
BREAKING CHANGES
- Massive refactor. Basecoin works. Still needs <3
0.8.1
- Updates for dependencies
0.8.0 (December 18, 2017)
- Updates for dependencies
0.7.1 (October 11, 2017)
IMPROVEMENTS:
- server/commands: GetInitCmd takes list of options
0.7.0 (October 11, 2017)
BREAKING CHANGES:
- Everything has changed, and it's all about to change again, so don't bother using it yet!
0.6.2 (July 27, 2017)
IMPROVEMENTS:
- auto-test all tutorials to detect breaking changes
- move deployment scripts from
/scriptsto/publishfor clarity
BUG FIXES:
basecoin initensures the address in genesis.json is valid- fix bug that certain addresses couldn't receive ibc packets
0.6.1 (June 28, 2017)
Make lots of small cli fixes that arose when people were using the tools for the testnet.
IMPROVEMENTS:
- basecoin
basecoin startsupports all flags thattendermint nodedoes, such as--rpc.laddr,--p2p.seeds, and--p2p.skip_upnp- fully supports
--log_leveland--tracefor logger configuration - merkleeyes no longers spams the logs... unless you want it
- Example:
basecoin start --log_level="merkleeyes:info,state:info,*:error" - Example:
basecoin start --log_level="merkleeyes:debug,state:info,*:error"
- Example:
- basecli
basecli initis more intelligent and only complains if there really was a connected chain, not just random files- support
localhost:46657orhttp://localhost:46657format for nodes, not justtcp://localhost:46657 - Add
--genesisto init to specify chain-id and validator hash- Example:
basecli init --node=localhost:46657 --genesis=$HOME/.basecoin/genesis.json
- Example:
basecli rpchas a number of methods to easily accept tendermint rpc, and verifies what it can
BUG FIXES:
- basecli
basecli query accountaccepts hex account address with or without0xprefix- gives error message when running commands on an unitialized chain, rather than some unintelligable panic
0.6.0 (June 22, 2017)
Make the basecli command the only way to use client-side, to enforce best security practices. Lots of enhancements to get it up to production quality.
BREAKING CHANGES:
- ./cmd/commands -> ./cmd/basecoin/commands
- basecli
basecli proof state get->basecli query keybasecli proof tx get->basecli query txbasecli proof state get --app=account->basecli query account- use
--chain-idnot--chainidfor consistency - update to use
--tracenot--debugfor stack traces on errors - complete overhaul on how tx and query subcommands are added. (see counter or trackomatron for examples)
- no longer supports counter app (see new countercli)
- basecoin
basecoin inittakes an argument, an address to allocate funds to in the genesis- removed key2.json
- removed all client side functionality from it (use basecli now for proofs)
- no tx subcommand
- no query subcommand
- no account (query) subcommand
- a few other random ones...
- enhanced relay subcommand
- relay start did what relay used to do
- relay init registers both chains on one another (to set it up so relay start just works)
- docs
- removed
example-plugin, putcounterinsidedocs/guide
- removed
- app
- Implements ABCI handshake by proxying merkleeyes.Info()
IMPROVEMENTS:
basecoin initsupport--chain-id- intergrates tendermint 0.10.0 (not the rc-2, but the real thing)
- commands return error code (1) on failure for easier script testing
- add
reset_allto basecli, and never delete keys oninit - new shutil based unit tests, with better coverage of the cli actions
- just
make freshwhen things are getting stale ;)
BUG FIXES:
- app: no longer panics on missing app_options in genesis (thanks, anton)
- docs: updated all docs... again
- ibc: fix panic on getting BlockID from commit without 100% precommits (still a TODO)
0.5.2 (June 2, 2017)
BUG FIXES:
- fix parsing of the log level from Tendermint config (#97)
0.5.1 (May 30, 2017)
BUG FIXES:
- fix ibc demo app to use proper tendermint flags, 0.10.0-rc2 compatibility
- Make sure all cli uses new json.Marshal not wire.JSONBytes
0.5.0 (May 27, 2017)
BREAKING CHANGES:
- only those related to the tendermint 0.9 -> 0.10 upgrade
IMPROVEMENTS:
- basecoin cli
- integrates tendermint 0.10.0 and unifies cli (init, unsafe_reset_all, ...)
- integrate viper, all command line flags can also be defined in environmental variables or config.toml
- genesis file
- you can define accounts with either address or pub_key
- sorts coins for you, so no silent errors if not in alphabetical order
- light-client integration
- no longer must you trust the node you connect to, prove everything!
- new basecli command
- integrated key management, stored encrypted locally
- tracks validator set changes and proves everything from one initial validator seed
basecli proof stategets complete proofs for any abci statebasecli proof txgets complete proof where a tx was stored in the chainbasecli proxyexposes tendermint rpc, but only passes through results after doing complete verification
BUG FIXES:
- no more silently ignored error with invalid coin names (eg. "17.22foo coin" used to parse as "17 foo", not warning/error)
0.4.1 (April 26, 2017)
BUG FIXES:
- Fix bug in
basecoin unsafe_reset_Xwhere thepriv_validator.jsonwas not being reset
0.4.0 (April 21, 2017)
BREAKING CHANGES:
- CLI now uses Cobra, which forced changes to some of the flag names and orderings
IMPROVEMENTS:
basecoin initdoesn't generate error if already initialized- Much more testing
0.3.1 (March 23, 2017)
IMPROVEMENTS:
- CLI returns exit code 1 and logs error before exiting
0.3.0 (March 23, 2017)
BREAKING CHANGES:
- Remove
--dataflag and useBCHOMEto set the home directory (defaults to~/.basecoin) - Remove
--in-procflag and start Tendermint in-process by default (expect Tendermint files in $BCHOME/tendermint). To start just the ABCI app/server, usebasecoin start --without-tendermint. - Consolidate genesis files so the Basecoin genesis is an object under
app_optionsin Tendermint genesis. For instance:
{
"app_hash": "",
"chain_id": "foo_bar_chain",
"genesis_time": "0001-01-01T00:00:00.000Z",
"validators": [
{
"amount": 10,
"name": "",
"pub_key": [
1,
"7B90EA87E7DC0C7145C8C48C08992BE271C7234134343E8A8E8008E617DE7B30"
]
}
],
"app_options": {
"accounts": [{
"pub_key": {
"type": "ed25519",
"data": "6880db93598e283a67c4d88fc67a8858aa2de70f713fe94a5109e29c137100c2"
},
"coins": [
{
"denom": "blank",
"amount": 12345
},
{
"denom": "ETH",
"amount": 654321
}
]
}],
"plugin_options": ["plugin1/key1", "value1", "plugin1/key2", "value2"]
}
}
Note the array of key-value pairs is now under app_options.plugin_options while the app_options themselves are well formed.
We also changed chainID to chain_id and consolidated to have just one of them.
FEATURES:
- Introduce
basecoin initandbasecoin unsafe_reset_all
0.2.0 (March 6, 2017)
BREAKING CHANGES:
- Update to ABCI v0.4.0 and Tendermint v0.9.0
- Coins are specified on the CLI as
Xcoin, eg.5gold Costis nowFee
FEATURES:
- CLI for sending transactions and querying the state, designed to be easily extensible as plugins are implemented
- Run Basecoin in-process with Tendermint
- Add
/accountpath in Query - IBC plugin for InterBlockchain Communication
- Demo script of IBC between two chains
IMPROVEMENTS:
- Use new Tendermint
/commitendpoint for crafting IBC transactions - More unit tests
- Use go-crypto S structs and go-data for more standard JSON
- Demo uses fewer sleeps
BUG FIXES:
- Various little fixes in coin arithmetic
- More commit validation in IBC
- Return results from transactions
PreHistory
January 14-18, 2017
- Update to Tendermint v0.8.0
- Cleanup a bit and release blog post
September 22, 2016
- Basecoin compiles again