diff --git a/RELEASE_NOTES_v1.16.6.md b/RELEASE_NOTES_v1.16.6.md new file mode 100644 index 0000000000..8ce12b470c --- /dev/null +++ b/RELEASE_NOTES_v1.16.6.md @@ -0,0 +1,83 @@ +# Geth v1.16.6 Release Notes + +This is a maintenance release with bug fixes, performance improvements, and several enhancements. + +## All Changes + +### Core + +- Re-structured the trienode history header section and enabled partial freezer read for trienode data retrieval. (#32907) +- Fixed legacy chain freezer directory detection to only use legacy format when the directory is non-empty. (#33032) +- Fixed shared chainId modification between tests that could cause test failures. (#33020) +- Reduced memory allocations in `AccessList.Copy` and `modernSigner.Equal` for improved performance. (#33024, #32971) + +### RPC & Tracing + +- Fixed `prestateTracer` for EIP-6780 SELFDESTRUCT operations. (#33050) +- Fixed crasher in `TraceCall` when using `BlockOverrides`. (#33015) +- Removed unused error variables in RPC code. (#33012) + +### Networking & P2P + +- Ensured bootstrap completion before accepting incoming connections in discovery table to prevent test hangs. (#32881) +- Added cleanup of v4 discovery resources when v5 initialization fails. (#33005) +- Silenced spurious "Read error" log messages during listener shutdown. (#33001) + +### CLI & Commands + +- Added `--genesis` flag to set genesis configuration from file, providing an alternative to `geth init`. (#32844) +- Fixed maximum uint64 value expression in Era import (was incorrectly using bitwise XOR instead of max value). (#32934) +- Simplified address validation by using `IsHexAddress` method consistently. (#32997) +- Distinguished JWT secret handling between devp2p and geth, clarifying that `--authrpc.jwtsecret` expects a file path. (#32972) + +### JavaScript Runtime + +- Fixed `setTimeout`/`setInterval` callback argument forwarding to match standard JavaScript semantics. Only extra arguments (after callback and delay) are now passed to callbacks. (#32936) + +### Testing & CI + +- Fixed incorrect waitgroup usage in `XTestDelivery` test case. (#33047) +- Fixed error assertion in `accounts/abi/bind/v2` test. (#33041) +- Fixed flaky websocket test by adding minimum delay to prevent immediate connection resets. (#33002) +- Fixed flaky `TestSizeTracker` by ensuring pathdb buffer is fully flushed before baseline iteration. (#32993) +- Added 32-bit CI targets for keeper executables and unit tests. (#32911) +- Fixed keeper build in CI after workspace file removal. (#33018, #32632) + +### Code Quality & Maintenance + +- Simplified `FileExist` helper function for better readability. (#32969) +- Improved duration comparison in `PrettyAge` formatter to treat exact unit boundaries correctly. (#33064) +- Fixed `ChainConfig` logging to display actual timestamp values instead of pointer addresses. (#32766) +- Removed unused variables and improved code clarity. (#32989) + +## Contributors + +We would like to thank all contributors who helped make this release possible: +- @maradini77 +- @hero5512 +- @wit765 +- @MamunC0der +- @jsvisa +- @alarso16 +- @anim001k +- @cuiweixie +- @rizkyikiw42 +- @mask-pp +- @CertiK-Geth +- @lightclient +- @futreall +- @gballet +- @rjl493456442 +- @fjl +- and all others who contributed through testing, bug reports, and code reviews + +--- + +For a full rundown of the changes please consult the Geth 1.16.6 [release milestone](https://github.com/ethereum/go-ethereum/milestone/195?closed=1). + +As with all our previous releases, you can find the: + +- Pre-built binaries for all platforms on our [downloads page](https://geth.ethereum.org/downloads/). +- Docker images published under [`ethereum/client-go`](https://cloud.docker.com/u/ethereum/repository/docker/ethereum/client-go). +- Ubuntu packages in our [Launchpad PPA repository](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum). +- OSX packages in our [Homebrew Tap repository](https://github.com/ethereum/homebrew-ethereum).