diff --git a/CHANGELOG.md b/CHANGELOG.md index 08b2958b3f0..8b3d4842e23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ - 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 +## ☢️ Upgrade Warnings ☢️ + +- lotus-gateway behaviour, CLI arguments and APIs have received minor changes. See the improvements section below. + ## 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. @@ -25,10 +29,15 @@ ## Improvements -- fix!: gateway: fix rate limiting, general cleanup ([filecoin-project/lotus#12315](https://github.com/filecoin-project/lotus/pull/12315)). +- 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` - `--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. + - 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. # v1.28.1 / 2024-07-24