v2.0.0-rc9

vercel-labs/agent-browserv2.0.0-rc9Nov 5, 2025by qdm12

AI Summary

This release candidate focuses on stabilizing DNS functionality, including fixes for port listening and system nameerver permissions, alongside improvements for debugging and memory efficiency.

Key Highlights

  • Re-added 'plain' upstream type to support debugging and Gluetun.
  • Listening on ports other than 53 now works correctly.
  • Upgraded Go runtime from 1.23 to 1.25.
  • Optimized memory usage in map filters by filtering by IP version.
  • Enhanced IPv6 detection to try both Cloudflare and Google DNS servers.

New Features

  • Added round trip duration to error messages in the DNS exchanger.
  • Implemented memory-efficient map filtering by IP version.
  • Re-added 'plain' upstream type for debugging purposes.

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