Skip to content

Commit

Permalink
build: release Lotus node v1.29.0-rc1 (#12410)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>

* chore: update sentence

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* chore: add emoji in heading

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Steve Loeppky <[email protected]>

---------

Co-authored-by: Steve Loeppky <[email protected]>
  • Loading branch information
rjan90 and BigLep committed Aug 22, 2024
1 parent a5cb674 commit 5bd97ed
Show file tree
Hide file tree
Showing 7 changed files with 121 additions and 33 deletions.
142 changes: 115 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.

<details><summary>Organized Changelog</summary>
### 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`
Expand All @@ -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))
</details>

## 👨‍👩‍👧‍👦 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

Expand Down
2 changes: 1 addition & 1 deletion build/openrpc/full.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openrpc": "1.2.6",
"info": {
"title": "Lotus RPC API",
"version": "1.28.3-dev"
"version": "1.29.0-rc1"
},
"methods": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/openrpc/gateway.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openrpc": "1.2.6",
"info": {
"title": "Lotus RPC API",
"version": "1.28.3-dev"
"version": "1.29.0-rc1"
},
"methods": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/openrpc/miner.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openrpc": "1.2.6",
"info": {
"title": "Lotus RPC API",
"version": "1.28.3-dev"
"version": "1.29.0-rc1"
},
"methods": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/openrpc/worker.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openrpc": "1.2.6",
"info": {
"title": "Lotus RPC API",
"version": "1.28.3-dev"
"version": "1.29.0-rc1"
},
"methods": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -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" {
Expand Down
2 changes: 1 addition & 1 deletion documentation/en/cli-lotus.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 5bd97ed

Please sign in to comment.