Releases: hyperledger/firefly
Releases · hyperledger/firefly
v1.3.0
What's Changed
- Allow a message to contain two data items with the same hash by @awrichar in #1182
- remove near tutorial by @shorsher in #1183
- Fix typo in private & broadcast blob upload docs by @matthew1001 in #1185
- Fix configuration dynamic reload logic by @Chengxuan in #1194
- remove redundant reset by @Chengxuan in #1195
- Fix nightly integration tests by @nguyer in #1190
- Fix path in Fabric test-network tutorial by @nguyer in #1184
- Fail gracefully when inserting many data rows on sqlite by @awrichar in #1198
- Add "txid" and "txparent" to messages by @awrichar in #1163
- Call Features() getter to read DB provider features by @matthew1001 in #1197
- Fix spelling of "sequence" rewind and clarify API description by @awrichar in #1209
- Replace "UpsertBatch" with "InsertOrGetBatch" by @awrichar in #1208
- Re-poll immediately on full batch by @peterbroadhurst in #1204
- [tokens] Only Use broadcastName for Multi-Party Namespaces by @onelapahead in #1203
- [resolver] Unit Test for URL Encoding Key by @onelapahead in #1214
- Run Solidity tests on GitHub PRs by @awrichar in #1201
- Fix logging of blockchain event inserts by @awrichar in #1215
- Ensure cached transaction gets updated with new blockchain IDs by @awrichar in #1216
/api/v1/nextpins
route, complementing the/api/v1/pins
route in problem diagnosis by @peterbroadhurst in #1212- Correction of typos by @denisandreenko in #1218
- Propagate API context to announce in sync token pool creation cases by @peterbroadhurst in #1222
- Ensure that when we broadcast we use the org identity, not the default NS identity by @peterbroadhurst in #1223
- Add "intent" to address resolver plugin interface and API by @peterbroadhurst in #1226
- Do not reject messages from an unrecognized identity by @awrichar in #1224
- Fix minor typos and API example in docs by @matthew1001 in #1229
- Use the channel and signer to query transaction details from fabconnect by @matthew1001 in #1225
- Add version to log output and fix Dockerfile to include it by @nguyer in #1189
- Fix archive name for integration test logs by @nguyer in #1235
- Add an indxed column and simple query API for distinct sub-paths by @peterbroadhurst in #1236
- Validate and restore listeners on startup, and allow deletion if not found in connector by @peterbroadhurst in #1234
- Allow FireFly core to start, even if an individual Namespace cannot initialize by @peterbroadhurst in #1231
- Allow pinning a message to any blockchain contract invoke by @awrichar in #1213
- Cleanup around batches and transactions by @awrichar in #1202
- Resubmit any operations not yet in "Pending" state when an idempotency key clash is detected by @matthew1001 in #1230
- Actually start the legacy "ff_system" namespace when needed by @awrichar in #1246
- Do not update operations once they enter succeeded/failed state by @awrichar in #1257
- Add support for evmconnect's "execution reverted" error code by @awrichar in #1249
- Update CLI to v1.2.1 by @awrichar in #1260
- Fix coverage gaps from new operation update logic by @awrichar in #1259
- Allow operations to change between "Failed" and "Succeeded" by @awrichar in #1265
- Update rpc endpoints in polygon_testnet.md by @Chengxuan in #1268
- Try out large runners to see if they are faster. by @ryjones in #1269
- Pass
key
on queries to blockchain, after resolving with an intent to query by @peterbroadhurst in #1271 - Re-establish active subscriptions after dynamic Namespace reload by @peterbroadhurst in #1242
- Update Swagger UI used in the docs site by @nguyer in #1258
- Check message on-chain consistency before initializing context by @awrichar in #1251
- Add guide for rotating DX certs by @nguyer in #1181
- Fix updating Contract APIs by @nguyer in #1275
- Fix timing issue between Init and ConfigReload of Namespace Manager by @peterbroadhurst in #1280
- Fix 1287 by @peterbroadhurst in #1288
- Address coverage gap, and issue with intent propagation found via it by @peterbroadhurst in #1281
- Accept private groupinit messages from any signing key by @awrichar in #1282
- Do not retry after a rejected message by @awrichar in #1278
- chore(ci): switch to dedicated Firefly runners by @ryjones in #1286
- Add proper WHERE clause to contract API updates by @awrichar in #1292
- chore: remove deprecated config by @EnriqueL8 in #1289
- Remove duplicates prior to adding unique index on contract API ID by @awrichar in #1293
- Handle duplicate pool locators properly by @awrichar in #1295
- Retry tokens events consistent with FFDX, as we cannot push back nack by @peterbroadhurst in #1296
- feat: Upgrade to latest ffresty with mTLS by @EnriqueL8 in #1290
- Fix unique indexes for transfers/approvals to be per-namespace by @awrichar in #1299
- fix: missing test coverage by @EnriqueL8 in #1300
- Confirm group init messages during dispatch by @awrichar in #1309
- Update to Go v1.19 by @nguyer in #1233
- Update firefly-common v1.2.11 and firefly-signer v1.1.8 by @peterbroadhurst in #1314
- Do not allow a batch to contain messages from different signing keys by @awrichar in #1313
- Derive batch signing key from messages in the batch by @awrichar in #1316
- Separate "define" and "publish" for token pools, and allow deleting unpublished pools by @awrichar in #1261
- feat: background start for connector plugins by @EnriqueL8 in #1315
- Unset handlers when namespaces are deleted (but not when they are just reloaded) by @nguyer in #1318
- chore(docs): fix discord link by @ryjones in #1320
- Separate "define" and "publish" for contract interfaces, and allow deleting unpublished interfaces by @awrichar in #1279
- Clean up remaining definition tests by @awrichar in #1321
- Separate "define" and "publish" for contract APIs, and allow deleting unpublished APIs by @awrichar in #1322
- Do not perform key resolution when looking up multiparty root org by @awrichar in #1329
- Add unit test for "delete contract API" route by @awrichar in #1327
- Perform nextpin calculations for both confirmed and rejected messages by @awrichar in #1326
- Process batch of events from Blockchain connector, in a single DB TX by @peterbroadhurst in #1331
- fix: multiple named tuple result from contract by @EnriqueL8 in #1333
- Move idempotency key architecture docs into main docs site by @peterbroadhurst in #1334
- Use a more optimistic approach when inserting token transfer events by @matthew1001 in #1291
- Update idempotency.md ...
v1.3.0-rc.2
What's Changed
- Fix AssetManager startup retry by @nguyer in #1484
- Update UI to v1.3.0 by @nguyer in #1482
- Fix build tag in release GitHub action by @nguyer in #1480
- Upgrade to hardhat-toolbox for batch bin and custom pin contracts by @nguyer in #1479
- DeployContract implementation for Tezos connector by @alex-semenyuk in #1481
- Update Tezos documentation by @alex-semenyuk in #1488
- Update webhook docs by @EnriqueL8 in #1471
- feat: Add metrics for messaging when performing a token transfer by @EnriqueL8 in #1490
- Fix broken links at docs by @alex-semenyuk in #1489
- Allow cancelling a batch that is stuck in dispatch by @awrichar in #1487
- Add documentation to outline how EVM revert errors are handled by @matthew1001 in #1493
- Update manifest.json for v1.3.0 by @nguyer in #1494
Full Changelog: v1.3.0-rc.1...v1.3.0-rc.2
v1.3.0-rc.1
What's Changed
- Allow a message to contain two data items with the same hash by @awrichar in #1182
- remove near tutorial by @shorsher in #1183
- Fix typo in private & broadcast blob upload docs by @matthew1001 in #1185
- Fix configuration dynamic reload logic by @Chengxuan in #1194
- remove redundant reset by @Chengxuan in #1195
- Fix nightly integration tests by @nguyer in #1190
- Fix path in Fabric test-network tutorial by @nguyer in #1184
- Fail gracefully when inserting many data rows on sqlite by @awrichar in #1198
- Add "txid" and "txparent" to messages by @awrichar in #1163
- Call Features() getter to read DB provider features by @matthew1001 in #1197
- Fix spelling of "sequence" rewind and clarify API description by @awrichar in #1209
- Replace "UpsertBatch" with "InsertOrGetBatch" by @awrichar in #1208
- Re-poll immediately on full batch by @peterbroadhurst in #1204
- [tokens] Only Use broadcastName for Multi-Party Namespaces by @hfuss in #1203
- [resolver] Unit Test for URL Encoding Key by @hfuss in #1214
- Run Solidity tests on GitHub PRs by @awrichar in #1201
- Fix logging of blockchain event inserts by @awrichar in #1215
- Ensure cached transaction gets updated with new blockchain IDs by @awrichar in #1216
/api/v1/nextpins
route, complementing the/api/v1/pins
route in problem diagnosis by @peterbroadhurst in #1212- Correction of typos by @denisandreenko in #1218
- Propagate API context to announce in sync token pool creation cases by @peterbroadhurst in #1222
- Ensure that when we broadcast we use the org identity, not the default NS identity by @peterbroadhurst in #1223
- Add "intent" to address resolver plugin interface and API by @peterbroadhurst in #1226
- Do not reject messages from an unrecognized identity by @awrichar in #1224
- Fix minor typos and API example in docs by @matthew1001 in #1229
- Use the channel and signer to query transaction details from fabconnect by @matthew1001 in #1225
- Add version to log output and fix Dockerfile to include it by @nguyer in #1189
- Fix archive name for integration test logs by @nguyer in #1235
- Add an indxed column and simple query API for distinct sub-paths by @peterbroadhurst in #1236
- Validate and restore listeners on startup, and allow deletion if not found in connector by @peterbroadhurst in #1234
- Allow FireFly core to start, even if an individual Namespace cannot initialize by @peterbroadhurst in #1231
- Allow pinning a message to any blockchain contract invoke by @awrichar in #1213
- Cleanup around batches and transactions by @awrichar in #1202
- Resubmit any operations not yet in "Pending" state when an idempotency key clash is detected by @matthew1001 in #1230
- Actually start the legacy "ff_system" namespace when needed by @awrichar in #1246
- Do not update operations once they enter succeeded/failed state by @awrichar in #1257
- Add support for evmconnect's "execution reverted" error code by @awrichar in #1249
- Update CLI to v1.2.1 by @awrichar in #1260
- Fix coverage gaps from new operation update logic by @awrichar in #1259
- Allow operations to change between "Failed" and "Succeeded" by @awrichar in #1265
- Update rpc endpoints in polygon_testnet.md by @Chengxuan in #1268
- Try out large runners to see if they are faster. by @ryjones in #1269
- Pass
key
on queries to blockchain, after resolving with an intent to query by @peterbroadhurst in #1271 - Re-establish active subscriptions after dynamic Namespace reload by @peterbroadhurst in #1242
- Update Swagger UI used in the docs site by @nguyer in #1258
- Check message on-chain consistency before initializing context by @awrichar in #1251
- Add guide for rotating DX certs by @nguyer in #1181
- Fix updating Contract APIs by @nguyer in #1275
- Fix timing issue between Init and ConfigReload of Namespace Manager by @peterbroadhurst in #1280
- Fix 1287 by @peterbroadhurst in #1288
- Address coverage gap, and issue with intent propagation found via it by @peterbroadhurst in #1281
- Accept private groupinit messages from any signing key by @awrichar in #1282
- Do not retry after a rejected message by @awrichar in #1278
- chore(ci): switch to dedicated Firefly runners by @ryjones in #1286
- Add proper WHERE clause to contract API updates by @awrichar in #1292
- chore: remove deprecated config by @EnriqueL8 in #1289
- Remove duplicates prior to adding unique index on contract API ID by @awrichar in #1293
- Handle duplicate pool locators properly by @awrichar in #1295
- Retry tokens events consistent with FFDX, as we cannot push back nack by @peterbroadhurst in #1296
- feat: Upgrade to latest ffresty with mTLS by @EnriqueL8 in #1290
- Fix unique indexes for transfers/approvals to be per-namespace by @awrichar in #1299
- fix: missing test coverage by @EnriqueL8 in #1300
- Confirm group init messages during dispatch by @awrichar in #1309
- Update to Go v1.19 by @nguyer in #1233
- Update firefly-common v1.2.11 and firefly-signer v1.1.8 by @peterbroadhurst in #1314
- Do not allow a batch to contain messages from different signing keys by @awrichar in #1313
- Derive batch signing key from messages in the batch by @awrichar in #1316
- Separate "define" and "publish" for token pools, and allow deleting unpublished pools by @awrichar in #1261
- feat: background start for connector plugins by @EnriqueL8 in #1315
- Unset handlers when namespaces are deleted (but not when they are just reloaded) by @nguyer in #1318
- chore(docs): fix discord link by @ryjones in #1320
- Separate "define" and "publish" for contract interfaces, and allow deleting unpublished interfaces by @awrichar in #1279
- Clean up remaining definition tests by @awrichar in #1321
- Separate "define" and "publish" for contract APIs, and allow deleting unpublished APIs by @awrichar in #1322
- Do not perform key resolution when looking up multiparty root org by @awrichar in #1329
- Add unit test for "delete contract API" route by @awrichar in #1327
- Perform nextpin calculations for both confirmed and rejected messages by @awrichar in #1326
- Process batch of events from Blockchain connector, in a single DB TX by @peterbroadhurst in #1331
- fix: multiple named tuple result from contract by @EnriqueL8 in #1333
- Move idempotency key architecture docs into main docs site by @peterbroadhurst in #1334
- Use a more optimistic approach when inserting token transfer events by @matthew1001 in #1291
- Update idempotency.md to fix sente...
v1.2.2
v1.2.1
What's Changed
- v1.2: Fix postgres optimizations, fail gracefully when inserting many data rows by @awrichar in #1283
- v1.2: Replace "UpsertBatch" with "InsertOrGetBatch" by @awrichar in #1284
- Enable workflows for release branch by @awrichar in #1285
- v1.2: Backport fixes by @awrichar in #1338
- v1.2: fix: multiple named tuple result from contract by @awrichar in #1365
Full Changelog: v1.2.0...v1.2.1
v1.1.4
What's Changed
- v1.1: Replace "UpsertBatch" with "InsertOrGetBatch" by @awrichar in #1211
- v1.1 backport: Re-poll immediately on full batch by @peterbroadhurst in #1205
- Include signing key in batch processor identifier by @awrichar in #1273
Full Changelog: v1.1.3...v1.1.4
v1.2.0
What’s New:
- Enhanced support for token contracts generated by the OpenZepplin Wizard
- Custom smart contract error types are now returned on the API
- Data objects and associated blobs can now be deleted
- Optional dynamic reload of core configuration file
- The X-FireFly-Request-ID HTTP header is now passed through to FireFly dependency microservices
- Custom HTTP headers can be passed through to FireFly dependency microservices
- Evmconnect is now the default blockchain connector for Ethereum based FireFly stacks
Migration Guide
v1.2.0 is a feature release, and in most circumstances requires no extra migration steps by the end user to upgrade. However there are some changes that are worth noting and may need consideration. For a full list of migration considerations, please see the v1.2.0 Migration Guide in the docs.
What's Changed
- Move DB logic to firefly-common impl by @peterbroadhurst in #1110
- zksync by @aznrayizzle in #1114
- Fix typo in erc1155.md by @ander-db in #1115
- Add messages to token approvals by @nguyer in #1118
- Minor cleanup in token pool event processing by @awrichar in #1124
- Custom errors support in FFI contract invocations and queries by @jimthematrix in #1125
- Add 'fetchstatus=true' query param to /operations/{opid} by @matthew1001 in #1111
- Add ability to bind a contract interface to a token pool by @awrichar in #1123
- Add strong nil checking on orchestrator and redress test coverage by @peterbroadhurst in #1130
- Add docs on fftokens by @awrichar in #1129
- Add FIR-16 enhancements to fftokens documentation by @awrichar in #1137
- Fix coverage gap in FFIErrors, and make DB interface consistent by @peterbroadhurst in #1133
- Add docs on passing ABI info to token pools by @awrichar in #1131
- remove XDC by @aznrayizzle in #1126
- Typo - change WebHooks to WebSockets by @matthew1001 in #1112
- Fix: typos by @omahs in #1136
- Update example script by @Chengxuan in #1120
- Add support for passing custom HTTP headers through by @nguyer in #1122
- Update to firefly-common@v1.2.1 by @nguyer in #1140
- Default token pool interfaceFormat to empty string by @awrichar in #1142
- Minor fix to alpha versions in version scheme doc by @awrichar in #1143
- Add option to invoke the addressResolver on every call by @peterbroadhurst in #1141
- Dynamic configuration reload by @peterbroadhurst in #1113
- Add DELETE method for data API by @nguyer in #1132
- Add missing fields and descriptions to custom contract API swagger by @nguyer in #1119
- Verify the default key in all cases by @peterbroadhurst in #1144
- Minor cleanup in fftokens docs by @awrichar in #1150
- Rename operation detailedStatus to detail by @nguyer in #1151
- public vs. permissioned page by @aznrayizzle in #1152
- v1.2.0-alpha.1 by @nguyer in #1154
- Fix panic on webhooks without messages by @nguyer in #1156
- Allow receiving a message with no data by @awrichar in #1160
- Keep Docker state between builds by @awrichar in #1164
- Update dependencies for v1.2.0 by @nguyer in #1168
- Update dependencies for v1.2.0 by @nguyer in #1171
- Fix coverage gap in webhooks test by @nguyer in #1169
- Update to docker/build-push-action@v4 by @nguyer in #1174
- Include signing key in batch processor identifier by @awrichar in #1175
- Add stack type to nightly integration tests by @nguyer in #1172
- Add contractLocation field to deploy transaction output by @nguyer in #1178
- Add migration guide for v1.2.0 by @nguyer in #1159
- Update UI and CLI to v1.2.0 by @nguyer in #1180
New Contributors
Full Changelog: v1.1.2...v1.2.0
v1.2.0-rc.4
v1.2.0-rc.3
What's Changed
- Fix coverage gap in webhooks test by @nguyer in #1169
- Update to docker/build-push-action@v4 by @nguyer in #1174
- Include signing key in batch processor identifier by @awrichar in #1175
- Add stack type to nightly integration tests by @nguyer in #1172
Full Changelog: v1.2.0-rc.2...v1.2.0-rc.3