All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Remove
/api/v2/delegates/{id}/voters/balances
endpoint ([#2265])
2.2.0 - 2019-03-11
- Implement a CLI with @oclif to replace commander (#2100)
- Add sorting to voters endpoint (#2103)
- Validate GET replies from other peers (#2102)
- Pass query to findAllByVote method (#2142)
- Fetch list of peers from at least a few others (#2152)
- Pass the base flags for programmatic calls in
core-tester-cli
(#2108) - Reduce complexity and fix wrong offset handling in
core-elasticsearch
(#2108) - Stuck at not ready to accept new block (#2139)
- Properly sort BigNumber values (#2144)
- Properly update wallet balances if a vote transaction is reverted (#2207)
- Invalid transactions after a rollback because block timestamps were used as transaction timestamp (#2217)
- Replaced lodash.sortBy/orderBy with faster implementations (#2106)
- Improve fork handling in updatePeersOnMissingBlocks (#2125)
- Throw an error if the peers or plugins file are missing (#2135)
- Improve selection of peer for downloading blocks (#2137)
- Merge core-snapshot-cli commands into core (#2149)
2.1.2 - 2019-02-13
- Fix quorum related issues
- Limit payload size
- Remove
signatures
from transaction payload
2.1.1 - 2019-02-12
- Configuration endpoint does not show dynamic fees (#2082)
- Return the correct supply for the legacy API (#2083)
2.1.0 - 2019-02-11
- Added a
milestoneHash
identifier to use for peer banning (#1837) - Added TypeScript declarations for
core-logger
(#1833) - Added TypeScript declarations for
core-logger-winston
(#1887) - Added TypeScript declarations for
core-container
(#1891) - Added TypeScript declarations for
core-database
(#1901, #1905) - Added TypeScript declarations for
core-transaction-pool
(#1906) - Added TypeScript declarations for
core-blockchain
(#1943) - Added TypeScript declarations for
core-snapshots
(#1947) - Added TypeScript declarations for
core-api
(#1948) - Added TypeScript declarations for
crypto
(#1917) - Added the
core-jest-matchers
package (#1926) - Added the
core-interfaces
package (#1924) - Return the transaction expiration time via API (#1927)
- Added the ability to disable the public API cache (#1930)
- Return the vote of a wallet via public API (#2009)
- Upgrade script for 2.1 (#1999)
- Installation script for deb/rpm distros (#2016)
- Case specific errors for
crypto
(#2038)
- Migrated from JavaScript to TypeScript (#1625)
- Moved the
peers.json
configuration intocore-p2p
(#1625) - Merged
core-transaction-pool-mem
intocore-transaction-pool
(#1625) - Use a faster alternative to derive an estimate (#1655)
- Reworked crypto configuration to make it simpler (#1733)
- Moved the dynamic fees configuration into
core-transaction-pool
(#1733) - Periodically check for new peers instead of retrying until finding some (#1738)
- Adjusted some banning times for peers to make network recovery smoother (#1730)
- Simplified configuration by further separating network and core (#1733)
- Take the
minFeeBroadcast
value into account for fee statistics (#1873) - Only allow vendor fields for type 0 and 6 transactions (#1931)
- Improved the network quorum details and feedback (#1898)
- Only return errors when broadcast and pool fees are too low (#1940)
- Improved performance of BIP38 (#1941)
- Cleaned up the logic of block processing (#1953)
- Cleaned up the logic of serialise/deserialise in crypto (#1969)
- Replaced all ARK naming with CORE (#1970)
- Use system paths for data and configuration (#1987)
- Increased the maximum transaction age to 6 hours (#1996)
- Replaced progress bars with logging to reduce noise (#2044)
- Replaced commander.js with @oclif in
core-debugger-cli
(#2049) - Replaced commander.js with @oclif in
core-snapshots-cli
(#2050) - Replaced commander.js with @oclif in
core-tester-cli
(#2051) - Moved docker files from
docker/*
todocker/development/*
(#2053) - Moved the genesis blocks from the
core
configuration to the network configuration incrypto
(#2052) - Separate business-logic from data-layer logic (#2055)
- Resolved an issue with the
resolveOptions
method that would result in options being resolved for plugins that are not registered in the container (#1625) - Malformed condition for filtering peers (#1689)
- Use the correct pagination schema for the v2 public API (#1717)
- Ensure that delegate searches can handle undefined values (#1831)
- Mark semantically invalid versions as invalid overall (#1836)
- Ordering of delegates via public API (#1731)
- Handle webhooks that have no conditions (#1869)
- Validate the network byte on transactions (#1853)
- Use correct schemas for address, public key and username validation in the public API (#1954)
- Populate the last block of all delegates (#1919)
- Return the transaction forging timestamp instead of signing timestamp (#1957)
- Mark cold wallets as not found in the legacy API (#1955)
- A malformed condition that resulted in wrong peer lists (#1939)
- Properly verify block slot timestamps (#1985)
- Return fixed peer states for v1 and v2 API responses ([#2027])
- Validate IP ranges to detect loopbacks (#2045)
- https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-010.md (#2046)
- Check if the blockchain state storage is available before performing fork checks (#2047)
- Gracefully handle a corrupted cached
peers.json
file (#2061) - Always sort transactions by sequence and the requested field to make API sorting deterministic (#2058)
- Disallow multiple registrations for same delegate (#2080)
- Removed the
transactionsFromIds
P2P endpoint (#1911) - Removed the
validator
andrules
fron@arkecosystem/crypto
(#2021) - Ended support for the legacy multisignatures from the previous LISK fork (#2057)
2.0.19 - 2019-01-31
- https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-009.md
- https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-010.md
2.0.18 - 2019-01-28
2.0.17 - 2019-01-15
- https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-008.md
- https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-007.md
2.0.16 - 2018-12-17
- Prevent the list of peers to become too short. This is related to the nodes running behind a firewall.
Closed security vulnerabilities:
2.0.15 - 2018-12-11
- Ensure no local peers are enlisted and that the IP of the TCP connection is used (#1695)
2.0.14 - 2018-12-10
- Reset last downloaded block when block is discarded (#1692)
2.0.13 - 2018-12-07
- Ensure safe integer range for block height lookups via API (#1673)
2.0.12 - 2018-12-06
- Perform second-signature checks in the
canApply
logic of multi-signatures (#1658) - return the encoded WIF for BIP38 wallets instead of the encrypted WIF (#1653)
2.0.11 - 2018-12-05
- Store executed migrations in the database (#1648)
2.0.1 - 2018-12-05
- Retrieve blocks via height or ID per public API (#1626)
- Improved performance for block and transaction queries by adding more indices on critical columns (#1636, #1638, #1634)
- Take milestones into account for supply calculations (#1640)
- Use the raw transaction data in
acceptChainedBlock
to avoid timestamp mismatches and second signature double spend errors (#1564) - Return the correct peer count for the v2 public API (#1563)
2.0.0 - 2018-12-03
- Initial Release