-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
URL.init(string:) handling of IPv6 addresses has changed in Swift 6 #957
Comments
`Foundation.URL` has various behavior changes in Swift 6 to better match RFC 3986 which impact AHC. In particular it now no longer strips the square brackets in IPv6 hosts which are not tolerated by `inet_pton` so these must be manually stripped. swiftlang/swift-foundation#957 swiftlang/swift-foundation#958 swiftlang/swift-foundation#962
This is expected from the update of
with |
Something about this that may impact existing code is discrepancy between macOS and Linux: I think we'd better to resolve such discord at least. |
Initializing a URL from an IPv6 address in Swift 6 on Linux now does not strip enclosing square-brackets. In earlier Swift versions and on macOS the square-brackets are removed.
As well as being a behavior change this can cause issues when passing the host component on e.g. to
inet_pton
which doesn't tolerate the square braces.On Linux Swift 5.10:
On Linux Swift 6.0.1:
The text was updated successfully, but these errors were encountered: