

Shipping Swift 3.0
source link: https://www.jessesquires.com/blog/2016/10/01/shipping-swift-3/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

I’m happy to share that all of my open source Swift libraries have (finally) been updated for Swift 3. If you’ve been waiting for any of these final releases, you can now run pod update
or carthage update
and relax — sorry it took so long! I wrote about migrating to Swift 3 a few months ago and this post shares the final results of the process that I outlined in there.
New major releases
Each of my libraries have two new major releases — one for Swift 2.3 and one for Swift 3. This means if you were using version 3.x of a library, then the 4.0 release is for Swift 2.3 and the 5.0 release is for Swift 3. Semantic versioning is key here. These are major new releases to prevent breaking clients. This means pod update
won’t pull these versions automatically, but it should notify you that new releases are available. You’ll need to specify these new versions in your Podfile
(or Cartfile
).
This will allow you to update these libraries on your own time, without forcing you to migrate to Swift 3 immediately. However, note that all future development will be using Swift 3 or higher. I will not be maintaining Swift 2.3 versions — these are merely intermediate releases to help you migrate to Swift 3 according to your own project’s needs and timeline. New features and fixes will only be applied to the latest version of each library.
Updating so many libraries is time consuming, but the branching model outlined in my previous post made it simple. Here’s the final git flow:
- The
swift2.3
branch is finished and ready - Squash and merge
swift2.3
intodevelop
- Merge
develop
intomaster
- Tag and release a new version for Swift 2.3
- Rebase the
swift3.0
branch ontodevelop
and resolve conflicts - The
swift3.0
branch is finished and ready - Squash and merge
swift3.0
intodevelop
- Merge
develop
intomaster
- Tag and release a new version for Swift 3.0
If the library was initially at version 2.0, here’s the gist of what this looks like:
v2 (Swift 2.2) v3 (Swift 2.3) v4 (Swift 3.0)
o------o--------------------o--------------------o--------------> develop/master
\ / /
o--- swift2.3 ---o /
\ /
o--- swift3.0 ---o
Deprecations
Also note that a few of my libraries have been deprecated, which I wrote about here. These libraries were no longer valuable in general, or no longer needed in Swift 3.
Contribute
If you find any bugs or have any questions, please send me a pull request or open an issue!
Recommend
-
2313
Developer community programs Google is committed to advancing racial equity fo...
-
1093
Search Visibility Tracker of the Next Generation
-
524
First iPhone X orders start shipping to customers from Apple and carriers Not long after pre-orders b...
-
725
Pragmatic Releasing: Less Worry, More ShippingNov 17th 2017 engineering
-
52
One of Mozilla’s top priorities is to keep our users safe; this commitment is written into our mission. As soon as we discover a critical issue in Firefox, we plan ...
-
1141
-
76
IOS Application Weekend project. Will be open sourced soonish !! #Sentimentanalysis
-
70
Now shipping: ultramem machine types with up to 4TB...
-
111
Both Swift and Go are modern compiled languages. They have their own typical use cases, strengths a...
-
5
"Module Stability" Swift 5 introduces "ABI Stability", which means the calling conventions between two binaries is now guaranteed to be consistent. Previously, if two binaries were compiled with two different Swift versions, it was n...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK