v0.14.0
Summary
- Major UI Update - Includes Activity, Blockchain, Off-Chain, Tokens, Network Map, and My Node sections (https://github.com/hyperledger/firefly-ui)
- Custom contract APIs complete
- Enhanced subscription filters
- Event API enrichment
- Performance updates
- Bug fixes
Breaking Changes and Migrations
- FIR-9 Enhanced Identity API - custom identities and DID support
- New namespaced API endpoints to manage identities within a namespace:
POST/api/v1/namespaces/identities- async broadcast, withconfirm=trueoption for syncGET/api/v1/namespaces/identities- collection of identities within namespaceGET/api/v1/namespaces/identities/{iid}- individual identityGET/api/v1/namespaces/identities/{iid}/did- generated DID documentGET/api/v1/namespaces/identities/{iid}/verifiers- collection of keys
- New non-namespaced endpoint is provided to look up identities by DID:
GET/api/v1/network/identities/{did}- efficient cached DID to identity resolution
- Minor changes to existing APIs
GET/api/v1/network/organizations- now returnsidentityobjectGET/api/v1/network/nodes- now returnsidentityobjectGET/api/v1/status- now returns thedidof the local organization- The
identityfield in nodes/orgs has been removed (used to contain the signing key) - The
didfield fromidentityis newly available on nodes and orgs
- Existing node and organization identities are migrated to the new identity API
- No migration support for non-root organizations, as the FIR-9 security model requires a verification transaction from the parent organization that is not available.
- Existing root
organizationandnodeobjects are migrated - New nodes joining a network can process previously published
organizationandnodeidentities - All organizations now represented as an
identityin theff_systemnamespace with special typesorgandnode
- New namespaced API endpoints to manage identities within a namespace:
- Operation type strings have been updated for consistency:
blockchain_pin_batch- previouslyblockchain_batch_pindataexchange_send_batch- previouslydataexchange_batch_senddataexchange_send_blob- previouslydataexchange_blob_sendsharedstorage_upload_batch- previouslysharedstorage_batch_broadcastsharedstorage_upload_blob- newsharedstorage_download_batch- newsharedstorage_download_blob- new
- Blockchain events
- The
/api/v1/contracts/subscriptionsendpoint has been renamed to/api/v1/contracts/listeners - The
/messages/{msgid}/operationsendpoint has been removed - Events of type
blockchain_eventare now typeblockchain_event_received
- The
- The Ethereum plugin now expects a different input format to generate a FireFly Contract Interface from an Ethereum ABI. Please see the docs for full details.
- The Public Storage plugin interface has been renamed to Shared Storage. The FireFly core config should be updated to replace
publicstoragewithsharedstorageas a root key. This release of FireFly is still backwards compatible with the old config key.
Updated Dependencies
- firefly-ethconnect v3.1.5
- firefly-fabconnect v0.9.13
- firefly-tokens-erc1155 v0.10.6
- firefly-tokens-erc20-erc721 v0.2.0
- firefly-ui v0.6.0
What's Changed
- FIR-9: Identity enhancements by @peterbroadhurst in #549
- Rename contract subscriptions to contract listeners by @nguyer in #548
- Rename Public Storage to Shared storage by @nguyer in #538
- Add missing itype column in SQLite migration by @peterbroadhurst in #577
- Add Operations Manager, wrap all operations, and add retry functionality by @awrichar in #517
- Handle operations with retries in transaction status by @awrichar in #578
- [charts-by-type] histogram broken down by type by @eberger727 in #547
- Enhance subscription filters & event enrichment by @shorsher in #579
- add
fetchreferencesparam to events api by @shorsher in #587 - Use CLI to deploy test contract by @nguyer in #589
- Update batch logic to only store+hash the manifest by @peterbroadhurst in #582
- Batching message writer routines, to use multi-value insert across API calls on message/data insert by @peterbroadhurst in #592
- Event lookup cache by @peterbroadhurst in #593
- Add DB tuning to keep conns option, and correct cache bypass on group lookup by @peterbroadhurst in #594
- Scope subscription check to the appropriate stream ID by @jebonfig in #591
- Move blob publish to broadcast batch dispatch, ensure public refs on inbound by @peterbroadhurst in #596
- Performance enhancements from flame graph analysis by @peterbroadhurst in #599
- Remove route /messages/{msgid}/operations by @awrichar in #602
- Upgrade dependencies by @nguyer in #605
- Add "info" field to token pools, consume "symbol" from connectors by @awrichar in #606
- [blockchainevents-charts] support for blockchain event charting by @eberger727 in #612
- Add E2E test support for ERC20/ERC721 by @awrichar in #611
- Add firstEvent field to contract listeners by @nguyer in #603
- Dependency updates for v0.14 testing by @peterbroadhurst in #613
- Batch confirm messages, and update events to contain topic+tag by @peterbroadhurst in #600
- Change node/org lookups to support name or ID by @awrichar in #616
- Update microservices versions for v0.14.0 by @nguyer in #615
- Restart stack and re-run E2E tests in daily integration job by @nguyer in #608
- Add Shared Storage Download Manager by @peterbroadhurst in #607
- Add route to lookup identity by DID by @awrichar in #617
- Blockchain metrics for Ethereum by @nguyer in #584
- [ui-v0.6.0] PR for new UI release by @eberger727 in #619
- Custom contracts docs by @nguyer in #604
- [ui-v0.6.0-release] new ui release by @eberger727 in #620
Full Changelog: v0.13.1...v0.14.0
