v1.29.0-rc1
Pre-release
Pre-release
github-actions
released this
22 Aug 17:36
·
1 commit
to refs/heads/release/v1.29.0
since this release
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
RPC method, allowing users to configureEthTraceFilterMaxResults
to limit the number of results returned in any individualtrace_filter
RPC API call. (filecoin-project/lotus#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) - Sending to ETH addresses The
lotus send
command now supports sending to ETH address recipients. (filecoin-project/lotus#12319)
- Trace Filter API: Added support for the
-
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 theEvents.FilterTTL
config option has been reduced from 24h to 1h. (filecoin-project/lotus#12315) - Performance Improvements: Addressed SQLite index selection performance regressions, significantly improving query times for event-related data. (filecoin-project/lotus#12261).
- Gateway Enhancements: Significant improvements to the
☢️ Upgrade Warnings ☢️
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.
📝 Changelog
See 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). ConfiguringEthTraceFilterMaxResults
sets a limit on how many results are returned in any individualtrace_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). - feat: Added
lotus-shed indexes inspect-events
health-check command (filecoin-project/lotus#12346). - feat(libp2p): expose libp2p bandwidth metrics (#12402) (filecoin-project/lotus#12402)
- feat: Lotus Send CLI: Lotus send should work with ETH address receipients (#12319)
Improvements
- feat!: gateway: fix rate limiting, better stateful handling (filecoin-project/lotus#12315).
- CLI usage documentation has been improved for
lotus-gateway
--per-conn-rate-limit
now works as advertised.--eth-max-filters-per-conn
is new and allows you to set the maximum number of filters and subscription per connection, it defaults to 16.- Previously, this limit was set to
16
and applied separately to filters and subscriptions. This limit is now unified and applies to both filters and subscriptions.
- Previously, this limit was set to
- Stateful Ethereum APIs (those involving filters and subscriptions) are now disabled for plain HTTP connections. A client must be using websockets to access these APIs.
- 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.
- CLI usage documentation has been improved for
- feat: f3: override F3BootstrapEpoch on 2k devnet with environment variable (#12354) (filecoin-project/lotus#12354)
- feat: p2p: allow overriding bootstrap nodes with environmemnt variable (#12292) (filecoin-project/lotus#12292)
- feat(f3): F3 has been updated with many performance improvements and additional metrics.
- fix: Eth Event Receipt Logs: use event index for logs (#12269) (filecoin-project/lotus#12269)
- fix: add datacap balance to circ supply internal accounting as unCirc (#12348) (filecoin-project/lotus#12348)
- feat: Use a block cache to speed up the
EthGetBlockByHash
API (#12359) (filecoin-project/lotus#12359) - fix: lotus-shed: store processed tipset after backfilling events (#12335) (filecoin-project/lotus#12335)
- fix: Eth Tx Events Bloom Filter: fix slice modification bug and flaky test (#12203) (filecoin-project/lotus#12203)
- fix(ETH RPC): receipts: use correct txtype in receipts (#12332) (filecoin-project/lotus#12332
- fix(cli): only change method for 0x recipients (#12328) (filecoin-project/lotus#12328)
- feat: api: clean API for Miners (#12112) (filecoin-project/lotus#12112)
Dependencies
From 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)
Chores
- chore: ffi: copy verifier iface, mock & ffi out of storage (#11581) (filecoin-project/lotus#11581)
- docs: update LOTUS_RELEASE_FLOW.MD document (#12322) (filecoin-project/lotus#12322)
- docs: update references to releases branch (#12396) (filecoin-project/lotus#12396)
- docs: pr title check fix to link to right doc (#12371) (filecoin-project/lotus#12371)
- docs: updating CONTRIBUTING.md with table of contents and TOC guidance (#12372) (filecoin-project/lotus#12372)
- docs: release template: update based on 1.28 learnings (#12356) (filecoin-project/lotus#12356)
- refactor: adjust PR Title Check workflow to reduce noise (#12373) (filecoin-project/lotus#12373)
- feat(ci): add PR title check workflow (#12340) (filecoin-project/lotus#12340)
- chore(docs): fix some function names (#12368) (filecoin-project/lotus#12368)
- feat: ci: automate the new release process (#12096) (filecoin-project/lotus#12096)
- feat: ci: upload junit xml reports to buildpulse (#12225) (filecoin-project/lotus#12225)
- github: improve stalebot behavior/language (#12370) (filecoin-project/lotus#12370)
- chore: docs: fix some misspellings (#12333) (filecoin-project/lotus#12333)
- docs: expand
CONTRIBUTING.md
and updateREADME.md
(#12366) (filecoin-project/lotus#12366) - chore: docs: Update step in skeleton guide (#12349) (filecoin-project/lotus#12349)
- chore: docs: Add initial
Update_Dependencies_Lotus.md
(#12107) (filecoin-project/lotus#12107) - chore: proxy single Put/Delete to the Many variants (#12313) (filecoin-project/lotus#12313)
- chore: logging: switch stdout print to use the logger (#12311) (filecoin-project/lotus#12311)
- fix(test): flaky eth_legacy_tx_test: wait for async msg indexing (#12200) (filecoin-project/lotus#12200)
- chore: cli: use
embed
pkg to split long template content to file (#12193) (filecoin-project/lotus#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 |