This file is used to list changes made in each version of the windows cookbook.
- Fix
windows_zipfile
resource to properly download and cache the zip archives
- Fix
windows_share
to be fully idempotent. Fixes #447
Warning This release includes multiple breaking changes as we refactored all existing resources and resolved many longstanding bugs. We highly recommend exercising caution and fully testing this new version before rolling it out to a production environment.
-
This cookbook now requires Chef 12.6 or later and we highly recommend even more recent Chef 12 releases as they resolve critical Windows bugs and include new Windows specific functionality.
-
The windows_package resource has been removed as it is built into chef-client 12.6+ and the built in version is faster / more robust.
-
The powershell out helper has been removed as it is now included in chef-client 12.6+
-
The default recipe no longer installs the various Windows rubygems required for non-omnibus chef-client installs. This was a leftover from Chef 10 and is no longer necessary, or desired, as we ship these gems in every Windows chef release.
-
windows_feature has been heavily refactored and in doing so the method used to control the underlying providers has changed. You can no longer specify which windows_feature provider to use by setting
node['windows']['feature_provider']
or by setting theprovider
property on the resource itself. Instead you must setinstall_method
to specify the correct underlying installation method. You can also now reference the resources directly by usingwindows_feature_servermanagercmd
,windows_feature_powershell
orwindows_feature_dism
instead ofwindows_feature
-
Windows_font's
file
property has been renamed toname
to avoid collisions with the Chef file resource.
- All LWRPs in this cookbook have been refactored to be custom resources
- windows_path, windows_shortcut, and windows_zipfile have been updated to be idempotent with support for why-run mode and proper notification when the resources actually update
- windows_pagefile now validates the name of the pagefile to avoid cryptic error messages
- A new
share
resource has been added for setting up Windows shares - TrustedPeople certificate store has been added to the list of allowed store_names in the certificate resources
- version helper constant definitions has been improved
- A new
all
property has been added to the Windows feature resource to install all dependent features. See the windows feature test recipe for usage examples. - Windows feature now accepts an array of features, which greatly speeds up feature installs and simplifies recipe code
- The path resource now accepts paths with either forward slashes or backslashes and correctly adds the path using Windows style backslash.
- The powershell provider for windows_feature resource has been fixed to properly import ServerManager in the :remove action
- Testing has been switched from a Rakefile to the new Delivery local mode
- Several issues with testing the resources on non-Windows hosts in ChefSpec have been resolved
- A new
source
property has been added to the windows_feature_powershell resource - Additional test suites have been added to Test Kitchen to cover all resources and those test suites are now being executed in AppVeyer on every PR
- Travis CI testing has been removed and all testing is being performed in AppVeyer
- Make sure the ohai plugin is available when installing features
- Reduce expensive executions of dism in windows_feature by using a new Ohai plugin
- Add guard around chef_version metadata for Opsworks and older Chef 12 clients
- Update the rakefile to the latest
- Add deprecation dates for the windows_package and powershell functionality that has been moved to core Chef. These will be removed 4/17 when we release Chef 13
- Provide helper method to get windows version info
- Allow defining http acl using SDDL
- Added the powershell_out mixin back to allow for Chef 12.1-12.3 compatibility
- Set the dependency back to Chef 12.1
- Clarify the platforms we support in the readme
- Require Chef 12.4 which included powershell_out
This cookbook now requires Chef 12.1+. Resources (lwrps) that have been moved into the chef-client have been removed from this cookbook. While the functionality in the chef-client is similar, and in many cases improved, the names and properties have changed in some cases. Make sure to check https://docs.chef.io/resources.html for full documentation on each of these resources, and as usual carefully test your cookbooks before upgrading to this new release.
- windows_reboot provider
- windows_batch provider
- windows_registry provider
- Powershell out for only_if / not_if statements
- Windows Architecture Helper
- Reboot handler and the dependency on the chef_handler cookbook
- For Chef clients 12.6 and later the windows_package provider will no longer be used as windows_package logic is now included in Chef. Chef 12.1 - 12.5.1 clients will continue to default to the windows_package provider in this cookbook for full compatibility.
- Updated and expanded testing
- Fixed the windows_feature powershell provider to run on Windows 2008 / 2008 R2
- Added TrustedPublisher as a valid cert store_name
- Updated the certificate_binding resource to respect the app_id property
- Added why-run support to the auto_run resource
- Remove support for ChefSpec <4.1 in the matchers
- Add missing Chefspec matchers
- Add missing windows_font matcher
- Add chef_version to the metadata
- Switch from Rubocop to Cookstyle and use our improved Rakefile
- Remove test deps from the Gemfile that are in ChefDK
- PR 375 - Fix comparison of string to number in platform_version
- PR 376 - Switch to cookstyle, update gem deps and other minor stuff
- PR 377 - add test and check for feature installation through powershell
- PR 372 - Support Server 2008 for feature installs via PowerShell
- PR 369 - Add a enable_windows_task matcher
- PR 365 - Escape command quotes when passing to schtasks
- PR 364 - Configurable font source
- PR 357 - Fixes for schtasks
- PR 359 - take bundler out of the appveyor build
- PR 356 - Misc fixes and updates
- PR 355 - bump and pin rubocop, fix broken cop
- PR 348 - Make notify work for
windows_task
- PR 329 - Silence
compile_time
warning forchef_gem
- PR 338 - ChefSpec matchers for
windows_certificate
- PR 341 - Updated rubocop and FoodCritic compliance
- PR 336 - Fixed where clause compliance with PS v1/v2
- PR 325 - Raise an error if a bogus feature is given to the powershell
windows_feature
provider - PR 326 - Fix
windows_font
and copy the font file before installation
- PR 305 - Added
months
attribute towindows_task
and allowfrequency_modifier
to accept values 'FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST', and 'LASTDAY' for monthly frequency - PR 310 - Fix
windows_task
breaks when there is a space in the user name - PR 314 - fixes reboot handling on some chef versions below 11.12
- PR 317 - Adds a
disable_windows_task
matcher - PR 311 - Implements the
cwd
attribute ofwindows_task
- PR 318 - Use dsl instead of manual resource instanciation
- PR 303 - Fix
http_acl
idempotency when user name contains a space - PR 257 - Speed up windows_feature dism provider
- PR 319 - Add a
.kitchen.cloud.yml
for kitchen testing on Azure - PR 315 - Deprecate
windows_package
and forward toChef::Provider::Package::Windows
when running 12.6 or higher
- PR 295 - Escape
http_acl
username - PR 293 - Separating assignments to
code_script
andguard_script
as they should be different scripts and not hold the same reference - Issue 298 -
windows_certificate_binding
is ignoringstore_name
attribute and always saving toMY
- Issue 296 - Fixes
windows_certificate
idempotentcy on chef 11 clients
- Make
windows_task
resource idempotent (double quotes need to be single when comparing) - Issue 245 - Fix
No resource, method, or local variable named
password' forChef::Provider::WindowsTask'
wheninteractive_enabled
istrue
- Lazy-load windows-pr gem library files. Chef 12.5 no longer includes the windows-pr gem. Earlier versions of this cookbook will not compile on Chef 12.5.
- Publishing without extended metadata
- Do not set new_resource.password to nil, Fixes #219, Fixes #220
- Add
windows_certificate
resource #212 - Add
windows_http_acl
resource #214
- fix
windows_package
Chef.set_resource_priority_array
warning - update
windows_task
to support tasks in folders - fix
windows_task
delete action - replace
windows_task
name attribute with 'task_name' - add :end action to 'windows_task'
- Tasks created with the
windows_task
resource default to the SYSTEM account - The force attribute for
windows_task
makes the :create action update the definition. windows_task
:create action will force an update of the task if the user or command differs from the currently configured setting.- add default provider for
windows_feature
- add a helper to make sure
WindowsRebootHandler
works in ChefSpec - added a source and issues url to the metadata for Supermarket
- updated the Gemfile and .kitchen.yml to reflect the latest test-kitchen windows guest support
- started tests using the kitchen-pester verifier
- reverting all chef_gem compile_time work
- Fix zipfile provider
- Fix Chef chef_gem with Chef::Resource::ChefGem.method_defined?(:compile_time)
- Fix Chef chef_gem below 12.1.0
- Being explicit about usage of the chef_gem's compile_time property.
- Eliminating future deprecation warnings in Chef 12.1.0
- PR 160 - Fix Chef 11.10 / versions without windows_package in core
- PR 145 - do not fail on non-existant task
- PR 144 - Add a zip example to the README
- PR 110 - More zip documentation
- PR 148 - Add an LWRP for font installation
- PR 151 - Fix windows_package on Chef 12, add integration tests
- PR 129 - Add enable/disable actions to task LWRP
- PR 115 - require Chef::Mixin::PowershellOut before using it
- PR 88 - Code 1003 from servermanagercmd.exe is valid
- Issue 137 - windows_path resource breaks with ruby 2.x
- Issue 99 - Remove rubygems / Internet wmi-lite dependency (PR #108)
- Issue 99 - Use wmi-lite to fix Chef 11.14.2 break in rdp-ruby-wmi dependency
- Fixes broken cookbook release
- Add ChefSpec resource methods to allow notification testing (@sneal)
- Add use_inline_resources to providers (@micgo)
- [COOK-4728] - Allow reboot handler to be used as an exception handler
- [COOK-4620] - Ensure win_friendly_path doesn't error out when ALT_SEPARATOR is nil
- [COOK-2934] - Add windows_feature support for 2 new DISM attributes: all, source
- [COOK-4414] - Adding ChefSpec matchers
- [COOK-3715] - Unable to create a startup task with no login
- [COOK-4188] - Add powershell_version method to return Powershell version
- [COOK-3988] Don't unescape URI before constructing it.
- [COOK-4168] Circular dep on powershell - moving powershell libraries into windows. removing dependency on powershell
Fixing depend/depends typo in metadata.rb
- COOK-4110 - feature_servermanager installed? method regex bug
- COOK-3793 - parens inside parens of README.md don't render
- COOK-3714 - Powershell features provider and delete support.
- COOK-3724 - Rrecommend built-in resources over cookbook resources
- COOK-3515 - Remove unprofessional comment from library
- COOK-3455 - Add Windows Server 2012R2 to windows cookbook version helper
- COOK-3542 - Fix an issue where
windows_zipfile
fails with LoadError - COOK-3447 - Allow Overriding Of The Default Reboot Timeout In windows_reboot_handler
- COOK-3382 - Allow windows_task to create
on_logon
tasks - COOK-2098 - Fix and issue where the
windows_reboot
handler is ignoring the reboot time
- COOK-3458 - Add support for
start_date
andstart_time
inwindows_task
- [COOK-3126]:
windows_task
should support the on start frequency - [COOK-3127]: Support the force option on task create and delete
- [COOK-2899]: windows_feature fails when a feature install requires a reboot
- [COOK-2914]: Foodcritic failures in Cookbooks
- [COOK-2983]: windows cookbook has foodcritic failures
- [COOK-2686]: Add Windows Server 2012 to version.rb so other depending chef scripts can detect Windows Server 2012
When using Windows qualified filepaths (C:/foo), the #absolute? method for URI returns true, because "C" is the scheme.
This change checks that the URI is http or https scheme, so it can be passed off to remote_file appropriately.
- [COOK-2729] - allow only http, https URI schemes
- [COOK-2729] - helper should use URI rather than regex and bare string
- [COOK-968] -
windows_package
provider should gracefully handle paths with spaces - [COOK-222] -
windows_task
resource does not declare :change action - [COOK-241] - Windows cookbook should check for redefined constants
- [COOK-248] - Windows package install type is case sensitive
- [COOK-2336] - MSI That requires reboot returns with RC 3010 and causes chef run failure
- [COOK-2368] -
version
attribute of thewindows_package
provider should be documented
Important: Use powershell in nodes expanded run lists to ensure powershell is downloaded, as powershell has a dependency on this cookbook; v1.8.0 created a circular dependency.
- [COOK-2301] - windows 1.8.0 has circular dependency on powershell
- [COOK-2126] - Add checksum attribute to
windows_zipfile
- [COOK-2142] - Add printer and
printer_port
LWRPs - [COOK-2149] - Chef::Log.debug Windows Package command line
- [COOK-2155] -
windows_package
does not send checksum tocached_file
ininstaller_type
- [COOK-1745] - allow for newer versions of rubyzip
- [COOK-2048] - undefined method for Falseclass on task :change when action is :nothing (and task doesn't exist)
- [COOK-2049] - Add
windows_pagefile
resource
- [COOK-1251] - Fix LWRP "NotImplementedError"
- [COOK-1921] - Task LWRP will return true for resource exists when no other scheduled tasks exist
- [COOK-1932] - Include :change functionality to windows task lwrp
- [COOK-1571] -
windows_package
resource (with msi provider) does not accept spaces in filename - [COOK-1581] - Windows cookbook needs a scheduled tasks LWRP
- [COOK-1584] -
windows_registry
should support all registry types
- [COOK-1173] -
windows_registry
throws Win32::Registry::Error for action :remove on a nonexistent key - [COOK-1182] - windows package sets start window title instead of quoting a path
- [COOK-1476] - zipfile lwrp should support :zip action
- [COOK-1485] - package resource fails to perform install correctly when "source" contains quote
- [COOK-1519] - add action :remove for path lwrp
- [COOK-1033] - remove the
libraries/ruby_19_patches.rb
file which causes havoc on non-Windows systems. - [COOK-811] - add a timeout parameter attribute for
windows_package
-
[COOK-1323] - Update for changes in Chef 0.10.10.
- Setting file mode doesn't make sense on Windows (package provider
- and
reboot_handler
recipe) - Prefix ::Win32 to avoid namespace collision with Chef::Win32
- (
registry_helper
library) - Use chef_gem instead of gem_package so gems get installed correctly under the Ruby environment Chef runs in (reboot_handler recipe, zipfile provider)
- [COOK-1037] - specify version for rubyzip gem
- [COOK-1007] -
windows_feature
does not work to remove features with dism - [COOK-667] - shortcut resource + provider for Windows platforms
- [COOK-939] - add
type
parameter towindows_registry
to allow binary registry keys. - [COOK-940] - refactor logic so multiple values get created.
- FIX: Older Windows (Windows Server 2003) sometimes return 127 on successful forked commands
- FIX:
windows_package
, ensure we pass the WOW* registry redirection flags into reg.open
- patch to fix [CHEF-2684], Open4 is named Open3 in Ruby 1.9
- Ruby 1.9's Open3 returns 0 and 42 for successful commands
- retry keyword can only be used in a rescue block in Ruby 1.9
windows_package
- catch Win32::Registry::Error that pops up when searching certain keys
-
combined numerous helper libarires for easier sharing across libaries/LWRPs
-
renamed Chef::Provider::WindowsFeature::Base file to the more descriptive
feature_base.rb
-
refactored
windows_path
LWRP- :add action should MODIFY the the underlying ENV variable (vs CREATE)
- deleted greedy :remove action until it could be made more idempotent
-
added a
windows_batch
resource/provider for running batch scripts remotely
-
[COOK-745] gracefully handle required server restarts on Windows platform
- WindowsRebootHandler for requested and pending reboots
windows_reboot
LWRP for requesting (receiving notifies) rebootsreboot_handler
recipe for enabling WindowsRebootHandler as a report handler
-
[COOK-714] Correct initialize misspelling
-
RegistryHelper - new
get_values
method which returns all values for a particular key.
- [COOK-719] resource/provider for managing windows features
- [COOK-717] remove
windows_env_vars
resource as env resource exists in core chef - new
Windows::Version
helper class - refactored
Windows::Helper
mixin
- added
force_modify
action towindows_registry
resource - add
win_friendly_path
helper - re-purpose default recipe to install useful supporting windows related gems
-
[COOK-700] new resources and improvements to the
windows_registry
provider (thanks Paul Morton!)- Open the registry in the bitednes of the OS
- Provide convenience methods to check if keys and values exit
- Provide convenience method for reading registry values
- NEW -
windows_auto_run
resource/provider - NEW -
windows_env_vars
resource/provider - NEW -
windows_path
resource/provider
-
re-write of the
windows_package
logic for determining current installed packages -
new checksum attribute for
windows_package
resource...useful for remote packages
- [COOK-647] account for Wow6432Node registry redirecter
- [COOK-656] begin/rescue on win32/registry
- [COOK-612] initial release