v2.0.0-rc9
emscripten-core/emscriptenv2.0.0-rc9Nov 5, 2025by qdm12
Upgrading?
Release notes summary
Release candidate 9 re-adds the plain upstream type and fixes listening on ports other than 53. It improves DNS handling through lowercased question names, more robust startup error handling, and better IPv6 detection. The release also upgrades Go to 1.25 and modernizes the CI and dev container setup.
Key Highlights
- Plain upstream type re-added for debugging and Gluetun compatibility
- Listening on ports other than 53 now works
- Question Name fields are lowercased to avoid oddities
- DNS loop startup error handling fixed to prevent the program from getting stuck
- Go upgraded from 1.23 to 1.25 and Alpine from 3.20 to 3.22
New Features
- Re-added plain upstream type
- Round trip duration included in exchanger error messages
- Map filter by IP version to reduce memory usage
- IPv6 detection tries both Cloudflare and Google
- Blockbuilder skips malformed hostnames instead of erroring
Full Release Notes
## Features - Re-add "plain" upstream type (needed for debugging and Gluetun) - pkg/exchanger: add round trip duration to error message - pkg/middlewares/filter/mapfilter - map filter by IP version to reduce memory usage ## Fixes - Listening on another port than 53 now works - lowercase all question Name field to avoid any oddities - internal/dns: loop fixed to handle error before subsequent start completes (fixing whole program being stuck at starting steps) - do not modify system wide nameservers on Unix systems to avoid permission issues - internal/support/ipv6: - try both cloudflare and google in case one is not available (hum hum cloudflare) - detection failure logged as warning not error - pkg/blockbuilder: skip malformed hostnames instead of returning an error - pkg/middlewares/localdns: - only use DNS servers with a private IP address - lowercase all fqdns before checking for locality - pkg/middlewares/filter/mapfilter - blocked ip prefixes metric fixed - pkg/nameserver: get both private and public DNS servers on Windows ## Maintenance - pkg/dot: revert to use `tls.Client` and finer steps for more control - pkg/blockbuilder: optimized code scanning big files line by line - bump Go from 1.23 to 1.25 - upgrade linter to v2.4.0 - Dependencies - bump qdm12/goservices to 6bee97bd4978 in order to have the httpserver handler context cancelation feature - CI - bump actions/setup-go from v2 to v6 - use Go version from go.mod - bump Alpine from 3.20 to 3.22 - pull container images at build time from ghcr.io when possible - disable package comments requirement warning in dev container - upgrade dev container to v0.21 - Go upgraded from 1.23 to 1.25 - golangci-lint upgraded to v2.4.0 - Alpine upgraded from 3.20 to 3.22 - Disable package comment requirement by gopls' staticcheck - Pull container image from ghcr.io
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.