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.