Releases: ArkEcosystem/core
Releases · ArkEcosystem/core
2.3.12
2.3.1
2.3.0
Breaking Changes
- Removed the
wallets
table from the database (#2209)- Core 2.0 has been fully reliant on in-memory wallets since the 2.0 release. This only removes the dumping of wallets into the database as it is wasted space and doesn't serve any purpose.
- If you have applications that rely on the database you should migrate them as soon as possible to using the API as only that data is provided in real-time.
- Replace SQLite3 with lowdb in
core-webhooks
(#2124)- This significantly reduces the size of the package and it's dependencies.
- This requires you to recreate your webhooks as the storage method changed.
- Replaced
core-logger-winston
withcore-logger-pino
(#2134)- This significantly improves performance of logging when it occurs a lot in situations like syncing or rollbacks.
- Rewrote
core-tester-cli
from scratch (#2133) - Merged
core-debugger-cli
intocore-tester-cli
and deprecated it (#2133) - Use the node.js
EventEmitter
fromevents
instead ofeventemitter3
(#2329)
Added
- Implement AIP29 (#2122)
- Search delegates by their username in
core-api
(#2143) - Implemented the
ark reinstall
command incore
(#2192) - Added the
--force
flag to theark update
command incore
(#2190) - Added more parameters for delegate searches in
core-api
(#2184) - Added restart flags to the
ark update
command incore
(#2218) - Added the
make:block
command tocore-tester-cli
to create blocks (#2221) - Added the
core-error-tracker-rollbar
package (#2287) - Added the
core-error-tracker-raygun
package (#2288) - Added the
core-error-tracker-airbrake
package (#2289) - Added the
core-logger-signale
package (#2343) - Added more events for blocks and the transaction pool (#2321)
- Return
slip44
andwif
viav2/node/configuration
(#2388) - Added an
asset
column to thetransactions
table (#2236)
Fixed
- Properly sort peers by their version (#2229)
- Memory leak in the monitoring process of
core-forger
(#2341) - Handle dynamic round sizes with milestones (#2370)
- Validate that a transaction recipient is on the same network (#2394)
- Handle empty
rows
inmapBlocksToTransactions
(#2404) - Prevent indexing/creating of ghost wallets (#2405)
- Refuse transactions from senders with pending second signature registrations and do not rollback when refusing a block (#2458)
Changed
- Increased the vendor field length to 255 bytes (#2159)
- Replaced
micromatch
withnanomatch
to improve performance (#2165) - Replaced
axios
withgot
to resolve known timeout issues withaxios
(#2203) - Switch block id to full SHA256 (#2156)
Removed
- Removed dead fast rebuild code that hasn't been used since 2.0 release (#2210)
2.2.2
2.2.1
Sync package versions with npm, no changes.
2.2.0
Added
- 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)
Fixed
- 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)
Changed
- 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)
Removed
2.1.2
Fixed
- Fix quorum related issues
- Limit payload size, closes https://github.com/ArkEcosystem/security-vulnerabilities/blob/master/core/core-sv-013.md
- Remove
signatures
from transaction payload
2.1.1
2.1.0
Added
- 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)
Changed
- 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)
Fixed
- 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)