v0.71.0

fatedier/frpv0.71.0Aug 14, 2026by fatedier

AI Summary

This release introduces a binary codec for UDP payloads to improve efficiency under wire protocol v2. It also addresses critical security vulnerabilities, including a denial of service issue caused by negative pool counts and a validation bypass for custom domains.

Key Highlights

  • Optimized UDP packet payloads with a new binary codec for better efficiency under wire protocol v2.
  • Fixed a server panic and DoS vulnerability caused by clients sending negative `pool_count` values.
  • Resolved `frpc verify` ignoring `featureGates`, ensuring VirtualNet configurations are correctly processed.
  • Fixed a validation bypass that allowed mixed-case domain names to be registered under `subDomainHost`.

New Features

  • Implemented a dedicated binary codec for UDP packet payloads in wire protocol v2, replacing JSON with a more compact format when capability is negotiated.

Full Release Notes

## Features

* UDP packet payloads for ordinary UDP proxies and SUDP now use a dedicated binary codec when frpc and frps successfully negotiate the capability under wire protocol v2, using a more compact wire representation. Wire protocol v1 remains JSON; wire protocol v2 falls back to JSON `UDPPacket` when the peer does not support or did not negotiate the capability.

## Fixes

* Fixed a server panic and remote denial of service caused by a client sending a negative `pool_count`. Negative values are now rejected before work-connection pool resources are allocated.
* Fixed `frpc verify` ignoring configured `featureGates`, which caused VirtualNet configurations to be rejected even when the feature was enabled.
* Fixed a case-insensitive validation bypass that allowed `customDomains` under the configured `subDomainHost` to be registered using mixed-case domain names.