## Improvements - net/http statements are now logged with the Chef debug logger (`Chef::Log.debug`) instead of with `puts`. ([#13970](https://github.com/chef/chef/pull/13970)) ## New resources - Added the new chocolatey_installer resource which installs the Chocolatey package manager on a node. For additional information, see the [chocolatey_installer resource](https://docs.chef.io/resources/chocolatey_installer/) documentation. ([#14043](https://github.com/chef/chef/pull/14043)) ## Resource updates - Added the `use_inline_powershell` property to the powershell_script resource. This adds the ability to use the PowerShell DLL on Windows instead of shelling out. Thanks [@jaymzjulian](https://github.com/jaymzjulian)! ([#14052](https://github.com/chef/chef/pull/14052)) - Optimized Chocolatey resources when doing large numbers of operations. This includes adding the `bulk_query` and `use_choco_list` properties to the chocolatey_package resource. The `bulk_query` property batches queries and significantly reduces the load on upstream package servers. The `use_choco_list` property uses the `choco list` command to return Chocolatey packages instead of querying for NuGet package files. This property is `false` by default because querying for NuGet package files is faster than executing the `choco list` command. For more information, see the [chocolatey_package resource documentation](https://docs.chef.io/resources/chocolatey_package/). Thanks [@jaymzjulian](https://github.com/jaymzjulian)! ([#13972](https://github.com/chef/chef/pull/13972)) - Added the following properties to the user_ulimit resource: - as_limit - as_soft_limit - as_hard_limit - locks_limit - maxlogins_limit - maxlogins_soft_limit - maxlogins_hard_limit - msgqueue_limit - msgqueue_soft_limit - msgqueue_hard_limit - cpu_limit - cpu_soft_limit - cpu_hard_limit - sigpending_limit - sigpending_soft_limit - sigpending_hard_limit - rss_limit - rss_soft_limit - rss_hard_limit For more information, see the [user_ulimit resource documentation](https://docs.chef.io/resources/user_ulimit/). Thanks [@chrisminton](https://github.com/chrisminton)! ([#13394](https://github.com/chef/chef/pull/13394)) - Added the `anchor_package_regex` property to the apt_package resource. This property restricts or allows apt_package to match packages by regular expression if it can't find the exact package name that's specified. For more information, see the [apt_package resource documentation](https://docs.chef.io/resources/apt_package/). [#13873](https://github.com/chef/chef/pull/13873)) - Improved debug logging output when the service resource can't enable a service. ([#13959](https://github.com/chef/chef/pull/13959)) ## Resource bug fixes - Fixed the zypper_package resource to handle error 104 when removing a non-existent package properly. ([#14150](https://github.com/chef/chef/pull/14150)) - Fixed the windows_service resource, which would trigger a change on every execution if you specify a service description. ([#14064](https://github.com/chef/chef/pull/14064)) Thanks [@jakauppila](https://github.com/jakauppila)! - Fixed the chef_client_systemd_timer resource to accept integer values for a unit's CPU quota. ([#14011](https://github.com/chef/chef/pull/14011)) Thanks [@blackknight36](https://github.com/blackknight36)! - Fixed the local resource on Windows machines, which now correctly validates if locale-gen is installed. ([#14014](https://github.com/chef/chef/pull/14014)) - Fixed homebrew_cask, homebrew_tap, and homebrew_update resources error if Homebrew is not in the path. ([#13937](https://github.com/chef/chef/pull/13937)) - Fixed the chef_client_config resource which was removing permissions to the `\chef` directory on Windows systems. ([#14173](https://github.com/chef/chef/pull/14173)) ## Dependencies - Updated Chef Foundation to 3.1.20. This includes loosening the package dependency chain in Solaris to allow clients with older patch versions than the Solaris builder to still be able to install. ([#14183](https://github.com/chef/chef/pull/14183)) ## Security - Fixed an issue where sensitive items could be logged or displayed even if the sensitive attribute is set to `true`. ([#13897](https://github.com/chef/chef/pull/13897)) - Updated OpenSSL to 1.0.2zi. ([#14088](https://github.com/chef/chef/pull/14088)) ## Bug fixes - Updated the `attribute_changed` event hook to handle changes in arrays. Thanks [@Annih](https://github.com/Annih)! ([#13996](https://github.com/chef/chef/pull/13996)) - Fixed the `knife search` command to correctly handle attributes with a dot, for example, a SemVer version number. ([#13956](https://github.com/chef/chef/pull/13956)) - Fixed chef-shell in Chef Infra Client mode when debugging a cookbook with attributes. Thanks [@dafyddcrosby](https://github.com/dafyddcrosby)! ([#13941](https://github.com/chef/chef/pull/13941))