They’ve been doing it for years. I don’t remember how we first knew, but I know they’ve been using Swift in kernels for at least some of the other chips like the Secure Enclave or whatever.
I’m not sure exactly which. I assume it’s some of the code and not all. But it’s not new in the abstract.
That said I don’t think I’ve heard of it in the kernel of MacOS on the main processor. That may be new.
Either way this is certainly the most concrete announcement I remember them ever giving on this stuff.
Curious the direction of Webkit as there was a nebulous mention of select portions being rewritten from C++ to Swift. And yet, the new ECMAScript module (ESM) loader for Safari 27 is implemented in C++ (https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-saf...).
Some corporations prefer Apache 2.0 for projects where they'll be accepting contributions, because it includes patent protection and retaliation clauses. In case like this, where source code is just being published for reference and contributions aren't accepted, those risks don't exist.
Given the age of TrueType, wouldn't nearly all patents be expired already?
Apache2's license I've heard described as mutually-assured-patent-destruction - if you use the code and make a patent claim, your rights to use the code go away.
So Apache2 offers little benefit here, and MIT may get it into more hands?
Russinovitch (Azure's CTO/CISO) gave a speech at RustConf 2025 and mentions it(DirectWriteCore) took 2 engineers 6 months resulting in 154K LOC and 5-15 percent performance increase for font shaping. https://www.youtube.com/watch?v=uDtMuS7BExE&list=PL2b0df3jKK...
One of the genius things about Swift is its interop with Objective C. Made the switch over considerably easier for developers. I’m not sure what that looks like in a Rust world.
Rust is also just a more complex language. I’m not convinced the benefits would have been worth it.
These days I mainly write Rust but I did write a semi complex iOS app and enjoyed Swift. I just didn't love how slow the type checker was and how it got lost. I recall having to break things into smaller bits to help the compiler, and there were some oddities about the language.
The gap between the two languages is quite small, it just makes me wish Apple was also all-in on Rust
In the last year they’ve added improvements to the type checker to speed it up, those would have been released now.
They have further and much more significant changes that I think might have recently landed in the development version. That should make an even bigger difference. But it’s not in a released version yet.
And yes, none of us like that one part of Swift. Especially the DRASTIC difference compared to objective-C which really only checked syntax and little else.
It’s still probably my favorite language right now though I don’t get to write in it much.
I believe Swift tends to use reference counting and copy-on-write strategies. This, like GC, is less for the programmer to think about and doesn't require the semantic checks, but sometimes the performance cost is unacceptable compared to what you'd write in Rust.
You can choose to use either refcounting or unique ownership for your types. For most use cases, refcounted (+ copy-on-write) is the best choice and is the default, but the truetype interpreter made extensive use of non-refcounted types to achieve this performance.
They have either recently added or talked about a borrow style system in the language as a way to avoid more copies and speed things up/lower memory usage/help with asynchronous programming.
What's funny is from 2023 (I think), macOS just draws the UI unhinted. You have a 1080p display and you don't want to see the letters in the UI blurred to death? Tough luck, 1080p is incompatible with macOS, everybody needs "retina", and nobody cares that Windows and all Linux DEs look on 1080p just fine.
It looks like this hinter will be used only in rendering PDFs, because that's where they test the performance.
People also use usable mice instead of touchpads, and they put the "ctrl" key where Apple thinks a useless "fn" should be. All kinds of things happen outside Apple world.
To me, it's more about what I'm used to. I have a perfectly fine several years-old monitor, so why should I throw it away?
The problem is, as soon as you are not on a Mac but Linux or Windows, you are in for an awful, truly awful lot of pain. HiDPI support is a mess because even in the rare case applications are made with HiDPI in mind they are not tested on HiDPI machines.
Other way around, most Mac software is not tested how it behaves on inferior external monitors.
macOS has been drawing unhinted text for an eternity, and for those who can tolerate it on low-DPI screens, it's a great thing: the letter shapes look the same at all sizes, and the spacing between letters is consistent at all sizes.
I'm surprised the code has visible LLM smells. Though, I shouldn't be surprised. I hope the important bits are still human-controlled (and the same for Apple's many operating systems that absolutely deserve to remain stable and understood).
It would be interesting to see their internal guidance on LLM use. It’s a massive amount of new power that has to be wielded carefully. That kind of guidance might mean the survival or downfall of some big corps in the next few years.
I think these are the types of things Apple should've focused on instead of half-heartedly barging ahead with SwiftUI and breaking the language in the process
There's mention at the end. The models (and Swift itself!) have evolved a lot since this project started, so the early code is largely hand-rolled and the later changes were mostly authored by centaurs (to steal a term from chess).
But I personally reviewed every line that shipped and was absolutely insufferable about testing.
RIS is happening across all OS levels, if the keynote is to be believed.
I’m not sure exactly which. I assume it’s some of the code and not all. But it’s not new in the abstract.
That said I don’t think I’ve heard of it in the kernel of MacOS on the main processor. That may be new.
Either way this is certainly the most concrete announcement I remember them ever giving on this stuff.
In any case I would have liked to have more info during the deep dive sessions.
As it is, Meet with Apple on security (a 5h long event) had much more information.
Apache2's license I've heard described as mutually-assured-patent-destruction - if you use the code and make a patent claim, your rights to use the code go away.
So Apache2 offers little benefit here, and MIT may get it into more hands?
https://xoxo.zone/@numist/116716469017975106
I'm not sure what became of it and if it ever shipped. If anyone knows I'd be curious.
Rust is also just a more complex language. I’m not convinced the benefits would have been worth it.
https://faultlore.com/blah/swift-abi/ (written by a core Rust developer)
[1] apart from the basic/universal C one, which prevents exposing any useful Rust semantics over the interface
The gap between the two languages is quite small, it just makes me wish Apple was also all-in on Rust
They have further and much more significant changes that I think might have recently landed in the development version. That should make an even bigger difference. But it’s not in a released version yet.
And yes, none of us like that one part of Swift. Especially the DRASTIC difference compared to objective-C which really only checked syntax and little else.
It’s still probably my favorite language right now though I don’t get to write in it much.
I use it for making user-facing desktop applications, to name one example.
It looks like this hinter will be used only in rendering PDFs, because that's where they test the performance.
https://www.dell.com/en-us/shop/dell-laptops/dell-15-laptop/...
It is very, very common. Just not in the Mac world.
To me, it's more about what I'm used to. I have a perfectly fine several years-old monitor, so why should I throw it away?
Other way around, most Mac software is not tested how it behaves on inferior external monitors.
It worries me. I hope Codex adoption picks up there.
But I personally reviewed every line that shipped and was absolutely insufferable about testing.