Swift

See all tags

220 posts

Development

Announcing Swift 6

Swift 6 is a major release expanding the language’s reach with full data-race safety via an opt-in language mode, typed throws for precise error handling, and non-copyable type support in generics for low-level performance.

Development

The Future of Vapor

After over four years and nearly 400 releases, Vapor 4 is transitioning to maintenance mode, with Vapor 5 now in development to leverage Swift 6’s capabilities and modernise the framework.

Development

Introducing Oblivious HTTP support in Swift

Apple has introduced SwiftNIO Oblivious HTTP, a new open-source package implementing provisional support for Oblivious HTTP, enhancing client privacy by preventing servers from identifying request sources through encryption and a trusted third-party relay.

Development

Nerdy internals of an Apple text editor

A lovely deep dive in TextView and related API's. Very well written, accompanied with good images/videos to explain something, absolutely worth the read.

Development

Announcing Swift Homomorphic Encryption

Apple has announced swift-homomorphic-encryption, a new open-source Swift package that brings Homomorphic Encryption (HE) to Swift.

Development

Plotting a Path to a Package Ecosystem without Data Race Errors

Swift 6 introduces compile-time data race safety checks for code opting into the Swift 6 language mode, significantly reducing crashes and performance issues, but full benefits require ecosystem-wide adoption.

Development

New GitHub Organization for the Swift Project

The Swift programming language is migrating to a dedicated GitHub organisation at GitHub.com/swiftlang, reflecting its growing versatility and community maturity beyond Apple’s ecosystems.

Development

On Fluent Models and Sendable warnings

Since FluentKit 1.48.0, users have encountered a warning about mutable stored properties in Sendable-conforming Model classes due to Swift’s concurrency requirements and property wrapper limitations.

Development

Get Started with Embedded Swift on ARM and RISC-V Microcontrollers

Apple has introduced a repository, swift-embedded-examples, showcasing Embedded Swift, a new experimental compilation mode for Swift targeting constrained microcontrollers like ARM and RISC-V, suitable for IoT and electronics projects.

Development

SSWG 2024 Annual Update

The Swift Server Workgroup (SSWG) 2024 annual update highlights 2023 achievements and sets goals for the coming year.

Development

Writing GNOME Apps with Swift

Adwaita for Swift is a new open-source package that enables Swift developers to create GNOME applications for Linux, leveraging Swift’s clean syntax, static typing, and result builders for a declarative, readable, and memory-safe user interface design.

Development

Introducing the Benchmark Package: Complementing Unit Tests with Performance Checks

The Swift Benchmark package, a new open-source tool developed due to the lack of suitable multi-platform benchmarking solutions, integrates performance testing into Swift’s ecosystem, emphasising the importance of speed alongside functionality in software development.

Development

Byte-sized Swift: Building Tiny Games for the Playdate

Swift is a versatile language for embedded systems due to its memory safety and ergonomics, as shown by porting games to the Playdate handheld console using the new embedded language mode.

Development

Iterate Over Parameter Packs in Swift 6.0

Swift 6.0 introduces pack iteration, enhancing parameter packs from Swift 5.9 to simplify working with variable-length generic arguments.

Development

Swift 5.10 Released

Swift 5.10 achieves full data isolation in its concurrency model, enforcing compile-time checks to prevent data races when using the -strict-concurrency=complete flag, building on features like async/await and actors from Swift 5.5 and Sendable from Swift 5.7.

Development

JWTKit is no longer Boring!

The Swift Server Workgroup announced that Swift 5.10 will be the final release before Swift 6, prompting Vapor to plan Vapor 5, with JWTKit v5 as the first package to adopt modern Swift features like full Sendable compliance and Swift 6’s strict concurrency mode.

Development

SwiftData, pre-seed database

I started developing a new app, and it's been an exciting journey so far. Recently, I've begun utilising SwiftData, which is proving to be a fantastic tool for managing data within the app.

Development

On-device ML research with MLX and Swift

MLX Swift is a new open-source package from Apple that brings the MLX array framework for machine learning on Apple silicon to Swift. It gives researchers a Swift API to build and run models on Apple hardware.

Development

Swift OpenAPI Generator 1.0 Released

The Swift OpenAPI Generator has reached its stable 1.0 release, enabling type-safe code generation for HTTP client and server operations from OpenAPI 3.0 and 3.1 documents.

Development

Writing HTML with HTMLKit in Swift

Continuing my exploration of HTMLKit, I find its potential quite promising. In this post, I delve deeper into leveraging its capabilities to seamlessly integrate HTML into Swift.

Development

Swift DSL for HTML

Continuing my exploration of HTMLKit, I find its potential quite promising. In this post, I delve deeper into leveraging its capabilities to seamlessly integrate HTML into Swift.

Development

Vapor URI Parsing Security Vulnerability

We've just released Vapor 4.90.0 which contains a fix for a security vulnerability in Vapor's URI parsing.

Development

On-Crash Backtraces in Swift

Swift 5.9 enhances debugging with an out-of-process crash handler that provides detailed backtraces, interactive inspection, and just-in-time debugging, improving on the limited crash messages of prior versions.

Development

Introducing Packages on Swift.org

Swift.org now has a new top-level Packages page. This page helps users explore the Swift package ecosystem. It lists common categories such as server, networking, testing, and logging.

Development

Swift Everywhere: Using Interoperability to Build on Windows

Swift’s design emphasises seamless interoperability with other languages, particularly C and C++, by embedding clang to avoid the performance and boilerplate costs of traditional C-based Foreign Function Interfaces (FFI) like libffi.