Releases: ava-labs/avalanchego
Mainnet Patch - 3
This patch includes networking DoS protection improvements, a new simple AVM wallet, expanding of health checks, and throttling cleanup.
- Implemented a continuous time exponentially weighted uptime meter. Also implemented a discrete exponentially weighted uptime meter for performance improvements.
- Simplified multilevel queue implementation to abstract out resource management.
- Added health checks to the VM and Engine interfaces to allow for fine grained health checks.
- Added partition detection into the health checks.
- Meter connection attempts from the same IP address.
- Reduced lock contention in the networking library.
- Added a wallet service that allows for transactions to be chained automatically, by assuming the transactions that are being issued are virtuous.
- Dynamically manage the IP address by attempting to refresh the existing IP address periodically.
Mainnet Patch - 2
This patch includes network latency enhancements, database stability improvements, increased transaction reliability on the P-chain, and various other stability/usability improvements.
- Added downed node detection to temporarily bench nodes due to poor query responsiveness.
- Changed the adaptive timeout manager to be additive/additive rather than multiplicative/additive to avoid timeouts from staying unreasonably long.
- Added request latency metrics.
- Close DB instance after first unexpected error to prevent potential DB corruption.
- Removed potentially DB corruption while bootstrapping the P-chain and accepting
ProposalBlocks
. - Added
advanceTimeTx
synchrony buffer. - Reintroduce valid P-chain txs that were placed into rejected blocks.
- Track txs that were dropped due to an invalid start time in the mempool.
- Simplified NAT traversal, including no longer scanning for an available port.
- Correctly set the initial
ResponseWriter
header values in therpcchainvm
's HTTP handler. - Clean up networking go-routines immediately after close rather than waiting for a timeout.
- Added the number of peers as a direct response in
info.peers
API. - Increased bootup time allotment past the ping/pong timeout to avoid exiting the node on restart of the node.
- Updated build scripts to correctly build Linux and MacOS versions.
- Cleaned up recursive dependency chains and added more linting requirements.
Mainnet Patch - 1
This patch includes some performance enhancements, stability improvements, and other minor upgrades.
- Attempted to increase the soft-limit of file descriptors from the default size to up to 15k FDs on startup.
- Explicitly disabled networking naggle and lingering.
- Returned delegators nested inside the validators response in
platformvm.getCurrentValidators
. - Introduced a new SendMultiple API call that allows for sending to multiple addresses in the same atomic transaction.
- Reduced bandwidth usage during bootstrapping by disabling gossiping.
- Reduced the size of the accepted frontier to be manged in bootstrapping by utilizing a 1/N correctness assumption.
- Increased the keystore maximum user size for exporting + importing.
- Introduced automatic cross platform builds.
Mainnet Launch
This release contains the first Avalanche Mainnet compatible node.
Final Everest Update
This will be the final update aimed at the Everest network. It includes:
- Correctly handle send message requests to nodes that aren't yet marked as connected.
- Fixed a race with RPC DB's batch write.
- Cleaned up the C-chain genesis to be kept as a string rather than raw bytes.
- Removed complex locking paths from the code by funneling all network events through the chain router.
- Set the minimum uptime requirement to 60%.
- Separated the min-stake configuration to allow for minimum validation configurations and minimum delegation configurations.
- Added from fields to APIs that spend funds.
- Added change fields to APIs that spend funds.
- Supported locked tokens in the platformVM getBalance and getStake calls.
- Updated coreth to v0.3.0-rc.6
Everest Update
This is a minor update that includes:
- Patches a bug introduced that caused consensus engines to be started multiple times.
- Changed the admin.stacktrace API to write to a file rather than returning the trace.
- Ensured that connection closing is done without the network
stateLock
held.
Everest Update
This is a minor update that:
- simplifies locking logic with respect to the networking library and the uptime management in the platformvm
- changed the
--api-require-auth
flag to--api-auth-required
to be consistent with other CLI flags - added metrics for multiput messages
Everest C-chain Update
Fix a performance bug in the C-chain that caused unconscionably long bootstrapping times.
Everest Update
This update freezes the APIs for the first version of mainnet and includes numerous updates.
- avm.send now has an optional
froms
field to specify which address(es) to send funds from. - nodes now track the uptime of their peers.
- auth token support was added to the http api.
- the ipc socket was changed to use raw byte streams rather than following the nanomsg protocol, due to observed message unreliability and low speeds.
- the mainnet minting function was implemented.
- gecko was renamed to avalanchego.
- fixed file descriptor leak in the plugin interface.
Everest Upgrade
This release includes various bug fixes, optimizations, and improvements.
- Fixed Snowstorm UTXO memory leak in the conflict graph implementation when rejecting non-transitively conflicting transactions.
- Fixed Snowstorm duplicated accept call in the input graph implementation when voting on optimistically accepted transactions.
- Renamed "Default Subnet" to "Primary Network."
- Added Memo field to the AVM Send API.
- Fixed IPC nil pointer caused by incorrect initialization order.
- Fixed validator list serialization. Previously the validator list was serialized into a single Key/Value pair in the DB, which caused errors when the validator set grew too large. Now the list is properly chunked.
- Updated network version checking to allow for higher version peers to decide if the versions are compatible.