Skip to content
This repository has been archived by the owner on Nov 18, 2021. It is now read-only.

Releases: fetchai/ledger

v1.2.0 - Caelum 1

08 Apr 08:52
Compare
Choose a tag to compare

We have been hard at work with this release improving stability, fixing bugs and making performance tweaks. The list below highlights the changes that have been made.

Core

  • Duplicate transaction filtering performance updates
  • Fix issue with single object store not writing to beginning of file
  • Fix issue with not clearing fixed size journal if file has been previously opened
  • Force rebuild of bloom filter if necessary, during recovery phase
  • Improve startup time be consolidating merkle root searches
  • Minor logging updates

v1.1.0 - Boötes 1

10 Feb 18:43
Compare
Choose a tag to compare

We have been hard at work with this release improving stability, fixing bugs and making performance tweaks. The list below highlights the changes that have been made.

Core

  • Fixed shutdown issue in the case that no genesis configuration file has been submitted
  • Fix potential issue by preventing out of order entropy generation
  • Logging updates to make the logs less noisy
  • Extra logging and telemetry around potential consensus issues
  • Added reactor watchdog
  • Switched to improved persistent bloom filter implementation for more performant duplicate transaction detection
  • Improvements to transaction execution time
  • Improvements to block coordinator handling of failure cases
  • Beacon service stability improvements
  • Fix exception safety issues within Block Coordinator
  • Implemented Beacon Service recovery for improved sync and start up time for restarted nodes

v1.0.1 - Auriga 1 - Mainnet Release

19 Dec 14:48
Compare
Choose a tag to compare

🎉 Auriga marks the release for the main network 🎉

We have been hard at work with this release and this marks an exciting new chapter for Fetch.AI. The following is a brief overview of the updates that have been incorporated into this release.

Core

  • Unified contract addresses
  • Basic Contract to Contract Calls
  • Simplified and improved genesis file
  • Enhanced kademlia routing and peer tracking
  • Mainnet genesis configuration
  • Updated multi sig token API
  • Fixes for SSL handshakes with bootstrap server
  • Corrected issues with platform agnostic determinism
  • Lots of thread safety and data race fixes
  • Improved State Revert performance
  • Security updates for consensus
  • Improved main chain syncing
  • Robustness improvements for HTTP interface
  • Removal of legacy debug token API
  • Enhanced telemetry
  • Reworked fees for synergetic computation
  • Improved transaction storage engine
  • Improved adaptive bloom filter

Etch

  • Enhanced protection checks for etch
  • Etch compile time annotation checks
  • Etch estimator overflow checks
  • Uint256 bugfixes

Math & ML Library

  • Split of Etch ML into GA and experimental modules
  • Charge estimation support

v0.9.1 - Ara 1

05 Nov 16:59
Compare
Choose a tag to compare

Ara is a feature release. We have been hard at work on improving a number of features across the whole of the ledger, etch and machine learning libraries. The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Tx Sync improvements
  • Manifest support for DKG component
  • Security improvements for DKG
  • Network routing improvements
  • Stability improvements for connections handling
  • Storage seek improvements
  • Bug fixes Cache storage adapter bug fix
  • General stability improvements cross core, consensus and network subsystems

Etch

  • Contract payable addresses
  • keras-style sequential Model now available for use in smart contracts
  • New transaction context / metadata API
  • Deprecation and removal of getBlockNumber API
  • Various stability improvements and bug fixes

Math Library

  • AVX2 vectorisation now supported for fixed point types
  • SIMD overflow checks and consistent overflow/infinity/nan handling

ML Library

  • Keras-style sequential Models implemented
  • Example implementations of mnist, boston housing, and word2vec collective learning
  • Model saving/check-pointing implemented
  • layer/variable freezing implemented
  • many new ops (e.g. squeeze, one-hot, maxpool, avg pool, reduce mean)
  • graph trainables internal rework

Developer

  • Apple Clang 11 support
  • Improved back trace support
  • Added storage integrity tool

v0.8.1 - Aquila 1

30 Sep 13:16
Compare
Choose a tag to compare

Aquila is a major feature release. We have been hard at work on improving a number of features across the whole of the ledger, etch and machine learning library. The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Major enhancements to distributed random beacon implementation
  • Consensus mechanism updated and robustness improvements added
  • Synergetic contracts now capable of full smart contract feature set
  • Much improved transaction synchronisation performance
  • Added Kademlia routing into muddle P2P network
  • Improved stability of core P2P connection management
  • Improved error handling in smart contract execution
  • Fix a number of issues with JSON parsing
  • Thread and Exception safety improvements

