HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
swiftlang
swift-evolution
Markdown2015–2026
swiftlang / swift-evolution

swift-evolution

This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

105Distinct people
154Mentions
2Explicit recommenders
15.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I love Swift. Writing in it is awesome, the community is great, and it has traditionally been focused on a truly wonderful dev-focused experience. That being said, releases…

joshuawright11 used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 6:01:08 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year154 dated mentions

Observed mentions: 2015-12-03 17:04:39 UTC to 2026-07-10 11:39:51 UTC.

05101520252015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 11 mentions; 7 submissions, 4 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 24 mentions; 4 submissions, 20 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 5 submissions, 7 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 11 mentions; 4 submissions, 7 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 20 mentions; 6 submissions, 14 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 18 mentions; 5 submissions, 13 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 17 mentions; 5 submissions, 12 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC1174
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC24420
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC1257
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC505
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC1129
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC1028
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC1147
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC1019
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC20614
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC18513
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC17512
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC505

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Swift Evolution https://www.swift.org/swift-evolution/ This repository tracks the ongoing evolution of the Swift programming language, standard library, and package manager. Goals and Release Notes Swift Language focus areas heading into 2025 CHANGELOG Version Announced Released Swift 6.4 2026-03-18 2026-09-15 Swift 6.3 2025-10-24 2026-03-24 Swift 6.2 2025-03-08 2025-09-15 Swift 6.1 2024-10-17 2025-03-31 Swift 6.0 2024-02-22 2024-09-17 Swift 5.10 2023-08-23 2024-03-05 Swift 5.9 2023-03-06 2023-09-18 Swift 5.8 2022-11-19 2023-03-30 Swift 5.7 2022-03-29 2022-09-12 Swift 5.6 2021-11-10 2022-03-14 Swift 5.5 2021-03-12 2021-09-20 Swift 5.4 2020-11-11 2021-04-26 Swift 5.3 2020-03-25 2020-09-16 Swift 5.2 2019-09-24 2020-03-24 Swift 5.1 2019-02-18 2019-09-20 Swift 5.0 2018-09-25 2019-03-25 Swift 4.2 2018-02-28 2018-09-17 Swift 4.1 2017-10-17 2018-03-29 Swift 4.0 2017-02-16 2017-09-19 Swift 3.1 2016-12-09 2017-03-27 Swift 3.0 2016-05-06 2016-09-13 Swift 2.2 2016-01-05 2016-03-21
Read the full README on GitHub

What Hacker News says

12 sources
Equatable and Hashable also have some "magic", currently only for enums without associated values. Recently this was generalized to enums where all associated values are themselves Equatable and Hashable, as well as structs where all fields are Equatable and Hashable. This is not implemented in Swift 4, but an implementation was recently added to the master branch. You can read the details here: https://github.com/apple/swift-evolution/blob/master/proposa...
In Swift 4.0 Released
This project's still on Swift 3, so I don't have first-hand experience upgrading to Swift 4. It looks like there are breaking changes though, albeit not nearly as many as 3 had. The most notable one looks like in the String API [1]. There are a few other minor ones that most projects won't hit, like in the dictionary/set API [2]. A few of these are also slightly more breaking than it initially seems because they've added temporary compatibility workarounds marked as deprecated in Swift 4 to avoid breaking as much working Swift 3 code, but these will go away for Swift 5, so you do still have to port anyway (just not immediately). [1] https://github.com/apple/swift-evolution/blob/master/proposa... [2] https://github.com/apple/swift-evolution/blob/master/proposa...
In Swift 5: start your engines
This is already being done. Swift 4 (unreleased) has source compatibility with Swift 3 [0], so all Swift code working today should work in the next version, no migrator necessary. Additionally, the goal of Swift 4 is to finalize the ABI. Once that is done, you can mix and match different Swift versions in the same project. The real "problem" here is that Swift wants to be a "big" language, in the vein of C++ or Rust, as opposed to a "small" language like C or JS where you can read one book. (Swift does have a book, it's 1200 pages.) There's a lot of "stuff": a complex typesystem, many basetypes, generics, extensions, both static and dynamic dispatch, programmer-assisted memory management, closures, visibility, ephemerals, optionals, a mutability-based memory model, etc. etc. Inevitably some of that stuff won't be quite right and so you
Read the rest
have churn. But ideally you only need 10% of those (it's just that everybody needs a different 10%) and so the amount of churn you personally have to deal with should be low, and can be lower with the appropriate tooling. [0] https://swift.org/blog/swift-4-0-release-process/ [1] https://github.com/apple/swift-evolution
In Swift Changes Considered Harmful

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.