Releases: iov-one/weave
Releases · iov-one/weave
v0.16.0
- A new tool
cmd/bnscli
for interacting with a BNS node was created. - Creation of a new proposal in
x/gov
extension is now restricted to only
members of the electorate that this proposal is created for. - Cleanup escrow: removed the support for atomic swap
- A new bucket implementation
orm.ModelBucket
was added that provides an
easier to use interface when dealing with a single entity type. migration
package was updated to provideorm.ModelBucket
wrapper for
transparent schema version migrationsx/gov
package was added, which maintains multiple versioned Electorates and
ElectionRules that define voting rules (quorum, threshold, voting period) for
a given Electorate. Votes can be tallied at the end and execute an
application-defined action which is passed in to the constructor. This is
compatible with standard handler interfaces and sample application-level
setup is demonstrated in the test code (and allsample*_test.go
code).- Failed execution of the Proposal intent does not result in a failed
transaction (so we update the Proposal state properly), but is rolled back
independently and noted inDeliverResult.Log
(reporting to be improved in a
future issue) x/gov
adds three internal transations: UpdateElectorate, UpdateElectionRule,
and TextResolution. TextResolutions can only be created by elections and
the text is stored in a bucket along with a reference to the electorate
and proposal that they refer to.- Enabled
x/batch
in bnsd. You can now send a batch of messages, which are
executed atomically as one unit (all succeed, or no changes committed). x/gov
methods are exposed in bnsd application. The list of messages that
are eligible for proposals is incmd/bnsd/app/codec.go.ProposalOptions
.
Note that you can also use a batch message with a subset of possible actions,
to make multiple SendTx as part of a governance vote, for example.- Dockerize all the protobuf tooling for easier developer experience and
reproducible builds - You can use "seq:multisig/usage/1" or similar in the genesis file to easily
create addresses without manually encoding everything into 16 hex digits - Introduce
errors.Append
function to combine errors into a new multi error
type spec
directory now contains protobuf files and testvectors (standard api
objects in both json and binary encodings) to enable easier bindings and unit
tests in client code, and projects that import weave.
Breaking changes
- Escrow does not support atomic swap anymore: preimage is removed from Tx and,
haslock extension removed and arbiter now must be an Address and not a
Condition Metadata
attribute was removed from transaction attributes. This affects
two entitiesx/cash.FeeInfo
andx/sigs.StdSignature
- Max length of blockchain ids used in username NFTs is now 32 (previously 128)
v0.15.0
- Tendermint is upgraded to version 0.31.5
- New
x/aswap
extension implementing atomic swap functionality. Atomic swap
implementation is separated fromx/escrow
x/cash
is using the newgconf
package for configuration. New genesis path
is used. To update genesis file, replace"gconf": { "cash:xyz": "foo" }
with
"conf": { "cash": { "xyz": "foo" } }
- Removed support for Go 1.10. Minimal required version is now 1.11.4.
- Added support for Go 1.12
- New
migration
package. Schema versioning for models and messages can be
implemented by relying on functionality provided by this package.
Breaking changes
- Dependency management was migrated to Go modules.
dep
is no longer used or
supported. x/paychan
extension is using a wall clock for the timeout functionality
instead of relying on the block heightgconf
package was reimplemented from scratch. Configuration can be changed
during the runtime using messages.- Many extensions where updated to provide
weave.Metadata
and support schema
versioning as implemented bymigrations
package. Protobuf messages are
using new schema and are not binary compatible with old ones. Updated
extensions are:x/cash
,x/currency
,x/distribution
,x/escrow
,
x/msgfee
,x/multisig
,x/namecoin
,
x/nft
,x/paychan
,x/sigs
,x/validators
v0.14.0
- Simplify transaction message unpacking with
weave.LoadMsg
- Initial version of the governance extension (
x/gov
) - Signature verification in
x/sigs
extension costs gas now - A new message
BumpSequenceMsg
for incrementing a user sequence value in
x/sigs
extension - When considering expiration in
x/escrow
extension, expiration time is now
inclusive - A new validator subjective anti-spam fee was added
v0.13.0
v0.12.1
- Distriubtion condition must match regexp for validation #425
- Support time with escrow #392
- Deprecate Error.New for errors.Wrap #382
- Only support Error.Is with better algorithm #381
- Cleanup coins package errors #378
- Add support for bech32 in genesis file #362
- Benchmark gconf Get #360
- Automate benchmarks and record them #263
v0.12.0
Changelog
v0.12.0 (12/03/2019)
- Apply iov theme (css) to readthedocs #373
- Create a package for testing tools #372
- Don't allow everyone to issue with namecoin #371
- Require ticker for min fee - no wildcard #369
- errors package improvements #368
- Revisit all errors that print Condition and weave.Address as '%X' #350
- Add support for required fees #349
- Improve fee deduction on errors #348
- More friendly references for genesis file #347
- Move all errors code to errors.go and remove obsolete files once refactoring and stacktrace prs are merged #345
- Add distribution extension to bcpd #336
- Acceptance tests for x/distribution extension #335
- Include x/distribution in cmd/bnsd #328
- Check for overflow in Coin.Multiply and return error #326
- Add protobuf linter to travis build #318
- Add stack traces to new errors #311
- Add block rewards minting contract #310
- Standardize new error handling #309
- Add prototool linter to build process #302
- Add "expected" and "actual" to invalid nonce error message #288
- Only use nft/username in bnsd #283
- Allow nft/username to be used alone #282
- Update readthedocs to weave 0.12 #280
- Remove cmd/bnsd enum declaration #262
- Fee distribution module #233
- Collect fixed fees for certain transactions #232
- Remove field sig_figs from namecoin.Token #207
- Cleanup escrow implementation #134
- Deploy testnet v2 (bnsnet + bcpnet) #110
- Make prehash algorithm extensible #88
- Add PoA modules, also NtoN example #32
- [docs]Generate single file protocol definition #187
- [docs]Add docs on proper usage of the new errors package #333
- [docs] Add docs on how to write a scenario test #332
- [bug]Update go version requirement #366
- [bug] Issuer ignored in x.Coin Add/ Substract/ ??? functions - REMOVE IT #321
- [bug] Update ROADMAP.md file #258