Puppet 2.7.15rc1 is a maintenance release candidate for Puppet in the 2.7.x series. Downloads are available at: * Source http://downloads.puppetlabs.com/puppet/puppet-2.7.15rc1.tar.gz RPMs are available at http://yum.puppetlabs.com/el or /fedora Debs are available at http://apt.puppetlabs.com Mac packages are available at http://downloads.puppetlabs.com/mac/puppet-2.7.15rc1.dmg See the Verifying Puppet Download section at: http://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.15rc1: http://projects.puppetlabs.com/projects/puppet/ ## Puppet 2.7.15rc1 Highlights ## *Significantly improve compilation performance when using modules When autoloading classes/defines, the typeloader constructs a set of possible locations for the class, based on its name. Effectively, it will look in the canonical locations corresponding to each namespace in the fully-qualified name. So for each namespace, it will ask the environment for a Puppet::Module instance for that module, to ask it which of the module''s potentially manifests match the class it''s looking for. To answer that request, the environment instantiates a Puppet::Module. This amounts to potentially thousands of Puppet::Module instances being created, because it does this many times (based on nesting of the class name) per include/autoload/import. When Puppet::Module instances are created, they parse and load their metadata.json file, in part to validate their use. This implies that each compilation results in metadata.json being parsed thousands of times, which is extremely slow (and obviously provides no actual benefit). Fortunately, the environment object already keeps a list of Puppet::Module instances for every module in its modulepath. The fix applied here is simply to change the environment such that it provides modules by looking them up in its cached list, resulting in up to an order of magnitude improvement in compilation time. *Colorize console output on Windows Previously, `Puppet[:color]` was false on Windows, because the Windows console does not support ANSI escape sequences. The win32console gem converts ANSI color escape sequences into Win32 console API calls to change the foreground color, etc. If the output stream has been redirected to a file, then the gem does not translate the sequences, instead preserving them in the stream, as is done on Unix. To disable colorized output specify `color=false` or `--color=false` on the command line. This commit adds a `Puppet.features.ansicolor?` feature that defines whether ANSI color escape sequences are supported. On Windows, this is only true if the win32console gem can be loaded. On other platforms, the value is always true. The win32console gem will be packaged into the Windows installer, and so, `Puppet[:color]` now defaults to true. If the gem can''t be loaded, then puppet will revert to its previous behavior. This release includes contributions from the following people: Chris Price, Patrick Carlisle, Josh Cooper, Kelsey Hightower, Nick Lewis, Nick Fagerlund, Daniel Pittman, Nan Liu, Jeff McCune, Ken Barber, Stefan Schulte, and James Turnbull Puppet 2.7.15rc1 Changelog ==Chris Price (2) 53e0057 Use internal domain name for module tool test dae5539 (#14440) Hack to allow help faces to be used as API Patrick Carlisle (9) f4ba59e Use absolute_path in module install spec 3b144bf Revert "maint: use relative paths to fixtures." 12c5bda Fix a stub of ansicolor that I missed ea740f6 Add Puppet::Util::Platform to abstract platform checks 91a4a7d Don''t use features to check for color in logging d2b3ba0 Revert "Fix incorrect argument handling for expire in NodeExpirer" 7c7d4b6 Fix #14123 for Windows 1c9bec0 Fix incorrect argument handling for expire in NodeExpirer 7e92a7c Fix filebucket specs on Windows Josh Cooper (2) ead9d25 (Maint) Color console output when the win32console gem is installed f40cc71 (#12392): Colorize console output on Windows Kelsey Hightower (1) a76d873 (#14424) Expand path of the target directory Nick Lewis (2) 95b75e1 Fix unit test failure in fileserver due to modules a7a532c Significantly improve compilation performance when using modules Nick Fagerlund (2) da5361d Maint: De-genericize Puppet Forge references in module face e862cad Fix broken man page rake task Daniel Pittman (9) b26699a (#10146) `-` is not legal in variable names. 7ce9e17 maint: use relative paths to fixtures. 80fe59d Remove a bad test that can lead to random hangs... d5e0cdd (#14288) gem provider should tolerate bad lines. 24d4bb5 Revert "(#11004) Fix regex for pkg provider line matching" cde3bee Just change Puppet settings in tests, rather than stubbing. 603b368 (#14173) Enforce that filebucket paths must be absolute b4d1c65 (#14127) ssh_authorized_keys grammer fails on blank lines. 36d959a (#14123) Puppet shouldn''t explode if PATH contains ~nonexistent_user Nan Liu (1) 0efb4c2 (#14296) Improve template function error message. Jeff McCune (3) a713f07 (#8778) Make '''' == undef commutative in the DSL 9b47110 (#13956) Fix failing spec tests ca313dc (maint) Fix destinations_spec failure on windows Ken Barber (1) 34da6f7 (#13651) Use magenta, not purple in Facter::Util::Colors Stefan Schulte (7) e37b536 (#11004) Fix regex for pkg provider line matching 6aa8441 (#11004) Support Solaris 11 output in pkg package provider 61e7d3c maint: Fix pkg_spec test 402a425 (#14127) Add integration tests for ssh_authorized_key 85ee441 maint: refactor integration specs for ssh_authorized_key a281c48 (#13645) Add test cases to tagmail_spec f6ac1bb (#13645) Do not open a smtp connection if nothing to report James Turnbull (1) b7828ed (#3452) Autorequire user for cron -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to puppet-dev@googlegroups.com. To unsubscribe from this group, send email to puppet-dev+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.