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 to fix sentence by @matthew1001 in #1335
- Surface message rejection reason to API by @awrichar in #1336
- Update Fabric chaincode Dockerfile by @lanasta in #1302
- Fix coverage drop in aggregator by @awrichar in #1337
- feat: TLS Configs for Webhooks by @EnriqueL8 in #1330
- docs: add mTLS section by @EnriqueL8 in #1325
- Fix uniqueness check in InsertOrGetFFI to match indexes by @awrichar in #1346
- FabConnect does not / can not set transactionIndex and eventIndex by @peterbroadhurst in #1345
- Use NetworkName instead of Name for definition topics by @awrichar in #1351
- feat: expose retry and HTTP options for webhooks by @EnriqueL8 in #1353
- Add E2E test for indexing an existing ERC1155 by @awrichar in #1352
- Remove token pools from the cache upon deletion by @awrichar in #1356
- Docs improvements by @ssmirr in #1348
- Do not set operation state to failed if we get a 409 - leave unchanged by @peterbroadhurst in #1361
- Postgres concurrency:true by @peterbroadhurst in #1342
- Batch insert of events all the way to the DB operations by @peterbroadhurst in #1343
- Further optimize blockchain transaction inserts to DB by @peterbroadhurst in #1354
- Add fftokens docs on /deactivatepool by @awrichar in #1332
- Automatically check operation status when querying pending transaction by @nguyer in #1341
- feat: batching events and webhook plugin support by @EnriqueL8 in #1359
- Log full payload of critical EVMConnect actions at DEBUG level by @peterbroadhurst in #1371
- Add httpOptions.proxyURL option to Subscription by @peterbroadhurst in #1372
- Detect partial success when performing batch insert of blockchain events by @awrichar in #1377
- Correctly parse blockchain subscription name when delivering events by @awrichar in #1378
- Add unit test for LIKE filters with escaped characters by @awrichar in #1364
- Prevent inserting token transfers with invalid blockchain event refs by @awrichar in #1386
- Update CODEOWNERS and MAINTAINERS.md by @nguyer in #1373
- Enrich events for contract deploy success/failure by @awrichar in #1391
- Two functions with the same param types, but different names, cannot share a cache entry by @peterbroadhurst in #1389
- Do not expect to retrieve local org during definition handling by @awrichar in #1398
- handle update for unpublished API by @Chengxuan in #1395
- Replace token pool "confirmed" state with "active" bool by @awrichar in #1305
- Enhance OpenAPI interface, for namespace-local APIs, and extra routing options by @peterbroadhurst in #1400
- Update README.md by @nguyer in #1399
- Fix SQL migration conflict and coverage gaps by @nguyer in #1401
- Tezos plugin support by @denisandreenko in #1402
- Update manifest by @denisandreenko in #1403
- check enabled for organization creation in non-multiparty system by @arinddas in #1405
- Fix table of contents view by @denisandreenko in #1409
- Fix database migration order by @nguyer in #1407
- Handle idempotent retry after error during initializing phase by @peterbroadhurst in #1406
- Add docs for AND/OR option by @peterbroadhurst in #1413
- namespace scoped web sockets by @hosie in #1419
- Documentation for working with the Tezos Blockchain by @denisandreenko in #1412
- Include "detail" param in Swagger for GET operation by @awrichar in #1420
- Call ResolveFFI from GenerateFFI by @awrichar in #1423
- DA-539 Update tezos docs by @denisandreenko in #1426
- Fix JSON schema output for custom contracts by @nguyer in #1427
- Definition conflicts should be HTTP 409 by @awrichar in #1430
- Add name/version if not specified by @peterbroadhurst in #1432
- Reflect through submissionRejected JSON body from FFTM/EVMConnect by @peterbroadhurst in #1436
- chore: start upgrade to firefly-common 1.4.1 by @SamMayWork in #1440
- typo: Inpsect vs Inspect by @torrespro in #1417
- Publish FFI with children by @nguyer in #1425
- Correct uniqueness lookup for nil location by @peterbroadhurst in #1433
- Docs/tezos by @denisandreenko in #1438
- Update log level in config auto reload by @nguyer in #1424
- Enable batch delivery over WebSockets by @peterbroadhurst in #1447
- feat: Add an API to allow for querying events under a subscription with additional filtering by @SamMayWork in #1452
- fix-1297 by @peterbroadhurst in #1298
- log: add debug logs for webhook by @EnriqueL8 in #1380
- Add Tezos connector to README by @alex-semenyuk in #1464
- DA-587 Update tezos docs (FFI section) by @denisandreenko in #1456
- Update comment to reflect availability with WebSockets by @peterbroadhurst in #1449
- Tezos Connector map converter by @alex-semenyuk in #1451
- fix: Merge ID into PATCH calls for identity if one is not provided by @SamMayWork in #1458
- fix: Status call returns properly when node is not registered but organisation is by @SamMayWork in #1467
- Update the FF manifest by @denisandreenko in #1448
- Intermittent unit tests by @Philip-21 in #1463
- adding vuln checks for high/critical severity by @ssmirr in #1462
- Update dependencies. Update to Go 1.21 by @nguyer in #1454
- Add map example to Tezos docs by @alex-semenyuk in #1468
- Fix contract method not found error by @nguyer in #1473
- Use non-root user in Docker image by @nguyer in #1439
- Update firefly-common by @nguyer in #1476
- Use separate event stream per namespace by @nguyer in #1388
- Update manifest.json by @nguyer in #1477
- 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
- update blockchain connector docs to match the latest by @Chengxuan in #1498
- Update the FF error docs to be in a more suitable place in the nav and give clearer out-of-the-box examples by @matthew1001 in #1499
- Upgrade psql client dependency by @nguyer in #1504
- Update token connectors by @nguyer in #1495
- Send start msg on reconnect for token connectors by @EnriqueL8 in #1502
- Add base API url to contract api result by @EnriqueL8 in #1501
- fix metrics when recording length of confirmed event by @EnriqueL8 in #1496
- Update manifest with evmconnect 1.3.8 by @EnriqueL8 in #1505
- Move doc site to new Hyperledger template by @nguyer in #1503
- docs: Prepare documentation for FireFly v1.3.0 by @SamMayWork in #1461
New Contributors
- @denisandreenko made their first contribution in #1218
- @EnriqueL8 made their first contribution in #1289
- @lanasta made their first contribution in #1302
- @ssmirr made their first contribution in #1348
- @arinddas made their first contribution in #1405
- @hosie made their first contribution in #1419
- @SamMayWork made their first contribution in #1440
- @torrespro made their first contribution in #1417
- @alex-semenyuk made their first contribution in #1464
- @Philip-21 made their first contribution in #1463
Full Changelog: v1.2.2...v1.3.0