Puppet 2.7.20 is a maintenance release for Puppet in the 2.7.x series with bug fixes and backwards-compatible performance improvements back-ported from the 3.0.x series. Downloads are available at: * Source https://downloads.puppetlabs.com/puppet/puppet-2.7.20.tar.gz Windows package is available at https://downloads.puppetlabs.com/windows/puppet-2.7.20.msi RPMs are available at https://yum.puppetlabs.com/el or /fedora Debs are available at https://apt.puppetlabs.com Mac package is available at https://downloads.puppetlabs.com/mac/puppet-2.7.20.dmg Gems are available via rubygems at https://rubygems.org/downloads/puppet-2.7.20.gem or by using `gem install puppet --version=2.7.20` See the Verifying Puppet Download section at: https://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet Please report feedback via the Puppet Labs Redmine site, using an affected puppet version of 2.7.20: http://projects.puppetlabs.com/projects/puppet/ To take a look at fixes targeted for this release, check out http://projects.puppetlabs.com/versions/307 ## Contributors ## Adrien Thebo, Andrew Parker, Ashley Penney, Branan Purvine-Riley, Dan Bode, Daniel Pittman, Dominic Cleal, Dustin J. Mitchell, Eric Sorenson, Eric Stonfer, Gleb Arshinov, James Turnbull, Jeff McCune, Jeff Weiss, Josh Cooper, Ken Barber, Ken Dreyer, Lee Lowder, Markus Roberts, Matthaus Owens, Michael Stahnke, Moses Mendoza, Neil Hemingway, Nick Fagerlund, Patrick Carlisle, Roman Barczyński, S. Zachariah Sprackett, Sean E. Millichamp, Stefan Schulte, Todd Zullinger ## Special notes about 2.7.20 ## Puppet 2.7.20 address http://projects.puppetlabs.com/issues/15560, which means if you had specifically enabled `managehome => true` for user resources expecting it not to work on Windows, be aware that it **works now** for both creation with `ensure => present` AND deletion with `ensure => absent`. Previously deleted users will not have their orphaned home directories removed, however. Puppet 2.7.20 also addresses concerns regarding a change introduced in Puppet 2.7.16, "b26699a (#10146) `-` is not legal in variable names.", which disallowed the use of dashes in variable names. Puppet 2.7.20 introduces a configuration option, `allow_variables_with_dashes`, (http://docs.puppetlabs.com/references/2.7.latest/configuration.html#allowvariableswithdashes) which can be set to `true` to restore earlier behavior, although this is strongly discouraged. The option is set to false by default to maintain current behavior. (#10146) `-` in variable names should be deprecated! In commit b26699a2 I fixed an accidentally introduced change to the lexer, allowing `-` to be part of a variable name. That had lasted for a while and was surprisingly popular. It was also hugely ambiguous around `-` as minus, and led to all sorts of failures - unexpected interpolations to nothing - because of that. A much better strategy would have been to deprecate the feature, issue proper warnings, and include an option to allow users to toggle the behaviour. Initially defaulting that to "permit", and eventually toggling over to "deny", would have made the whole experience much smoother - even if this was totally documented as not working, and was a clear bug that it changed. So, thanks to prompting from Benjamin Irizarry, we do just that: introduce the configuration option, default it to "deny" to match current behaviour, but allow users the choice to change this back. Please be aware that allowing variables with `-` might break all sorts of things around, for example, Forge modules though. Most people write code to the documented standard, and their code might well totally fail to work with this changed away from the default! Signed-off-by: Daniel Pittman <daniel@puppetlabs.com> ## Puppet 2.7.20 Changelog ## Adrien Thebo (1): 367926a (#15264) Custom title patterns can fail cryptically. Andrew Parker (15): 65b35a8 (Maint) Simplify CONTRIBUTING.md 9e26fe0 (#10915) Fix tests to work with new parameter checking d2e5268 (#10915) Add test for provider throwing NoMethodError b48a172 (Maint) Fix syntax and semantic erros in test 5e3fbca (Maint) Remove fragile test dc50ec7 (#16922) Quote strings that contain ":" 13ab956 (#16791) Revert "Merge branch ''perf/2.7.x/backport-activesupport-hook-disabling'' of https://github.com/daniel-pittman/puppet into 2.7.x" 1e5baee (#16791) Revert "Maint: Fix intermittently failing spec test" 3cda4f4 (#16791) Revert "Merge branch ''feature/2.7.x/json-terminus-backport'' of https://github.com/daniel-pittman/puppet into 2.7.x" aba3c67 (#16791) Re-instate deprecated symbolize and symbolizehash! d892859 (#16791) Remove tests for unused behavior bd0caf5 (#17260) Warn when variables contain hyphens 5c61f32 (#17260) Include link to information about deprecation b5ed15b (#17458) Load ''puppet'' at the right time d16d357 (#17458) Add acceptance test for executing external subcommands Ashley Penney (1): 5ceb55c (Maint) Add logging for when Puppet is enabled/disabled. Branan Purvine-Riley (1): dff6e53 (maint) Confine pty-based test to non-Windows hosts. Dan Bode (1): 0524a0a (#7422) Support arrow syntax with metaparams Daniel Pittman (43): b8ca748 (#11727) Support STDIN for `puppet parser validate` 536b68c Check that function loading worked correctly. f10d364 maint: remove .rspec entirely 8fa6575 Make SELinux internal helper functions private. 13cb623 (#8714) Don''t follow symlinks in SELinux FS detection 294fae2 Port the SemVer test from Test::Unit to RSpec. d260b90 RSpec 3 is deprecating `expect {}.should` - respect that. 81c8afa Skip symbolic link demanding test on Windows 0e7fc8d Update copyright years in LICENSE f0ef301 (#16330) Update ZAML to latest upstream. 312b467 Git ignore an .rvmrc file in the root of the project fe1f4a2 (#4680) Reject CA network operations when master CA is disabled a0287bf Implement a JSON file terminus to mirror YAML. 141c83b Add catalog JSON terminus to improve performance. c0e5f4d Implement Symbol#intern when it is missing. fbd5105 Use `intern` rather than `symbolize` it Puppet::Type 4d4a75a zaml: statically determine the to_ascii8bit implementation. fd8343a zaml: unify on a single definition of `to_zaml` for Symbol 8173a6e Avoid object creation/destruction when possible. aca7959 type: memoize key_attributes for types. 9176f5c tagging: document why fixing this horror is hard. 54c4f0a lexer: remove some unused stats collection 397dfa8 monkey_patch: cache Symbol to_proc result. 89e0f14 type: support implicit "identity" transformation 912ed34 FileCollection is a memory loss, not a memory win. 275c94d Eliminate remaining uses of FileCollection. 58f6ca1 parser/files: use a cheaper test for "is this path absolute?" 20efe94 util: don''t rebuild regexp every time we invoke absolute_file? 9099a42 zaml: don''t sort object attributes for output e70273b whit: cache the `to_s` result. 33c127b zaml: speed micro-optimization for Time output b54f8cd log_paths: memoize the entire value, not just part of it. 314c3da file_serving: avoid rewriting paths if possible. f60e402 tagging: use a static regexp rather than rebuilding it 69315c2 Implement `Fixnum#ord` for Ruby 1.8.5 83defc0 zaml: rework strings for correctness and speed 4f6289b zaml: add whitespace for readability. fbca3b0 zaml: avoid calling emit when we don''t have anything to output 67e5957 zaml: don''t use backreferences on strings 68dea3d zaml: handle multi-line map keys and array values correctly. 5e7cce5 Disable ActiveSupport::Dependencies hooks. 65b5c5c Eliminate `symbolize` everywhere, and remove it. 5ee2558 (#10146) `-` in variable names should be deprecated! Dominic Cleal (2): c6e1aa3 (#14822) Re-evaluate features if they previously were false 1a2e8fc (#14822) Use feature confine for feature tests during run Dustin J. Mitchell (4): da7cd8e Don''t mask NoMethodErrors cb3c912 (#16208) Better error messages for failed parameter validation f30af22 (#16208) use #{ref} instead of #{type} #{title} as suggested by dpittman d9ab06f (#16208) fix tests Eric Sorenson (4): d2012ae (#15797) Change the argument to chkconfig from ''on'' to ''reset'' 700caba (#15739) Bump report_version since #10064 change its format 775d0dc Revert "(#15797) Change the argument to chkconfig from ''on'' to ''reset''" 0620497 (#15797) Update chkconfig test to reflect reality Eric Stonfer (1): e9d10ca (#15346) add --source to the gem list command Gleb Arshinov (1): c8152d4 (#15920) Make forward-sexp ignore comments in puppet-mode.el James Turnbull (1): fbede51 Fixed #11686 - Updated documentation for exec timeout Jeff McCune (29): 9c60ed3 (Maint) Whitespace cleanup of CONTRIBUTING.md 9862940 Add HOWTO hint on topic branches in CONTRIBUTING cf04e5e Make the example in CONTRIBUTING imperative and concrete 6f7303a Mark git diff --check as inline code 07aeef3 (#15940) Add test coverage for rdoc exclude option dd25c9e (#15346) Add spec test for --source when checking latest 83cfe9d (Maint) Fix rspec options file 1c1a383 (#15464) Make contributing easy via bundle Gemfile b33d517 Move Puppet version into lib/puppet/version.rb 07f0b0e (#15464) Make Puppet usable as a Gem from source d7cb3c7 (#15464) Make Puppet.version settable via Puppet.version 76ef99b Revert "Merge branch ''ticket/2.7.x/15464_a_gemfile_would_improve_contributor_on-boarding'' into 2.7.x" 54ea4fe Revert "Revert "Merge branch ''ticket/2.7.x/15464_a_gemfile_would_improve_contributor_on-boarding'' into 2.7.x"" 48a9cc2 (#15464) Exclude gem command from bundler 7ca6b70 (#15797) Add test coverage for redhat service provider 5ef0df0 (Maint) Whitespace only cleanup 65dbdea (#15797) Disable RedHat services in all run levels 576fd56 Whitespace only cleanup 1820927 (Maint) Stop watchr from reading non-existent spec.opts 1a432fd (#15193) Document how to use the static compiler 2bbc4e4 Document the different forms of catalogs to help test writers 58f9679 (#15193) Add spec test coverage for static compiler 94aaf15 (#15193) Fix StaticCompiler#store_content 2b06b7e (#15193) Fix windows failing on unix style paths 315ebad (#2888) Add settings catalog info to README_DEVELOPER 61a34d3 (#2888) Fix race condition with puppetdlockfile e6865c4 (maint) Update mailmap for git shortlog b55d885 (#16798) Update revocation by serial number documentation 92f0688 (#16798) Add more tests to cover revoke by serial number Jeff Weiss (5): 6dcf122 (#15731) Full certificate metadata for pson b61d041 (#15731) explicit fingerprint digest for pson 60a6a2a (#14515) Tests fail with mocha 0.11.4 7b4ac10 (#15731) Move explicit fingerprints to hash f9463ea (#15731) Add clarifying comments to host.rb Josh Cooper (32): ed22b06 (maint) Include backtrace in re-raised exception c95bda7 (maint) Whitespace cleanup f2a4cca (maint) Remove spurious `puts` line bbdbb06 (maint) Consolidate flat file tests d9c7698 (maint) Refactor filetype specs 7a72361 (#14283) Raise an error when crontab returns non-zero on AIX 1d80007 (#14283) Call Tempfile#close and #unlink separately 86dac63 (Maint) Skip crontab filetype tests on Windows e067c2a (#15693) Allow restart command to be specified 4ffc02d (Maint) Enable colorized rspec output on Windows 13e0109 (#15591) Skip test that causes segfault on Windows 1075b74 (#15560) Refactor LogonUser 67b9227 (#15560) Create the user''s profile if managehome is true 5e84c97 (#15560) Delete user''s profile after deleting account 489352b (#16119) Recognize carriage return escape sequence b67e4dc (#16019) Don''t add Unix paths to Windows search path 1a9d122 Maint: Fix leaked tempfile handle a753b86 Maint: Fix inconsistent expect-should usage bd875f5 (#16208): Correct spec test to match new failed parameter message 68c61fa (#16347) Replace \x92 character with apostrophe e84f448 (#16347) Qualify references to windows-pr gem e45961f Maint: Fix intermittently failing spec test da3aea4 (#16581) Refactor code for converting string and binary sids be848e6 (#16581) Use win32-security gem to resolve SIDs 3d360e7 (#16581) Documentation changes 9291ae2 (#16581) Use native Win32 APIs to resolve SIDs in providers c86e685 (#16581) Use native Win32 APIs to resolve SIDs in file provider c60a82d (#16581) Deprecate sid_for_account f08fc39 (#16581) Refactor code for sid validation 5c96254 (#16581) Fix mis-stubbed test 28229d7 Revert "(#17458) Load ''puppet'' at the right time" fd92eb1 (#17458) Partial revert of "don''t rebuild regexp every time" Ken Barber (1): fcd4957 (#15521) Convert to using host stub wrapper Ken Dreyer (2): e0b1e40 (#7442) solaris: add tests for password_max_age attribute 08c62da (#7442) solaris: return "-1" for password_max_age when password aging is disabled Lee Lowder (1): f08dd53 (#15940) Update puppet doc to ignore files and templates in modules Markus Roberts (1): 368a1cb Fix for #3984 -- SELinux warns about changes it doesn''t actually make Matthaus Owens (2): f8a4ddc (#16376) Fix rails compatibility layer for activerecord < 3.0 858e4b4 Update Rakefile to make rspec optional Michael Stahnke (1): 0c1991f Remove the asc file from the source of spec file Moses Mendoza (16): 77afeba Add yaml files db74432 Switch off building gem for 2.7.x 5dc896b Move redhat spec file to erb template in ext/redhat 302248b Add debian packaging artifacts and template a670a4f Move and template all apple pkging artifacts to ext/osx b1648b2 Fixup Rakefile to use packaging repo 2ea1e98 Add in manpage listings that should have been there 67f8b0b Remove broken dual build-requires of facter in redhat spec 82ebe28 Remove version check regex from puppet 0a72c5c Fix yum repo path in yaml file a1c4467 Fixup apple package plist for use with packaging repo b2e31b5 fail better in package repo rake tasks 6da5aa8 Replace dashes with dots for gem version b1adcd2 Fix build targets for 2.7.x fc6571e rm packaging artifacts in rpm spec, debian rules 1d01f2a Update lib/puppet/version.rb for 2.7.20-rc1 Neil Hemingway (1): c305a32 (#11042) indirect via the property to convert group names to numbers Nick Fagerlund (4): adfc27e Maint: Fix borked help/man output for node clean b2c3675 Fix typo in create_resources function''s description string 7efbfc6 Maint: Large or complex HEREDOC strings w/ no interpolation should be single-quote type 35b9ff2 Edit description of hyphenated variables compatibility setting Patrick Carlisle (13): 6d3d591 Fix stubbing on nil in some specs 9c361f1 Don''t require mocha in spec_helper fdb8ca3 Rename specs to end in _spec.rb abc7885 Avoid stubbing Thread::new due to issues in newer mocha 279c323 Clear Environment.current when calling Environment.clear a7d6c3d Add Puppet::Parser::Functions::clear for specs 9815de4 Convert expect..should to expect..to in configurer spec b47e910 Use TestHelper in old unit tests 0a41053 Always set log functions on root environment f9cfec7 (#15912) Make function access consistent 6f556ef Don''t pollute Functions namespace in shellquote function ca36893 Backport fix for commandline spec 14d1fdc Don''t make executables in /tmp in posix_spec Roman Barczyński (1): 31fac81 (#15665) Fix issue with eix-update on newer eix (>=0.25.2). S. Zachariah Sprackett (1): 04ba8e2 Add stdin parsing to puppet parser validate Sean E. Millichamp (1): 5e8236f (#16798) Fix certificate revocation by serial number Stefan Schulte (9): d2b4f08 maint: Refactor suntab and aixtab filetype 4cd6686 (#14283) Fix suntab filetype when run as normal user e111f56 maint: Rearrange tests in useradd unittests 03c7ddf1 maint: Reduce stubbing in useradd spec 5e64c1f (#15959) Do not support system user on Solaris and HP-UX c50f552 maint: Rearrange tests in groupadd unittests c404d99 maint: Reduce stubbing in groupadd spec 6350e6c (#15959) Do not support system group on Solaris and HP-UX da24d54 (#15959) Fix groupadd/useradd spec when run on non-linux systems Todd Zullinger (1): 0cc80ad Preserve timestamps when installing files -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.