Repository navigation
Breaking changes
-
is_xcode_cli_installed()now reports whether the Command Line Tools package
is installed, rather than whether it is the selected developer directory. Use
developer_dir()oris_xcode_toolchain_usable()to ask about the selection. -
is_xcode_app_installed()now reports whether any Xcode is installed
anywhere, rather than whether/Applications/Xcode.appis selected. -
xcode_cli_switch()takespathas its first argument, wherepassword
used to be.
New features
-
Added support for macOS 27 (Golden Gate).
-
xcode_toolchains()lists every developer directoryxcode-selectcan be
pointed at, with its version and whether it is active. -
is_xcode_toolchain_usable()reports whether a compiler is reachable through
the active developer directory, which is what decides whether R can build a
package. -
developer_dir()resolves the active developer directory, honoring
DEVELOPER_DIR. -
xcode_cli_version()reports the installed Command Line Tools version. -
xcode_cli_switch()gained apathargument, so a toolchain from
xcode_toolchains()can be selected instead of always forcing the Command
Line Tools.
Bug fixes
-
Xcode is detected outside its default location. Both predicates compared the
active developer directory against a hardcoded path, so a versioned bundle
such as/Applications/Xcode_16.4.appreported nothing installed and
triggered a needlesssoftwareupdaterun. -
macOS 27 is recognized as supported. The version ceiling is exclusive, so the
previous bound rejected every 27.x release and aborted
macos_rtools_install(),gfortran_install()andopenmp_install(). -
macOS versions ending in
.0compare correctly.sw_versreports only two
components for those releases, which placed each one in the previous
release's range:"12.0"read as Big Sur,"11.0"matched nothing, and
"10.13"was rejected as unsupported. -
xcode_cli_install()no longer skips installation when an unselected Xcode
exists elsewhere on disk, since it provides no compiler. -
macos_rtools_install()reports which toolchain is active instead of assuming
a full Xcode, and reports a failure rather than success when nothing can
compile. -
macos_rtools_uninstall()no longer reports a component as removed when it
was not installed. -
The Command Line Tools version no longer comes from
xcode-select --version,
which reports the version ofxcode-selectitself. -
recipes_binary_install()documentation now states that thedarwin
repository is chosen by Darwin kernel version, not macOS version. The two are
no longer a fixed offset apart.