Skip to content

Releases: filecoin-project/go-f3

v0.4.0

03 Oct 16:35
5453867
Compare
Choose a tag to compare

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

18 Sep 11:22
5724153
Compare
Choose a tag to compare

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 of Step 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

15 Aug 03:06
e96ace0
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

13 Aug 20:58
4db84c3
Compare
Choose a tag to compare

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

25 Jul 04:14
d0091d7
Compare
Choose a tag to compare

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

24 Jul 15:52
41e850b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.4...v0.0.6

v0.0.5

24 Jul 00:54
660547c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.4...v0.0.5

v0.0.4

15 Jul 12:45
253ee25
Compare
Choose a tag to compare

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

11 Jul 16:10
45a4027
Compare
Choose a tag to compare

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
    ...
Read more

v0.0.2

28 Jun 09:59
67ecbdc
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.1...v0.0.2