=======
- Added key
LastSeenIntelligenceProductVersiontomacos_userresource to allow for dismissing more Welcome screens in macOS 15.4.1.
- Removed the
plistresource
- Fixed issues with ARD not working on macOS Monterey.
- Fixed an xcode-install gem issue.
-
Added additional functionality to the remote_management resource.
- You can now specify the users to whose privileges will be configured.
- You can now specify the privileges to bestow upon the given users.
- You can now set the computer info fields; this is helpful for stratifying computers within ARD.
-
Added support for
macos_userto create an account with no password. -
Added support for
command_line_toolsto install beta versions.
- Fixed issues with ARD not working on macOS Monterey.
- Ensured that CLT demand file always exists before we query the SWU catalog.
- Fixed permissions issue with the
macos::command_line_toolsresource.
- Updated
command_line_toolsso that machines are able to install previously installed command line tools if they were wiped from a major macOS upgrade.
- Added key
LastPrivacyBundleVersiontomacos_userresource to allow for dimissing more Welcome screens in macOS 12.6.3
- Xcode resource verifies that a
xcodebuildcommand can be ran when checking to see if Xcode is installed, in addition to verifying that Xcode.app exists.
- Xcode resource logs the Xcode version to install computed from the provided version.
- Xcode library supports calling the
versionproperty more than once by not changing the stored data type.
- Updated Setup Assistant keys for the
macos_userresource to properly enable autologin after updating to 11.6.6 - Updated required macOS minimums for the
xcoderesource to evaluate compatibility for the most recent Xcodes.
- Extracted authentication with Apple via
xcoderesource awayxcodeobject instantiation, resolving Bug #234. - Enabled
macos_userresource to parsesysadminctlstderr, resolving Bug 197. - Reversed order of arguments for certificate installation, resolving Bug 244.
- Fixed
macos_userresourceautologinfunctionality to dismiss Welcome "buddy" screens after updating to 11.6.5 viasoftwareupdate.
- Added
apple_idproperty toxcoderesource to remove dependency on attributes or data bags for authentication. - New
certificateresource property:keychain_passwordwhich allows specification of the keychain password. - New
keychainresource property:userwhich allows specification of an executing user. - New test suites and recipe change to account for
.cerfiles. - Check for certificate existence within the keychain before installing a new one to ensure idempotency.
- Support for Mac Studio in
FormFactorclass. - Secure token support for
macos_userresource via new propertiessecure_tokenandexisting_token_auth. - New unit and integration tests for
macos_userresource. - Updated our README to include Monterey support.
- Added the documentation directory to chefignore as we don't need to upload all our docs to Chef Infra Servers.
- Changed
certificateproperty names to be more clear within resource scope and consistent withkeychainresource:certfileis nowpathcert_passwdis nowpasswordkeychainis nowkeychain_path
- Changed
keychainproperty names to be more clear within resource scope and consistent withcertificateresource:kc_fileis nowpathkc_passwdis nowpassword
- Made certificate password properties sensitive.
- Deprecated
plistresource in favor of theplistresource included with Chef Client >=16. - Unified
macos_usertest suites. - Updated
macos_userresource to use not utilize default attributes for authorization. - Updated all deprecated tool names, shell outputs, and URLs in
TESTING.md
- Removed the ability to authenticate with Apple for
xcodedownloads via node attributes or data bags. - Removed dependency on using the
default['macos']['admin_password']attribute for setting the keychain password when using the certificate resource. - Removed last default cookbook attributes:
node['macos']['admin_user']node['macos']['admin_password']node['macos']['apple_id']
- Enforce sensitivity for the
macos_userresourcepasswordproperty as a security measure. This prevents downstream users from needing to declaresensitive trueon the resource call.
defaultsdata conversion now handles spaces in strings, arrays, and dictionaries.- The original data conversion code converted Ruby data types naively into strings. Unfortunately, this format isn't in the format that defaults expects.
- This change modifies the data conversion process to correctly output the expected data in a format acceptable to defaults, while also adding in additional tests to verify the output of the conversion process.
- Updated
xcodelibrary download catalog matching to Apple's new 'Release Candidate' naming scheme. - Updated
xcoderesource behavior to delete any existing Xcode bundles if they exist at the requested path.
- Added basic support and testing for macOS Monterey.
- Removed testing and official support for macOS High Sierra.
- Removed testing and official support for Chef 16.
- The
command_line_toolsOS version parsing regex has been fixed for the new macOS versioning scheme.
- Added support for Chef 17. macOS High Sierra test suites will still be utilizing Chef 16.
- Added
unified_mode trueto all resources. See Unified Mode in Custom Resources for more information.
- Deleted last deprecated recipe
macos::keep_awakeand associated tests.
-
Updated
XCVersionlibraryavailable_versionsoutput to actually not include "(installed)" status, as well as chomp newline characters. -
Updated unit tests to match new
XCVersion.available_versionsoutput.
-
Updated
xcversionlibrarylistoutput to not include "(installed)" status, since this is determined separately in thexcoderesource. The additional string content was breaking parsing that prevents installation on non-complete Xcode bundles such as12 for macOS Universal Apps. -
Fixes for Cookstyle version: 7.7.2
- Removed ChefSpec testing on deprecated Fauxhai platforms
- Added
plistmethod toSystemPathlibrary to match the methods inUserPath.
-
Support and testing for Big Sur. Due to a bug in the
kickstartscript in Big Sur, theremote_managementresource is not functional on any system that reports11.0instead of10.16, which is the case on 20A5323l (beta 3) or later. This will be resolved at a later date. -
Deprecation notice for
macos::keep_awake.
-
The
xcoderesource now installs the latest available beta revision or GM seed of Xcode if there is not an official release of the requested version. Note that installing the early "Xcode 12 for macOS Universal Apps" betas is not supported since Apple has already unified these into the core Xcode bundles as of 12A8169g (beta 3). -
The
macos_userresource now prevents the screen from re-locking at boot when auto-login is enabled. -
The
command_line_toolsOS version parsing regex has been fixed for macOS 11.0 -
The
automatic_software_updatesresource tests have been fixed for macOS 11.0
- Support for Chef 16
- Fixed an issue where the beta version of Xcode would be installed over the GM version if both were still available from Apple.
- Updated the Xcode OS platform compatibility logic. Thanks @nickdowell!
- Numerous cookstyle fixes.
- Rspec dependency on
chef-sugar
- Fixed an issue with the
systemlibrary where a system without hypervisor software installed could be mistakenly identified as a VM and not have certain platform-specific power preferences set.
- Added an
:upgradeaction to thecommand_line_toolsresource - Added support for dictionaries to the
plistresource
- Added support for macOS Catalina
- Added support for Chef 15
- Added
UserPathandSystemPathlibraries to simplify calls to macOS filepaths
- Fixed an issue parsing new
softwareupdateoutput on macOS Catalina - Fixed a dependency issue with
xcode-installon Chef 15 - Fixed and updated the
xcoderesource platform compatibilty check (thanks to xcodereleases.com for tracking this)
- Removed testing on macOS Sierra
- Removed testing on Chef 14
- Removed dependency on
chef-sugar
-
Fixed an issue where the Xcode resource cannot find the Xcode 11 GM bundle path to move it to the declared path in the resource. It removes a logic tree in favor of matching the behavior of the xcode-install gem: https://github.com/xcpretty/xcode-install/blob/74b89805462d6795d964935239f78e6d2790a52d/lib/xcode/install.rb#L282, which is to replace spaces in the version listed by Apple with a period.
-
Fixed an issue where installing the xcode-install gem fails on Chef 15
-
Fixed an issue where the Xcode resource attempted to write to the read-only portion of the Catalina filesystem.
- Fixed an issue where Xcode versions containing whitespace were not properly quoted in command execution. Regression from version 2.10 release.
Thanks to @jkronborg for these two fixes!
- Fixed a guard in
keep_awakefor use on portables. - Fixed incorrect attribute key in the Xcode resource documentation, and added a security suggestion.
- Added
automatic_software_updatesresource to enable or disable the automatic checking, downloading, and installing of software updates. - Added
azure-pipelines.ymlto allow for managing builds as code. - Added some resource unit tests for
spotlightto complement the existingmetadata_utiltests.
- Changed the
ardresource toremote_managementand updates applicable tests and documentation. The newremote_managementresource greatly simplifies syntax and reduces the needed macOS domain knowledge aroundkickstartoptions. However, it has less functionality thanardand is a significant breaking change.
- Fixed .mailmap file to accurately track contributor emails.
- Fixed guard in the
keychainresource for the:createaction.
- Adiós, Captain! We no longer support OS X El Capitan or Chef 13.
- Removed
machine_nameresource along with respective tests and documentation in favor of thehostnameresource in Chef 14. - Removed
xcoderecipe along with respective tests, documentation and node attributes in favor ofcommand_line_toolsresource which was released in 2.10.0. - Removed
disable_software_updatesrecipe along with respective tests and documentation in favor ofautomatic_software_updatesresource. - Removed
defaultrecipe - it was empty anyway.
- Fixed issue in which setting certain
machine_nameresource properties (hostname,local_hostname,dns_domain) from a previously unset state, would fail to compile. (Issue #181).
- Added
command_line_toolsresource to manage Xcode Command Line Tools installation for macOS. - New Xcode property
download_url. (Issue #174).
- Bump Xcode to 10.1 in default attributes file.
- Resolved an issue where a unit test was not passing due to a typo.
- Added templates for bug reports, feature requests, and pull requests to adhere with Github's recommended community standards.
- Added support for owner/group in the plist resource. Allows for plist files to be created under a specific owner. Defaults to root/wheel for compatibility with earlier versions of the cookbook. (Issue #51)
- Added support for setting the mode property when creating a plist using the
plistresource. This allows control over setting the file permissions. (Issue #51)
- Fixed an issue where the path for the
xcversionutility was hard-coded when installed as a Chef gem, which caused failures when converging with ChefDK or Workstation.
- Sugar helps the code go down! We now depend on Chef Sugar for
mac_os_x?,virtual?,mac_os_x_before_or_at_maverick?, etc.
- Fixed an issue where Software Update Catalog provides an incomplete list causing some converge failures. We now check for
platform_specific.empty?and produce appropriate errors.
- Multi-converge testing added for all kitchen suites, idempotency enforced for select resources. Idempotency issues identified and resolved with the
keep_awakerecipe, thespotlightresource, and theardresource as a result. More enforcing by the idempotence police to come in future releases.
- Removal of dead links in documentation for resources to allow for more up to date and clear documentation. (Issue #129).
- Resolved an issue with the
ardresource where a Chef run sometimes fails due to an intermittentkickstartfailure. Guards added to the default resource actions to prevent this issue. (Issue #70). - Resolved an issue with the
spotlightresource wheremdutiloutput was improperly parsed andmdutilcommands were re-ran when not needed.
- The desert took its toll, the README now declares support for Mojave!
-
Apple has limited some kickstart command functionality in macOS Mojave, preventing screen control in some invocations. We verified the
ardresource's implementation of thekickstartscript still functions. -
Updated Xcode default version to 10.0.
-
The team crossed the great Mojave Desert, collapsed from dehydration, all just to obtain its support. In other words we now support macOS Mojave.
- Prevented the
xcoderesource from leaving available Command Line Tools downloads in Software Updates.
- The
machine_nameresource has been deprecated in favor of the macOS support in thehostnameresource in Chef 14. It will be removed in the release of v3.0 of the macOS cookbook.
- Added
CHANGELOG.md, About time right? (Issue #122). - Added functional
pathproperty to Xcode resource. (Issue #116). - Added ChefSpec resource tests for Xcode.
- Separated extra responsibilities of Xcode resource into DeveloperAccount and CommandLineTools libraries.
- Added
CHANGELOG.md. (Issue #122).
homebrewcookbook dependency removed.homebrew_caskandhomebrew_tapis being deprecated by Chef and has not been used bymacos-cookbooksince version2.0. (Issue #123).
- Fixed
keychainresource documentation link. - Update
metadata_utillibrary to consider Spotlight server status before manipulating indexing state. (Issue #45).
- Like a trained ninja of the night, the
macos_usernow has ahiddenproperty, making it impossible to detect from the login screen. - Moved to a new set of internal Vagrant macOS boxes, which have much more minimal initial configuration. This ensures that our resources run from a more out-of-the-box macOS experience.
- Fixed bug where deletion of a user was failing when using the macos_user resource.
- For those of you who like to set their user and password as the same characters, we fixed an issue in the certificate resource for non-Vagrant use cases, you know for normal human beings who like a secure environment.
- Foodcritics can be pretty harsh in their critiquing of food. They also have some pretty in depth rules we need to comply with, so we updated machine_name to comply with the new FoodCritic rule FC115.
- Added guard config to automatically run relevant unit tests when a file is changed.
- Update to InSpec control filenames to match the standard. This allows for better understanding of the tests.
- Created an autologin functionality on 10.13.4 to allow for machine to automatically login to the machine.
- Removed the Mono recipe as it is not in the scope of this cookbook.
- Removed Apple Configurator recipe as a bug with the
masdependency does not function in High Sierra.
- Updated the
keep_awakerecipe and spec tests to not require node attribute stubbing when wrapped in another cookbook.
- Added a CONTRIBUTING.md to outline the Chef Community Guidelines for code contribution.
- Fixed an issue with ChefSpec when wrapping the
keep_awakerecipe. - Fixed an idempotence issue with the keychain resource.
- Added new keychain resource
- Introduced three new library classes
Power,Environment, andScreenSaver. - Updated README.md to reflect single build definition.
- Added feature to make disk sleep default to
Never.
- Added the ability to install Xcode beta builds to the
xcoderesource. - Added support for Chef 14.
- Added feature that allows node attributes to be set for Developer Apple ID credentials while downloading Xcode from Apple.
- Added ability to install Command Line tools from the
xcode-installgem.
- Increased timeout for Xcode download for issue where method
bundle_version_correctfails and unsuccessfully tries to access node attributes in Xcode library. - Resolved issue where adding users and groups would fail tests.
- Added support for other hypervisors and keep away logic.
- Implemented
-toption incertificateresource to allow apps to access imported key. - Add
utf-8encoding type toplistresource to make it more robust.
- Added a
dns_domainproperty tomachine_nameresource to support FQDNs. - Added TESTING.md documentation.
- Changed
binaryproperty toencodingto support xml and binary plist formats.
- Removed support for
NetBIOSNamedue to macOS bugs.
- Fixed several bugs in
plistresource. - Fixed typos in
machine_nameresource documentation.
- Added the
certificateresource, this resource manages the state of a given certificate for a specified keychain.
- Added whitespace support for property list names and keys.
- Fixed some depreciation bugs in the
macos_userresource. - Fixed idempotency bug in
.kitchen.yml.
- Added new
system_preferenceresource.
- Removed
systemsetupresource. - Removed
.deliveryin favor ofkitchen testand concurrency testing model.
- Fixed issue where
plistresources cause incomplete idempotence on second converge by making thekeep_awakerecipe idempotent. (Issue #15). - Fixed issue where
macos_userwas not allowing users to be added to groups by creating a newgroupsproperty. (Issue #40). - Fixed issue where
machine_nameresource does not setLocalHostNameby makingmachine_nameidempotent and having it properly set theLocalHostName. (Issue #20).
- Added helper modules for
systemsetup. - Added new attributes to adjust the
keep_awakefunctions. - Added better functionality to the
keep_awakepower resources.
- Initial release of the macOS Cookbook.
- Chef support for 10.10 to 10.13.
- Added
xcoderesource. - Added
keep_awakerecipe. - Added
spotlightresource. - Added
machine_nameresource. - Added
macos_userresource.