From 5bd97edb4e71c3c8edd5fab71c75a720520a84d2 Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Thu, 22 Aug 2024 19:29:06 +0200 Subject: [PATCH] build: release Lotus node v1.29.0-rc1 (#12410) * build: release v1.29.0-rc1 Bump version to v1.29.0-rc1 and make gen / make docsgen-cli * chore: update changelog for v1.29.0-rc1 chore: update changelog for v1.29.0-rc1 * chore: add link for more context Co-authored-by: Steve Loeppky * chore: update sentence Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * chore: add emoji in heading Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky * Update CHANGELOG.md Co-authored-by: Steve Loeppky --------- Co-authored-by: Steve Loeppky --- CHANGELOG.md | 142 +++++++++++++++++++++++++++------- build/openrpc/full.json | 2 +- build/openrpc/gateway.json | 2 +- build/openrpc/miner.json | 2 +- build/openrpc/worker.json | 2 +- build/version.go | 2 +- documentation/en/cli-lotus.md | 2 +- 7 files changed, 121 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 799cf0d6483..0f7db5e97c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,41 +1,39 @@ # Lotus changelog -# UNRELEASED - -- https://github.com/filecoin-project/lotus/pull/12203: Fix slice modification bug in ETH Tx Events Bloom Filter -- https://github.com/filecoin-project/lotus/pull/12221: Fix a nil reference panic in the ETH Trace API -- https://github.com/filecoin-project/lotus/pull/12112: Moved consts from build/ to build/buildconstants/ for ligher curio deps. -- https://github.com/filecoin-project/lotus/pull/12237: Upgrade to go-f3 `v0.0.4`. -- https://github.com/filecoin-project/lotus/pull/12251: Dropping support from ProveCommitSector1 method from lotus-miner -- https://github.com/filecoin-project/lotus/pull/12276: chore: deps: Update GST, Filecoin-FFI and Actors to final versions NV23 -- https://github.com/filecoin-project/lotus/pull/12278: chore: Set Mainnet upgrade epoch for NV23. -- https://github.com/filecoin-project/lotus/pull/12269 Fix `logIndex` ordering in `EthGetTransactionReceipt` by using the EventIndex to fetch logs -- https://github.com/filecoin-project/lotus/pull/12270: Feat expose `settle-deal` command for lotus miner to settle deals manually -- https://github.com/filecoin-project/lotus/pull/12285 Set up OpenTelemetry metrics reporting to prometheus -- https://github.com/filecoin-project/lotus/pull/12279 Upgrade to go-f3 v0.0.5 -- https://github.com/filecoin-project/lotus/pull/12295 Upgrade to go-f3 v0.0.6 -- https://github.com/filecoin-project/lotus/pull/12292: feat: p2p: allow overriding bootstrap nodes with environmemnt variable -- https://github.com/filecoin-project/lotus/pull/12319: feat: `lotus send CLI`: allow sending to ETH addresses -- https://github.com/filecoin-project/lotus/pull/12332: fix: ETH RPC: receipts: use correct txtype in receipts -- https://github.com/filecoin-project/lotus/pull/12335: fix: lotus-shed: store processed tipset after backfilling events +# Node v1.29.0-rc1 / 2024-08-22 + + This is a Lotus Node only release, which includes a variety of new features, improvements, and fixes, particularly focused on enhancing ETH RPC functionality. Key highlights of this release include: + +- **New Features:** + - **Trace Filter API:** Added support for the [`trace_filter`](https://openethereum.github.io/JSONRPC-trace-module#trace_filter) RPC method, allowing users to configure `EthTraceFilterMaxResults` to limit the number of results returned in any individual `trace_filter` RPC API call. ([filecoin-project/lotus#12123](https://github.com/filecoin-project/lotus/pull/12123)) + - **Filecoin to ETH Address Conversion:** The `FilecoinAddressToEthAddress` RPC can now return ETH addresses for all Filecoin address types ("f0"/"f1"/"f2"/"f3") based on the client's re-org tolerance. Note that this is a breaking change if you are using the API via the go-jsonrpc library or by using Lotus as a library, but it is non-breaking when using the API via any other RPC method as it adds an optional second argument. ([filecoin-project/lotus#12324](https://github.com/filecoin-project/lotus/pull/12324)) + - **Sending to ETH addresses** The `lotus send` command now supports sending to ETH address recipients. ([filecoin-project/lotus#12319](https://github.com/filecoin-project/lotus/pull/12319)) + +- **Improvements:** + - **Gateway Enhancements:** Significant improvements to the `lotus-gateway` including better rate limiting and stateful handling. The `--per-conn-rate-limit` now works as advertised, and a new `--eth-max-filters-per-conn` option allows setting the maximum number of filters and subscriptions per connection, defaulting to 16. Stateful Ethereum APIs are now disabled for plain HTTP connections and require websockets. Additionally, the default value for the `Events.FilterTTL` config option has been reduced from 24h to 1h. ([filecoin-project/lotus#12315](https://github.com/filecoin-project/lotus/pull/12315)) + - **Performance Improvements:** Addressed SQLite index selection performance regressions, significantly improving query times for event-related data. ([filecoin-project/lotus#12261](https://github.com/filecoin-project/lotus/pull/12261)). ## ☢️ Upgrade Warnings ☢️ -- lotus-gateway behaviour, CLI arguments and APIs have received minor changes. See the improvements section below. +- `lotus-gateway` behaviour, CLI-arguments and APIs have received minor changes. See the improvements section below for more information. +- The `FilecoinAddressToEthAddress` RPC introduces a breaking change for users of the go-jsonrpc library or Lotus as a library. -## New features + +## 📝 Changelog + +See https://github.com/filecoin-project/lotus/compare/v1.28.2...release/v1.29.0 for the set of changes since the last release. + +
Organized Changelog +### New features - feat: Add trace filter API supporting RPC method `trace_filter` ([filecoin-project/lotus#12123](https://github.com/filecoin-project/lotus/pull/12123)). Configuring `EthTraceFilterMaxResults` sets a limit on how many results are returned in any individual `trace_filter` RPC API call. - feat: `FilecoinAddressToEthAddress` RPC can now return ETH addresses for all Filecoin address types ("f0"/"f1"/"f2"/"f3") based on client's re-org tolerance. This is a breaking change if you are using the API via the go-jsonrpc library or by using Lotus as a library, but is a non-breaking change when using the API via any other RPC method as it adds an optional second argument. ([filecoin-project/lotus#12324](https://github.com/filecoin-project/lotus/pull/12324)). - feat: Added `lotus-shed indexes inspect-events` health-check command ([filecoin-project/lotus#12346](https://github.com/filecoin-project/lotus/pull/12346)). +- feat(libp2p): expose libp2p bandwidth metrics (#12402) ([filecoin-project/lotus#12402](https://github.com/filecoin-project/lotus/pull/12402)) +- feat: Lotus Send CLI: Lotus send should work with ETH address receipients (#12319) -## Enhancements - -- fix: add datacap balance to circ supply internal accounting as unCirc #12348 -- feat: Use a block cache to speed up the `EthGetBlockByHash` API: https://github.com/filecoin-project/lotus/pull/12359 - -## Improvements +### Improvements - feat!: gateway: fix rate limiting, better stateful handling ([filecoin-project/lotus#12315](https://github.com/filecoin-project/lotus/pull/12315)). - CLI usage documentation has been improved for `lotus-gateway` @@ -46,8 +44,98 @@ - These APIs are also now automatically removed from the node by the gateway when a client disconnects. - Some APIs have changed which may impact users consuming Lotus Gateway code as a library. - The default value for the `Events.FilterTTL` config option has been reduced from 24h to 1h. This means that filters will expire on a Lotus node after 1 hour of not being accessed by the client. +- feat: f3: override F3BootstrapEpoch on 2k devnet with environment variable (#12354) ([filecoin-project/lotus#12354](https://github.com/filecoin-project/lotus/pull/12354)) +- feat: p2p: allow overriding bootstrap nodes with environmemnt variable (#12292) ([filecoin-project/lotus#12292](https://github.com/filecoin-project/lotus/pull/12292)) - feat(f3): F3 has been updated with many performance improvements and additional metrics. -- feat(libp2p): expose libp2p bandwidth metrics via Prometheus. +- fix: Eth Event Receipt Logs: use event index for logs (#12269) ([filecoin-project/lotus#12269](https://github.com/filecoin-project/lotus/pull/12269)) +- fix: add datacap balance to circ supply internal accounting as unCirc (#12348) ([filecoin-project/lotus#12348](https://github.com/filecoin-project/lotus/pull/12348)) +- feat: Use a block cache to speed up the `EthGetBlockByHash` API (#12359) ([filecoin-project/lotus#12359](https://github.com/filecoin-project/lotus/pull/12359)) +- fix: lotus-shed: store processed tipset after backfilling events (#12335) ([filecoin-project/lotus#12335](https://github.com/filecoin-project/lotus/pull/12335)) +- fix: Eth Tx Events Bloom Filter: fix slice modification bug and flaky test (#12203) ([filecoin-project/lotus#12203](https://github.com/filecoin-project/lotus/pull/12203)) +- fix(ETH RPC): receipts: use correct txtype in receipts (#12332) ([filecoin-project/lotus#12332](https://github.com/filecoin-project/lotus/pull/12332) +- fix(cli): only change method for 0x recipients (#12328) ([filecoin-project/lotus#12328](https://github.com/filecoin-project/lotus/pull/12328)) +- feat: api: clean API for Miners (#12112) ([filecoin-project/lotus#12112](https://github.com/filecoin-project/lotus/pull/12112)) + +### Dependencies +From https://github.com/filecoin-project/lotus/compare/v1.28.2...release/v1.29.0#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6 +- github.com/filecoin-project/go-commp-utils (v0.1.3 -> v0.1.4): +- github.com/filecoin-project/go-commp-utils/nonffi (v0.0.0-20220905160352-62059082a837 -> v0.0.0-20240802040721-2a04ffc8ffe8): +- github.com/filecoin-project/go-hamt-ipld/v3 (v3.1.0 -> v3.4.0): +- github.com/filecoin-project/go-jsonrpc (v0.3.2 -> v0.6.0): +- github.com/filecoin-project/jackc/pgx (v5.4.1 -> v5.6.0) +- feat: f3: update go-f3 to 0.2.0 (#12390) ([filecoin-project/lotus#12390](https://github.com/filecoin-project/lotus/pull/12390)) + +### Chores + +- chore: ffi: copy verifier iface, mock & ffi out of storage (#11581) ([filecoin-project/lotus#11581](https://github.com/filecoin-project/lotus/pull/11581)) +- docs: update LOTUS_RELEASE_FLOW.MD document (#12322) ([filecoin-project/lotus#12322](https://github.com/filecoin-project/lotus/pull/12322)) +- docs: update references to releases branch (#12396) ([filecoin-project/lotus#12396](https://github.com/filecoin-project/lotus/pull/12396)) +- docs: pr title check fix to link to right doc (#12371) ([filecoin-project/lotus#12371](https://github.com/filecoin-project/lotus/pull/12371)) +- docs: updating CONTRIBUTING.md with table of contents and TOC guidance (#12372) ([filecoin-project/lotus#12372](https://github.com/filecoin-project/lotus/pull/12372)) +- docs: release template: update based on 1.28 learnings (#12356) ([filecoin-project/lotus#12356](https://github.com/filecoin-project/lotus/pull/12356)) +- refactor: adjust PR Title Check workflow to reduce noise (#12373) ([filecoin-project/lotus#12373](https://github.com/filecoin-project/lotus/pull/12373)) +- feat(ci): add PR title check workflow (#12340) ([filecoin-project/lotus#12340](https://github.com/filecoin-project/lotus/pull/12340)) +- chore(docs): fix some function names (#12368) ([filecoin-project/lotus#12368](https://github.com/filecoin-project/lotus/pull/12368)) +- feat: ci: automate the new release process (#12096) ([filecoin-project/lotus#12096](https://github.com/filecoin-project/lotus/pull/12096)) +- feat: ci: upload junit xml reports to buildpulse (#12225) ([filecoin-project/lotus#12225](https://github.com/filecoin-project/lotus/pull/12225)) +- github: improve stalebot behavior/language (#12370) ([filecoin-project/lotus#12370](https://github.com/filecoin-project/lotus/pull/12370)) +- chore: docs: fix some misspellings (#12333) ([filecoin-project/lotus#12333](https://github.com/filecoin-project/lotus/pull/12333)) +- docs: expand `CONTRIBUTING.md` and update `README.md` (#12366) ([filecoin-project/lotus#12366](https://github.com/filecoin-project/lotus/pull/12366)) +- chore: docs: Update step in skeleton guide (#12349) ([filecoin-project/lotus#12349](https://github.com/filecoin-project/lotus/pull/12349)) +- chore: docs: Add initial `Update_Dependencies_Lotus.md` (#12107) ([filecoin-project/lotus#12107](https://github.com/filecoin-project/lotus/pull/12107)) +- chore: proxy single Put/Delete to the Many variants (#12313) ([filecoin-project/lotus#12313](https://github.com/filecoin-project/lotus/pull/12313)) +- chore: logging: switch stdout print to use the logger (#12311) ([filecoin-project/lotus#12311](https://github.com/filecoin-project/lotus/pull/12311)) +- fix(test): flaky eth_legacy_tx_test: wait for async msg indexing (#12200) ([filecoin-project/lotus#12200](https://github.com/filecoin-project/lotus/pull/12200)) +- chore: cli: use `embed` pkg to split long template content to file (#12193) ([filecoin-project/lotus#12193](https://github.com/filecoin-project/lotus/pull/12193)) +
+ +## 👨‍👩‍👧‍👦 Contributors + +| Contributor | Commits | Lines ± | Files Changed | +|-------------|---------|---------|---------------| +| Rod Vagg | 45 | +4839/-2634 | 217 | +| Peter Rabbitson | 18 | +2503/-2195 | 209 | +| Jakub Sztandera | 5 | +2695/-1074 | 61 | +| Mikers | 1 | +1274/-455 | 23 | +| Masih H. Derkani | 7 | +873/-682 | 37 | +| Andrew Jackson (Ajax) | 3 | +732/-504 | 75 | +| LexLuthr | 3 | +167/-996 | 8 | +| Piotr Galar | 6 | +622/-372 | 15 | +| Aarsh Shah | 11 | +791/-177 | 44 | +| Phi-rjan | 15 | +476/-178 | 50 | +| web3-bot | 32 | +330/-319 | 39 | +| Steven Allen | 8 | +367/-165 | 41 | +| aarshkshah1992 | 17 | +379/-87 | 32 | +| Frrist | 1 | +403/-22 | 5 | +| Łukasz Magiera | 4 | +266/-27 | 13 | +| winniehere | 1 | +146/-144 | 3 | +| Steve Loeppky | 5 | +162/-53 | 7 | +| Aryan Tikarya | 2 | +183/-8 | 7 | +| adlrocha | 2 | +123/-38 | 21 | +| Jiaying Wang | 7 | +52/-68 | 9 | +| Ian Davis | 2 | +60/-38 | 5 | +| Aayush Rajasekaran | 1 | +80/-2 | 2 | +| hanabi1224 | 4 | +46/-4 | 5 | +| Laurent Senta | 1 | +44/-1 | 2 | +| jennijuju | 6 | +21/-20 | 17 | +| Brendan O'Brien | 1 | +25/-10 | 2 | +| Jennifer Wang | 4 | +24/-8 | 6 | +| dependabot[bot] | 4 | +15/-15 | 8 | +| riskrose | 1 | +8/-8 | 7 | +| Phi | 1 | +6/-6 | 6 | +| linghuying | 1 | +5/-5 | 5 | +| fsgerse | 2 | +3/-7 | 3 | +| PolyMa | 1 | +5/-5 | 5 | +| zhangguanzhang | 1 | +3/-3 | 2 | +| luozexuan | 1 | +3/-3 | 3 | +| Po-Chun Chang | 1 | +6/-0 | 2 | +| Kevin Martin | 1 | +4/-1 | 2 | +| simlecode | 1 | +2/-2 | 2 | +| ZenGround0 | 1 | +2/-2 | 2 | +| GFZRZK | 1 | +2/-1 | 1 | +| zl | 1 | +1/-1 | 1 | +| qwdsds | 1 | +1/-1 | 1 | +| Elias Rad | 1 | +1/-1 | 1 | # 1.28.2 / 2024-08-15 diff --git a/build/openrpc/full.json b/build/openrpc/full.json index ba4c78ffbeb..c95688f0ecf 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.3-dev" + "version": "1.29.0-rc1" }, "methods": [ { diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 0e7a3545743..1e5e56e5c17 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.3-dev" + "version": "1.29.0-rc1" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 103ec81d389..da05932c1d2 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.3-dev" + "version": "1.29.0-rc1" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 83364cbdcd4..86c0fa9c8ef 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.3-dev" + "version": "1.29.0-rc1" }, "methods": [ { diff --git a/build/version.go b/build/version.go index eeca74c3a0e..1bb4c616b9f 100644 --- a/build/version.go +++ b/build/version.go @@ -7,7 +7,7 @@ import ( ) // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.28.3-dev" +const NodeBuildVersion string = "1.29.0-rc1" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index f32d701c731..c8e617944aa 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.28.3-dev + 1.29.0-rc1 COMMANDS: daemon Start a lotus daemon process