v2.0.0-rc10
emscripten-core/emscriptenv2.0.0-rc10Dec 22, 2025by qdm12
Upgrading?
Release notes summary
Release candidate 10 introduces DNS-over-TLS connection pooling for TCP reuse, along with new health server and rebinding protection configuration options. It also fixes local DNS handling, IPv6 error reporting, and updates the Grafana dashboard. The release includes Go API breaking changes to the nameserver package.
Key Highlights
- DNS over TLS now uses a pool of connections to reuse TCP connections when possible
- New HEALTH_SERVER_ADDRESS option defaulting to 127.0.0.1:9999
- New REBINDING_PROTECTION_EXEMPT_HOSTNAMES option
- Filter middleware now logs blocked elements with a reason
- i/o timeout errors are logged at debug level by default
Breaking Changes
- pkg/nameserver GetDNSServers no longer returns localhost IPs when no nameserver is found
- pkg/nameserver GetDNSServers now returns an eventual error
- pkg/nameserver GetDNSServers returns []netip.Addr instead of []netip.AddrPort
New Features
- DNS over TLS connection pooling for TCP reuse
- HEALTH_SERVER_ADDRESS configuration option
- REBINDING_PROTECTION_EXEMPT_HOSTNAMES configuration option
- Debug-level logging for common i/o timeout errors
- Filter middleware logs blocked elements with reasons
Full Release Notes
## Features - DNS over TLS now uses a pool of connections to re-use TCP connections when possible (#150) - `HEALTH_SERVER_ADDRESS` option, defaulting to `127.0.0.1:9999` - by default log i/o timeout errors are logged at debug level because these are fairly common - `REBINDING_PROTECTION_EXEMPT_HOSTNAMES` option - `pkg/middlewares/filter`: log blocked elements with a reason ## Fixes - `internal/local`: "site" and "network" TLDs are public, not local - `pkg/middlewares/localdns`: - do not log request twice on errors - do not debug log NXDOMAIN coded responses since these happen often especially with search domains - `internal/support/ipv6`: handle Windows error message - Grafana dashboard plain DNS section updated ## Go API breaking changes - `pkg/nameserver`: `GetDNSServers` - does not return localhost IPs if no nameserver is found - returns an eventual error - returns []netip.Addr instead of []netip.AddrPort since it can only be an ip address without port ## Maintenance - Grafana JSON dashboard upgraded to newer schema version 3 - Fix documentation URLs and CI links check - bump markdownlint from v11 to v21
Related Repositories
ggml-org/llama.cpp★ 132,132
LLM inference in C/C++
LadybirdBrowser/ladybird★ 66,637
Truly independent web browser
ClickHouse/ClickHouse★ 50,563
ClickHouse® is a real-time analytics database management system
LizardByte/Sunshine★ 42,550
Self-hosted game stream host for Moonlight.
deskflow/deskflow★ 30,072
Share a single keyboard and mouse between multiple computers.