system-configuration
Bindings to SystemConfiguration framework for macOS
0.8.0
173M downloads/mo
#557 most downloaded on crates.io
mullvad/system-configuration-rs
What this package is like to depend on
Last release 12 days ago
11 Aug 2026
Ships fairly regularly
a new release about every 9 months
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
10 releases · first in 2018
2 releases in the last 12 months
see the full history below
Release timeline
10 releases · Feb 2018 to Aug 2026
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 10-
0.8.011 Aug 2026 -
0.7.002 Dec 2025Release notes
Open source →Added
- Added
std::error::Errorimplementation forReachabilityError.
Fixed
- Handle errors that may occur when creating runloop sources or an
SCDynamicStore.
- Added
-
0.6.122 Aug 2024Release notes
Open source →Fixed
- Fix
std::net::SocketAddrconversion tolibc::sockaddr. This makesSCNetworkReachabilityreachability check work for other addresses than only0.0.0.0:0.
- Fix
-
0.6.031 Jan 2024Release notes
Open source →Changed
- Bump minimum supported Rust version (MSRV) to 1.64.0.
- Breaking: Mark
SCNetworkReachability::schedule_with_runloopandunschedule_from_runloopasunsafe. They accept a raw pointer that it dereferences. Figuring out a safe API around this is left as an exercise for the future. - Breaking:
ReachabilityFlagsno longer implementsOrdorPartialOrd. It also replaces thefrom_bits_uncheckedconstructor with other (safe)from_bits_*constructors.
Fixed
- Fix memory leak in
SCNetworkReachability::set_callback. - Fix builds on iOS by removing references to deprecated interface type
kSCNetworkInterfaceTypeIrDA. Also remove constant for bridge network interfaces (kSCNetworkInterfaceTypeBridge).
-
0.5.116 May 2023 -
0.5.004 Jan 2022Release notes
Open source →Changed
- Upgrade crates to Rust 2021 edition.
- Bump minimum supported Rust version (MSRV) to 1.56.0.
- Upgrade core-foundation to 0.9 and core-foundation-sys to 0.8. This is a breaking change since those crates are publicly re-exported from these crates.
-
0.4.004 Jun 2020Release notes
Open source →Added
- Add bindings for
SCNetworkInterface. - Add bindings for
SCNetworkReachabilityand related types.
Changed
- Bump minimum supported Rust version to 1.36
- Update
core-foundationdependency to 0.7
Fixed
- Move
SCNetworkReachabilityand related types fromnetwork_configurationinto their own module in thesystem-configuration-syscrate.
- Add bindings for
-
0.3.016 Oct 2019Release notes
Open source →Added
- Re-generate bindings using macOS 10.15 headers.
Changed
- Use
core::ffi::c_voidinstead oflibc::c_void(new minimum supported Rust version: 1.30). - Define some ffi types as
struct TheType(c_void)instead oftype TheType = c_void. - Upgrade crates to Rust 2018 edition, increasing minimum supported Rust version to 1.31
-
0.2.023 Oct 2018Release notes
Open source →Added
- Publicly re-export
libcandcore_foundation_sysfromsystem_configuration_sys. - Publicly re-export
core_foundationfromsystem_configuration - Add low level FFI bindings to SCPreferences and SCNetworkConfiguration.
- Add bare minimal safe high level SCPreferences type.
- Add low level FFI bindings to SCSchemaDefinitions.
Changed
- Make
system_configuration_sysa#[no_std]crate. - Publicly re-export
system_configuration_sysassystem_configuration::sysinstead of re-exporting each sys module under their corresponding safe level module. - Raise minimum Rust version to 1.25 in order to use nested import groups.
- Upgrade
core-foundationdependency from 0.5 to 0.6.
- Publicly re-export
-
0.1.001 Feb 2018