Skip to content

Dash Platform v0.23.0

Choose a tag to compare

@shumkov shumkov released this 05 Dec 15:54
· 2779 commits to master since this release
edf68b2

⚠ BREAKING CHANGES

  • Dash Core version lower than 18.1.0 is not supported
  • Blockchain data and state structure are changed and incompatible with previous versions
  • getIdentityIdsByPublicKeyHash endpoint is removed. getIdentitiesByPublicKeyHash now responds with an array of identities, instead of an array of cbored arrays of identities. (#437)
  • Data Contract indices must have 'asc' order (#435)
  • Document query logic can behave differently in some cases (#398)
  • Identity master key can be used only to update identity
  • Use plain proRegTx for masternode identifier
  • Incompatible wallet-lib storage format

Features

  • implement headers first synchronization (#428)
  • precise storage fees (#619)
  • dashmate: add core reindex command (#533), closes #538
  • update Core to 18.1.0-rc.1 (#544, #526, #511)
  • drive: fees distribution (#458, #474, #484)
  • bench suite (#335)
  • bench-suite: add fees to documents benchmark (#379)
  • bench-suite: function benchmark and other improvements (#344)
  • 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)
  • re-enable proof responses (#440)
  • create withdrawal keys for masternode identities (#320)
  • dpp: BIP13_SCRIPT_HASH identity public key type (#353)
  • Identity master key can be used only to update identity (#384)
  • identity public key proofs (#349)
  • Integrate with Tenderdash ABCI++ (#314)
  • dpp: add withdraw purpose for IdentityPublicKey (#317)
  • update identity (#292, #477, #421)
  • wallet-lib: rework storage for multiple key-chains (#231)
  • wallet-lib: satoshisBalanceImpact in transaction history (#319)
  • calculate state transition fees using operations (#376, #387, #369, #370, #392, #444)
  • dashmate: add hardcoded stop grace time before killing services (#536)

Bug Fixes

  • dapi: Cannot read properties of undefined (reading 'PoSePenalty') (#612)
  • test-suite: featureFlags test was awaiting blocks that have not been produced (#602)
  • dapi: caching of headers prone to reorgs (#578)
  • 0.23-dev.10 version installed instead of alpha (#581)
  • dashmate: Core RPC is not responding (#575)
  • drive: db is in readonly mode due to the active transaction (#567)
  • sdk: platform.initialize is not a function (#555)
  • dapi-client: metadata.get is not a function (#492, #531)
  • dashmate: homedir fs.exists check (#537)
  • drive: masternode identities sync from beginning after restart (#542)
  • dashmate: DockerComposeError undefined (#480, #513)
  • security vulnerability in elliptic library (#501)
  • test suite image and environment problems in ci (#505)
  • test-suite: failing assertions due to replication lag (#502)
  • dapi: getStatus errored if masternode is banned (#496)
  • Drive and DAPI expect data available on H+1 block (#497)
  • test-suite: failing tests due to replication latency (#500)
  • DAPI client requests one local single node only (#479)
  • dapi-client: node can be marked as banned on retriable error (#482)
  • dashmate: gRPC stream timeout (#481)
  • sdk: cannot read properties of null (reading 'getMetadata') (#488)
  • test-suite: invalid transaction: Missing inputs (#494)
  • drive: invalid previous block time (#475)
  • drive: various fixes in synchronize masternode identities logic and logging (#461)
  • dpp: data contract index update validation (#427)
  • drive: change transaction is started check (#451)
  • wallet-lib: separate persistent storage by walletId (#407)
  • change allowed security level for withdrawal purpose to critical (#352)
  • dapi-grpc: outdated autogenerated code (#331)
  • wallet-lib: hook tx chain broadcast on mempool response (#388)
  • dashmate: config/core/miner must have required property 'interval' (#311)
  • do not hash proRegTx for masternode identifier (#318)
  • dpp: cannot read properties of null (reading 'getBalance') (#549)
  • dashmate: can't use local seed as a wallet (#538)

Miscellaneous Chores

  • add yarn cache (#637)
  • drive: update RS Drive to 0.23.0-dev.9 (#588)
  • dashmate: update testnet credentials (#571)
  • dapi-client: update dapi addresses white list (#574)
  • dashmate: use latest DAPI and Drive 0.23.0-alpha (#568)
  • drive: correct typo in debug message (#535)
  • test-suite: remove unused merk dependency (#547)
  • clean up dependencies (#534)
  • scripts: remove comment from env key (#532)
  • test-suite: move wallet storage persistence in the outer folder (#416)
  • various linter fixes across packages (#465)
  • dpp: allow only asc order for indices (#435)
  • drive: log synchronize masternode identities (#449)
  • drive: add more block execution timers (#329)
  • scripts: remove dashmate update (#550)

Performance Improvements

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

Code Refactoring

  • drive: use RS Drive query validation logic (#398)
  • simplified public key to identity structure (#437)
  • wallet-lib: storage layer refactoring (#232)

Tests

  • dapi: fix broken subscribeToNewBlockHeaders test (#508)
  • dapi: rename test files to mach the naming convention (#509)
  • dpp: fix invalid findIndexDuplicates test in DPP (#448)
  • wallet-lib: fixes wallet.spec.js

Continuous Integration

  • update deps (#591)
  • add dashmate and test suite (#551, #576)
  • add latest-dev docker tag (#382)
  • enable multiarch builds (#316)
  • docker images incorrectly tagged with v (#413)

Documentation

  • GitHub org change updates (#590)
  • update URL from dashevo to dashpay (#579)
  • dashmate: add troubleshooting section (#431)
  • dashmate: update dashmate documentation (#459)
  • sdk: update outdated documentation (#463)
  • update badges in individual package readmes (#361)

Build System

  • dapi-grpc: update protoc builder image (#553, #647)
  • remove buildx bake workaround (#541)
  • release arbitrary pre-release tags (#552, #558, #560, #562, #566)
  • yarn install fails with Node.JS 16.17.0 (#507)
  • new node alpine image breaks package builds (#493)
  • test-suite: fix docker image build