Skip to content

Dash Platform v0.22.0

Compare
Choose a tag to compare
@shumkov shumkov released this 21 Mar 13:23
· 2627 commits to master since this release

⚠ 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)