v2.0.0-rc9
tashfeenahmed/freellmapiv2.0.0-rc9Nov 5, 2025by qdm12
AI Summary
This release addresses critical stability issues, particularly regarding listening on non-standard ports and system-wide nameserver modification. It includes performance optimizations for large file scanning and upgrades the Go runtime to version 1.25.
Key Highlights
- Re-added 'plain' upstream type for debugging and Gluetun compatibility.
- Fixed support for listening on ports other than the default 53.
- Optimized code scanning for large files in the block builder.
- Upgraded Go version from 1.23 to 1.25.
- Improved Windows IPv6 and DNS server detection.
New Features
- Plain upstream type for debugging.
- Round trip duration included in error messages.
- Map filter by IP version to reduce memory usage.
- Reverted to `tls.Client` for finer control in `pkg/dot`.
- Context cancellation feature added via dependency bump.
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