Skip to content

v0.13.0

Choose a tag to compare

@peterbroadhurst peterbroadhurst released this 15 Feb 03:14
· 3275 commits to main since this release

Summary

This is an important hardening release - while very little has changed on the surface, it includes a lot of significant rework to the core of FireFly, mostly to fix issues exposed by the performance testing in #316.

Breaking changes:

  • The token_pool_rejected event was removed, along with the recently-added contract_interface_rejected and contract_api_rejected (only message_rejected will now be emitted for rejected definitions)
  • The expected format of the FireFly contract address in the "instance" config entry for Ethereum blockchains has changed (see "Migrations" below)
  • The default data exchange plugin has been renamed from https to ffdx (old name will still be accepted with a warning, but this will eventually become a fatal config error)

Other major items included in this release:

  • Support for running on ARM-based M1 processors
  • Rewrite of the message batching and event aggregation logic inside FireFly, to fix numerous edge cases with lost or hung messages
  • Hardening of operations and transactions to behave more consistently across all types
  • Metrics reporting to Prometheus
  • Continued development to support custom on-chain logic (still in preview)

Migrations

  • The Ethereum plugin now expects just a contract address in the instance field of the FireFly core config file. The value should be a hex string (with the 0x prefix) which is the Ethereum address of the FireFly smart contract. It is recommended to update any existing config file for this release, though this version will attempt to read values from existing configs and determine the contract address from the old value. Note: FireFly will not automatically update the config file as it treats it as read-only.

Here is an example of what your blockchain section should look like (your actual instance value will be a different hex string):

blockchain:
  type: ethereum
  ethereum:
    ethconnect:
      instance: 0x8707d1f1151220430fc8f89836b20bcf05d6eb41

Updated Dependencies

What's Changed

Full Changelog: v0.12.0...v0.13.0