85 posts with the tag “Swift”

See all tags

Development

Swift 5.2 Released!

Swift 5.2 enhances the developer experience with improved compiler diagnostics, faster code completion, better debugging, and refined Swift Package Manager dependency handling.

Development

Announcing ArgumentParser

The Swift ArgumentParser library simplifies parsing command-line arguments with a type-safe, declarative approach using Swift features like property wrappers and reflection.

Development

Standard Library Preview Package

Swift 5 introduces the Standard Library Preview package, an open-source tool bundling accepted Swift Evolution features not yet in official releases, starting with SE-0270 for subrange operations like subranges(where:) and moveSubranges(_:to:) on collections, plus the RangeSet type.

Development

Library Evolution in Swift

Swift's library evolution support, enabled via BUILD_LIBRARY_FOR_DISTRIBUTION in Xcode or -enable-library-evolution in swiftc, allows framework authors to make additive API changes while maintaining binary compatibility, ensuring clients don't need recompilation.

Development

Introducing Swift Crypto

Swift Crypto is a new open-source Swift package that extends Apple CryptoKit's APIs to non-Apple platforms by using BoringSSL for cryptographic primitives, while deferring to CryptoKit on Apple systems for seamless cross-platform development.

Development

Swift Numerics

The Swift Numerics open-source project introduces a modular Swift package for numerical computing, filling gaps in the Standard Library with modules like Real and Complex.

Development

SSWG Annual Update '19

The Swift Server Work Group (SSWG) has made significant progress in its first year, establishing an incubation process for defining high-quality Swift packages through community pitches, reviews, and acceptance.

Development

New Diagnostic Architecture Overview

Swift 5.2 enhances compiler diagnostics through a new infrastructure that uses 'constraint fixes' to pinpoint type errors more accurately, allowing the type checker to continue solving and report multiple issues with actionable guidance, unlike the old system's vague guesses.

Development

Swift 5.2 Release Process

Swift 5.2 focuses on delivering significant improvements in quality and performance.

Development

Swift 5.1 Released!

Swift 5.1 advances Swift 5 by introducing module stability, enabling binary frameworks that work across compiler versions, alongside library evolution support for resilient APIs.

Development

Thread Sanitizer for Swift on Linux

Swift 5.1 introduces Thread Sanitizer on Linux, enabling runtime detection of data races in multithreaded code, which can cause unexpected behaviour or memory corruption despite Swift's single-threaded safety guarantees.

Development

Swift 5 Released!

Swift 5.0 marks a major milestone with ABI stability on Apple platforms, integrating the Swift runtime into macOS, iOS, tvOS, and watchOS for smaller apps and better performance.

Development

UTF-8 String

Swift 5 changes String's preferred encoding from UTF-16 to UTF-8 for better performance in modern computing, like server-side work and C interop, while keeping efficient Objective-C bridging.

Development

Behind the Proposal — SE-0200 Enhancing String Literals Delimiters to Support Raw Text

SE-0200 introduces custom delimiters for Swift string literals in Swift 5, allowing raw text that ignores escape sequences unless adjusted with matching pound signs, blending features from languages like Rust while retaining Swift's interpolation.

Development

Swift 5.1 Release Process

Swift 5.1 aims to achieve module stability for the language. On Apple platforms, it keeps binary compatibility with Swift 5.0 and future releases because the ABI is now stable.

Development

Evolving Swift On Apple Platforms After ABI Stability

Swift 5.0 achieves ABI stability on Apple platforms, allowing apps to use the OS-provided Swift runtime instead of bundling it, which reduces download sizes and enables better performance through deeper integration.

Development

ABI Stability and More

Swift 5 achieves ABI stability on Apple platforms, ensuring binary compatibility for apps and libraries across future Swift versions without needing to embed the Swift runtime in app bundles.

Development

Introducing the sourcekitd Stress Tester

Sourcekitd powers essential editor features like code completion and refactoring in Xcode and SourceKit-LSP, handling both syntactic and semantic requests for Swift files.

Development

Swift 5 Exclusivity Enforcement

Swift 5 turns on runtime checks for exclusive access to memory by default in release builds.

Development

REPL Support for Swift Packages

The swift run command now includes a --repl option. This lets you start the Swift REPL and import library targets from a package.

Development

How Mirror Works

Swift provides runtime type inspection through the Mirror API. This allows developers to examine arbitrary values and traverse object graphs without prior knowledge of types at compile time.

Development

Swift 5.0 Release Process

Swift 5.0 aims to achieve ABI stability to enable a stable runtime for operating systems, with module stability as a key focus that may land in this release or a later 5.x update.

Development

Swift 4.2 Released!

Swift 4.2 is a major update that enhances compile times, debugging, the standard library, and moves closer to binary compatibility, while maintaining source compatibility with Swift 4 and 4.1 but marking the last release to support Swift 3 compatibility.

Development

Introducing Related Projects to Swift Forums

The Swift community continues to expand, with developers increasingly relying on ecosystem projects to streamline app development for specific tasks. To foster better interaction, Swift Forums has introduced a new top-level category called Related Projects.

Development

Swift Community-Hosted Continuous Integration

Swift.org has expanded its continuous integration testing system to include community-hosted nodes for additional platforms.