Etch

  • Etch multi file support
  • Etch improvement error handling on unannotated functions
  • Fix issue with inconsistent view of State variables
  • VMDataloader and Optimiser reworked to support multiple inputs

Math Library

  • Unified interfaces for checking Overflow/NaN/Inf for fixed point and real types
  • Begun distinct implementations for safe and unsafe fixed point operations

ML Library

  • Example implementation of distributed word2vec training
  • Dramatically reduced serialisation footprint for ML Ops
  • DNNRegressor implemented
  • Constants, Variables, and Placeholders implemented
  • Graph compilation stage implemented to allow adding nodes in any order
  • Simplified internal Graph trainable nodes management
  • Various overflow checks/guards implemented
  • Various dataloader refinements
  • Apply regularisation refinements

Developer

  • Logging system now handles duplicate log messages

v0.7.1 - Aquarius 1

02 Sep 14:31
Compare
Choose a tag to compare
v0.7.1 - Aquarius 1 Pre-release
Pre-release

Aquarius is a stabilisation release.

We have been hard at work on improving a number of features across the whole of the ledger, etch and machine learning library. The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Improved main chain sync API
  • Enhanced transaction status API
  • Main chain sync time improvements
  • YAML configuration parser added
  • Additional telemetry support for constellation
  • Internal updates to the VM to enable support for initialiser lists
  • HTTP server authentication and bug fixes
  • Various bug fixes including exception safety issues

Etch

  • Persistent globals support
  • UTF8 String and Comment Support
  • State saving implemented for Graph, Dataloader, and Optimiser

Math Library

  • N-dimensional implementations for softmax & reduce
  • reworking Reduce/Apply methods for aligned and non-aligned SIMD
  • AVX2 support for all types

ML Library

  • Example implementation of BERT language model
  • Example updates: semi-synchronous distributed learning
  • Node/Op relationship reworked from inheritance to ownership
  • weight sharing reworked as nodes sharing Ops
  • Node caching improved
  • Serialisers for Graph, Ops, and Layers
  • Serialisers for SGD optimiser and Tensor Dataloader
  • Estimator reworked as 'model'
  • Dataloader train/test splitting functionality

Developer

  • Link-time optimisation support added to build by default

v0.6.1 - Apus 1

31 Jul 14:41
Compare
Choose a tag to compare
v0.6.1 - Apus 1 Pre-release
Pre-release

Apus is a stabilisation release. This forms part of our alpha network release milestone.

We have been hard at work on improving a number of features across the whole of the ledger, etch and machine learning library. The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Initial bloom filter implementation for transaction duplicate detection
  • Telemetry support added to core HTTP interface
  • Overhaul of ledger configuration system.
  • HTTP interface now has a basic schema support
  • Distributed random beacon feature and performance improvements
  • Addition of an optional reliable broadcast layer over the P2P
  • Performance improvements in "Muddle" P2P handling of broadcast messages
  • Various fixes and performance improvements

Etch

  • vm-lang now is called etch (finally!)
  • Language tests
  • Allow Structured data to be used as a serialisation object
  • Various fixes and performance improvements
  • Fixedpoint64 set as default math type in vm modules
  • CNN crypto price prediction example implemented
  • ML graph state dictionaries can now be written to and read from State

Math Library

  • NaN/Infinity support implemented for FixedPoint
  • UInt<> class reworked, faster implementation (now uses uint64_t as base type instead of byte)
  • MAE loss metric implemented
  • Minor refactoring

ML Library

  • Example implementation: CNN based Crypto price prediction model
  • Example implementation: graph based word2vec
  • MinMaxScaler implemented for data normalisation
  • Criterion functions reworked to be Ops
  • Performance improvements from converting slices to views in various places
  • Removal of python bindings

Antlia v0.5.2

29 Jun 21:01
Compare
Choose a tag to compare
Antlia v0.5.2 Pre-release
Pre-release

Antlia is a major release and brings a number of new and exciting features to the ledger. In particular this release contains the initial versions of our Synergetic Contracts and Proof of Stake consensus. Stay tuned for further exciting developments in these areas.

The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Synergetic Contract Prototype
  • Initial Proof of Stake implementation
  • Initial BLS Random Beacon Prototype (Added in v0.5.2)
  • Genesis State File Support
  • Improved Transaction Synchronisation Performance
  • Improved safety and performance across chain and networking subsystems
  • Main chain forward references
  • Block timestamps
  • Improved fee handling code
  • Improved safety of main chain block management
  • Fixed sporadic issues startup and recovery
  • Fixed issues with network message routing
  • Various small improvements and bug fixes

Etch

  • Improved arrays now fully supports the methods: append,count, erase, extend, popBack, popBack, popFront, popFront && reverse
  • Improved strings now fully support common methods like: find, length, reverse, split, substr && trim
  • Improved type support for the abs function
  • Improved handling of null references
  • Improved handling of break and continue
  • Disabled serialisation of null objects.
  • Added new object StructuredData that can be used for storing JSON like objects
  • Improved interface to state handling objects State and ShardedState state
  • Improve serialisation support for complex data types
  • Added UInt256 support
  • Improved type support for updating SHA256 hashes
  • Added support for fixed point types Fixed32 & Fixed64

Math Library

  • Various native fixed point trigonometry implementations

ML Library

  • Optimisers for Adam, RMSProp, AdaGrad, Momentum, and SGD
  • Initial work on Estimator & DNNClassifier for high level wrapping of common ML functionality
  • Improved batching efficiency (trailing dimension always batch dimension)
  • Example commodity price prediction model inference
  • Example math::tensor based word2vec training
  • Adding binding and laying groundwork for exposing more of ML library in Etch.

Misc

  • Build system will try and use ccache by defaul
  • Improved stacktrace support provided by backtrace-cpp
  • Clang7 and GCC8 added to supported compiler list
  • Improved automation and tooling

Antlia - v0.5.1

27 Jun 16:54
Compare
Choose a tag to compare
Antlia - v0.5.1 Pre-release
Pre-release

Antlia is a major release and brings a number of new and exciting features to the ledger. In particular this release contains the initial versions of our Synergetic Contracts and Proof of Stake consensus. Stay tuned for further exciting developments in these areas.

The following is a brief overview of the updates that have been incorporated into this release:

Core

  • Synergetic Contract Prototype
  • Initial Proof of Stake implementation
  • Genesis State File Support
  • Improved Transaction Synchronisation Performance
  • Improved safety and performance across chain and networking subsystems
  • Main chain forward references
  • Block timestamps
  • Improved fee handling code
  • Improved safety of main chain block management
  • Fixed sporadic issues startup and recovery
  • Fixed issues with network message routing
  • Various small improvements and bug fixes

Etch

  • Improved arrays now fully supports the methods: append,count, erase, extend, popBack, popBack, popFront, popFront && reverse
  • Improved strings now fully support common methods like: find, length, reverse, split, substr && trim
  • Improved type support for the abs function
  • Improved handling of null references
  • Improved handling of break and continue
  • Disabled serialisation of null objects.
  • Added new object StructuredData that can be used for storing JSON like objects
  • Improved interface to state handling objects State and ShardedState state
  • Improve serialisation support for complex data types
  • Added UInt256 support
  • Improved type support for updating SHA256 hashes
  • Added support for fixed point types Fixed32 & Fixed64

Math Library

  • Various native fixed point trigonometry implementations

ML Library

  • Optimisers for Adam, RMSProp, AdaGrad, Momentum, and SGD
  • Initial work on Estimator & DNNClassifier for high level wrapping of common ML functionality
  • Improved batching efficiency (trailing dimension always batch dimension)
  • Example commodity price prediction model inference
  • Example math::tensor based word2vec training
  • Adding binding and laying groundwork for exposing more of ML library in Etch.

Misc

  • Build system will try and use ccache by defaul
  • Improved stacktrace support provided by backtrace-cpp
  • Clang7 and GCC8 added to supported compiler list
  • Improved automation and tooling

v0.3.1 - Andromeda

10 Jun 14:38
421fdf4
Compare
Choose a tag to compare
v0.3.1 - Andromeda Pre-release
Pre-release

Andromeda is a feature release and brings a number of new updates across the Ledger and the Etch language. The following outlines a few of the updates from the various components of the ledger

Core

  • New transaction format
  • Initial fee implementation
  • Chain and transaction sync performance improvements
  • VM intermediate representation (IR) support
  • Fix a number of minor issues in HTTP and VM subsystems

Etch Language

  • Print replaced with print and printLn
  • State variables now has support for non-primitive types.
  • Add utility methods for the String and Array classes
  • getBlockNumber() now available inside Smart contract @actions

Math Library

  • Tensor reworked for performance improvements
  • Partial support for vectorised BLAS implementations
  • Added native FixedPoint implementations

Machine Learning Library

  • Various new Ops implementations (embeddings, Convolution2D etc.)