Skip to content

v1.0.0-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@luca-moser luca-moser released this 06 Nov 08:48

This is the beta release of the IOTA Go library. All changes are breaking.

Changes:

  • Splits functionalities into different packages.
  • Removes github.com/tildeleb/hashland/keccakpg in favor of using a modified golang.org/x/crypto/sha3 package for Kerl.
  • Makes the API composable so that the underlying transport protocol is abstracted away.
  • Adds missing functionality from iota.js, such as: unit, ascii-tryte conversion, guards etc.
  • Adds tests for all packages and integration tests for the API object.
  • Removes licences from source files and uses a single LICENCE file for reference.
  • Rewrites Proof-of-Work implementations to immediately return the nonce when one was found from a given spawned goroutine.
  • Decouples concurrent access from the Proof-of-Work implementations, instead, use Sync prefixed functions for handling concurrent access.
  • Makes primitive types such as Trits, Trytes and so on alias types, so no explicit type conversion is needed.
  • Reduces copying in a lot of for loops by extracting pointers.
  • Return errors everywhere in the package where one might occur instead of panicking.
  • Marks function which can panic with Must.
  • Adds proper CI configuration.
  • Renames project to iota.go