Swift Weekly Brief

A community-driven weekly newsletter about what's happening in the Swift open source projects at Swift.org. Curated by Kristaps Grinbergs. Started by Jesse Squires, continued by Bas Broek. Published for free every other Thursday.


Issue #48

Written by: Jesse Squires

Welcome back to the weekly! There was definitely some quiet time during the holidays in the US, but the repos are back to buzzing with activity.

Read more »

Issue #47

Written by: Bas Broek

In this brief, a lot of swiftc crashes have been either fixed or identified, we discuss some proposals that are not yet in scope for Swift 4 Stage 1, and… well, let’s not spoil everything, shall we?

Read more »

Issue #46

Written by: Brian Gesiak

What’s there to say about a week like this? Might as well just talk about Swift.

In this brief, we discuss the 2016 LLVM Developers’ Meeting, “eager” bridging, and link to detailed instructions on how Swift contributors are testing for compile time performance.

Read more »

Issue #45

Written by: Jesse Squires

Xcode 8.2 beta was released. It is the final release to support Swift 2.3. Good Luck migrating if you haven’t yet! Other than this, Xcode 8.2 still bundles Swift 3.0.1 and the only other notable changes are SDK updates for the new MacBook Pro Touch Bar.

Read more »

Issue #44

Written by: Jesse Squires

What a week for Swift! Swift 3.0.1 is here, but what’s more exciting is the new Server APIs Work Group and Server APIs Project from Swift.org! See below for details. The Xcode 8.1 GM seed was released, which bundles Swift 3.0.1. There are a number of improvements in Swift 3.0.1, including SE-0138, SE-0139 and SE-0140. Check the release notes for more information. Additionally, iOS 10.1 and macOS Sierra 10.12.1 had their final releases.

In other news, Apple is holding a “Mac-centric” event this morning where they are expected to announce new Macs. I know a lot of developers in the community have been waiting for this. I’m still crossing my fingers for a new Thunderbolt display. 🤓 Let’s hope the announcements are good!

Read more »

Issue #43

Written by: Jesse Squires

Remember SE-0025? That’s the proposal that controversially introduced fileprivate. However, if you’re regretting this change (like me), then you might have another chance to be heard! See the mailing list discussion in this issue for details. This issue also covers “id-as-Any” and continues the on-going discussion about what should be considered a source-breaking change.

Read more »

Issue #42

Written by: Bas Broek

Swift 3? You mean Swift 4? Apple has further outlined their plans on the next version of Swift. And as a reminder, Chris Lattner explained back in July what’s in store for Swift 4 and its release plan. Forwards!

Read more »

Issue #40

Written by: Brian Gesiak

With 1,653 votes, this Twitter poll shows a majority of people building their current and future macOS/iOS apps in Swift. The poll is a good reminder that many professional app developers now rely on the Swift compiler, even as it continues to rapidly grow and change. On the one hand, that means contributors like you and I can have a positive, immediate impact on many developers. On the other hand, there’s a great deal of people who may be inconvenienced by a bug, so maintainers will need to be careful about how to vet contributions.

How has Swift grown this week? In this brief, we discuss conditional protocol conformances, building the Swift runtime for Android from a macOS host machine, improved diagnostics, and proposals to add compile time debugging options.

Read more »

Issue #39

Written by: Brian Gesiak

It was the Chinese philosopher Laozi who said 「千里之行,始於足下」, or “a journey of a thousand miles begins with a single step”. Oh wait, or was that Joe Groff who said that the journey to Swift 4 begins with a single pull request…?

In any case, with major Apple releases out of the way, the Swift repositories are buzzing with activity. This week, we cover ABI FIXME cataloging, source-breaking changes, and cross-platform developments for Android, FreeBSD, and Cygwin.

Read more »

Issue #38

Written by: JP Simard

The push and pull of Swift’s duality as an open source project that’s intimately tied to closed source products came to a culminating point this week, with the official release of Swift 3.0 🎉, coinciding with Xcode 8, the Swift Playgrounds iPad app, iOS 10, tvOS 10 and watchOS 3. One can’t help but respect the amount of effort it must have taken to coordinate so many moving parts and align all these releases.

The Swift 3.0 release post on swift.org provides a great overview of all the changes that were included, tips to migrate, links to an updated Swift book, and other details about the release.

Apple is the first to share that Swift 3 was made possible by a significant number of community contributions, so all you fine readers deserve a moment to celebrate… ok, break’s over, Swift 4 won’t write itself, so read on!

Read more »

Issue #37

Written by: Jesse Squires

Of course, the big news this week was the Apple Event yesterday. The iPhone 7 was announced, along with Apple Watch Series 2. But more importantly, the GM seeds for Xcode 8, iOS 10, macOS 10.12, watchOS 3, and tvOS 10 were released — and that means we have our Swift 3.0 GM release. However, this still hasn’t been posted to Swift.org.

The public releases of iOS 10 and macOS Sierra will be September 13 and September 20, respectively.

Read more »

Issue #36

Written by: Jesse Squires

It’s almost that time of the year again when Apple will reveal new iPhone models. Invitations were sent to the press earlier this week for an event on September 7 — less than a week away! This likely means a final (or at least GM) release of Xcode 8 and the other platforms, and thus a final (or GM) release of Swift 3.

For me, this is least attractive aspect of Swift — being tied to the release cycles of Xcode, Apple’s platforms, and hardware. Along with radar, these deadlines (and thus the real deadline for Swift 3) present a closed door to the open source community. I think these things could eventually be detrimental to the health of the project, but let’s see how the Swift 4 development cycle goes first! In any case, I think we’re all excited and ready for Swift 3 to be finished! 😄

Starter tasks

  • SR-2451: [Compiler] Wording for labels in function types suggests that specific label cannot be used
  • SR-2442: [Compiler] Need better diagnostics for multi-value assignment with missing parentheses
  • SR-2409: [Compiler] Diagnostic refers to “Objective-C module” even on Linux

Submit a task by sending a pull request or opening an issue.

Commits and pull requests

Tim Bodeit found and fixed a bug that would allow mutating a let constant of a non-class protocol type. There’s an example in the pull request. Also, this is one of the best pull requests I’ve ever seen! 😎

Doug Gregor implemented an amendment to SE-0112 that provides default implementations for all of the CustomNSError requirements.

Ankit Aggarwal added documentation for the SwiftPM manifest file. 👌 Reminder: improving documentation is a great way to get involved!

Proposals

Still nothing to see here!

Mailing lists

The mailing lists are still relatively quiet. I suspect the Core Team, as well as many other teams at Apple, are busy preparing for next week’s event. There are some small threads, but most pitches are being deferred from formal discussion due to being out of scope for Swift 4 stage 1. It’s clear that the Core Team is focused on completing the goals for Swift 4, and avoiding some of the “distractions” that were present the Swift 3 release cycle — namely, the overwhelming feedback and involvement from the open source community. To be clear, this wasn’t a bad thing but it dramatically impacted the roadmap for Swift 3. 😄 It seems like swift-evolution may be quieter during Swift 4.

Finally

And finally — did you hear about the new access control modifier in Swift 4? 😂

Read more »

Issue #35

Written by: Jesse Squires

Like last week, the swift-evolution list is unusually quiet, with few responses from the Core Team. As you know, we’re in beta 6 of Xcode 8, Swift 3, and Apple’s various OSes. With August coming to an end, we should expect GM releases pretty soon. The focus right now is still on finishing up and refining this release.

Read more »

Issue #34

Written by: Jesse Squires

Welcome back to the weekly! I took a much needed break last week, so I’ll try to report on the last two weeks today. As always, if I missed anything, send a pull request!

Xcode 8 beta 6 was released this week. It’s a huge update from the previous beta, containing a number of completed swift-evolution proposals.

Generally speaking, it looks like the Core Team is still in the process of fixing, refining, and finishing Swift 3. There’s little to no activity on GitHub or the mailing lists about Swift 4 yet — aside from Chris Lattner’s original email and some initial minor discussions. In fact, if you look at the swift-evolution archives since Ted Kremenek’s “end of Swift 3” announcement, the past few weeks have had substantially fewer messages than previous weeks — roughly 100-300 instead of 500-1,000 messages.

I’m definitely looking forward to a calmer Swift development cycle that focuses more on stability and reducing churn for users — and so far it seems like Swift 4 will do just that! 😄

Read more »

Issue #33

Written by: Jesse Squires

What a week it’s been! Last week there were 23 accepted proposals that were “awaiting implementation”. Now only 8 remain! It’s incredible how much contributors from the community and the Core Team managed to accomplish in such a short time. The fourth beta of Xcode 8 was also released this week.

Read more »

Issue #32

Written by: Jesse Squires

Yesterday was the big day — the last day for Swift 3 breaking changes! Which means Swift 3 evolution is done!

According to Ted Kremenek’s email (below), any proposals that are in active development and near completion have an extended deadline of Friday, July 29. So, tomorrow! 😄 As of this writing the current status page lists 23 proposals that are “awaiting implementation”, however I know many of these are in-flight. It should be more clear exactly which proposals are not going to be included in the final Swift 3.0 release by the end of the day tomorrow, or early next week.

Unfortunately, it looks like a decent amount of proposals that contain source-breaking changes likely will not make the deadline for Swift 3. This means that Swift still has not reached (complete) source-stability, but it will be a great release nonetheless. At the moment, it’s not clear what the plan is for these proposals. Perhaps one or more Swift 3.x releases will address them?

In any case, Swift 3 is a dramatic step forward for the language. The Swift Core Team and open source contributors deserve a huge congratulations for all of their hard work! 🎉👏

Read more »

Issue #31

Written by: Jesse Squires

Welcome to issue #31! Beta 3 of Xcode and all the platforms are now available. The most important news this week was Ted Kremenek’s email on the endgame for Swift 3 (see below). The last day for Swift 3 breaking changes is July 27, and discussions on Swift 4 will begin August 1. Moving fast! 😱

Read more »

Issue #30

Written by: Jesse Squires

Welcome to issue #30! Swift preview 3.0 is underway, and the Core Team is still pushing through tons of Swift evolution proposals — it’s amazing, and slightly overwhelming! 😅 Because of this, I’m not going to dive too deep into the mailing lists, just like last week.

Read more »

Issue #29

Written by: Jesse Squires

Welcome to issue #29! This week Xcode 8 beta 2 was released and a lot of proposals were reviewed, accepted, or rejected. There are well over 100 proposals now. It’s hard to believe we’ve seen so many in such a relatively short time!

Read more »

Issue #27

Written by: Jesse Squires

Welcome back to the weekly brief! We had a great week at WWDC this year! A lot has happened since last issue. The first developer preview for Swift 3.0 was announced, as well as Swift 2.3. Be sure to checkout the official migration guide for moving your Swift 2.x code to Swift 3. Warning: it will be a bit overwhelming, but it will be worth it! Apple also released an Xcode 8 beta, along with beta OS releases for each of Apple’s platforms. And finally, the Swift Programming Language iBook has been updated for Swift 3 beta. You can also download the ePub directly from Swift.org.

While there weren’t any surprises for the language itself announced at WWDC, Apple did announce playgrounds for iPad! I think we’re all very excited about this. 😄

I was lucky enough to attend the conference and was able to meet most of the Swift Core Team. It was great to meet them in person, as well as all of the other developers attending! It was a really great week. Hope to see you next year! 🤓

Read more »

Issue #24

Written by: Jesse Squires

Welcome to issue #24! As noted last week, the first Swift 3 preview branch was cut and now there’s a Swift 3.0 Preview 1 milestone on GitHub tracking pull requests to be included. Currently there are 60 closed and 4 open.

Swift is about to hit another important milestone — 100 proposals. As of this writing there have been 99 Swift evolution proposals merged into the repository, many of them from the community. Swift has only been open source for about 6 months, so that’s over 16 proposals per month — nearly one proposal every other day! I’m pretty sure coordinating, reviewing, and writing swift-evolution announcement emails is Chris Lattner’s new “nights and weekends” passion. 😉

Thus, last week’s announcement about the goals of Swift 3 really should not have been a surprise. I think Dave Verwer said it best, “It’s likely that this volume of high quality community input came as a surprise to the Swift team. Certainly, if it was still closed source, the scope and features of Swift 3 would have been different.”

In other news, Apple released new betas for iOS, tvOS, and OS X.

Read more »

Page: 6 of 7