This doc lists the different versions of macos released (and still supported and tested by libproc-rs
)
along with the corresponding versions of Darwin
and `XNU used in each.
It also lists the public (via libproc.h
header file) functions provided by libproc
in each version, and
shows in what version new functions were added.
XNU kernel is part of the Darwin operating system for use in macOS and iOS operating systems.
Here you can find the XNU version tags that apple has tagged in the GH project
Darwin is the core Unix operating system of macOS (previously OS X and Mac OS X), iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD,[3] other BSD operating systems,[6] Mach, and other free software projects' code, as well as code developed by Apple.
- 14.0 -> xnu-10002.1.13
- 14.1 -> xnu-10002.41.9
- 14.1.1 -> xnu-10002.41.9
- 14.1.2 -> xnu-10002.41.9
- 14.2 -> xnu-10002.61.3
- 14.2.1 -> xnu-10002.61.3
- 14.3 -> xnu-10002.81.5
- 14.3.1 -> xnu-10002.81.5
- 14.4 -> xnu-10063.101.15
- 13.0 -> xnu-8792.41.9
- 13.1 -> xnu-8792.61.2
- 13.2 -> xnu-8792.81.2
- Added
proc_terminate_all_rsr
(NOTE: Not implemented by libproc-rs)
- Added
- 13.2.1 -> xnu-8792.81.3
- 13.3 -> xnu-8796.101.5
- 13.4 -> xnu-8796.121.2
- 13.4.1 -> xnu-8796.121.3
- 13.5 -> xnu-8796.141.3
- 13.6 -> xnu-8796.141.3.700.8
- 13.6.1 -> xnu-8796.141.3.701.17
- 13.6.2 -> xnu-8796.141.3.701.17
- 13.6.3 -> xnu-8796.141.3.702.9
- 13.6.4 -> xnu-8796.141.3.703.2
- 13.6.5 -> xnu-8796.141.3.704.6
2021 - Darwin 21, macOS Monterey (Version 12.0)
- 12.0 -> xnu-8019.30.61 (generic 8019)
- Added
proc_pidpath_audittoken
(NOTE: Not implemented by libproc-rs)
- Added
- 12.0.1 -> xnu-8019.41.5
- 12.1 -> xnu-8019.61.5
- 12.2 -> xnu-8019.80.24
- 12.3 -> xnu-8020.101.4
- 12.3.1 -> xnu-8020.101.4
- 12.4 -> xnu-8020.121.3
- 12.5 -> xnu-8020.140.41
- 12.5.1 -> xnu-8020.141.5
- 12.6 -> xnu-8020.140.49
- 12.6.1 -> xnu-8020.240.7
- 12.6.2 -> xnu-8020.240.14
- 12.6.3 -> xnu-8020.240.18
- 12.6.4 -> xnu-8020.240.18.700.8
- 12.6.6 -> xnu-8020.240.18.701.5
- 12.6.7 -> xnu-8020.240.18.701.6
- 12.6.8 -> xnu-8020.240.18.702.13
- 12.7 -> xnu-8020.240.18.703.5
- 12.7.1 -> xnu-8020.240.18.704.15
- 12.7.2 -> xnu-8020.240.18.705.10
- 12.7.3 -> xnu-8020.240.18.706.2
- 12.7.4 -> xnu-8020.240.18.707.4
2020 - Darwin 20, macOS Big Sur (Version 11.0)
- 11.0 -> xnu-7195.41.8
- 11.0.1 -> xnu-7195.50.7
- 11.1 -> xnu-7195.60.75
- 11.2 -> xnu-7195.81.3
- Added
proc_set_no_smt
(NO_SMT means that on an SMT CPU, this thread must be scheduled alone, with the paired CPU idle. Set NO_SMT on the current proc (all existing and future threads). This attribute is inherited on fork and exec. (NOTE: Not implemented by libproc-rs)proc_setthread_no_smt
(Set NO_SMT on the current thread) (NOTE: Not implemented by libproc-rs)proc_set_csm
(CPU Security Mitigation APIs - Set CPU security mitigation on the current proc (all existing and future threads). This attribute is inherited on fork and exec) (NOTE: Not implemented by libproc-rs)- `proc_setthread_csm (Set CPU security mitigation on the current thread) (NOTE: Not implemented by libproc-rs)
- Added
- 11.3 -> xnu-7195.101.1
- 11.3.1 -> xnu-7195.101.2
- 11.4 -> xnu-7195.121.3
- 11.5 -> xnu-7195.141.2
- 11.6 -> xnu-7195.141.6
- 11.6.1 -> xnu-7195.141.8
- 11.6.2 -> xnu-7195.141.14
- 11.6.3 -> xnu-7195.141.19
- 11.6.5 -> xnu-7195.141.26
- 11.6.6 -> xnu-7195.141.29
- 11.6.8 -> xnu-7195.141.32
- 11.7 -> xnu-7195.141.39
- 11.7.1 -> xnu-7195.141.42
- 11.7.2 -> xnu-7195.141.46
- 11.7.3 -> xnu-7195.141.49
- 11.7.5 -> xnu-7195.141.49.700.6
- 11.7.7 -> xnu-7195.141.49.701.3
- 11.7.8 -> xnu-7195.141.49.701.4
- 11.7.9 -> xnu-7195.141.49.702.12
[!NOTE] Versions below here (prior to macOS 11) are not supported in GitHub Actions and hence are not tested
as part of libproc-rs
CI process.
2019 - Darwin 19, macOS Catalina (Version 10.15)
10.15.1 -> xnu-6153.41.3 (closest 6153.11.26) 10.15.2 -> xnu-6153.61.1 10.15.3 ->xnu-6153.81.5 10.15.4 -> xnu-6153.101.6 10.15.5 -> xnu-6153.121.1 10.15.6 -> xnu-6153.141.1 10.15.7 -> xnu-6153.141.2
2018 - Darwin 18, macOS Mojave (Version 10.14)
- 10.14.1 -> xnu-4903.221.2
- No additions, as xnu-4570.71.2 below
- 10.14.2 -> xnu-4903.231.4
- No additions, as xnu-4570.71.2 below
- 10.14.3 -> xnu-4903.241.1
- No additions, as xnu-4570.71.2 below
- 10.14.4 -> xnu-4903.251.3
- 10.14.5 -> xnu-4903.261.4
- 10.14.6 -> xnu-4903.270.47
- No additions, as xnu-4570.71.2 below
2017 - Darwin 17, macOS High Sierra (Version 10.13)
10.13.6 -> xnu-4570.71.46 - xnu-4570.71.82.8 (approx xnu-4570.71.2)
Methods inherited from previous versions of XNU, Darwin and macOS that are present in 10.13.6:
- proc_listpidspath
- proc_listpids
- proc_listallpids
- proc_listpgrppids
- proc_listchildpids
- proc_pidinfo
- proc_pidfdinfo
- proc_pidfileportinfo
- proc_name
- proc_regionfilename
- proc_kmsgbuf
- proc_pidpath
- proc_libversion
- proc_pid_rusage
- proc_setpcontrol
- proc_track_dirty
- proc_set_dirty
- proc_get_dirty
- proc_clear_dirty
- proc_terminate
- proc_udata_info