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 #54

Written by: Jesse Squires

This week was manifesto week, with a couple of new manifestos showing up in the main Swift repo a la Doug Gregor’s original Generics Manifesto. Additional interviews with Chris Lattner made their rounds on the web, and the first few proposals of the new year are under review — evidence that Boris Bügling does actually work sometimes. 😉 😄

Read more »

Issue #53

Written by: Jesse Squires

Welcome to the weekly! As of Tuesday, January 17 master branch development has officially switched to Swift 4.0. This marked the last periodic merge of master into the swift-3.1-branch branch. Anything else going into Swift 3.1 will now require approval from our new Swift overlord, Ted Kremenek. 😄 I suppose this means we’re officially commencing Swift 4 Phase 1.

Read more »

Issue #52

Written by: Jesse Squires

This week brought some very unexpected news. As you’ve likely heard, Chris Lattner will be leaving Apple and joining Tesla. The original author of the Clang Static Analyzer, Ted Kremenek, will be taking over as Swift Project Lead. While the timing certainly seems abrupt, these things rarely happen at “good” or convenient times. I’m sure he will be missed at Apple, and it’s certainly a great loss for the company. Let’s all wish Chris the best of luck! The good news is that the Core Team is still there — and they’ve been doing all the hard work lately anyway, right? 😉

One thing to note is that Chris is the first Core Team member to leave Apple and remain on the Core Team. Ironically, this makes him the first non-Apple member of the Core Team. In his note to swift-evolution, he mentioned that he intends to stay involved so hopefully the project will still benefit from his guidance and contributions!

Read more »

Issue #51

Written by: Jesse Squires

Welcome back to the weekly! Hopefully you enjoyed some time off over the last few weeks. As expected, the Swift project repos are back to buzzing with their usual activity. Welcome to 2017, let’s dive in!

Read more »

Issue #50

Written by: Jesse Squires

Welcome to the 50th issue of the weekly! It’s hard to believe we’ve reached this milestone! 😊

This week Ted Kremenek wrote an official post on the 3.1 release process. Swift 3.1 is intended to be source compatible with Swift 3.0 and set for release in Spring 2017. (Spring for those of us in the Northern Hemisphere. 😉) The final date to accept major changes for Swift 3.1 will be around January 16, 2017. As Chris Lattner noted: “Swift 3.1 is the first release to benefit from the new era of source compatibility, a result of swift-evolution refining and polishing 3.0!”

This will be the last issue for 2016. But don’t worry, I’ll still be periodically tweeting anything interesting. Swift.org will likely start to quiet down over the coming weeks. If you’re in the US, enjoy the holidays and (hopefully) time off. We’ll be back in January!

Read more »

Issue #49

Written by: Jesse Squires

Welcome to issue 49! As of December 3, Swift has been open source for 1 full year. 😱 🎂 Can you believe it? I’m not sure if it is harder to believe that this was Swift’s first year of open source development, or that it has only been 1 year. Congrats to the Core Team, contributors, and community!

Read more »

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 »

Page: 6 of 8