|
3 | 3 | ## Unreleased |
4 | 4 |
|
5 | 5 | ### Breaking Changes |
| 6 | +- **Chain pruning CLI options have been redesigned with new behavior:** [#9637](https://github.com/hyperledger/besu/pull/9637) |
| 7 | + - `--Xchain-pruning-enabled` now accepts three strategy values instead of boolean: |
| 8 | + - `ALL` - prunes both blocks and BALs (replaces the old `--Xchain-pruning-enabled=true`) |
| 9 | + - `BAL` - prunes only BALs, keeps all blocks forever (new mode, **now the default**) |
| 10 | + - `NONE` - disables all pruning (replaces the old `--Xchain-pruning-enabled=false`) |
| 11 | + - `--Xchain-pruning-blocks-retained` behavior changes: |
| 12 | + - In `ALL` mode: controls block retention (previously the only mode) |
| 13 | + - In `BAL` mode: has no effect as blocks are never pruned |
| 14 | + - Default value changed from `7200` to `113056` blocks (Weak Subjectivity Period: 3533 epochs × 32 slots) |
| 15 | + - New flag `--Xchain-pruning-bals-retained` sets the number of BALs to retain: |
| 16 | + - Defaults to the value of `--Xchain-pruning-blocks-retained` when not specified |
| 17 | + - Must be >= `113056` (configurable via `--Xchain-pruning-retained-minimum`) |
| 18 | + - In `ALL` mode: should typically be less than or equal to `--Xchain-pruning-blocks-retained` |
| 19 | + - In `BAL` mode: controls BAL retention independently |
| 20 | + - `--Xchain-pruning-frequency` now controls both block and BAL pruning operations (previously only controlled block pruning) |
| 21 | + - Renamed `--Xchain-pruning-blocks-retained-limit` to `--Xchain-pruning-retained-minimum` (applies to both blocks and BALs) |
| 22 | + - New default value: `113056` blocks (3533 epochs × 32 slots, based on Weak Subjectivity Period) |
| 23 | + - Previous default: `7200` blocks |
6 | 24 |
|
7 | 25 | ### Upcoming Breaking Changes |
8 | 26 | - RPC changes to enhance compatibility with other ELs |
|
18 | 36 |
|
19 | 37 | ### Additions and Improvements |
20 | 38 | - Add ability to pass a custom tracer to block simulation [#9708](https://github.com/hyperledger/besu/pull/9708) |
| 39 | +- Add support for `4byteTracer` in `debug_trace*` methods to collect function selectors from internal calls via PR [#9642](https://github.com/hyperledger/besu/pull/9642). Thanks to [@JukLee0ira](https://github.com/JukLee0ira). |
| 40 | +- Update assertj to v3.27.7 [#9710](https://github.com/hyperledger/besu/pull/9710) |
21 | 41 |
|
22 | 42 | ### Bug fixes |
23 | 43 |
|
|
28 | 48 | - RPC changes to enhance compatibility with other ELs |
29 | 49 | - RPCs using filter parameter including `eth_getLogs` and `trace_filter` return an error if `fromBlock` is greater than `toBlock`, or if `toBlock` extends beyond chain head (previously returned an empty list) [#9604](https://github.com/hyperledger/besu/pull/9604) |
30 | 50 | - Plugin API changes to BlockHeader, Log, LogWithMetadata, TransactionProcessingResult and TransactionReceipt to use specific types for LogsBloomFilter, LogTopic and Log [#9556](https://github.com/hyperledger/besu/pull/9556) |
31 | | -- **Chain pruning CLI options have been redesigned with new behavior:** [#9637](https://github.com/hyperledger/besu/pull/9637) |
32 | | - - `--Xchain-pruning-enabled` now accepts three strategy values instead of boolean: |
33 | | - - `ALL` - prunes both blocks and BALs (replaces the old `--Xchain-pruning-enabled=true`) |
34 | | - - `BAL` - prunes only BALs, keeps all blocks forever (new mode, **now the default**) |
35 | | - - `NONE` - disables all pruning (replaces the old `--Xchain-pruning-enabled=false`) |
36 | | - - `--Xchain-pruning-blocks-retained` behavior changes: |
37 | | - - In `ALL` mode: controls block retention (previously the only mode) |
38 | | - - In `BAL` mode: has no effect as blocks are never pruned |
39 | | - - Default value changed from `7200` to `113056` blocks (Weak Subjectivity Period: 3533 epochs × 32 slots) |
40 | | - - New flag `--Xchain-pruning-bals-retained` sets the number of BALs to retain: |
41 | | - - Defaults to the value of `--Xchain-pruning-blocks-retained` when not specified |
42 | | - - Must be >= `113056` (configurable via `--Xchain-pruning-retained-minimum`) |
43 | | - - In `ALL` mode: should typically be less than or equal to `--Xchain-pruning-blocks-retained` |
44 | | - - In `BAL` mode: controls BAL retention independently |
45 | | - - `--Xchain-pruning-frequency` now controls both block and BAL pruning operations (previously only controlled block pruning) |
46 | | - - Renamed `--Xchain-pruning-blocks-retained-limit` to `--Xchain-pruning-retained-minimum` (applies to both blocks and BALs) |
47 | | - - New default value: `113056` blocks (3533 epochs × 32 slots, based on Weak Subjectivity Period) |
48 | | - - Previous default: `7200` blocks |
49 | 51 |
|
50 | 52 | ### Upcoming Breaking Changes |
51 | 53 | - RPC changes to enhance compatibility with other ELs |
|
59 | 61 | - Clique Block Production (mining) - you will still be able to sync existing Clique networks, but not be a validator or create new Clique networks. |
60 | 62 | - Fast Sync |
61 | 63 | - `--history-expiry-prune` is deprecated and will be removed in a future release |
62 | | - |
63 | 64 |
|
64 | 65 | ### Additions and Improvements |
65 | | -- Add support for `4byteTracer` in `debug_trace*` methods to collect function selectors from internal calls via PR [#9462][9462]. Thanks to [@JukLee0ira](https://github.com/JukLee0ira). |
| 66 | +- Performance: Optimise ADD Opcode: ADD 86% faster, using new UInt256 implementation [#9477](https://github.com/hyperledger/besu/pull/9477) |
66 | 67 | - Performance: Optimise EIP-196 AltBn128: EcAdd 33-128% faster, EcMul 8% faster [#9570](https://github.com/hyperledger/besu/pull/9570) |
67 | 68 | - Performance: Improved `getBlobsV2` by disabling HTTP response compression for engine API, with up to 10× throughput improvement observed for large numbers of blobs. [#9667](https://github.com/hyperledger/besu/pull/9667) |
68 | 69 | - Performance: Replace BytesTrieSet with HashSet, improves CREATE, CREATE2, SELFDESTRUCT and jumpdest analysis by up to 48% [#9641](https://github.com/hyperledger/besu/pull/9641) |
|
0 commit comments