Releases: filecoin-project/go-f3
Releases · filecoin-project/go-f3
v0.4.0
What's Changed
- Implement WriteAheadLog by @Kubuxu in #640
- Remove panic cases from TipSet methods and simplify nil handling by @Stebalien in #645
- Refactor
Chain
interface into separate do-er interfaces by @masih in #651 - Fix zero-power in gpbft committee test by @Stebalien in #656
- Fix WAL purge error log by @Stebalien in #655
- Store & pass the power table by reference by @Stebalien in #654
- Use a mask for BLS aggregation and improve caching by @Stebalien in #604
- Refactor validation logic into a mutex-free pluggable struct by @masih in #657
- Add self-equivocation filter by @Kubuxu in #648
- Drop messages that are no longer useful for GPBFT progression by @masih in #649
- Switch back to upstream BDN by @Stebalien in #661
- Simplify participant locking and expose current GPBFT progress by @masih in #663
- Reduce GOGC in fuzz tests by @masih in #667
- Fix F3 lookback test by advancing time by @Stebalien in #668
- Fix power-entry comparison by @Stebalien in #669
- Refactor F3 tests by @Stebalien in #670
- Remove the unused
terminatedDuringRound
participant field by @masih in #665 - Fix F3 Start/Stop docs by @Stebalien in #672
- Make the FakeEC more configurable by @Stebalien in #675
- Improve powerstore error handling by @Stebalien in #676
- Don't abort if we fail to deliver an alarm and/or start an instance by @Stebalien in #674
- Avoid holding the F3 lock while starting it by @Stebalien in #677
- Expose access to progress on f3 runner by @masih in #673
- Load the initial power table from the network even if we have the tipset by @Stebalien in #662
- Fix receive cert error handling by @masih in #680
- Fail fast in equivocation tests and fix typos by @masih in #681
- Move redundant top-level singer-marshaller interface by @masih in #682
- Fix TestF3LateBootstrap flake by @Stebalien in #683
- Bump the protocol version compatibility by @Stebalien in #678
- Update manifest defaults for mainnet by @Stebalien in #686
- Implement new "fusing" and "no" manifest providers by @Stebalien in #687
- Support filtering received dynamic manifest by @Stebalien in #689
- Specify whether or not to finalize tipsets in the manifest itself by @Stebalien in #688
- TestF3LateBootstrap: don't let F3 get too far behind by @Stebalien in #690
- Bump version in prep to release
v0.4.0
by @masih in #685
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- ci: uci/update-go by @web3-bot in #581
- Improve certstore metrics by @Stebalien in #582
- Go back to using a gauge for instance sizes by @Stebalien in #584
- Fix ticket handling, switch to exponential ticket election by @Kubuxu in #578
- Add metrics for all F3 datastore interactions by @masih in #587
- Fix power overflow issues when checking for a potential strong quorum by @Stebalien in #590
- Reduce duplicate code in deny adversary by @masih in #586
- Adjust epsilon for ticket quality tests by @masih in #594
- Include QUALITY messages in rebroadcast by @masih in #597
- Enforce maximum public key size to 48 bytes by @masih in #605
- Select next best converge value compatible with our candidate set by @Kubuxu in #589
- Update go version used by fuzz tests by @masih in #612
- Replace cache set maps instead of clearing them by @Stebalien in #611
- Refactor handling of late-arriving COMMITs by @masih in #609
- Propagate DECIDE messages from the previous instance by @Stebalien in #607
- Remove redundant loop variable redeclaration in light of Go 1.22 by @masih in #618
- Remove unused argument in find best ticket proposal by @masih in #622
- On
tryCommit
only rebroadcast at current round / phase by @masih in #620 - Fuzz spam adversary test by @masih in #621
- Test additional cases for invalid justification by @masih in #619
- Use real CIDs by @Stebalien in #613
- Handle late arriving QUALITY messages in every round by @masih in #606
- Expand tests for bad chain input by @masih in #625
- Test additional invalid justifications by @masih in #626
- Remove unused/duplicate rebroadcast metric by @masih in #628
- Test exact 1/3:2/3 power split by @masih in #629
- Test uneven power distribution with late arriving COMMIT by @masih in #631
- Capture broadcasted messages for re-broadcasting even at panic by @masih in #627
- Unit test ticket quality computation by @masih in #630
- Rename the term Ticket Quality to Ticket Rank for better readability by @masih in #633
- Consistently use
Phase
instead ofStep
by @masih in #634 - Test sway at commit and converge for unseen candidates by @masih in #617
- Randomize rebroadcast backoff by @Stebalien in #635
- refactor: simplify rebroadcast logic and prioritize important messages by @Stebalien in #636
- Resolve bootstrap addresses before connecting in manifest server by @masih in #639
- Move fake EC out of production API by @masih in #641
- fix: downgrade kilic/bls12-381 back to v0.1.0 by @Stebalien in #644
- Simplify CertStore subscriber by @Stebalien in #646
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Fix off-by-one in base decision backoff by @Kubuxu in #572
- Add topic scoring & reduce pubsub spam by @Stebalien in #573
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- Fix %w in logs by @Kubuxu in #521
- Add phase attribute to the broadcastCounter by @Kubuxu in #522
- Move f3 tests to f3 package by @Kubuxu in #523
- More metrics by @Kubuxu in #524
- Test EC head lookback by @Stebalien in #515
- Remove time-less FakeEC by @Stebalien in #525
- configure code cov threshold by @Stebalien in #526
- Measure time spent on validating messages tagged by result by @masih in #528
- Add basic certificate exchange metrics by @Stebalien in #529
- Measure time spent on validation as seconds in float64 by @masih in #531
- Use built-in time.Seconds to measure elapsed time as float64 by @masih in #532
- Measure fetch committee and fetch instance times by @masih in #533
- Measure duplicate validated messages within a bounded size by @masih in #534
- Setup pubsub params by @Kubuxu in #536
- Make docker happy by @Stebalien in #537
- Offset the predicted CX interval if we align with the GPBFT interval by @Stebalien in #530
- Refactor duplicate measurements related code into internal package by @masih in #541
- chore: Fix typo in
waiting for
log by @rjan90 in #544 - Cache decompressed points by @Stebalien in #543
- Add manifest sender metrics by @masih in #545
- Measure current instance, phase and round change regardless of consensus by @masih in #546
- Add signature verification/aggregation metrics and panic handlers by @Stebalien in #551
- Measure the number of validated messages with a finer grain tagging by @masih in #552
- Fix point cache test by GCing better by @Stebalien in #556
- Update kilic/bls12-381 by @Stebalien in #559
- Restore default GOGC for CI fuzz tests by @masih in #562
- Introduce instance-aware validated message caching by @masih in #557
- Use a fixed version of golangci-lint and fix lint issues by @masih in #563
- Cache valid justifications to avoid duplicate justification validation by @masih in #560
- Improve GPBFT Logging by @Stebalien in #566
New Contributors
Full Changelog: v0.0.7...v0.1.0
v0.0.7
What's Changed
- Switch to the big-int library we use in go-state-types by @Stebalien in #519
Full Changelog: v0.0.6...v0.0.7
v0.0.6
What's Changed
- Introduce a fake clock to F3 by @Kubuxu in #473
- Test: Wait a bit longer in TestF3PauseResumeCatchup by @Stebalien in #483
- Improve power-table loading logic by @Stebalien in #481
- Manifest enhancements by @Kubuxu in #486
- Implement the "ohshitstore" by @Stebalien in #487
- Emulator: Clone the power entries before modifying by @Stebalien in #489
- Try to fetch inital power table if specified by @Kubuxu in #488
- Engague the OhShitStore based on the f3Base, not the head by @Stebalien in #490
- Remove releaser custom secret from CI by @masih in #491
- test: fix TestPauseResumeCatchup flake by @Stebalien in #495
- test: verify that we can get the power table for an instance by @Stebalien in #496
- Fix wrong source check in dynamic manifest, add logs, fix backoff, by @Kubuxu in #493
- Implement nil manifest unmarshalling by @masih in #498
- test: increase timeouts for pause/rebootstrap test by @Stebalien in #499
- Explicitly configure pubsub message IDs by @Stebalien in #497
- Manifest: Separate sections per subsystem by @Stebalien in #501
- Reintroduce manifest pause by @masih in #500
- Remove explicit pause/resume from the manifest sender by @Stebalien in #503
- Fix typos in f3 tests and remove redundant code by @masih in #504
- Remove unused logger interface by @masih in #507
- Implement manifest validation by @Stebalien in #506
- Add log for waiting for bootstrap by @Kubuxu in #505
- test: deflake more tests by @Stebalien in #508
- Prefix all metric names with f3 by @masih in #509
- Downgrade log levels by @Kubuxu in #510
- Periodically connect to bootstrappers in manifest server by @masih in #511
- certexchange: cancel request context when returning by @Stebalien in #512
- Add HeadLookback parameter by @Kubuxu in #513
- Add lookback delay to the head timestamp by @Stebalien in #514
- Release
v0.0.5
by @masih in #492
Full Changelog: v0.0.4...v0.0.6
v0.0.5
What's Changed
- Introduce a fake clock to F3 by @Kubuxu in #473
- Test: Wait a bit longer in TestF3PauseResumeCatchup by @Stebalien in #483
- Improve power-table loading logic by @Stebalien in #481
- Manifest enhancements by @Kubuxu in #486
- Implement the "ohshitstore" by @Stebalien in #487
- Emulator: Clone the power entries before modifying by @Stebalien in #489
- Try to fetch inital power table if specified by @Kubuxu in #488
- Engague the OhShitStore based on the f3Base, not the head by @Stebalien in #490
- Remove releaser custom secret from CI by @masih in #491
- test: fix TestPauseResumeCatchup flake by @Stebalien in #495
- test: verify that we can get the power table for an instance by @Stebalien in #496
- Fix wrong source check in dynamic manifest, add logs, fix backoff, by @Kubuxu in #493
- Implement nil manifest unmarshalling by @masih in #498
- test: increase timeouts for pause/rebootstrap test by @Stebalien in #499
- Explicitly configure pubsub message IDs by @Stebalien in #497
- Manifest: Separate sections per subsystem by @Stebalien in #501
- Reintroduce manifest pause by @masih in #500
- Remove explicit pause/resume from the manifest sender by @Stebalien in #503
- Fix typos in f3 tests and remove redundant code by @masih in #504
- Remove unused logger interface by @masih in #507
- Implement manifest validation by @Stebalien in #506
- Add log for waiting for bootstrap by @Kubuxu in #505
- test: deflake more tests by @Stebalien in #508
- Prefix all metric names with f3 by @masih in #509
- Downgrade log levels by @Kubuxu in #510
- Periodically connect to bootstrappers in manifest server by @masih in #511
- certexchange: cancel request context when returning by @Stebalien in #512
- Add HeadLookback parameter by @Kubuxu in #513
- Add lookback delay to the head timestamp by @Stebalien in #514
- Release
v0.0.5
by @masih in #492
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- ci: fix coverage ignore by @Stebalien in #451
- Improve test parallelism by @Stebalien in #452
- certstore: test some additional edge-cases by @Stebalien in #453
- Check that justification supplemental data matches the vote by @Stebalien in #454
- Transition from xerrors to errors and fmt by @Kubuxu in #455
- Test immediate progress from Prepare when quorum is not possible by @masih in #457
- Follow golang naming convention for constants by @masih in #344
- Add metrics for error counts tagged by type by @masih in #456
- Remove unused
MakeTicket
function by @masih in #458 - Disable TestFailRecover by @Kubuxu in #465
- Use consistent spelling for "marshaler" by @masih in #466
- Implement additional message validation unit tests by @masih in #464
- Fix typo in manifest EC config by @masih in #467
- Gracefully handle EC diverging from F3 by @Kubuxu in #462
- Make it possible to disable some/all participants via the manifest by @Stebalien in #469
- Pass context variables to runningCtx by @Kubuxu in #471
- Slightly improve aggregation test suite by @Kubuxu in #470
- Remove manifest versions by @Stebalien in #472
- Set default Certificate exchange config in local devnet manifest by @masih in #475
Full Changelog: v0.0.3...v0.0.4
v0.0.3
What's Changed
- F3-229: manifest provider, ec decoupling from f3, and dynamic manifest update by @adlrocha in #348
- Implement a GPBFT emulator and test state transitions by @masih in #359
- F3-390: Pause callback for dyncamic manifest by @adlrocha in #391
- Test GPBFT queues and drains future instance messages by @masih in #394
- Implement dynamic manifest libp2p server by @masih in #397
- Containerise
f3
binary and publish to ghcr by @masih in #398 - Revert changes to EC backoff introduced in #382 by @Kubuxu in #399
- Implement certificate exchange by @Stebalien in #378
- Implement the head offset by @Kubuxu in #400
- Maybe fix spurious error in tests by @Kubuxu in #402
- Fix error return in F3.Run by @Stebalien in #403
- Align power table delay with FIP by @Kubuxu in #404
- Delete content of CertStore by @Kubuxu in #401
- Misc test improvments by @Kubuxu in #407
- Publish container images for both arm and amd 64 by @masih in #409
- Use mock libp2p in tests by @Kubuxu in #410
- Inform GPBFT of decisions from finality certificates by @Stebalien in #408
- Add support for specifying manifest server bootstrap addrs from file by @masih in #412
- Add context to Signer interface by @Kubuxu in #411
- Fail gracefully on manifest server bootstrap connection by @masih in #413
- Fix typo in sentinel error by @masih in #415
- Explicitly set the
stringer
version in go-generate by @masih in #417 - Test rebroadcast and fix rebroadcast reset issue by @masih in #414
- Test GPBFT skips to decide by @masih in #418
- Integrate unified CI with F3 repo by @masih in #379
- Remove custom CI jobs in faviour of Unified CI by @masih in #419
- Test skip to round by @masih in #420
- Limit size of signatures to 96 bytes by @Kubuxu in #423
- Hash ticket before performing arithmetic by @Kubuxu in #424
- Take the lock in the fake signing backend (Allow) by @Stebalien in #426
- Improve lifecycle management by @Stebalien in #416
- Import go-log directly (except in GPBFT) and remove Logging by @Stebalien in #427
- Stop gpbft runner on shutdown by @Stebalien in #428
- Improve subscriber test reliability by @Stebalien in #431
- Don't make the SigningMarshaler customizable in F3 by @Stebalien in #432
- Wait for cleanup on certexchange server shutdown by @Stebalien in #430
- Ignore errors when failing to set stream deadlines by @Stebalien in #434
- Use the correct payload marshaler in the F3 module by @Stebalien in #435
- Fix instance skipping inequality check by @Stebalien in #437
- Integrate finality exchange by @Stebalien in #433
- Fix bug in payload equality check and payload unit tests by @masih in #439
- Update readme with the current state of the project by @masih in #440
- Test equivocations are ignored current and future instances by @masih in #441
- Integrate metrics for core GPBFT protocol by @masih in #438
- Remove MessageBuilder locks by @Stebalien in #444
- Rename gen.go -> cbor_gen.go by @Stebalien in #446
- Broadcast messages via a blocking channel by @Stebalien in #445
- Skip messages from the wrong instance instead of returning an error by @Stebalien in #442
- Handle failure to receive/validate a decision by @Stebalien in #436
Full Changelog: v0.0.2...v0.0.3
What's Changed
- F3-229: manifest provider, ec decoupling from f3, and dynamic manifest update by @adlrocha in #348
- Implement a GPBFT emulator and test state transitions by @masih in #359
- F3-390: Pause callback for dyncamic manifest by @adlrocha in #391
- Test GPBFT queues and drains future instance messages by @masih in #394
- Implement dynamic manifest libp2p server by @masih in #397
- Containerise
f3
binary and publish to ghcr by @masih in #398 - Revert changes to EC backoff introduced in #382 by @Kubuxu in #399
- Implement certificate exchange by @Stebalien in #378
- Implement the head offset by @Kubuxu in #400
- Maybe fix spurious error in tests by @Kubuxu in #402
- Fix error return in F3.Run by @Stebalien in #403
- Align power table delay with FIP by @Kubuxu in #404
- Delete content of CertStore by @Kubuxu in #401
- Misc test improvments by @Kubuxu in #407
- Publish container images for both arm and amd 64 by @masih in #409
- Use mock libp2p in tests by @Kubuxu in #410
- Inform GPBFT of decisions from finality certificates by @Stebalien in #408
- Add support for specifying manifest server bootstrap addrs from file by @masih in #412
- Add context to Signer interface by @Kubuxu in #411
- Fail gracefully on manifest server bootstrap connection by @masih in #413
- Fix typo in sentinel error by @masih in #415
- Explicitly set the
stringer
version in go-generate by @masih in #417 - Test rebroadcast and fix rebroadcast reset issue by @masih in #414
- Test GPBFT skips to decide by @masih in #418
- Integrate unified CI with F3 repo by @masih in #379
- Remove custom CI jobs in faviour of Unified CI by @masih in #419
- Test skip to round by @masih in #420
- Limit size of signatures to 96 bytes by @Kubuxu in #423
- Hash ticket before performing arithmetic by @Kubuxu in #424
- Take the lock in the fake signing backend (Allow) by @Stebalien in #426
- Improve lifecycle management by @Stebalien in #416
- Import go-log directly (except in GPBFT) and remove Logging by @Stebalien in #427
- Stop gpbft runner on shutdown by @Stebalien in #428
- Improve subscriber test reliability by @Stebalien in #431
- Don't make the SigningMarshaler customizable in F3 by @Stebalien in #432
- Wait for cleanup on certexchange server shutdown by @Stebalien in #430
- Ignore errors when failing to set stream deadlines by @Stebalien in #434
- Use the correct payload marshaler in the F3 module by @Stebalien in #435
- Fix instance skipping inequality check by @Stebalien in #437
- Integrate finality exchange by @Stebalien in #433
...
v0.0.2
What's Changed
- Use scaled power in the finality certificate tests by @Stebalien in #384
- Correctly use ECPeriod & ECDelay by @Stebalien in #382
- chore: fix fuzz comment spelling by @Stebalien in #381
Full Changelog: v0.0.1...v0.0.2