Skip to content

Latest commit

 

History

History
2831 lines (1788 loc) · 152 KB

CHANGELOG.md

File metadata and controls

2831 lines (1788 loc) · 152 KB

0.24.4 (2023-05-18)

Bug Fixes

  • dashmate: dashmate helper crashing (#1072)
  • dashmate: unable to find compatible protocol (#1102)

Continuous Integration

  • add a name to PR linter step (#1103)

0.24.3 (2023-05-16)

Features

  • dashmate: no-retry flag for ssl obtain command (#1093)

Miscellaneous Chores

  • support GA certificates for testnet (#1092)

0.24.2 (2023-05-16)

Features

  • dashmate: obtain SSL certificate command (#1088)
  • dpp: document $createdAt and $updatedAt validation (#948)

Bug Fixes

  • dashmate: status command fails with errors (#1059)

0.24.1 (2023-05-15)

Features

  • dashmate: platform flag for start, stop and restart commands (#1063)

Bug Fixes

  • dapi: can't connect to testnet with default seeds (#1084)
  • dashmate: check core is started checks everytime (#1071)
  • dashmate: incorrect reset command prompt in case network is already set up (#1064)
  • dashmate: outdated docker images and missed migration (#1069)

Miscellaneous Chores

  • dashmate: rename high-performance nodes to evo nodes (#1062)
  • drive: payout fees only to single well-known Identity (#1078)

0.24.0 (2023-05-10)

Notes

The masternode identities logic is partially disabled due to incomplete Identity V2 implementation and will be enabled back in v0.25.0

⚠ BREAKING CHANGES

  • Previous blockchain data and state is not compatible
  • Previous created compose projects won't be supported. Please destroy them before update (#1055)
  • The --platfrom-only flag is renamed to --platform in the reset command (#991)
  • Some wasm-dpp APIs are different to js-dpp ones. The only divergencies that were addressed are the ones that were visible in tests, but some others might've been left intact (#848)
  • Core version less than 19 and legacy BLS schema are not supported (#771)
  • gRPC and HTTP platform ports now handling with the one single port (#752)
  • State Transition fees are changed
  • Document's query validation logic has minor incompatibilities with previous version

Features

  • drive: whitelist and filter banned nodes for validators (#1034)
  • dashmate: core log file and debug categories (#913)
  • dashamte: better ZeroSSL error messages (#950)
  • dashmate: set random core rpc usename and password on setup (#973)
  • dashmate: verbose connect ENOENT /var/run/docker.sock error (#951)
  • wasm-dpp: state_transition_fee_validator binding and tests (#874)
  • dashmate: check system requirements before setup (#935)
  • drive: handle quorum rotation failure (#858)
  • wasm-dpp integration (#848)
  • dashmate: build linux tarballs (#887)
  • dashmate: build services before restart (#894)
  • dashmate: exit status with 2 if it's not running (#896)
  • dashmate: implement http json rpc api (#888)
  • dashmate: tenderdash latest block time in status (#906)
  • dpp: serialize consensus errors (#871)
  • drive verification c bindings (#860)
  • dashmate: add new quroum in dashcore config (#862)
  • dashmate: enable platform option (#853)
  • dashmate: generate self-signed certificates in the setup command (#869)
  • dashmate: high-performance nodes registration with setup command (#794)
  • dashmate: hint to setup a node on start failure (#866)
  • dpp: add fees API to rust wasm bindings (#830)
  • dpp: optional execution context in rs-dpp (#811)
  • dpp: state transition applicator (#878)
  • rs-dpp: migrate fees from js-dpp v0.24 (#851)
  • state transition conversion (#844)
  • wasm-dpp: add tests for state transition basic validator (#857)
  • wasm-dpp: DashPlatformProtocol tests (#841)
  • wasm-dpp: identity transitions additional functionality (#855)
  • wasm-dpp: implement validateStateTransitionStateFactory tests (#861)
  • wasm-dpp: provide external entropy generator to document factory (#845)
  • wasm-dpp: validate_state_transition_identity_signature binding and test (#865)
  • better Core 19 support (#832)
  • core version 19.0-beta integration (#771)
  • dashmate: register HPMN for local network (#796)
  • dasmate: pack release script (#781)
  • dpp: identity facade (#782)
  • dpp: integration tests for wasm-dpp document transitions (#777)
  • dpp: wasm bindings for Documents related validations (#709)
  • dpp: wasm-dpp: integration tests for document (#762)
  • Identity v2 (#705)
  • platform value abstraction (#805)
  • proposer signaling of protocol version upgrade and fork activation (#778)
  • register system data contracts in RS Drive (#776)
  • rs-dpp: dashpay datatrigger toUserIds better validation (#799)
  • rs-dpp: backport of index_definitions.unique validation (#802)
  • rs-dpp: backports of identity/stateTransition from js-dpp (#800)
  • rs-dpp: introduce StateTransitionFactory (#810)
  • rs-dpp: validate indices are backwards compatible backport (#797)
  • rs-drive: verification feature (#803)
  • wasm dpp: validate state transition key signature (#806)
  • wasm-dpp: wasm bindings for Document Transitions (#707)
  • wasm-dpp: async state repository (#766)
  • wasm-dpp: data contract facade (#716)
  • wasm-dpp: Fix metadata, metadata tests and backport v23 matedata changes into wasm-dpp (#819)
  • wasm-dpp: implement identity update transition (#748)
  • wasm-dpp: integration tests validate data contract update transition (#812)
  • wasm-dpp: protocol version validator tests (#823)
  • wasm-dpp: remove unused documents factory tests (#828)
  • wasm-dpp: state transition facade (#814)
  • withdrawals status sync (#679)
  • allow to get drive status from dashmate helper (#749)
  • allow to get drive's status from dashmate helper (#755)
  • dapi: use single envoy port for all connections (#752)
  • dashmate: update Core to 18.2.0 (#735)
  • drive: ABCI context logger (#693)
  • drive: log contractId in deliverTx handler (#730)
  • drive: log number of refunded epochs (#729)
  • integrate wasm Document into JS tests (#644)
  • varint protocol version (#758)
  • wasm-dpp: implement function to produce generics from JsValue (#712)
  • wasm-dpp: implement identity create transition (#697)
  • wasm-dpp: implement identity topup transition (#745)
  • wasm-dpp: Wasm dpp integration tests validate data contract factory (#751)
  • credit refunds (#662)
  • dashmate: additional dashd options (#692)
  • dashmate: pass ZeroSSL as command line parameter (#651)
  • dashmate: remove axios from zerossl requests
  • dashmate: remove axios from zerossl requests
  • dpp: AbstractConsensusError tests and extensions (#670)
  • dpp: Data Contract Update Transition wasm binding (#696)
  • drive: do not switch to validator quorum which will be removed soon (#616)
  • multiple documents changes per batch and support for GroveDB 0.9 (#699)
  • Consensus Errors and ValidationResult bindings (#643)
  • average estimated processing fees (#642)
  • dpp: bls adapter for WASM DPP (#633)
  • drive: add time and protocolVersion fields to query metadata response (#611)
  • drive: precise fees (dashpay/rs-platform#170), closes dashpay/rs-platform#181
  • drive: provide latest core chain lock on init chain (#659)
  • drive: support for V0.7 of groveDB (#665)
  • drive: use proposal block execution context in state repository (#653)
  • drive: use single block execution context (#627)
  • external bls validtor (dashpay/rs-platform#186)
  • insert with parents for Document (dashpay/rs-platform#189)
  • add withdrawals data contract package (#604)
  • done: changes needed for wasm-dpp integration (dashpay/rs-platform#154)
  • dpp: [v23 port] validate fee calculating worst case operations (dashpay/rs-platform#160)
  • dpp: dashpay datatrigger toUserIds better validation (#620)
  • drive: select the most vital validator set quorums (#617)
  • dpp: initial RS DPP integration (#483)
  • drive: same block execution (#593)
  • node: multiple transactions (dashpay/rs-platform#155)
  • drive: AssetUnlock transactions processing (#530)
  • withdrawal request queue (dashpay/rs-platform#149)
  • Public Keys Identities Proofs (dashpay/rs-platform#151)
  • [v23 port] data contract indices validation (dashpay/rs-platform#26)
  • a temporary plug for dry run (dashpay/rs-platform#113)
  • ability to get elements by $id directly (dashpay/rs-platform#61)
  • add proveDocumentsQuery to Node.JS binding (dashpay/rs-platform#115)
  • add proveQueryMany to Node.JS binding (dashpay/rs-platform#122)
  • add constructor for DocumentTransition
  • add credits converter
  • add Document Transition
  • add GroveDB methods to JS wrapper
  • add hash implementation for identifier
  • add prefixes to errors (dashpay/rs-platform#101)
  • add proof test to rs-drive query tests (dashpay/rs-platform#109)
  • allow one character property names
  • batch support (dashpay/rs-platform#111)
  • binding for Node.JS
  • dashmate: update tenderdash to 0.9.0-dev.1 (#525)
  • dashmate: zeroSSL certificate renewal helper (#554)
  • dpp: [v23 port] add withdraw puprose to identity public key (dashpay/rs-platform#134)
  • dpp: [v23 port] Identity Update Transition (dashpay/rs-platform#138)
  • dpp: [v23 port] limit the number of shares for masternode by 16 (dashpay/rs-platform#141)
  • dpp: add wasm-dpp template package (#529)
  • dpp: basic validtion for state transition (dashpay/rs-platform#133)
  • fees distribution (dashpay/rs-platform#105)
  • identity create state transition (dashpay/rs-platform#9)
  • identity credit withdrawal transition (dashpay/rs-platform#25)
  • identity from_buffer and from_raw_object
  • immutibility and contracts that allow document history (dashpay/rs-platform#79)
  • implement deleteDocument
  • implement updateDocument
  • implement applyContact and createDocument
  • implement grovedb "bindings" in rs-drive
  • implement masternode voting identities (#467)
  • implement queryDocuments + some fixes
  • implementation of Document validator
  • Include the DPP into Drive (dashpay/rs-platform#126)
  • insert identities (dashpay/rs-platform#99)
  • migrate to ABCI++ (#464)
  • node: introduce GroveDB#proveQuery (dashpay/rs-platform#112)
  • populate stack for binding errors (dashpay/rs-platform#39)
  • query drive with sql (dashpay/rs-platform#31), closes dashpay/rs-platform#42
  • query: allow query with $id (dashpay/rs-platform#53)
  • recursive conditional subqueries (dashpay/rs-platform#106)
  • return processing cost for queryDocuments (dashpay/rs-platform#100)
  • sql in clause (dashpay/rs-platform#52)
  • SSL certificate for DAPI (#519)
  • storage run time fees, worst case scenario fees and support for contract definition references (dashpay/rs-platform#95), closes dashpay/rs-platform#87 dashpay/rs-platform#93 dashpay/rs-platform#92
  • tests: add reference js test case (dashpay/rs-platform#43)
  • update to latest grovedb and some optimization around inserts (dashpay/rs-platform#120), closes dashpay/rs-platform#119
  • verbose startAt or startAfter not found error (dashpay/rs-platform#76)

Bug Fixes

  • dashmate: external IP detection hangs sometimes (#1053)
  • dapi: invalid addresses in the whitelist (#1044)
  • dashmate: reset platform commands hangs (#1038)
  • dashmate: set permissions for dashcore log file (#1037)
  • drive: cannot destructure property ‘quorumHash’ of ‘instantLock... (#1046)
  • drive: cannot read properties of undefined (reading 'toString') (#1045)
  • dashmate: waitForQuorumConnections deadline of 300000 exceeded (#1015)
  • dashmate: wrong volume removal retry logic (#1016)
  • expect platformNodeID to be a hex string (#1013)
  • dashmate: "volume is in use" and "no such volume" (#1005)
  • dashmate: reset platform affects core (#1001)
  • drive: double init chain leads to side bugs (#1002)
  • dashmate: BLS private key validate accepts whitespaces (#998)
  • dashmate: can't remove volumes if they not exist (#997)
  • dashmate: show masternode state while it is not synced (#999)
  • dashmate: wrap register masternode command in small terminals (#996)
  • dashmate: multiple issues in the reset command (#991)
  • drive: non-unique masternode voting keys (#986)
  • dashmate: ability to work with non-default docker socket path (#967)
  • dashmate: already configured preset is ignored (#974)
  • dashmate: empty masternode status while syncing (#970)
  • dashmate: form accepts invalid BLS key (#961)
  • dashmate: invalid mn register command in output of dashmate setup (#959)
  • dashmate: reward shares can be negative during HP masternode registration (#960)
  • dashmate: select number of masternodes during local setup freezes (#957)
  • dashmate: yaml package security vulnerability (#975)
  • test-suite: expects identities for invalid mns (#968)
  • dashamte: wrong envoy config path on windows (#949)
  • drive: updating a masternode identity with invalid entry from SML (#965)
  • dashamte: Can't find begoo/index with yarn dashmate setup (#933)
  • DAPI still expected on normal masternodes (#904)
  • dapi-client: platform port is ignored from SML (#903)
  • dashmate: api binds to all interfaces (#893)
  • dashmate: dashmate helper is running under root user (#895)
  • dashmate: dashmate logic doesn't recognize it's ran from helper (#902)
  • dashmate: missing rawblock zmq message in core config (#770)
  • dashmate: undefined wallet for dash-cli (#786)
  • dpp: various fixes in DPP and system contracts (#907)
  • drive: non-deterministic run of mn identities sync (#910)
  • drive: total HPMNs contains all masternodes (#911)
  • identifier deserialization doesn't work for bincode (#885)
  • llmqType must be equal to one of the allowed values (#884)
  • possible overflow issues (#877)
  • dashmate: ambiguous validation errors for file certificates (#870)
  • dashmate: config.isPlatformEnabled is not a function (#872)
  • dpp: incorrect public key validator schema in ST Facade (#854)
  • scripts: update configure_test_network for hpmn (#863)
  • wasm-dpp: fix decoding protocol version varint error to match previous implementation (#849)
  • ci: fix release workflow syntax error (#808)
  • dashmate: make dashmate helper run commands as host user (#765)
  • dashmate: visual fixes for dashmate status (#787)
  • dpp: update jsonschema-rs and enable tests (#780)
  • rs-dpp: fetch latest core chain locked height misuse (#789)
  • update webpack to resolve npm audit error (#822)
  • wasm-dpp: Identifier and its tests (#821)
  • dashmate: Dash Core container is unable to restart properly under WSL (#736)
  • dashmate: fix migration for configs without platform (#738)
  • dashmate: migrations fixes (#759)
  • dpp: existing property in a new index (#694)
  • ua-parser-js vulnerability (#756)
  • dashmate: ZeroSSL certificate cannot be downloaded (#718)
  • dpp: can’t create fingerprint from a document transition (#723)
  • drive: merk caching in contract caching (irony) (#710)
  • find_duplicates_by_id.rs not compiling (#702)
  • Starcounter-Jack JSON-Patch Prototype Pollution vulnerability (#708)
  • dashmate: setDay is not a function (#677)
  • dashmate: ZeroSSL certificates are not saved in WSL (#676)
  • drive: initChain handler is not idempotent (#675)
  • dashmate: SSL domain verification config could not be generated in WSL (#673)
  • build not working because of deprecated wasm-bindgen feature (#639)
  • dapi: fail to reconnect to tenderdash in case of ENOTFOUND (#621)
  • dashmate: broken helper docker image (#630)
  • dashmate: outdated Drive and DAPI images (#668)
  • dashmate: ZeroSSL certificate renewal (#624)
  • drive: invalid create name
  • drive: multi transactions doesn't work properly (#636)
  • drive: remove ambiguous use
  • DataContract.spec.js in wasm-dpp (#618)
  • dpp: [v23 port] cannot read properties of null (reading 'getBalance') (dashpay/rs-platform#163)
  • dpp: [v23 port] non-deterministic fees due to data contract cache (dashpay/rs-platform#161)
  • dpp: [v23 port] repeated disabling of already disabled identity key (dashpay/rs-platform#162)
  • renamed method from rs-dpp (#623)
  • featureFlags test was awaiting blocks that have not been produced (#602)
  • dapi: getConsensusParamsHandler was handling wrong Tendermint error (#601)
  • dashmate: invalid testnet TenderDash genesis (#608)
  • dashmate: SSL verification server cannot be started (#606)
  • typo dash-amte to dashmate (#599)
  • dapi-client: temporary use http protocol by default (#573)
  • using ProtocolError in cbor_value_to_json_value could lead to a stackoverflow error (dashpay/rs-platform#164)
  • "number" property type is not implemented (dashpay/rs-platform#47)
  • Identity.balance was of type i64 but should be u64 (dashpay/rs-platform#23)
  • appendStack is not present in NPM package (dashpay/rs-platform#41)
  • ci: support alpha prereleases (#560)
  • comply with newest grovedb (dashpay/rs-platform#121)
  • contract parsing errors
  • create and update document in different transactions (dashpay/rs-platform#68)
  • create two documents in different transactions (dashpay/rs-platform#69)
  • delete empty trees (dashpay/rs-platform#49)
  • dpp: [v23 port] change allowed security level for withdrawal purpose to critical (dashpay/rs-platform#140)
  • duplicate batched storage fee update (dashpay/rs-platform#150)
  • fix build when using grovedb master
  • fix paths
  • fix some tests
  • handle key not found error from grovedb (dashpay/rs-platform#33)
  • index already exists on update document (dashpay/rs-platform#64)
  • many insert commit fail (dashpay/rs-platform#45)
  • merging equal path queries (dashpay/rs-platform#128)
  • merging required properties in Data Cotnract
  • neon security vulnerability (dashpay/rs-platform#110)
  • non-deterministic apply contract (dashpay/rs-platform#46)
  • non-present optional fields shouldn't be indexed
  • order by on non equal fields (dashpay/rs-platform#37)
  • owner id and additional tests (dashpay/rs-platform#59)
  • path_queries can only refer to items and references (dashpay/rs-platform#88)
  • primary key tree is not present (dashpay/rs-platform#74)
  • query empty contract fails (dashpay/rs-platform#65)
  • query validation logic (dashpay/rs-platform#104)
  • remove prebuilds at pretest stage to prevent random mocha error process killed
  • strange error on deletion of specific data set (dashpay/rs-platform#90)
  • unable to decode contract
  • update contract (dashpay/rs-platform#72)
  • update to latest grovedb and added some tests. (dashpay/rs-platform#123)
  • use binary zero instead of ascii
  • use correct linker
  • use slices instead of binary strings to represent the values we intend

Continuous Integration

  • increase release timeouts (#1032)
  • add PR linter (#1025)
  • add timeouts to self-hosted ci runs (#1026)
  • remove drive node.js binding release
  • sign MacOs Dashmate release (#890)
  • dashmate release script fix (#846, #836)
  • increase cache-max-size (#704)
  • add rust toolchain with wasm target to release workflow
  • integrate rust and js build process
  • add toolchain to setup rust actions
  • build package before lining
  • checks for JS and Rust packages
  • code scanning (#626)
  • do not build everything everytime
  • fix concurrency for js checks
  • fix env syntax in release workflow (#664)
  • fix rs-checks
  • fix workflow names
  • increase JS linting timeout
  • increase timeouts
  • move concurrency to package workflows
  • move out workflows from include
  • set concurrency based on workflow
  • shorten workflow
  • release.yml contained wrong indentation (#597)
  • publish envoy and dashmate-helper docker images after release (#595)
  • update workflows to use stable toolchain (dashpay/rs-platform#167)
  • musl binaries were not built correctly (dashpay/rs-platform#58)
  • add deps security check
  • add Node.JS workflow
  • add release workflow
  • add rust-toolchain.toml
  • fix aarch64 musl build (dashpay/rs-platform#36)
  • formatter check
  • implement initial ci
  • prevent PRs to master (dashpay/rs-platform#28)
  • rename workflow
  • run GitHub action for PR on dev branches (dashpay/rs-platform#38)

Tests

  • dpp: remove old dpp fixtures from tests (#971)
  • rs-drive: fix path to EntropyGenerator (#856)
  • wasm-dpp: decodeProtocolEntity test (#834)
  • drive: synchronizeMasternodeIdentitiesFactory (#586)
  • add test with fetching non exist document
  • added test for in with only some elements (dashpay/rs-platform#81)
  • dpns tests (dashpay/rs-platform#89)
  • encoding (added negative and positive infinity)
  • refactor and implementation of document's validator tests

Build System

  • dashmate: better versioning (#988)
  • dashmate: prepare MacOs build for notarization (#985)
  • dashmate: remove MacOs malicious software warning (#977)
  • dashmate: fix removing unnecessary packages
  • dashamte: build arm64 deb file instead of armel (#943)
  • dashamte: remove deb release docker dependencies (#934)
  • dashmate: build only linux tarballs (#936)
  • dashmate: fix deb package release (#864)
  • operations in configure.sh script were in a wrong order (#876)
  • add missing deps (#824)
  • add bash to Drive's Dockerfile
  • continuation of build profile fixing
  • fix cargo build profile option
  • use debug profile for development
  • release script could not find previous tag in some cases (#558)

Code Refactoring

  • dashmate: always keep platform config (#868)
  • dashmate: move core devnet options to subsection (#867)
  • change dpp to be based on platform value (#809)
  • remove various Clippy warnings (#793)
  • rs-dpp: bring error type to one format (#804)
  • initial cleanup of Drive and DPP document types (#750)
  • use a trait to remove the need for some functions (#747)
  • dashmate: status command (#660)
  • drive: remove redundant genesis time key (#722)
  • use FeeResult to collect block fees (#652)
  • accept DPP entities
  • adjust how left_to_right is assigned
  • documents refactoring, with batching and fee work (dashpay/rs-platform#118)
  • error types to handle user errors (dashpay/rs-platform#77)
  • fix numerous unused include warnings
  • query (dashpay/rs-platform#96)
  • query $id property (dashpay/rs-platform#56)
  • remove a few unneeded mut keywords, fixes warnings
  • remove unused variable
  • replace unused mut variable with todo for calculating cost
  • return array type in case of non byteArray
  • split GroveDB and Drive
  • split query_documents into two methods
  • update grovedb (dashpay/rs-platform#91)
  • use 32 byte identity fields

Performance Improvements

  • drive: do not call process proposal after prepare (#656)

Miscellaneous Chores

  • bump sentinel to 1.7.3 (#1057)
  • dashmate: rename compose project name (#1055)
  • dashmate: update testnet preset (#1054)
  • increase client side timeouts (#1050)
  • dapi-client: upate testnet masternode addresses whitelist (#1023)
  • disable protocol version signaling (#1029)
  • dashamte: remove deprecation warning on start (#925)
  • dashmate: update production dashcore versions for mainnet and testnet (#840)
  • sdk: add eslint (#829)
  • rs-dpp and wasm-dpp updates for integration (#875)
  • wasm-dpp: proper identifier buffer inheritance (#879)
  • dashmate: upgrade dashcore version for local networks (#843)
  • drive: temporary disable payout script (#835)
  • drive: temporary disable unstable withdrawal logic (#831)
  • sdk: add eslint (#827)
  • dashmate: sync Tenderdash config with Tenderdash v0.10.0-dev.8 (#746)
  • update Tenderdash to 0.10.0-dev.8 (#741)
  • dpp: wasm dpp data contract test error types (#684)
  • drive: log synchronize identities properly (#686)
  • dashmate: update tenderdash up to 0.10.0-dev.6 (#674)
  • drive: remove txs from logs (#683)
  • dashmate: update tenderdash up to 0.10.0-dev.6 (#674)
  • drive: remove txs from logs (#683)
  • add yarn cache
  • dpp: switch dpp to working revision
  • drive: comprehensive logging for same block execution (#657)
  • ensure consistent Rust dependencies (#658)
  • fix NPM security vulnerabilities
  • ignore target dir for docker
  • release: bump package version
  • release: update changelog and bump version to 0.24.0-dev.9 (#667)
  • remove js-abci from workspaces
  • remove lodash per-method deps (#661)
  • remove package-lock.json
  • update to yarn 3.3.0
  • update bls-signatures to fix dependencies conflict (dashpay/rs-platform#184)
  • dpp: re-enable limited array support for data contracts (dashpay/rs-platform#165)
  • dpp: [v23 port] allow only asc order for indices (dashpay/rs-platform#135)
  • update error prefix (dashpay/rs-platform#67)
  • update to new GroveDB (dashpay/rs-platform#108), closes dashpay/rs-platform#107

Styles

  • fix formatting
  • extract field_type
  • format json
  • remove commented code
  • remove todo
  • run cargo fmt
  • sam's *** naming
  • use explicit xor (dashpay/rs-platform#57)

0.24.0-dev.34 (2023-05-08)

⚠ BREAKING CHANGES

  • Validator rotation logic is changed. Previous blockchain data won't be compatible (#1034)

Features

  • drive: whitelist and filter banned nodes for validators (#1034)

Bug Fixes

  • dapi: invalid addresses in the whitelist (#1044)
  • dashmate: reset platform commands hangs (#1038)
  • dashmate: set permissions for dashcore log file (#1037)
  • drive: cannot destructure property ‘quorumHash’ of ‘instantLock... (#1046)
  • drive: cannot read properties of undefined (reading 'toString') (#1045)

0.24.0-dev.33 (2023-05-05)

Continuous Integration

  • increase release timeouts (#1032)

0.24.0-dev.32 (2023-05-04)

⚠ BREAKING CHANGES

  • Previous state won't be valid (#1029)

Features

  • dashmate: core log file and debug categories (#913)

Bug Fixes

  • dashmate: waitForQuorumConnections deadline of 300000 exceeded (#1015)
  • dashmate: wrong volume removal retry logic (#1016)

Continuous Integration

  • add PR linter (#1025)
  • add timeouts to self-hosted ci runs (#1026)

Miscellaneous Chores

  • dapi-client: upate testnet masternode addresses whitelist (#1023)
  • drive: disable protocol version signaling (#1029)

0.25.0-dev.2 (2023-05-01)

Miscellaneous Chores

  • backports from v0.24

0.25.0-dev.1 (2023-05-01)

Features

  • abci propose validators (#954)
  • dpp: state transition applicator (#878)
  • wasm-dpp: state_transition_fee_validator binding and tests (#874)
  • wasm-dpp: validate_state_transition_identity_signature binding and test (#865)

Bug Fixes

  • fixes for deployment and clean up (#1004)
  • identifier deserialization doesn't work for bincode (#885)
  • inconsistencies after merge
  • init chain core chain lock failure (#976)
  • rs-dpp: json query wrapper incorrectly serializes identifier
  • rs-drive-abci: Get rs-drive-abci to commit block 1 (#981)
  • rs-drive-abci: start rs-drive-abci using dashmate and pass init_chain (#941)
  • same block core chain lock height
  • sdk: provide StateTransitionExecutionContext to validateBasic
  • small wasm fix
  • wasm-dpp: failing build and tests (#947)

Code Refactoring

  • rs-dpp: use common wrapper for new signature errors
  • rs-drive-abci: new error wrappers

Tests

  • chainlock quorum rotation test (#952)
  • dapi-client: fix broken SimplifiedMasternodeListDAPIAddressProvider test (#916)
  • rs-dpp: fix tests
  • rs-drive-abci: fix optional pose_revived_height
  • rs-drive-abci: set pose_revived_height to None

Continuous Integration

  • remove drive node.js binding release

Build System

  • add missing rust packages to Dockerfiles
  • operations in configure.sh script were in a wrong order (#876)
  • remove js-drive and rs-drive-nodejs from PR CI
  • return proper Rust setup

Miscellaneous Chores

  • rs-dpp and wasm-dpp updates for integration (#875)
  • bump base.js (local networks only) dashd version to 20.0.0-alpha.assetlocks.2
  • remove unused deps (#987)
  • remove unused js-drive and rs-drive code
  • resolve todos
  • sdk: add eslint (#829)
  • use master dash core rpc
  • wasm-dpp: proper identifier buffer inheritance (#879)

0.24.0-dev.31 (2023-05-01)

Bug Fixes

  • expect platformNodeID to be a hex string (#1013)

0.24.0-dev.30 (2023-04-30)

Bug Fixes

  • dashmate: "volume is in use" and "no such volume" (#1005)

0.24.0-dev.29 (2023-04-29)

Bug Fixes

  • dashmate: reset platform affects core (#1001)
  • drive: double init chain leads to side bugs (#1002)

0.24.0-dev.28 (2023-04-28)

Bug Fixes

  • dashmate: BLS private key validate accepts whitespaces (#998)
  • dashmate: can't remove volumes if they not exist (#997)
  • dashmate: show masternode state while it is not synced (#999)
  • dashmate: wrap register masternode command in small terminals (#996)

0.24.0-dev.27 (2023-04-28)

⚠ BREAKING CHANGES

  • The --platfrom-only flag is renamed to --platform (#991)

Bug Fixes

  • dashmate: multiple issues in the reset command (#991)

0.24.0-dev.26 (2023-04-27)

⚠ BREAKING CHANGES

  • Previous state won't be valid due to changes in the sync identities logic

Bug Fixes

  • drive: non-unique masternode voting keys (#986)

Build System

  • dashmate: better versioning (#988)
  • dashmate: prepare MacOs build for notarization (#985)

0.24.0-dev.25 (2023-04-26)

Features

  • dashmate: better ZeroSSL error messages (#950)
  • dashmate: set random core rpc username and password on setup (#973)
  • dashmate: verbose connect ENOENT /var/run/docker.sock error (#951)

Bug Fixes

  • dashmate: ability to work with non-default docker socket path (#967)
  • dashmate: empty masternode status while syncing (#970)
  • dashmate: form accepts invalid BLS key (#961)
  • dashmate: invalid mn register command in output of dashmate setup (#959)
  • dashmate: reward shares can be negative during HP masternode registration (#960)
  • dashmate: select number of masternodes during local setup freezes (#957)
  • dashmate: yaml package security vulnerability (#975)
  • dashmate: already configured preset is ignored (#974)
  • test-suite: expects identities for invalid mns (#968)

Build System

  • dashmate: remove MacOs malicious software warning (#977)

0.24.0-dev.24 (2023-04-24)

⚠ BREAKING CHANGES

  • Previous state might be invalid since to new sync mn identities logic (#965)

Features

  • wasm-dpp: state_transition_fee_validator binding and tests (#874)

Bug Fixes

  • dashmate: wrong envoy config path on windows (#949)
  • drive: updating a masternode identity with invalid entry from SML (#965)

0.24.0-dev.23 (2023-04-20)

Build System

  • dashmate: fix removing unnecessary packages

0.24.0-dev.22 (2023-04-20)

Continuous Integration

  • remove drive node.js binding release

Build System

  • dashmate: build arm64 deb file instead of armel (#943)

0.24.0-dev.21 (2023-04-19)

Features

  • dashmate: check system requirements before setup (#935)

Bug Fixes

  • dashmate: сan't find begoo/index with yarn dashmate setup (#933)

Miscellaneous Chores

  • dashmate: remove deprecation warning on start (#925)

Continuous Integration

  • fix release workflow

Build System

  • dashmate: remove deb release docker dependencies (#934)
  • dashmate: build only linux tarballs (#936)

0.24.0-dev.20 (2023-04-18)

⚠ BREAKING CHANGES

  • Some wasm-dpp APIs are different to js-dpp ones. The only visible divergencies were addressed, but many others might've been left unnoticed (#848)

Features

  • drive: handle quorum rotation failure (#858)
  • wasm-dpp integration (#848)

0.24.0-dev.19 (2023-04-17)

Continuous Integration

  • test release workflow

0.24.0-dev.18 (2023-04-14)

Features

  • dashmate: build linux tarballs (#887)
  • dashmate: build services before restart (#894)
  • dashmate: exit status with 2 if it's not running (#896)
  • dashmate: implement http json rpc api (#888)
  • dashmate: tenderdash latest block time in status (#906)
  • dpp: serialize consensus errors (#871)
  • drive verification c bindings (#860)

Bug Fixes

  • DAPI still expected on normal masternodes (#904)
  • dapi-client: platform port is ignored from SML (#903)
  • dashmate: api binds to all interfaces (#893)
  • dashmate: dashmate helper is running under root user (#895)
  • dashmate: dashmate logic doesn't recognize it's ran from helper (#902)
  • dashmate: missing rawblock zmq message in core config (#770)
  • dashmate: undefined wallet for dash-cli (#786)
  • dpp: various fixes in DPP and system contracts (#907)
  • drive: non-deterministic run of mn identities sync (#910)
  • drive: total HPMNs contains all masternodes (#911)
  • identifier deserialization doesn't work for bincode (#885)
  • llmqType must be equal to one of the allowed values (#884)
  • possible overflow issues (#877)

Miscellaneous Chores

  • dashmate: update production dashcore versions for mainnet and testnet (#840)
  • sdk: add eslint (#829)

Continuous Integration

  • sign MacOs Dashmate release (#890)

0.24.0-dev.17 (2023-04-04)

Features

  • dashmate: add new quroum in dashcore config (#862)
  • dashmate: enable platform option (#853)
  • dashmate: generate self-signed certificates in the setup command (#869)
  • dashmate: high-performance nodes registration with setup command (#794)
  • dashmate: hint to setup a node on start failure (#866)
  • dpp: add fees API to rust wasm bindings (#830)
  • dpp: optional execution context in rs-dpp (#811)
  • dpp: state transition applicator (#878)
  • rs-dpp: migrate fees from js-dpp v0.24 (#851)
  • state transition conversion (#844)
  • wasm-dpp: add tests for state transition basic validator (#857)
  • wasm-dpp: DashPlatformProtocol tests (#841)
  • wasm-dpp: identity transitions additional functionality (#855)
  • wasm-dpp: implement validateStateTransitionStateFactory tests (#861)
  • wasm-dpp: provide external entropy generator to document factory (#845)
  • wasm-dpp: validate_state_transition_identity_signature binding and test (#865)

Bug Fixes

  • dashmate: ambiguous validation errors for file certificates (#870)
  • dashmate: config.isPlatformEnabled is not a function (#872)
  • dpp: incorrect public key validator schema in ST Facade (#854)
  • scripts: update configure_test_network for hpmn (#863)
  • wasm-dpp: fix decoding protocol version varint error to match previous implementation (#849)

Tests

  • rs-drive: fix path to EntropyGenerator (#856)

Code Refactoring

  • dashmate: always keep platform config (#868)
  • dashmate: move core devnet options to subsection (#867)

Build System

  • dashmate: fix deb package release (#864)
  • operations in configure.sh script were in a wrong order (#876)

Miscellaneous Chores

  • rs-dpp and wasm-dpp updates for integration (#875)
  • wasm-dpp: proper identifier buffer inheritance (#879)

0.24.0-dev.16 (2023-03-22)

Features

  • wasm-dpp: decodeProtocolEntity test (#834)

Code Refactoring

  • change dpp to be based on platform value (#809)

Miscellaneous Chores

  • dashmate: upgrade dashcore version for local networks (#843)

Continuous Integration

  • dashmate release script fix (#846)

0.24.0-dev.15 (2023-03-21)

Miscellaneous Chores

  • drive: temporary disable payout script (#835)

Continuous Integration

  • dashmate release script fix (#836)

0.24.0-dev.14 (2023-03-20)

⚠ BREAKING CHANGES

  • core version 19.0-beta integration (#771)

Features

  • better Core 19 support (#832)
  • core version 19.0-beta integration (#771)
  • dashmate: register HPMN for local network (#796)
  • dasmate: pack release script (#781)
  • dpp: identity facade (#782)
  • dpp: integration tests for wasm-dpp document transitions (#777)
  • dpp: wasm bindings for Documents related validations (#709)
  • dpp: wasm-dpp: integration tests for document (#762)
  • Identity v2 (#705)
  • platform value abstraction (#805)
  • proposer signaling of protocol version upgrade and fork activation (#778)
  • register system data contracts in RS Drive (#776)
  • rs-dpp: dashpay datatrigger toUserIds better validation (#799)
  • rs-dpp: backport of index_definitions.unique validation (#802)
  • rs-dpp: backports of identity/stateTransition from js-dpp (#800)
  • rs-dpp: introduce StateTransitionFactory (#810)
  • rs-dpp: validate indices are backwards compatible backport (#797)
  • rs-drive: verification feature (#803)
  • wasm dpp: validate state transition key signature (#806)
  • wasm-dpp: wasm bindings for Document Transitions (#707)
  • wasm-dpp: async state repository (#766)
  • wasm-dpp: data contract facade (#716)
  • wasm-dpp: Fix metadata, metadata tests and backport v23 matedata changes into wasm-dpp (#819)
  • wasm-dpp: implement identity update transition (#748)
  • wasm-dpp: integration tests validate data contract update transition (#812)
  • wasm-dpp: protocol version validator tests (#823)
  • wasm-dpp: remove unused documents factory tests (#828)
  • wasm-dpp: state transition facade (#814)
  • withdrawals status sync (#679)

Bug Fixes

  • ci: fix release workflow syntax error (#808)
  • dashmate: make dashmate helper run commands as host user (#765)
  • dashmate: visual fixes for dashmate status (#787)
  • dpp: update jsonschema-rs and enable tests (#780)
  • rs-dpp: fetch latest core chain locked height misuse (#789)
  • update webpack to resolve npm audit error (#822)
  • wasm-dpp: Identifier and its tests (#821)

Code Refactoring

  • remove various Clippy warnings (#793)
  • rs-dpp: bring error type to one format (#804)

Build System

  • add missing deps (#824)

Documentation

  • supported Node.JS version and dashmate command description (#825)

Miscellaneous Chores

  • drive: temporary disable unstable withdrawal logic (#831)
  • sdk: add eslint (#827)

0.24.0-dev.13 (2023-01-30)

⚠ BREAKING CHANGES

  • dapi: use single envoy port for all connections (#752)

Features

  • allow to get drive status from dashmate helper (#749)
  • allow to get drive's status from dashmate helper (#755)
  • dapi: use single envoy port for all connections (#752)
  • dashmate: update Core to 18.2.0 (#735)
  • drive: ABCI context logger (#693)
  • drive: log contractId in deliverTx handler (#730)
  • drive: log number of refunded epochs (#729)
  • integrate wasm Document into JS tests (#644)
  • varint protocol version (#758)
  • wasm-dpp: implement function to produce generics from JsValue (#712)
  • wasm-dpp: implement identity create transition (#697)
  • wasm-dpp: Wasm dpp integration tests validate data contract factory (#751)

Bug Fixes

  • dashmate: Dash Core container is unable to restart properly under WSL (#736)
  • dashmate: fix migration for configs without platform (#738)
  • dashmate: migrations fixes (#759)
  • dpp: existing property in a new index (#694)
  • ua-parser-js vulnerability (#756)

Miscellaneous Chores

  • dashmate: sync Tenderdash config with Tenderdash v0.10.0-dev.8 (#746)
  • update Tenderdash to 0.10.0-dev.8 (#741)

Code Refactoring

  • initial cleanup of Drive and DPP document types (#750)
  • use a trait to remove the need for some functions (#747)

0.23.2 (2023-01-19)

Bug Fixes

  • dapi-client: missing fetch-polyfill in npm installation (#743)
  • dapi-grpc: unsafe-eval errors in protobuf js files (#713)

0.23.1 (2023-01-13)

Features

  • update Platform to Core v18.2.0-rc.4 (#701)

Continuous Integration

  • fix incorrect github actions templating syntax (#689)
  • release dashmate packages (#669)

Miscellaneous Chores

  • dapi-client: replace axios with fetch (#690)
  • dashmate: update base config to core 18.2.0 (#706)
  • replace grpc-web with @improbable-eng/grpc-web (#628)
  • set core in base config to v18.1.1 (#720)
  • update platform chain id (#703)
  • use core 18.2.0 on testnet (#725)

0.24.0-dev.12 (2023-01-11)

⚠ BREAKING CHANGES

  • AbstractStateTransition#calculateFees removed
  • State transition fees are calculated differently so previous block data is not valid anymore
  • Added new tree to initial structure so previous state is not valid anymore

Features

  • credit refunds (#662)
  • dashmate: additional dashd options (#692)
  • dashmate: pass ZeroSSL as command line parameter (#651)
  • dashmate: remove axios from zerossl requests
  • dashmate: remove axios from zerossl requests
  • dpp: AbstractConsensusError tests and extensions (#670)
  • dpp: Data Contract Update Transition wasm binding (#696)
  • drive: do not switch to validator quorum which will be removed soon (#616)
  • multiple documents changes per batch and support for GroveDB 0.9 (#699)
  • update Platform to Core v18.2.0-rc.4 (#701)

Bug Fixes

  • dashmate: ZeroSSL certificate cannot be downloaded (#718)
  • drive: merk caching in contract caching (irony) (#710)
  • find_duplicates_by_id.rs not compiling (#702)
  • Starcounter-Jack JSON-Patch Prototype Pollution vulnerability (#708)

Code Refactoring

  • dashmate: status command (#660)

Continuous Integration

  • fix incorrect github actions templating syntax (#689)
  • increase cache-max-size (#704)

Miscellaneous Chores

  • dapi-client: replace axios with fetch (#690)
  • dashmate: update base config to core 18.2.0 (#706)
  • dpp: wasm dpp data contract test error types (#684)
  • drive: log synchronize identities properly (#686)
  • set core in base config to v18.1.1 (#720)

0.24.0-dev.11 (2022-12-20)

Bug Fixes

  • dashmate: setDay is not a function (#677)
  • dashmate: ZeroSSL certificates are not saved in WSL (#676)
  • drive: initChain handler is not idempotent (#675)

Continuous Integration

  • bump action versions (#678)
  • release dashmate packages (#669)

Miscellaneous Chores

  • dashmate: update tenderdash up to 0.10.0-dev.6 (#674)

0.24.0-dev.10 (2022-12-15)

Features

  • Consensus Errors and ValidationResult bindings (#643)

Bug Fixes

  • dashmate: outdated Drive and DAPI images (#668)

Continuous Integration

  • fix entrypoint path in release workflow (#671)

0.24.0-dev.9 (2022-12-14)

⚠ BREAKING CHANGES

  • Previous data is not compatible with new Drive

Features

  • average estimated processing fees (#642)
  • dpp: bls adapter for WASM DPP (#633)
  • drive: add time and protocolVersion fields to query metadata response (#611)
  • drive: provide latest core chain lock on init chain (#659)
  • drive: support for V0.7 of groveDB (#665)
  • drive: use proposal block execution context in state repository (#653)
  • drive: use single block execution context (#627)

Bug Fixes

  • build not working because of deprecated wasm-bindgen feature (#639)
  • dapi: fail to reconnect to tenderdash in case of ENOTFOUND (#621)
  • dashmate: broken helper docker image (#630)
  • dashmate: ZeroSSL certificate renewal (#624)
  • drive: multi transactions doesn't work properly (#636)

Performance Improvements

  • drive: do not call process proposal after prepare (#656)

Code Refactoring

  • use FeeResult to collect block fees (#652)

Build System

  • support Rust and JS packages

Continuous Integration

  • code scanning (#626)
  • fix env syntax in release workflow (#664)
  • support Rust and JS packages

Miscellaneous Chores

  • dpp: switch dpp to working revision
  • drive: comprehensive logging for same block execution (#657)
  • ensure consistent Rust dependencies (#658)
  • remove lodash per-method deps (#661)
  • replace grpc-web with @improbable-eng/grpc-web (#628)
  • merged rs-platform monorepo

0.23.0 (2022-12-05)

⚠ 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

0.23.0-alpha.9 (2022-11-21)

⚠ BREAKING CHANGES

  • precise storage fees (#619)

Features

  • precise storage fees (#619)

Bug Fixes

  • dapi: Cannot read properties of undefined (reading 'PoSePenalty') (#612)

0.24.0-dev.8 (2022-11-18)

Features

  • add withdrawals data contract package (#604)
  • dpp: dashpay datatrigger toUserIds better validation (#620)
  • drive: select the most vital validator set quorums (#617)

Bug Fixes

  • DataContract.spec.js in wasm-dpp (#618)
  • renamed method from rs-dpp (#623)

0.24.0-dev.7 (2022-11-07)

⚠ BREAKING CHANGES

  • drive: same block execution (#593)

Features

  • dpp: initial RS DPP integration (#483)
  • drive: same block execution (#593)

Bug Fixes

  • featureFlags test was awaiting blocks that have not been produced (#602)
  • dapi: getConsensusParamsHandler was handling wrong Tendermint error (#601)
  • dashmate: invalid testnet TenderDash genesis (#608)
  • dashmate: SSL verification server cannot be started (#606)

0.23.0-alpha.8 (2022-11-04)

Bug Fixes

  • test-suite: featureFlags test was awaiting blocks that have not been produced (#602)

Continuous Integration

  • update deps (#591)

Documentation

  • GitHub org change updates (#590)

0.24.0-dev.6 (2022-10-26)

Bug Fixes

  • typo dash-amte to dashmate (#599)

0.24.0-dev.5 (2022-10-26)

Bug Fixes

  • release.yml contained wrong indentation (#597)

0.24.0-dev.4 (2022-10-26)

Build System

  • publish envoy and dashmate-helper docker images after release (#595)

0.24.0-dev.3 (2022-10-20)

Features

  • drive: AssetUnlock transactions processing (#530)

0.23.0-alpha.7 (2022-10-18)

⚠ BREAKING CHANGES

  • Previous data is not compatible with new Drive

Bug Fixes

  • dapi: caching of headers prone to reorgs (#578)

Documentation

  • update URL from dashevo to dashpay (#579)

Build System

  • dapi-grpc: update grpc protoc image (#553)
  • remove buildx bake workaround (#541)

Miscellaneous Chores

  • drive: update RS Drive to 0.23.0-dev.9 (#588)

0.24.0-dev.2 (2022-10-13)

Bug Fixes

  • 0.23-dev.10 version installed instead of alpha (#581)
  • dapi-client: temporary use http protocol by default (#573)
  • dapi: caching of headers prone to reorgs (#578)

Documentation

  • update URL from dashevo to dashpay (#579)

Tests

  • drive: synchronizeMasternodeIdentitiesFactory (#586)

0.23.0-alpha.6 (2022-10-12)

Bug Fixes

  • 0.23-dev.10 version installed instead of alpha (#581)

0.23.0-alpha.5 (2022-10-12)

Continuous Integration

  • run dashmate and test suite workflow (#576)

Miscellaneous Chores

  • dashmate: update testnet credentials (#571)

0.23.0-alpha.4 (2022-10-11)

Bug Fixes

  • dashmate: Core RPC is not responding (#575)

Miscellaneous Chores

  • dapi-client: update dapi addresses white list (#574)

0.23.0-alpha.3 (2022-10-10)

Bug Fixes

  • drive: db is in readonly mode due to the active transaction (#567)

Build System

  • fix release script wrong param names (#566)

Miscellaneous Chores

  • dashmate: use latest DAPI and Drive 0.23.0-alpha (#568)

0.24.0-dev.1 (2022-10-07)

⚠ BREAKING CHANGES

  • migrate to ABCI++ (#464)
  • Tenderdash 0.8 and lower not supported anymore

Features

  • dashmate: update tenderdash to 0.9.0-dev.1 (#525)
  • dashmate: zeroSSL certificate renewal helper (#554)
  • dpp: add wasm-dpp template package (#529)
  • implement masternode voting identities (#467)
  • migrate to ABCI++ (#464)
  • SSL certificate for DAPI (#519)

0.23.0-alpha.2 (2022-10-07)

Features

  • dashmate: add core reindex command (#533), closes #538

Bug Fixes

  • sdk: platform.initialize is not a function (#555)

Continuous Integration

  • add dashmate and test suite (#551)
  • release arbitrary pre-release tags (#552)

Build System

  • support alpha prereleases (#560, #558](dashpay#558))
  • release can be made from any branch if type is defined (#562)

0.23.0-alpha.1 (2022-09-28)

⚠ BREAKING CHANGES

  • Dash Core version lower than 18.1.0-rc.1 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

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

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

Build System

  • yarn install fails with Node.JS 16.17.0 (#507)
  • new node alpine image breaks package builds (#493)
  • test-suite: fix docker image build

Documentation

  • dashmate: add troubleshooting section (#431)
  • dashmate: update dashmate documentation (#459)
  • sdk: update outdated documentation (#463)
  • update badges in individual package readmes (#361)

Continuous Integration

  • add latest-dev docker tag (#382)
  • enable multiarch builds (#316)
  • docker images incorrectly tagged with v (#413)

Miscellaneous Chores

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

0.23.0-dev.10 (2022-09-27)

⚠ BREAKING CHANGES

  • drive: masternode identities sync from begging after restart (#542)
  • update Dash Core to 18.1.0-alpha.2 (#526)

Features

  • update Dash Core to 18.1.0-alpha.2 (#526)

Bug Fixes

  • dapi-client: metadata.get is not a function once again (#531)
  • dashmate: homedir fs.exists check (#537)
  • drive: masternode identities sync from begging after restart (#542)

Miscellaneous Chores

  • clean up dependencies (#534)
  • scripts: remove comment from env key (#532)

0.22.16 (2022-09-08)

Features

  • create test suite's .env from deployment tool config (#518)

Bug Fixes

  • security vulnerability in elliptic library (#501)
  • test suite image and environment problems in ci (#505)

0.23.0-dev.9 (2022-09-05)

Bug Fixes

  • dashmate: DockerComposeError undefined (#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)

Build System

  • yarn install fails with Node.JS 16.17.0 (#507)

Tests

  • dapi: fix broken subscribeToNewBlockHeaders test (#508)
  • dapi: rename test files to mach the naming convention (#509)

0.22.15 (2022-08-31)

Features

  • dashmate: update v18 for the mainnet nodes (#514)

0.22.14 (2022-08-29)

Features

  • dashmate: add --force flag to stop command (#434)
  • integrate dash-spv into monorepo

Documentation

  • dashmate: update dashmate documentation (#459)
  • sdk: update outdated documentation (#463)

Miscellaneous Chores

  • bump dash core to v18.0.1 and sentinel to 1.7.1 (#511)
  • test-suite: move wallet storage persistence in the outer folder (#416)

Build System

  • yarn install fails with Node.JS 16.17.0 (#507)
  • new node alpine image breaks package builds (#493)
  • test-suite: fix docker image build

0.23.0-dev.8 (2022-08-22)

Bug Fixes

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

0.23.0-dev.7 (2022-08-18)

Bug Fixes

  • DAPI client requests one local single node only (#479)
  • dapi-client: A.metadata.get is not a function (#492)
  • dapi-client: node can bed marked as banned on retriable error (#482)
  • dashmate: docker undefined error (#480)
  • dashmate: gRPC stream timeout (#481)
  • infinite block production due to fees distribution (#484)
  • sdk: cannot read properties of null (reading 'getMetadata') (#488)
  • test-suite: invalid transaction: Missing inputs (#494)

Miscellaneous Chores

  • dashmate: update Core to 18.0.0-rc.12

Build System

  • new node alpine image breaks package builds (#493)

0.23.0-dev.6 (2022-08-12)

⚠ BREAKING CHANGES

  • Correct cumulative fees invalidate previous blockchain data (#474)

Bug Fixes

  • dpp: repeated disabling of already disabled identity key (#477)
  • drive: cumulative fees are not reset between blocks (#474)
  • drive: invalid previous block time (#475)

0.23.0-dev.5 (2022-08-05)

⚠ BREAKING CHANGES

  • Blockchain data and state structure are changed and incompatible with previous versions

Features

  • drive: fees distribution (#458)

Miscellaneous Chores

  • various linter fixes across packages (#465)

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: