Skip to content

0.1.0 - Initial Release

Latest

Choose a tag to compare

@coenttb coenttb released this 10 Nov 16:03
· 38 commits to main since this release

Initial Release

Swift implementation of RFC 3986: Uniform Resource Identifier (URI) Generic Syntax

Features

  • ✅ URI validation (ASCII-only per RFC 3986)
  • ✅ URI normalization (scheme/host lowercasing, default port removal, path normalization)
  • ✅ Component parsing (scheme, authority, path, query, fragment)
  • ✅ Relative URI reference resolution (RFC 3986 Section 5)
  • ✅ Percent-encoding/decoding utilities (RFC 3986 Section 2.1)
  • ✅ Character set definitions (reserved, unreserved, etc.)
  • ✅ HTTP/HTTPS specific validation
  • ✅ Protocol-based design with `URI.Representable`
  • ✅ Foundation `URL` conformance to `URI.Representable`
  • ✅ Developer delight features (convenience APIs, operators, fluent chains)
  • ✅ Swift 6 strict concurrency support
  • ✅ Full `Sendable` conformance
  • ✅ Cross-platform (macOS, iOS, tvOS, watchOS, Linux)

Requirements

  • Swift 6.0+
  • macOS 14+, iOS 17+, tvOS 17+, watchOS 10+, or Linux

Installation

```swift
dependencies: [
.package(url: "https://github.com/swift-web-standards/swift-rfc-3986", from: "0.1.0")
]
```

Documentation

See README for usage examples and API documentation.

Related Packages

  • swift-rfc-3987 - Swift types for RFC 3987 (Internationalized Resource Identifiers)
  • swift-rfc-4287 - Swift types for RFC 4287 (Atom Syndication Format)
  • swift-atom - Atom feed generation and XML rendering