NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2434 most downloaded on crates.io
Call Swift from Rust with ease!
Last release 1 months ago
20 Aug 2026
Release timing varies
gaps range from 2 weeks to 2.0 years
Most releases are documented
notes for 10 of 15 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
15 releases · first in 2021
One column per quarter.
Nothing published for this version
Better Tauri compatibility thanks to #66
Better Tauri compatibility thanks to #66
A lot of small fixes in this one, thanks to everyone who has been reporting issues and submitting PRs!
A lot of small fixes in this one, thanks to everyone who has been reporting issues and submitting PRs!
Full Changelog: 1.0.5...1.0.6
--build-path now used instead of --scratch-path ( #47 ) by @lucasfernog
--build-path now used instead of --scratch-path (#47) by @lucasfernogTurns out --scratch-path doesn't do what I thought and is only available for newer Swift versions.
iOS Simlator Fix ( #40 ) by @Berrysoft
Hopefully more things work and #42 is fixed.
SRData can now be created from &Vec<u8>, allowing byte buffers to be passed between Rust and Swift easily.
Turns out that clang_rt has to be handled specially for the iOS simulator, who'd have guessed.
Turns out that clang_rt has to be handled specially for the iOS simulator, who'd have guessed.
Just a quick fix for iOS support today! Thanks to @lucasfernog we now link against clang_rt.ios , hopefully alleviating any ___isPlatformVersionAtLeas
Just a quick fix for iOS support today! Thanks to @lucasfernog we now link against clang_rt.ios, hopefully alleviating any ___isPlatformVersionAtLeast errors.
Just a few changes here, nothing crazy.
Just a few changes here, nothing crazy.
OUT_DIR (#32)The .build folder is now redirected to OUT_DIR, making it much easier to publish crates that contain Swift code.
It also allows for...
With compilation artefacts being away from source code, it's now safe for swift-rs to instruct Cargo to recompile Swift packages anytime their contents change!
Big thanks to my 5 (!!!) sponsors!
After not touching this project for months on account of being stumped by how to make stuff work properly, I'm super excited to be releasing v1.0.0 of
After not touching this project for months on account of being stumped by how to make stuff work properly, I'm super excited to be releasing v1.0.0 of swift-rs!
build::* or types::* importslink_swift functions are gone in favour of SwiftLinkerManually writing extern "C" blocks are now a thing of the past thanks to the swift! macro!
This macro enforces that your argument and return types are compatible with Swift thanks to the SwiftArg and SwiftRet traits respectively, and allows for...
SRObject values are now properly dropped, and swift! is capable of 'stealing' objects from Swift's reference counting system, allowing Rust to have full control over the lifetime of Swift data! This wouldn't have been possible without @amodm's help, many thanks to him.
SwiftLinkerGone are the old link_swift and link_swift_package functions, now SwiftLinker can be used to build up a configuration and then link everything at once!
Thanks to @lucasfernog, swift-rs will be powering Tauri mobile on iOS! If you can figure out how to run Rust on iOS, then calling with_ios on your SwiftLinker should work.
I've got a few more ideas for this library but won't execute on them for a while in order to focus on other projects.
Thank you to everyone who has contributed, I couldn't have done this without you!
Optional NSObject values are now supported
NSObject values are now supported (#4)build_utils to build and is behind corresponding Cargo feature (avoids requiring serde and serde_json to be included by default)serdegetMounts example no longer leaks huge amounts of memorybump version & macos target
bump version & macos target
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →