Releases: ava-labs/avalanchego
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.
Everest Patch
This release:
- Fixes a bug in the adaptive network timeouts. Previously network timeouts were uncapped. Additionally the timeout multiplier was set to 2. This resulted in timeouts growing much larger than expected. We've introduced a cap to the timeout value and reduced the multiplier to 1.1 to prevent excessively large timeouts.
- Updates how plugin processes are executed to support running plugins on windows.
- Includes other small performance / code hygiene updates.