-
Notifications
You must be signed in to change notification settings - Fork 222
Swift 5.9 release blog post #372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Update 2023-08-29-swift-5.9-released.md * indent code block in list --------- Co-authored-by: Alexander Sandberg <[email protected]>
Add some words about the new crash handler, including a promise of a future blog post on the subject.
If we get a chance we should definitely call out the new linker as that is providing massive speed ups and more importantly significantly less memory usage which is useful when compiling on memory constrained environments |
|
||
Swift's fundamental goal is to encourage code that is clear and concise, while remaining safe and efficient. | ||
|
||
This release adds three long-desired features that further that goal: a new macro system for more expressive libraries, parameter packs to make overloaded APIs natural to use, and new ownership features to offer more performance control in low-level code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more performance control in -> more control over performance in
|
||
Swift expressions can now refer to generic type parameters. This allows setting a conditional breakpoint in a generic function that only triggers when a type parameter is instantiated with a specific concrete type. | ||
|
||
The debug info produced by the Swift compiler is now more precisely scoping local variables, which makes it less likely to see variables backed by uninitialized memory in the debugger. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is now more precisely scoping local variables, which makes -> now more precisely scopes local variables, making
likely to see -> likely that you see
|
||
- Packages can use the new `package` access modifier, allowing access of symbols in another target / module within the same package without making them public. SwiftPM automatically sets the new compiler configuration to ensure this feature works out-of-the-box for packages. | ||
|
||
- The `CompilerPluginSupport` module enables defining macro targets. Macro targets allow authoring and distributing custom Swift macros as API in a library. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API - > APIs
|
||
- SwiftPM can now publish to a registry following the specification defined in [SE-0391](https://github.com/apple/swift-evolution/blob/main/proposals/0391-package-registry-publish.md), as well as support signed packages, which may be required by a registry. Trust-on-first-use (TOFU) validation checks can now use signing identities in addition to fingerprints, and are enforced for source archives as well as package manifests. | ||
|
||
- SwiftPM now supports cross compilation based on [Swift SDK bundles](https://github.com/apple/swift-evolution/blob/main/proposals/0387-cross-compilation-destinations.md#swift-sdk-bundles). While the feature is still considered experimental, we invite users to try it out and provide feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swift SDK bundles -> the new Swift SDK bundle format
|
||
[swift-syntax](https://github.com/apple/swift-syntax) is an essential tool for parsing Swift code and helps power the new macro system. This year, swift-syntax received a number of improvements: | ||
|
||
- Syntax nodes names are more consistent and accurately reflect the Swift language. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax nodes names -> Names of Syntax nodes
Alternatively -> Syntax nodes' names
The current formulation is wrong.
…mpiler engineers implementing the feature
@swift-ci test |
1 similar comment
@swift-ci test |
This PR adds the announcement blog post for the upcoming Swift 5.9 release.
We have tried to improve this process since last time, and one of the more notable things this time around is that we're trying to include the community a bit more.
We're still exploring ways of doing this, but as an example, it would be nice to link to blog posts, articles, videos, open-source projects, and other resources that the community has created that relate to what's new in Swift 5.9.
I will start a thread on the forums later today to let the community know.The forum thread is now published: Swift 5.9 release blog post community contributions
TODOs
Add link to the Debugging blog post once it's availableUpdate section with new content as debugging blog post will be published laterCloses #330.