Releases: tayloraswift/swift-ip
0.3.3
This release pins the library’s swift-bson dependency to 1.0.0 ..< 2.0.0
.
0.3.2
Updates the library source to make it compile with the latest swift-bson
Full Changelog: 0.3.1...0.3.2
0.3.0
What's Changed
- rework the binary format to do less work on the server (decoder) and potentially use less memory as well by @tayloraswift in #6
Full Changelog: 0.2.0...0.3.0
0.2.0
This release adds ASN model types, and an API for performing bisection search on IP address ranges.
Full Changelog: 0.1.2...0.2.0
0.1.2 (Initial release)
This is the initial public release of the swift-ip library — a portable, Foundation-free library for working with IP addresses.
Why use swift-ip?
The IP address types defined by the Network
framework are Darwin-only, which precludes their use in server-side code.
The swift-nio library provides a multi-platform SocketAddress
type, but it is heap-allocated and reference-counted, and requires linking against the entire NIOCore
module. This makes it unsuitable as a high-performance currency type for purposes such as firewall implementations or metrics collection.
Who is using swift-ip?
The Swiftinit documentation index currently uses the swift-ip library to verify clients (such as Googlebot and GitHub Webhooks) and combat abuse.
Requirements
The swift-ip library requires Swift 6.0 or later. This is because IP.V6
uses UInt128
.
Platform | Status |
---|---|
🐧 Linux | |
🍏 Darwin | |
🍏 Darwin (iOS) | |
🍏 Darwin (tvOS) | |
🍏 Darwin (visionOS) | |
🍏 Darwin (watchOS) |