Skip to content

Releases: bosagora/agora

v0.9.0: Passive slashing, per-output type, better setup and debug experience

01 Jun 04:23
Compare
Choose a tag to compare

Major changes since v0.8.1

Pre-images are now used to generate block signatures

Block signatures are now based on pre-images for the "signature noise" derivation.
This implements one of the aspect of Agora's passive slashing policy,
which is that signing two blocks for the same height reveal a validator's private key.

Transaction type has been moved to Output

Previously, transactions had a "type" field that would indicate the type of its output:
payment (the default), freeze, or coinbase. This created issues as payment and freeze
needed to be mixed (e.g. to avoid creating a refund transaction that was frozen).
The type field is now part of the Output, and may be extended in the future.

Multiple Talos (setup interface) bug fixes

The setup interface had a few issues, where some field would be empty when
run in a particular way, making navigating between menus impossible.
Those issues have been fixed and the interface now works as expected on all devices.

Agora will now dynamically export its symbol

Agora now use the export-dynamic linker option by default, which should result
in proper stack traces on Alpine Linux (and potentially other platforms),
at the cost of slightly bigger binary. Stripping the binary will still work.

v0.8.1: Always enable TRACY_ON_DEMAND

26 May 12:37
Compare
Choose a tag to compare

This is an internal fix that might reduce memory usage for some clients.

v0.8.0: Random seed correction, sorted transactions, RBF

26 May 02:30
Compare
Choose a tag to compare

Notable changes since last release (v0.7.1):

  • Well known keypairs have been updated (this affect users running test networks);
  • An intermittent error in UTXODB will no longer be silence, instead the node will properly report it;
  • Nodes will now replace transactions in their TxPool if it fulfill certain conditions (e.g. higher fee);
  • Random seed calculation was wrong (involved an extra Hash.init parameter) and has been fixed;
  • Transactions will now sort their inputs and outputs;
  • Ledger will now do a full reset if the validator set is empty, regardless of the UTXOSet being non-empty;

v0.7.1: Improved logging for nomination

20 May 05:43
Compare
Choose a tag to compare

This release mainly contains enhancements on logging during the nomination phase,
along with a couple internal improvements.

v0.7.0: Major SCP upgrade

17 May 00:23
Compare
Choose a tag to compare

Changes since v0.6.1:

  • SCP has been upgraded from v11.2.0 (2019-06-26) to v16.0.0 (2021-04-08).

v0.6.1: Minor CI fix on tags push

14 May 05:12
Compare
Choose a tag to compare

This release fixes a minor issue that triggered when a tag was pushed.
One of the test would previously fail to run because it expected a different git object.

v0.6.0: Absolute PreImage offsets, greatly improved Flash API, transaction fees

14 May 04:20
Compare
Choose a tag to compare

Notable changes since the last release:

  • Validator now authenticate themselves upon connecting to one another;
  • The random seed algorithm has been changed to be simpler;
  • The node hashing algorithm has been changed to be stable at a given height/state;
  • Many bugs in the shutdown procedure have been fixed, and things should never hang now;
  • The consensus protocol now supports a minimum fee;
  • Default development compiler is now LDC 1.26 (LDC 1.25 works for building, but not in unittest mode);
  • Windows builds have been disabled due to limitations in the CI memory capacity;
  • PreImages now uses absolute index (height) instead of relative index (relative to enrollment);
  • The Flash layer now supports managing multiple keys from the same node;
  • It is now possible to list flash channels through the API;
  • The node now exposes 4 config parameters to control and limit transactions propagation;
  • Flash: Settlement is now always published after timeout is reached;
  • Talos, the setup interface, is now integrated in Agora and can be started with --initialize=address_to_bind;
  • The API now allows to get detailes informations about a list of Flash channels;
  • The Flash control API can now be configured to bind to a specific address/port;
  • Rules for nomination has been improved to take fees into account and better handle time differences;
  • Loggers can now be reconfigured dynamically through the admin interface;
  • Nodes will now prioritize their own Enrollment instead of waiting to hear back from other nodes;
  • DataPayload now uses Base64 for the REST API;
  • DataPayload.data was renamed to bytes;
  • SCP is now built with clang++ on all platforms;
  • The random seed check no longer mistakenly uses the node state over the block state;

v0.5.0: Fixed nomination timer, improved flash API

22 Apr 09:20
Compare
Choose a tag to compare
  • Network discovery period is now configurable (node.network_discovery_interval_secs);
  • Nomination interval is now configurable (validator.nomination_interval, in seconds);
  • Nomination interval is now 5s by default, up from 1s; this should improve liveness;
  • Flash can now use a registry;
  • Flash API now includes onRequestedChannelOpen to query if a node will accept a channel open;
  • Fixed a race condition preventing envelopes with valid signature to be accepted after externalization;
  • Periodic catchup will now longer ask for signatures from slashed nodes;
  • Flash: changeFee was only implemented in test, moved to production;
  • Vanity miner now supports Bech32, and well-known keypairs have been changed accordingly;
  • The node will now stop nominating as soon as it starts shutting down;

v0.4.1: Minor build script fixes

19 Apr 06:34
Compare
Choose a tag to compare

Fixes an issue with the build script that led to the version being rendered incorrectly.

v0.4.0: Configurable logger, readable SQL databases

19 Apr 05:44
Compare
Choose a tag to compare
  • UTXO set is now stored in utxo database, validator set in validator table;
  • Most tables now use text fields instead of binary ones;
  • UTXO's pubkey_hash field is now called pubkey;
  • Nomination protocol now takes into account missing validator pre-images;
  • Some log messages have been cleaned up to be less confusing / alarming;
  • Loggers can now be configured individually in the config file;