Skip to content

Latest commit

 

History

History
892 lines (505 loc) · 40.9 KB

CHANGELOG.md

File metadata and controls

892 lines (505 loc) · 40.9 KB

0.23.0-dev.4 (2022-07-12)

Bug Fixes

  • dashmate: replace seeds by bootstrap-peers in config.toml (#460)
  • drive: various fixes in synchronize masternode identities logic and logging (#461)

Build System

  • test-suite: fix docker image build

0.23.0-dev.3 (2022-06-30)

⚠ BREAKING CHANGES

  • Previous invalid data contracts in blockchain might be valid now (#445)
  • getIdentityIdsByPublicKeyHash endpoint is removed. getIdentitiesByPublicKeyHash now responds with an array of identities, instead of an array of cbored arrays of identities. (#437)
  • All indices must have 'asc' order (#435)
  • Some state transitions in the chain could change validation result due to changes in fee logic. Previously invalid state transition in chain could become valid since BLS signing is fixed (#392)
  • Previously invalidated DataContractUpdateTransitions with unique equals false will become valid (#427)
  • Document query logic can behave differently in some cases (#398)

Features

  • bench: state transition benchmark (#418)
  • dashmate: add --force flag to stop command (#434)
  • dashmate: upgrade docker compose to v2 (#441)
  • dpp: allow 1 char document type and 1 char property name (#445)
  • integrate dash-spv into monorepo
  • limit the number of shares for masternode by 16 (#432)
  • move dash-spv in packages after import
  • re-enable proof responses (#440)
  • validate fee calculating worst case operations (#392)

Bug Fixes

  • ci: docker images incorrectly tagged with v (#413)
  • dpp: data contract index update validation (#427)
  • drive: change transaction is started check (#451)
  • non-deterministic fees due to data contract cache (#444)
  • sdk: identity update method can't sign publicKeys in some cases (#421)
  • wallet-lib: separate persistent storage by walletId (#407)

Documentation

  • add input description

Code Refactoring

  • drive: use RS Drive query validation logic (#398)
  • simplified public key to identity structure (#437)

Tests

  • dpp: fix invalid findIndexDuplicates test in DPP (#448)

Miscellaneous Chores

  • dpp: allow only asc order for indices (#435)
  • drive: log synchronize masternode identities (#449)
  • test-suite: move wallet storage persistence in the outer folder (#416)
  • update readme

0.22.13 (2022-06-17)

Features

  • support DIP24 devnet LLMQ type (#438)

0.22.12 (2022-06-07)

Bug Fixes

  • sdk: incomplete bundle for web (#400)
  • wallet-lib: separate persistent storage by walletId (#407)

0.22.11 (2022-05-31)

Bug Fixes

  • incorrect image versions and variables for testnet config (#415)

0.22.10 (2022-05-26)

Bug Fixes

  • CommitmentTxPayload#toBuffer method was using version instead of qfcVersion for serialization (#410)

Continuous Integration

  • dispatch trigger and parallelization (#406)

0.22.9 (2022-05-24)

Bug Fixes

  • incorrect parsing of commitment payload (#408)

0.22.8 (2022-05-23)

Bug Fixes

  • verifyChainLock was returning false instead of ResponseQuery (#402)
  • dashmate: switch drive and dapi to stable versions (#381)
  • wallet-lib: hook tx chain broadcast on mempool response (#388)

0.23.0-dev.2 (2022-05-20)

⚠ BREAKING CHANGES

  • Identity master key can be used only to update identity (#384)
  • SDK's identity update method now requires correspond private keys. Identity public keys in state transitions must be signed

Features

  • bench suite (#335)
  • bench-suite: add fees to documents benchmark (#379)
  • bench-suite: function benchmark and other improvements (#344)
  • calculate state transition fees using operations (#376)
  • create withdrawal keys for masternode identities (#320)
  • dpp: BIP13_SCRIPT_HASH identity public key type (#353)
  • dpp: calculate signature verification costs for fees (#387)
  • dpp: fee operations and execution context (#369)
  • drive: collect fee operation to execution context (#370)
  • Identity master key can be used only to update identity (#384)
  • identity public key proofs (#349)
  • integrate with Tenderdash v0.8-dev (#314)

Bug Fixes

  • change allowed security level for withdrawal purpose to critical (#352)
  • dapi-grpc: outdated autogenerated code (#331)
  • dashmate: switch drive and dapi to stable versions (#381)
  • wallet-lib: hook tx chain broadcast on mempool response (#388)

Documentation

  • update badges in individual package readmes (#361)

Continuous Integration

  • add latest-dev docker tag (#382)

Miscellaneous Chores

  • dashmate: use 0.23-dev images

0.22.7 (2022-05-02)

Bug Fixes

  • invalid version to parse CommitmentTxPayload (#373)

0.22.6 (2022-05-02)

Bug Fixes

  • can't parse CommitmentTxPayload (#371)

0.22.5 (2022-04-29)

Bug Fixes

  • broken QuorumEntry unserialization (#366)

0.22.4 (2022-04-29)

⚠ BREAKING CHANGES

  • Core v0.17 is not supported anymore

Bug Fixes

  • invalid merkleRootQuorums calculation (#362)

0.22.3 (2022-04-27)

⚠ BREAKING CHANGES

  • wallet-lib: storage layer refactoring (#232)

Features

  • wallet-lib: adds balance and metadata information from registered identity (#337)
  • wallet-lib: provide transaction history item as a date object (#336)
  • wallet-lib: rework storage for multiple key chains (#231)
  • wallet-lib: satoshisBalanceImpact in transaction history (#319)
  • wallet-lib: storage layer refactoring (#232)

Bug Fixes

  • dashmate: broken migrations (#355)
  • wallet-lib: optimize storage version check (#348)
  • wallet-lib: persistent storage regression (#302)

0.22.2 (2022-04-21)

Bug Fixes

  • docker-test-suite missing test files

Tests

  • dpp: double test in identity validation (#330)
  • fixes sdk timeouts in platform test suite (#309)

Miscellaneous Chores

  • update Core to v0.18.0.0-rc1 (#351)

0.23.0-dev.1 (2022-04-08)

⚠ BREAKING CHANGES

  • plain proRegTx for masternode identifier (#318)
  • wallet-lib: storage layer refactoring (#232)

Features

  • dpp: add withdraw purpose for IdentityPublicKey (#317)
  • update identity (#292)
  • wallet-lib: rework storage for multiple key chains (#231)
  • wallet-lib: satoshisBalanceImpact in transaction history (#319)
  • wallet-lib: storage layer refactoring (#232)

Bug Fixes

  • dashmate: config/core/miner must have required property 'interval' (#311)
  • do not hash proRegTx for masternode identifier (#318)

Performance Improvements

  • dapi: cache block headers and chainlocks (#235, #296)
  • dapi: remove unnecessary Core RPC calls for core streams (#194)

Continuous Integration

  • enable multiarch builds (#316)

Miscellaneous Chores

  • drive: add more block execution timers (#329)

Tests

  • fixes wallet.spec.js

0.22.1 (2022-03-25)

Bug Fixes

  • dashmate: cannot read properties of undefined (reading 'masternodeRewardShares’) (#310)
  • dashmate: config/core/miner must have required property 'interval' (#311)

Tests

  • fix platform-test-suite-execution in browser environment (#289)

0.22.0 (2022-03-21)

⚠ BREAKING CHANGES

  • name is required for document index definition
  • platform.contracts.broadcast method in SDK renamed to platform.contracts.publish
  • Identity public key requires purpose and securityLevel properties
  • $id property can't be used in document indices
  • Indexed properties now require size constraints
  • getIdentitiesByPublicKeyHashes returns array of arrays of identities
  • getIdentityIdsByPublicKeyHashes returns array of arrays of identity ids
  • Document array properties temporarily cannot be indexed. Will be enabled in v0.23
  • Range operations in document queries can be used only in the last where clause
  • sorting (orderBy) in document queries is required for range operations
  • elementMatch, contains and includes operations are temporarily disabled in document query. Will be enabled in v0.23
  • $ref in data contract is temporarily disabled
  • startAt and startAfter accept now only document id instead of document offset
  • in operator can be used only in two last where clauses
  • Cryptographical proofs for platform state are temporarily disabled. Will be enabled in upcoming releases
  • Platform data is not compatible with previous platform versions. Please reset your node.

Features

  • identity public key purpose and security levels (#46)
  • allow using non-unique Identity public keys (#168)
  • distribute dashmate with NPM (#148)
  • create and update masternode identities (#160, #170, #257, #272, #279, #287)
  • added WalletStore (#197)
  • register system contracts on initChain (#182, #192)
  • integrate new storage (GroveDB) and secondary indices (RS Drive) (#77, #177, #178, #199, #201, #225, #259, #280, #303)
  • fallback to chain asset lock proof (#297)
  • add an ability to update data contract (#52, #83, #223)
  • add required name property to index definition (#74)
  • use document for startAt and startAfter in document query (#227, #255)
  • dashmate: enable mainnet for dashmate (#2)
  • dashmate: json output for status commands (#31, #262)
  • dashmate: add an ability to configure node subnet mask (#237)
  • dpp: add readOnly flag to IdentityPublicKey (#142, #239)
  • dpp: allow using BLS key to sign state transitions (#268, #275)
  • drive: network address in ValidatorUpdate ABCI (#140, #155, #184)
  • drive: add performance timers to measure block execution (#281)
  • dapi: subscribeToBlockHeadersWithChainLocks endpoint (#153)
  • wallet-lib: ChainStore (#196)
  • dapi-client: get and verify block headers with dash-spv (#211)
  • dapi-client: handle asynchronous errors (#233)

Bug Fixes

  • dashmate: cannot read properties of undefined (reading 'dpns') on reset (#47)
  • drive: missed JS ABCI yarn cache (#156)
  • build: zeromq build is not working on linux (#236)
  • cannot install protobufjs in some cases (#266, #267)
  • dashmate: rimraf module could not remove config directory (#248)
  • dashmate: logs were incorrectly mounted (#261)
  • drive: documents have mixed owner ids (#283)
  • cannot read properties of undefined (reading 'getIp') (#285)
  • InstantLock waiting period for transaction... (#293)
  • dpp: re2 memory leak (#301)
  • drive: internal error on verify instant lock (#295)

Documentation

  • improved sidebar and usage in DAPI client (#3)
  • provide getTransactionHistory (#5)
  • minor Readme fixes (#163)
  • add readme to docs folder (#175)
  • escape literal '|' in table (#164)
  • indicate which network(s) this repo supports (#174)
  • ignore folder with empty docs during build (#212)

Tests

  • wallet-lib: enable skipped test after the fix for grpc-js lib (#71)

Miscellaneous Chores

  • fix wrong version in a release PR title (#82)
  • missed merk darwin x64 pre-build binary (#144)
  • undefined "-w" argument in restart script (#85)
  • drive: send initial core chain locked height on init chain (#180)
  • update to use current @oclif/core (#154)
  • remove fixCumulativeFeesBug feature flag (#191)
  • update tenderdash and core images (#188, #252, #269)
  • dpp: temporarily disable $refs in data contract definitions (#300)
  • dpp: size constraints for indexed properties (#179, #273)

Build System

  • test-suite: docker image build doesn't work (#172)
  • fix configure test suite script for grep 2.5.1 (#187)

Code Refactoring

  • dapi: rename tx-filter-stream.js to core-streams.js (#169)

0.22.0-dev.16 (2022-03-18)

⚠ BREAKING CHANGES

  • previously created platform state might be not compatible

Features

  • dpp: temporarily disable $refs in data contract definitions (#300)
  • fallback to chain asset lock proof (#297)

Bug Fixes

  • dpp: re2 memory leak (#301)
  • drive: document query and delete issues (#303)
  • drive: internal error on verify instant lock (#295)

0.22.0-dev.15 (2022-03-11)

Bug Fixes

  • InstantLock waiting period for transaction.. (#293)

0.22.0-dev.14 (2022-03-10)

⚠ BREAKING CHANGES

  • The fixed masternode identities logic breaks compatibility with previous invalid state.

Bug Fixes

  • drive: non-deterministic behaviour in masternode identities logic (#287)

0.22.0-dev.13 (2022-03-09)

Bug Fixes

  • cannot read properties of undefined (reading 'getIp') (#285)

0.22.0-dev.12 (2022-03-08)

Bug Fixes

  • drive: documents have mixed owner ids (#283)

0.22.0-dev.11 (2022-03-08)

⚠ BREAKING CHANGES

  • in query operator doesn't work with multiple values (#280)

Features

  • drive: add performance timers to measure block execution (#281)

Bug Fixes

  • in query operator doesn't work with multiple values (#280)
  • can't find masternode raward shares data contract (#279)

0.22.0-dev.10 (2022-03-07)

Bug Fixes

  • dpp: Invalid DER format public key (#275)

0.22.0-dev.9 (2022-03-04)

⚠ BREAKING CHANGES

  • dpp: lower indexed string properties constraints (#273)

Features

  • dpp: lower indexed string properties constraints (#273)

Bug Fixes

  • masternode reward shares (#272)

0.22.0-dev.8 (2022-03-01)

⚠ BREAKING CHANGES

  • New state is not compatible with previous versions
  • Document queries have limitations compared with previous versions
  • Proofs are temporary disabled

Features

  • dapi-client: get and verify block headers with dash-spv (#211)
  • dapi-client: handle asynchronous errors (#233)
  • dashmate: add an ability to configure node subnet mask (#237)
  • dpp: allow using BLS key to sign state transitions (#268)
  • dpp: do not allow to index array properties (#225)
  • drive: create/update identities based on SML changes (#170)
  • integrate RS Drive and GroveDB (#177)

Bug Fixes

  • dashmate: group:status command was missing a format flag (#262)
  • startAt and startAfter invalid decoding (#255)
  • build: zeromq build is not working on linux (#236)
  • cannot install protobufjs in some cases (#266)
  • dashmate: rimraf module could not remove config directory (#248)
  • dashmate: logs were incorrectly mounted (#261)
  • dpp: Identity public key readOnly flag was read as undefined instead of false (#239)
  • drive: unable to reconstruct SML (#257)
  • drive: invalid query errors are fatal (#259)
  • sdk: can't update cached data contract (#223)

Documentation

  • ignore folder with empty docs during build (#212)

Build System

  • protobufjs isn't installing from git sometimes (#267)

Miscellaneous Chores

  • dashmate: update Core to 0.18.0.0-beta4 (#269)
  • release: revert version back
  • update tenderdash and core images (#252)

0.21.8 (2022-02-15)

Bug Fixes

  • sorting unconfirmed tx as oldest (#206)
  • wallet-lib: get transaction history missing txs (#246)

Tests

  • platform-suite: add -b flag to abort after first error (#222)

Miscellaneous Chores

  • updates @dashevo/dashcore-lib to v0.19.30 (#238)

0.22.0-dev.7 (2022-01-19)

Features

  • added WalletStore (#197)
  • drive: allow using in and startsWith only in last where condition (#201)
  • drive: allow using orderBy for fields having in and startsWith in last where clause (#199)
  • register system contracts on initChain (#182)
  • wallet-lib: ChainStore (#196)

Bug Fixes

  • sdk: system contract ids were hardcoded in SDKs Client module (#192)

Build System

  • fix configure test suite script for grep 2.5.1 (#187)

Miscellaneous Chores

  • dashmate: update tenderdash to 0.7.0-dev (#188)
  • remove fixCumulativeFeesBug feature flag (#191)

0.21.7 (2022-01-17)

⚠ BREAKING CHANGES

  • dashmate: platform.drive.abci.docker.build.path' and 'platform.dapi.api.docker.build.path' are removed in favor of platform.sourcePath'

Features

  • dashmate: build DAPI and Drive from monorepo path (#145)
  • distribute dashmate with NPM (#148)
  • support Apple Silicone (#143)

Bug Fixes

  • instantlock waiting period for transaction timed out

Miscellaneous Chores

  • fix wrong version in a release PR title (#82)
  • missed merk darwin x64 pre-build binary (#144)
  • undefined "-w" argument in restart script (#85)

Documentation

  • escape literal '|' in table (#164)

Tests

  • wallet-lib: fix hanging functional test (#186)

0.22.0-dev.6 (2022-01-11)

⚠ BREAKING CHANGES

  • drive: temporary restrictions for a document query (#77)

Features

  • dapi: subscribeToBlockHeadersWithChainLocks endpoint (#153)

Bug Fixes

  • drive: missed nodeAddress field on EndBlock (#184)

Miscellaneous Chores

  • drive: temporary restrictions for a document query (#77)

Build System

  • test-suite: docker image build doesn't work (#172)

Code Refactoring

  • dapi: rename tx-filter-stream.js to core-streams.js (#169)

Documentation

  • add readme to docs folder (#175)
  • escape literal '|' in table (#164)
  • indicate which network(s) this repo supports (#174)

0.22.0-dev.5 (2022-01-07)

⚠ BREAKING CHANGES

  • dpp: $id can't be used in secondary indices
  • dpp: Indexed properties now require size constraints
  • allow using non-unique Identity public keys (#168)
  • dashmate: platform.drive.abci.docker.build.path' and 'platform.dapi.api.docker.build.path' are removed in favor of platform.sourcePath'

Features

  • allow adding non-unique indices for newly defined properties (#83)
  • allow using non-unique Identity public keys (#168)
  • dashmate: build DAPI and Drive from monorepo path (#145)
  • distribute dashmate with NPM (#148)
  • dpp: $id can't be used in secondary indices (#178)
  • dpp: size constraints for indexed properties (#179)
  • masternode reward shares contract (#160)

Bug Fixes

  • downgrade dash-core image to v0.17 (#171)

Documentation

  • minor Readme fixes (#163)

Miscellaneous Chores

  • drive: send initial core chain locked height on init chain (#180)
  • update to use current @oclif/core (#154)

0.22.0-dev.4 (2021-12-24)

Bug Fixes

  • drive: ValidatorSetUpdate doesn't contain nodeAddress (#155)
  • drive: missed JS ABCI yarn cache (#156)

0.22.0-dev.3 (2021-12-21)

⚠ BREAKING CHANGES

  • add required name property to index definition (#74)
  • add an ability to update data contract (#52)
  • Identity public key now has two more fields, purpose and securityLevel, and keys without those fields won't be valid anymore

Features

  • add an ability to update data contract (#52)
  • add required name property to index definition (#74)
  • dashmate: json output for status commands (#31)
  • dpp: add readOnly flag to IdentityPublicKey (#142)
  • drive: network address in ValidatorUpdate ABCI (#140)
  • enable mainnet for dashmate (#2)
  • identity public key purpose and security levels (#46)
  • support Apple Silicone (#143)
  • wallet-lib: do not sync transactions if mnemonic is absent
  • wallet-lib: dump wallet storage (#8)

Bug Fixes

  • dashmate: cannot read properties of undefined (reading 'dpns') on reset (#47)

Documentation

  • improved sidebar and usage in DAPI client (#3)
  • provide getTransactionHistory (#5)

Tests

  • wallet-lib: enable skipped test after the fix for grpc-js lib (#71)

Miscellaneous Chores

  • fix wrong version in a release PR title (#82)
  • missed merk darwin x64 pre-build binary (#144)
  • undefined "-w" argument in restart script (#85)

0.21.6 (2021-12-13)

Bug Fixes

  • dashmate: RPC error on stopping node (#61)
  • wallet-lib: "Failure: Type not convertible to Uint8Array" (#60)
  • wallet-lib: eventemitter memory leak (#56)
  • wallet-lib: invalid deserialization of persistent storage (#76)

Documentation

  • publish consolidated docs using mkdocs (#42)

Miscellaneous Chores

  • changelogs generation script (#62)
  • enable yarn PnP to achieve zero installs (#63)
  • exit if some env variables are empty during setup (#75)
  • fix test:drive script (#78)
  • migrate from NPM to Yarn 3 (#50)
  • remove temporary reset script (#64)
  • update oclif and remove pnpify (#73)

Build System

  • fix bash syntax issue in release script (#79)
  • release process automation (#67)

0.21.5 (2021-11-25)

Bug Fixes

  • new instant lock is not compatible with DashCore 0.17 (#57)
  • wallet-lib: tx chaining mempool conflict errors (#57)

Continuous Integration

  • use correct Dockerfile in test suite release (#58)
  • set correct docker tag outputs in release workflow (#55)
  • enable NPM login on for release workflow (#54)

0.21.4 (2021-11-23)

Bug Fixes

  • dapi-client: expect 100 but got 122 in SML provider test (#22)
  • dapi-client: retry doesn’t work with 502 errors (#35)
  • dapi: Identifier expects Buffer (#28)
  • dashmate: ajv schema errors (#14)
  • dashmate: reset command doesn't work if setup failed (#23)
  • dashmate: cannot read properties error on group:reset (#47)
  • dashmate: json output for status commands (#31)
  • dashmate: enable mainnet for dashmate (#2)
  • dpp: rename generateEntropy to entropyGenerator (#13)
  • sdk: dpp hash function import (#15)
  • sdk: override ts-node target for unit tests (#21)
  • sdk: this is undefined during unit tests (#18)

Features

  • dashmate: force option for group:stop command (#36)
  • dashmate: provide docker build logs for verbose mode (#19)
  • migrate to DashCore 0.18.0.0-beta1 (#51)
  • wallet-lib: dump wallet storage (#8)
  • wallet-lib: do not sync transactions if mnemonic is absent (#7)

Performance Improvements

  • test-suite: speedup test suite up to 6 times (#30)

Build System

  • build only necessary packages (#27)
  • run npm scripts in parallel (#33)
  • cache native npm modules during docker build (#20)
  • setup semantic pull requests (#11)
  • sdk: upgrade to webpack 5 (#6)

Continuous Integration

  • simplify release workflow (#48)
  • show docker logs on failure (#43)
  • check mismatch dependencies (#26)
  • run package tests in parallel (#25)

Tests

  • adjust timeouts (#45)
  • test-suite: skipSynchronizationBeforeHeight option with new wallet (#34)
  • dpp: fix invalid network floating error (#32)
  • dpp: grpc common bootstrap not working (#16)

Documentation

  • markdown link fixes (#49)
  • add README.md for the whole platform as a project (#38)
  • add contributing.md (#37)
  • sdk: provide getTransactionHistory (#5)
  • improved sidebar and usage in DAPI client (#3)

Styles

  • fix ES linter errors (#24)

BREAKING CHANGES

Previous versions

Before 0.21.x, packages were located in separate repositories and have own changelogs: