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

Written by: Jesse Squires

All the way back in Issue #55 we covered discussions on the swift-evolution mailing list about possibly moving to a “modern” form-based solution for discussion and leaving the mailing lists behind. This week, about a year later, the transition to Discourse.org is starting today! This means the mailing lists will be disabled tonight (US Pacific time) with the transition completing by Monday (Dec 18).

I think most are excited about the move. Given the volume of discussions and the lack of adequate search for the mailing lists, I think this will be a great improvement for the Swift community — not to mention more approachable. If you’ve been avoiding swift-evolution because you aren’t a fan of email (who isn’t?!), then this might be your chance to get more involved. You’ll be able to sign up via email or with your GitHub account.

Read more »

Issue #97

Written by: Jesse Squires

Swift officially turned two years old this week, which means this newsletter is also two years old! It’s hard to believe. We’ve certainly come a long way, but there’s plenty of work to be done. Here’s to another great year of Swift!

Read more »

Issue #96

Written by: Jesse Squires

I’ve returned! 😊 Welcome back to the weekly. We skipped last week and I haven’t written the last few issues, but luckily we have some amazing contributors to help bring this to your inbox each week. Big thanks to Bas, Brian, and Roman. I was traveling and speaking at iOS Conf Singapore and then the very first try! Swift India — both of which were great!

This week, we saw a progress on conditional conformances, a few new proposals, and discussions on Swift interop with Python.

Read more »

Issue #95

Written by: Brian Gesiak

“The sky is falling! The sky is falling, and Google is forking Swift!”

Fear not, dear reader, Google doesn’t appear to be “forking” the Swift project – no matter what the blowhards on some venture capitalist’s forum board tell you. Instead, Google employees will simply be using google/swift as a staging area for their pull requests to the main apple/swift project. In fact, this week we already saw some incredible contributions from Google engineers, including support for Fuchsia OS!

So while the internet tries to get a rise out of you, just keep reading Swift Weekly Brief to learn what’s really going on in Swift – I promise you it’ll be less melodramatic than what’s “trending” on Twitter. 😏

Read more »

Issue #94

Written by: Brian Gesiak

This week in Swift development: the Swift team created several fun new starter tasks, Doug Gregor fixed a nasty bug in Objective-C interop, and the mailing lists were abuzz with several exciting Swift Evolution proposals. Adjust your Apple Watches – it’s “Swift Weekly Brief O’Clock”!

Read more »

Issue #92

Written by: Roman Volkov

Greetings! Hope you’re feeling a little rested from the week off and are ready to absorb Swift news again. There has been some interesting development activity at the main Swift repo over the past two weeks. Plus, two exciting themes have been covered by Swift Unwrapped. Enjoy the issue!

Read more »

Issue #91

Written by: Bas Broek

Wow, it’s been quite the week! There has been a lot going on this week, and quite a few swift-evolution proposals have landed. And not the smallest ones either: what about Automatic Equatable and Hashable conformance for example? Swift 4.1 is shaping up to be a great release that will make our lives even easier. 🏎💨

Read more »

Issue #90

Written by: Bas Broek

It’s been a while since I last wrote an issue, but I am glad to be writing another one. Especially after meeting JP at FrenchKit where we both gave a talk (JP did one on profiling Swift performance on Linux (slides), I did one on what we can expect from Swift 5 (slides)). There will be videos, but we’ll have to wait a little longer for those.

Other than that, we are now less than a month away from the iPhone X! That means upgrading your apps sooner rather than later.

Have a great week!

Read more »

Issue #89

Written by: Roman Volkov

Welcome to the 89th issue of Swift Weekly Brief! This week was more calm, no news explosions. The repositories and mailing lists had their usual activity.

Read more »

Issue #88

Written by: Jesse Squires

Swift 4.0 is finally here! So now everyone can relax, right? 😅 Ha. ABI Stability isn’t going to implement itself! 😆 There’s a lot of work ahead. We saw some progress here this week with Jordan Roses’s proposal on non-exhaustive enums. Also, there were some improvements to KeyPaths and the start to recursive protocol constraints.

Swift 4 landed along with Xcode 9, iOS 11, tvOS 11, and watchOS 4. This only leaves macOS High Sierra, which will be out in a few days. Good lucking with migrating your code bases if you haven’t started already. Over at PlanGrid, we decided to move to Swift 3.2 during the betas and move to Swift 4.0 after the final release. I have a work-in-progress branch doing the migration now and it’s not too bad, but definitely not trivial.

Read more »

Issue #87

Written by: Greg Heo

Foundation improvements, no longer a fable
Resilience and ownership, back on the table
   Swift 4 is now live
   Let’s look to Swift 5
The primary goal: get that ABI stable

It was iPhone hardware day this week, but don’t forget about the software side of things — iOS 11, Xcode 9, and Swift 4 GM releases all available on the developer portal.

But you’ve decided to stop refreshing the Apple Store web site and have found your way here…welcome! Let’s get into the Swift news.

Read more »

Issue #86

Written by: Roman Volkov

Welcome back to the weekly! The Swift project repos continue to delight with their usual activity. This week we have some new starter tasks, updates on proposals, and most excitingly, Chris Lattner’s appearance on Swift Unwrapped to talk about concurrency in Swift 5.

Read more »

Issue #85

Written by: Roman Volkov

Welcome to issue 85! This week was quieter than last, but various discussions on concurrency continued. Proposal SE-0184: Improved pointers was updated and is waiting to get merged back into the swift-evolution repository.

Read more »

Issue #84

Written by: Jesse Squires

What a surprisingly exciting week! Discussions on Swift’s concurrency story (for Swift 5) have started with a new manifesto and proposal for async / await, and the new refactoring tools were open sourced with a blog post explaining how do implement your own refactoring actions. There’s a lot of exciting work ahead!

Read more »

Issue #83

Written by: Roman Volkov

Things have been more quiet this week as everyone is excited about Swift 5 development beginning (announced last week). Bugs are being fixed, improvements are being made, and we finally found out where Chris Lattner is headed next!

Read more »

Issue #82

Written by: Jesse Squires

With Swift 4 development wrapping up, this week the goals for Swift 5 were announced! There are a lot of things to unpack in this announcement, but two main topics stand out — ABI stability and changes to the Swift Evolution process.

First, ABI stability is not merely a goal for Swift 5, but a requirement for the release. Notably, this is the first Swift release to have a hard requirement like this. As Ted discussed in the email, whatever ABI we have at the end of Swift 5, that’s what we’re stuck with! So there you have it, no more ABI stability delays! This likely means that iOS 12 could be the first release to ship with Swift, no longer requiring application developers to bundle the Swift runtime and standard library with their apps.

Secondly, the Swift Evolution process will see substantial changes. If you recall, the Swift 4 development cycle was split up into two “phases” in an attempt to address the somewhat chaotic churn of proposals that we saw during the development of Swift 3. The intent of Swift 4’s phases was to keep the release focused on meeting its goals, but this didn’t quite work out as expected. Thus, beginning with Swift 5 proposals are required to have an implementation before being officially reviewed by the Core Team.

There’s some concern in the community that this raises the bar too high for proposals and participation will decrease dramatically as a result. However, this new rule does not mean that the proposal author is required to implement the changes. It only specifies that an implementation must be available in order to be reviewed. Thus, multiple contributors can collaborate on writing and implementing. Despite the potential downsides, I’m in favor of this change. I expect it reduce much of the distraction and pure bikeshedding that happens sometimes on the mailing lists. And practically speaking, I honestly don’t see any other option given the importance of ABI stability — have you seen how much work is still left to do? 😅 Another benefit of this is that we could see the actual impact of the proposal on real-world code and include that as part of the review process. This will hopefully avoid another debacle like the access control controversy of Swift 3.

Start your engines! 🏎

Read more »

Issue #81

Written by: Jesse Squires

I can’t believe it’s already August! This means we are only one or two months away from a final release of Xcode 9, Swift 4, and all of the Apple OSes. We usually see a GM around late August or September. There are still a number of proposals that have not been implemented and I think it’s safe to say they will not be included in Swift 4. Anyway, this week there were some changes to SourceKit that will make SwiftLint users happy and an initial implementation of Swift bindings to libSyntax. On the mailing list, Jordan Rose discussed his 99 problems — spoiler, all of them are inheritance and initializers.

Read more »

Issue #80

Written by: Jesse Squires

The fourth beta of Xcode 9/Swift 4 was released this week, which included support for Swift static libraries. Proposals are winding down with only revisions to SE-0104 still in review. And everybody’s favorite topic — the Swift Evolution process — was discussed on the swift-evolution mailing lists. 😄

Read more »

Issue #79

Written by: Jesse Squires

This week two more outstanding proposals were formally accepted, including the much anticipated String Newline Escaping proposal, and there was a new, last minute string performance proposal from Ben Cohen. Even more, two non-Apple contributors have stepped up to implement two accepted-but-unimplemented proposals. Keep in mind, we’re already on beta 3 of Xcode 9 so the clock is ticking! Unfortunately, the time is up for some. Joe Groff confirmed that conditional conformances will not make the cut for Swift 4 (sad!), but he made up for the bad news by revealing how dogs wear pants. And yes, this means Joe is back from his Twitter hiatus!

Read more »

Issue #78

Written by: Jesse Squires

This week the third beta of Xcode 9 (and thus Swift 4) was released, there are a couple of new proposals in review, and the IBM Runtimes compiler team announced a prototype JIT compiler for server-side Swift, which will be open sourced in the near future. This is super cool, but if I’m being honest I’m more excited about the potential enhancements to multi-line string literals. 😄

In other news, there are currently 15 accepted proposals for Swift 4 that have not been implemented. I’m sure many are in-progress, but it looks likely that some of these will be pushed to a future release.

Read more »

Issue #77

Written by: Jesse Squires

After some time off and a break from the weekly, I’m back! Before we get started, I’d like to send a final massive thanks to the other Swift Weekly writers and contributors for doing such a great job the past few weeks. This team is great and they worked super hard to bring you the best Swift news, and even helped with this issue. Alright — let’s get to it!

Read more »

Issue #76

Written by: Garric Nahapetian

It was a busy week on the main apple/swift repo. Here are some stats from GitHub Insights:

Excluding merges, 39 authors have pushed 156 commits to master and 284 commits to all branches. On master, 401 files have changed and there have been 12,589 additions and 9,215 deletions..

It’s great to see so much work being done so soon after WWDC. The core team and other contributors are making significant progress on the road to the official Swift 4 launch.

iOS 11 beta 2, tvOS 11 beta 2, and Swift Playgrounds 2 beta 2 were all released. Download them here, and keep filing radars!

Read more »

Issue #75

Written by: Greg Heo

There once was a language called Swift
Proposals and fix-its caused drift
  to existing code bases,
  if statements, switch cases;
But newsletters help bridge the rift

I don’t know about you but I’m still recovering from all the WWDC excitement. 😓

Keeping us on our toes, the folks at Apple have released a second round of OS betas and Xcode seeds. Check out the developer portal and the Xcode 9 Beta 2 release notes in particular for the latest on improvements and known issues in the bundled Swift 4.

Read more »

Issue #74

Written by: Ben Asher

It has been a week since WWDC; have you had a chance to see what your Swift 4 upgrade path looks like yet? Mine started with an increase in redundant protocol conformance warnings, and I found one minor regression. That said, it has been pretty smooth so far, especially compared to the two weeks I spent on the Swift 3 upgrade last year!

Also, keep in mind that Swift 3.2 is the Swift 4 compiler running in Swift 3 compatibility mode (-swift-version 3, which clicked for me sometime during WWDC 😅). Understanding this can be really helpful when putting together a ticket for bugs.swift.org.

Read more »

Page: 4 of 7