Skip to content

Releases: filecoin-project/go-f3

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

v0.0.1

26 Jun 20:13
69e5251
Compare
Choose a tag to compare

What's Changed

  • Implements validation and algorithmic changes for EC-compatible sway. by @anorth in #1
  • Implemented signing payloads in terms of abstract signer by @anorth in #20
  • Implement opaque TipSetKey type. by @anorth in #21
  • Fix integer widths of all values used in the protocol. by @anorth in #23
  • Add a simple Makefile by @anorth in #24
  • Add simple GitHub actions configuration to test/lint PRs by @anorth in #25
  • Implement receiving new EC-compatible chains by @ranchalp in #19
  • VRF implementation (#6) by @ranchalp in #28
  • Decide phase by @ranchalp in #30
  • Update readme and add license by @jsoares in #36
  • Remove implicit justification by @ranchalp in #34
  • Move message signature validation into instance, and document the message attestation properties. by @anorth in #41
  • Implement PowerTable as ordered map by @ranchalp in #32
  • Replace panics with errors by @matejpavlovic in #39
  • Fix power duplicate entry check by @Stebalien in #45
  • Use numbers for phases instead of names by @Stebalien in #46
  • Add Aggregator interface and implement fake aggregator by @ranchalp in #35
  • Bump golang.org/x/crypto from 0.0.0-20190611184440-5c40567a22f8 to 0.17.0 by @dependabot in #52
  • Bump golang.org/x/sys from 0.0.0-20190412213103-97732733099d to 0.1.0 by @dependabot in #53
  • Switch to uint64 for Instance and Round by @Kubuxu in #54
  • Add explicit justification of COMMIT and CONVERGE by @ranchalp in #37
  • Add explicit justification of DECIDE messages by @ranchalp in #47
  • Bump golang.org/x/crypto from 0.0.0-20190611184440-5c40567a22f8 to 0.17.0 by @dependabot in #56
  • Replace panics where relevant by @ranchalp in #59
  • Remove comments about implicit justification by @anorth in #63
  • Add comment about unrealistic message forgery in withholding adversary by @anorth in #62
  • 15% improvement in tests speed by @Kubuxu in #66
  • Add test demonstrating agreement on longest common prefix by @anorth in #67
  • Optimize justification creation by @ranchalp in #55
  • Cleanup signature payload, popagate more errors, add cbor-gen by @Kubuxu in #65
  • Initial scaffolding of the f3 module by @Kubuxu in #44
  • Remove tipset weights, panic on multiple strong quora by @anorth in #71
  • Renames for conciseness by @anorth in #72
  • chore: update cbor-gen by @Stebalien in #78
  • Introduce BLS signing, adapt APIs for it to work by @Kubuxu in #70
  • Remove unused payload from alarm callback by @anorth in #73
  • Move network name into a host API function. by @anorth in #80
  • Revert "Move network name into a host API function. (#80)" by @Kubuxu in #84
  • Make GMessage justification optional, clean up some control flow for it. by @anorth in #75
  • Use full TipSet object as map key, avoid using CIDs by @anorth in #79
  • Move network name into a host API function. by @Kubuxu in #85
  • Implement Synchronization of participants in the current instance #69 by @ranchalp in #82
  • Factor out repeated code building justifications by @anorth in #88
  • Include network name in Network struct by @ranchalp in #89
  • Include DST and NetworkName in VRF signing by @ranchalp in #90
  • Simplify synchronization of participants to simple exponential back-off by @ranchalp in #87
  • Use time.Time() instead of float64 by @ranchalp in #83
  • Serialize phase as an integer for signatures. by @anorth in #93
  • Reorganize packages by @Kubuxu in #86
  • Change semantics of delta parameter to be a bound on message delay by @anorth in #92
  • Express message justification rules as data rather than procedural code by @anorth in #91
  • Make message validate an exported API of instance and participant, to be called before receiving a message. by @anorth in #97
  • Remove now-unused opaque message type. by @anorth in #99
  • Fix message validation to check the justification signers have strong quorum by @anorth in #101
  • Remove abstraction noise around VRF construction and verification by @anorth in #102
  • Add API for participant to notify host of decisions, with signed justification. by @anorth in #100
  • Nodes decide on strong quorum of DECIDE regardless of phase by @ranchalp in #104
  • Change API so participant pulls canonical chain when starting by @anorth in #107
  • Fix initialisation of delta from f3sim main by @anorth in #108
  • Recover panics at participant entry points by @ranchalp in #105
  • Remove self participant ID from some host methods. by @anorth in #109
  • Change alarm semantics to support at most one at a time by @anorth in #110
  • Participant begins new instance after terminating the previous one by @anorth in #111
  • Add a test exercising multiple instances under ideal conditions by @anorth in #116
  • Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 by @dependabot in #123
  • Fix PanicError construction and sim clock progress with historical messages. by @anorth in #120
  • chore: update kyber to released version by @Stebalien in #127
  • Use go generate to generate sources by @masih in #129
  • Add local queue for messages for future instances by @anorth in #124
  • Require go.mod is tidy during CI by @masih in #134
  • Delay next instance until EC chain progresses by @anorth in #119
  • Implement basic chain and types unit tests by @masih in #133
  • Fix typo with ECExtend by @ranchalp in #137
  • Validate EC chain invariants on instantiation by @masih in #138
  • Refactor Host interface to optionally trace logic logs by @masih in #140
  • Speed up tests by running repetitions in parallel by @masih in #141
  • Upgrade to go 1.21 by @masih in #143
  • Implement sortable power table and test invariants by @masih in #152
  • Make ECChain opaque [][]byte in GBPFT by @anorth in #149
  • Implement participant unit tests by @masih in #142
  • Get PowerTable from Host during adversary testing by @masih in #157
  • Test repeated messages do not interfere with consensus by @masih in #156
  • Skip long tests when running in short mode by @Kubuxu in #161
  • Move simulation related packages to sim by @masih in #159
  • Move adversary APIs and type assert by @masih in #164
  • Refactor GenerateKey AP...
Read more