Announce: Puppet 3.3.1 Available

Showing 1-1 of 1 messages
Announce: Puppet 3.3.1 Available Moses Mendoza 10/7/13 3:34 PM
3.3.1 is a bug fix release in the Puppet 3.3 series. The focus
of the release is fixing backwards compatibility regressions that
were introduced via the YAML deprecations in 3.3.0.

*Upgrade Note*

The release of Puppet 3.3.1 supersedes the upgrade warning for
Puppet 3.3.0. As of 3.3.1, agent nodes are compatible with all
Puppet 3.x masters with no extra configuration.

For the full list of closed issues specific to 3.3.1 see

Puppet 3.3.1 Downloads


Available in native package format in the Puppet Labs yum and apt repositories: and

Gems are available via rubygems at
  or by using `gem install puppet`

Mac packages are available at

Windows packages are available at

Please report feedback via the Puppet Labs Redmine site, using an
affected puppet version of 3.3.1:

Please report feedback via the Puppet Labs Redmine site, using an
affected puppet version of 3.3.1:

Fixes for Backwards Compatibility Regressions in 3.3.0

Issue 22535: puppet 3.3.0 ignores File ignore in recursive copy
Issue 22608: filebucket (backup) does not work with 3.3.0 master
and older clients
Issue 22530: Reports no longer work for clients older than 3.3.0
when using a 3.3.0 puppet master
Issue 22652: ignore doesn't work if pluginsync enabled
Issue 22772: Managing an empty file causes a filebucket error

New backward compatibility issues were discovered after the release of
3.3.0, so we changed our handling of deprecated wire formats.

Starting with 3.3.1, you do not need to set additional settings in
puppet.conf on your agent nodes in order to use newer agents with
puppet masters running 3.2.4 or earlier. Agents will work with all 3.x
masters, and they will automatically negotiate wire formats as needed.
This behavior supersedes the behavior described for 3.3.0; the
report_serialization_format setting is now unnecessary.

Additionally, this release fixes two situations where 3.3.0 masters
would do the wrong thing with older agents. (Reports would fail unless
the master had report_serialization_format set to yaml, which was not
intended, and remote filebucket backups would always fail.)

Miscellaneous Regression Fixes

Issue 22384: Excessive logging for files not found

This was a regression in 3.3.0.

When using multiple values in an array for the file type's source
attribute, Puppet will check them in order and use the first one it
finds; whenever it doesn't find one, it will log a note at the "info"
log level, which is silent when logging isn't verbose. In 3.3.0, the
level was accidentally changed to the "notice" level, which was too

Issue 22529: apt package ensure absent/purged causes warnings on 3.3.0

This was a regression in 3.3.0. The apt package provider was logging
bogus warnings when processing resources with ensurevalues of absent
or purged.

Issue 22493: Can't start puppet agent on non english Windows

This was a regression in 3.2.4, caused by a bug in one of the Ruby
libraries Puppet relies on. We submitted a fix upstream, and packaged
a fixed version of the gem into the Windows installer.

Fixes for Long-Standing Bugs

Issue 19994: ParsedFile providers do not clear failed flush
operations from their queues

This bug dates to Puppet 2.6 or earlier.

The bug behavior was weird. Basically:

Your manifests include multiple ssh_authorized_key resources for
multiple user accounts.
One of the users has messed-up permissions for their authorized keys
file, and their resource fails because Puppet tries to write to the
file as that user.
All remaining key resources also fail, because Puppet tries to write
the rest of them to that same user's file instead of the file they
were supposed to go in.

Issue 21975: Puppet Monkey patch 'def instance_variables' clashing
with SOAP Class...

This bug dates to 3.0.0. It was causing problems when using plugins
that use SOAP libraries, such as the types and providers in the
puppetlabs/f5 module.

Issue 22474: --no-zlib flag doesn't prevent zlib from being
required in Puppet

This bug dates to 3.0.0, and caused Puppet to fail when running on a
copy of Ruby without zlib compiled in.

Issue 22471: Malformed state.yaml causes puppet to fail runs with
Psych yaml parser

This bug dates to 3.0.0, and could cause occasional agent run failures
under Ruby 1.9 or 2.0.

Puppet 3.3.1 Contributors

Adrien Thebo, Andrew Parker, Iristyle, Josh Cooper, Josh Partlow, Kylo
Ginsberg, Matthaus Owens, Melissa Stone, Moses Mendoza, Patrick
Carlisle, Rob Braden, Spencer Krum

