Skip to content

Releases: ava-labs/avalanchego

v1.0.4 Coreth Hotfix

30 Oct 22:15
032a79a
Compare
Choose a tag to compare

This patch reverts an accidental change in the default visibility of coreth's net_ API.

Mainnet Patch - 4

29 Oct 00:11
Compare
Choose a tag to compare

This update is optional, but encouraged. The patch includes quality of life improvements and various performance enhancements.

Note that this update requires the CLI parameters to be specified with -- rather than allowing for either - or --. For example, -public-ip=127.0.0.1 is no longer allowed and must be specified as --public-ip=127.0.0.1. Otherwise this update is backwards compatible.

  • Added subnet whitelisting to allow a node owner to choose which subnets to validate.
  • Added config file parsing for node settings.
  • Added more options for specifying a node's IP address and added getNodeIP to the info endpoint.
  • Added a TxID to the result of get.*Validators in the platformvm.
  • Updated Coreth version.
  • Cleaned up the snowball trie implementation and added additional tests to align with mutation tests.
  • Implemented and optimized continuous time averagers for tracking CPU and network latency.
  • Significantly optimized memory allocations in various locations.
  • Increased the signature verification cache size.
  • Reduced DB reads during vertex management.
  • Added an optional argument includeReason to platform.getTxStatus.
    If not provided, or if false, the output from getTxStatus is the same as before.
    For example:
{
    "jsonrpc": "2.0",
    "result": "Dropped",
	"id": 1
}

If includeReason is true, the output from getTxStatus has a new format. It's an object that looks like this:

{
    "jsonrpc": "2.0",
	"result": {
	    "status":"[Status]",
	    "reason":"[Reason tx was dropped, if applicable]"
	},
	"id": 1
}

In this new format, reason will not be present unless the status is Dropped.
Anything that depends on platform.getTxStatus should switch to using the includeReason argument and use the new response format. After a few releases, we'll only support the new response format.

Mainnet Patch - 3

14 Oct 23:12
64199f2
Compare
Choose a tag to compare

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

09 Oct 01:57
4bd067e
Compare
Choose a tag to compare

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 the rpcchainvm'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

29 Sep 03:13
87ae6b3
Compare
Choose a tag to compare

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

22 Sep 02:58
315ac1d
Compare
Choose a tag to compare

This release contains the first Avalanche Mainnet compatible node.

Final Everest Update

18 Sep 23:27
1180283
Compare
Choose a tag to compare
Final Everest Update Pre-release
Pre-release

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

13 Sep 19:30
2bfba1b
Compare
Choose a tag to compare
Everest Update Pre-release
Pre-release

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

13 Sep 03:27
3c73ab9
Compare
Choose a tag to compare
Everest Update Pre-release
Pre-release

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

11 Sep 23:02
737721a
Compare
Choose a tag to compare
Pre-release

Fix a performance bug in the C-chain that caused unconscionably long bootstrapping times.