diff --git a/Metadata/domain-diagram.svg b/Metadata/domain-diagram.svg deleted file mode 100644 index 726a4bd..0000000 --- a/Metadata/domain-diagram.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - domain-diagram - Created with Sketch. - - - - - https - :// - www - . - github - . - com - - - - Subdomain - - - - - Protocol - - - - Top-Level Domain - - - Second-Level Domain - - - - - Root Domain - - - - - \ No newline at end of file diff --git a/Metadata/domain-diagram.webp b/Metadata/domain-diagram.webp new file mode 100644 index 0000000..fe59c72 Binary files /dev/null and b/Metadata/domain-diagram.webp differ diff --git a/README.md b/README.md index e99bc98..54a71bd 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg)](https://github.com/gumob/TLDExtractSwift) -[![Version](http://img.shields.io/cocoapods/v/TLDExtract.svg)](http://cocoadocs.org/docsets/TLDExtract) -[![Platform](http://img.shields.io/cocoapods/p/TLDExtract.svg)](http://cocoadocs.org/docsets/TLDExtract) -[![Build Status](https://travis-ci.com/gumob/TLDExtractSwift.svg?branch=master)](https://travis-ci.com/gumob/TLDExtractSwift) +[![Swift Package Manager compatible](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange)](https://github.com/gumob/TLDExtractSwift) +[![Cocoapods Version](http://img.shields.io/cocoapods/v/TLDExtractSwift.svg)](http://cocoadocs.org/docsets/TLDExtract) +[![Cocoapods Platform](http://img.shields.io/cocoapods/p/TLDExtractSwift.svg)](http://cocoadocs.org/docsets/TLDExtract) +[![Build](https://github.com/gumob/TLDExtractSwift/actions/workflows/main.yml/badge.svg)](https://github.com/gumob/TLDExtractSwift/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/gumob/TLDExtractSwift/branch/master/graph/badge.svg)](https://codecov.io/gh/gumob/TLDExtractSwift) -![Language](https://img.shields.io/badge/Language-Swift%204.2-orange.svg) +![Language](https://img.shields.io/badge/Language-Swift%205.0-orange.svg) ![Packagist](https://img.shields.io/packagist/l/doctrine/orm.svg) # TLDExtract @@ -13,7 +13,26 @@ Domain names are the unique, human-readable Internet addresses of websites. They are made up of three parts: a top-level domain (a.k.a. TLD), a second-level domain name, and an optional subdomain. -drawing +drawing + +## Changes in 3.0.0 + +### Breaking changes + +- ‼️ Library name changed from ~~`TLDExtract`~~ to **`TLDExtractSwift`** to resolve namespace conflicts. For more details, please check the issue ([apple/swift#56573](https://github.com/apple/swift/issues/56573)). + + Please don't forget to update your source code. + + ```diff + - import TLDExtract + + import TLDExtractSwift + ``` + +### Other changes +- Dropped support for Swift 4. +- Added watchOS and visionOS to supported platforms. +- Changed supported versions for macOS, iOS, and tvOS to match Xcode 15.4. + ## Feature @@ -24,23 +43,49 @@ Domain names are the unique, human-readable Internet addresses of websites. They ## Requirements -- iOS 9.3 or later -- macOS 10.12 or later -- tvOS 10.2 or later -- Swift 4.2 or later -- Python 2.7 or Python 3 +- macOS 10.13 or later +- iOS 12.0 or later +- tvOS 12.0 or later +- watchOS 4.0 or later +- visionOS 1.0 or later +- Swift 5.0 or later ## Installation +### Swift Package Manager + +Add the following to your `Package.swift` file. + +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 + ```swift + dependencies: [ + .package(url: "https://github.com/gumob/TLDExtractSwift.git", .upToNextMajor(from: "3.0.0")) + ] + ``` + +- macOS, iOS, tvOS, and Swift 5 + ```swift + dependencies: [ + .package(url: "https://github.com/gumob/TLDExtractSwift.git", .upToNextMajor(from: "2.1.1")) + ] + ``` + ### Carthage Add the following to your `Cartfile` and follow [these instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application). -``` -github "gumob/TLDExtractSwift" # Latest (Swift 5.0) -github "gumob/TLDExtractSwift" ~> 2.0 # Swift 5.0 -github "gumob/TLDExtractSwift" ~> 1.0 # Swift 4.2 -``` +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 + ``` + github "gumob/TLDExtractSwift" ~> 3.0 + ``` +- macOS, iOS, tvOS, and Swift 5 + ``` + github "gumob/TLDExtractSwift" ~> 2.0 + ``` +- macOS, iOS, tvOS, and Swift 4 + ``` + github "gumob/TLDExtractSwift" ~> 1.0 + ``` Do not forget to include Punycode.framework. Otherwise it will fail to build the application.
@@ -50,14 +95,18 @@ Do not forget to include Punycode.framework. Otherwise it will fail to build the To integrate TLDExtract into your project, add the following to your `Podfile`. -```ruby -platform :ios, '9.3' -use_frameworks! - -pod 'TLDExtract' # Latest (Swift 5.0) -pod 'TLDExtract', '~> 2.0' # Swift 5.0 -pod 'TLDExtract', '~> 1.0' # Swift 4.2 -``` +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5.0 + ```ruby + pod 'TLDExtractSwift', '~> 3.0' + ``` +- macOS, iOS, tvOS, and Swift 5.0 + ```ruby + pod 'TLDExtract', '~> 2.0' + ``` +- macOS, iOS, tvOS, and Swift 4.2 + ```ruby + pod 'TLDExtract', '~> 1.0' + ``` ## Usage @@ -65,14 +114,14 @@ pod 'TLDExtract', '~> 1.0' # Swift 4.2 Basic initialization code. Exceptions will not be raised unless [the Public Suffix List on the server](https://publicsuffix.org/list/public_suffix_list.dat) is broken. ```swift -import TLDExtract +import TLDExtractSwift let extractor = try! TLDExtract() ``` A safer initialization code to avoid errors by using the frozen Public Suffix List:
```swift -import TLDExtract +import TLDExtractSwift let extractor = try! TLDExtract(useFrozenData: true) ```