Puppet 3.3.1 Changelog

Adrien Thebo (2):
      e75e9f3 (maint) rename urpmi spec to be run by default
      133fd3b Revert "Merge pull request #1939 from

Andrew Parker (11):
      dbf515a (Maint) Convert to new block expects
      33b08a3 (#22471) Rescue errors specific to the YAML parser
      aaa94d5 (Maint) Simplify code
      82c2574 (Maint) Stop asserting nothingness
      c98f21d (#22471) Extract YAML interaction into shared code
      a2f73e2 (#22471) Remove duplication by using Puppet::Util::Yaml
      8b3670f (#22384) Log 404 and 406 responses at info
      e603ed1 (#22530) Support both YAML and PSON
      8f2967e (#22652) Parse query strings in rack w/o rack
      37d1ba6 (#21971) Create test to show exploit of resource_type
      9296dad (#21971) Add test for accessing based on master being at root

Iristyle (1):
      fc505e2 (maint) Windows failing spec fixes

Josh Cooper (8):
      3ca7604 (Maint) TestHelper already clears global state
      564ecd1 (Maint) Don't keep Tempfile open while specs are running
      18f4a2e (Maint) Stop asserting nothingness
      74d4d9c (Maint) Fixup whitespace
      5dedacd (Maint) Remove spurious subproject commit line
      de65c66 (#22608) Restore the ability for master to accept pson
file backups
      8e7d76f (Maint) Fix typo in method name
      c0817e3 (#22652) Restore rack parsing of POST body parameters

Josh Partlow (7):
      73348b7 (#22529) Dpkg provider does not warn on package not found
      3d779a7 (#22529) Rpm provider does not parse 'package foo is not
installed' as a package
      3751a83 (#22529) Acceptance test for puppet package resource behavior
      78623a3 (maint) Convert from should to expect syntax
      54f6da4 (#22529) Update acceptance test for regex fix and solaris
      a912111 (#22529) Handle no package message for different
dpkg-query versions
      26c1db1 (maint) Test of resource package does-not-exist checks stderr

Kylo Ginsberg (15):
      0b99949 (maint) Fix misspellings in spec tests
      9ea33d2 (#22535) Add puppet version to status indirector
      bd618e6 (#22535) Revert to yaml when a new agent talks to old master
      8679795 (#22535) Fix apply/etc by setting the status_terminus
per application
      c290dc5 (#22535) Cleanup of desc/hook for new settings
      58cb39c (#22535) Improve notice message for backward compatibility
      53e22cc (#22535) Add tests for backward compatibility settings
      3be9d11 (#22535) Add test for legacy yaml serialization of
arrays in query string
      c48a9b3 (#22535) Fix an exception msg; cosmetic.
      f97829b (#22535) Fix support for agent's status endpoint
      76889b4 (#22535) Make a full status object the default in agent
spec tests.
      70a18ef (#22535) Use a response header for version
      8ff491f (#22652) Add be_one_of matcher (copped from pcarlisle)
      391c5c4 (#22652) Tighten up spec for multi-valued params in a POST body
      d26a0f0 (maint) Move constant outside shared_examples_for to
avoid "already initialized" warning

Matthaus Owens (1):
      bbdafe5 (#22474) Update forge/repository.rb to conditionally include zlib

Melissa Stone (1):
      976e051 (packaging) Update PUPPETVERSION for 3.3.1-rc3

Moses Mendoza (2):
      f4ce874 (packaging) Update PUPPETVERSION for 3.3.1-rc1
      ae6e887 (packaging) Update PUPPETVERSION for 3.3.1

Patrick Carlisle (7):
      d3f263b (maint) Don't use subject in parsedfile spec
      e1dcea4 (#19994) Ensure that failed ParsedFile operations are
marked flushed
      f308d1e (#21975) Don't monkey patch Object#instance_variables
      65ce0ea (#22471) Finish removing duplication of yaml exceptions
      7f4f0b9 (#22772) Fix test for saving empty data
      5a4feef (#22772) Allow a PUT with an empty body
      513d8b5 (#22772) Add error checking to yaml format

Rob Braden (1):
      891fce7 (packaging) Update PUPPETVERSION for 3.3.1-rc2

Spencer Krum (1):
      f47a4b7 Doc cleanup on create_resources example

Moses Mendoza
Puppet Labs

Join us at PuppetConf 2014, September 23-24 in San Francisco