[Puppet Users] Announce: Puppet 3.3.0 Available

Moses Mendoza
Thu, 12 Sep 2013 23:58:05 -0000

Puppet 3.3.0 is a feature and bug fix release.

For the full list of closed issues specific to 3.3.0 see [this list in
Redmine](http://projects.puppetlabs.com/versions/401), containing 17 new
features, and 75 bugs closed.


Puppet 3.3.0 Downloads
------------------------------------------
Source: https://downloads.puppetlabs.com/puppet/puppet-3.3.0.tar.gz

Available in native package format in the Puppet Labs yum and apt
repositories:
http://yum.puppetlabs.com and http://apt.puppetlabs.com

Gems are available via rubygems at
https://rubygems.org/downloads/puppet-3.3.0.gem
  or by using `gem install puppet`

Mac packages are available at
https://downloads.puppetlabs.com/mac/puppet-3.3.0.dmg

Windows packages are available at
https://downloads.puppetlabs.com/windows/puppet-3.3.0.msi

Please report feedback via the Puppet Labs Redmine site, using an
affected puppet version of 3.3.0:
https://projects.puppetlabs.com/projects/puppet/


New Features
------------
#### #2628: It would be useful if node name regexps set $1
It is now possible to use the variables `$0` to `$n` regular expression
match-variables set when using a regular expression node-name in a node
declaration.

#### #6561: Better looking CSS for puppet doc rdoc mode
The standard skin for the puppet Rdocs has been updated to increase
readability.

#### #16792: permit to remove more than 1 package using urpmi provider
It was tedious to remove some packages when using the urpmi provider since
it
only allowed to remove one package at the time, and that removal must be
made
in dependency order.  Now, the urpmi provider behaves similar to the apt
provider.

#### #16856: puppet should support data in modules
This feature makes it possible to contribute data bindings from modules to
a
site-wide hierarchy of data bindings. This feature is introduced as an
opt-in,
and it is turned on via the setting `binder=true`. It is turned on by
default
with using the option `parser future`. The implementation is based on
[ARM-9
Data in Modules](http://links.puppetlabs.com/arm9-data_in_modules), which
contains the background, a description, and a set of examples.

#### #22375 Filebucket improvements
There were a number of problems with the remote filebucket functionality for
backing up files under puppet''s management over the network. It is now
possible
to back up binary files, which previously would consume lots of memory and
error out. Non-binary filebucket operations should also be faster as we
eliminated an unnecessary network round-trip that echoed the entire contents
of the file back to the agent after it was uploaded to the server.

#### #18255: accept 301 response from fileserver
Puppet http-client now follows HTTP redirects. The new functionality
includes a
redirection limit, and it recreates the redirected connection with the same
certificates and store as the original (as long as the redirect new
location is
ssl protected). Redirects are performed for GET, HEAD, and POST requests.

With this feature it is now possible to support custom implementation of
features like redirect to closest server.

#### #20284: Output one item per line for arrays in console output
This changes the output to console from faces applications to output array
items with one item per line.

#### #21170: enhancement of the module generate functionality
This change allows specifying the module tool skeleton directory
(`module_skeleton_dir`) directly instead of always having is set to the
(now
default) `$module_working_dir/skeleton`.

#### #21427: Deprecate YAML for network data transmission
YAML has been the cause of many problems. This starts the transition to
remove
the use of YAML over the network by deprecating all of the places where the
master accepts it, changing the agent to no longer request it, and also
changing the agent to no longer send it (reports and query parameters).

This has the effect that a master without these changes will not be able to
correctly understand requests from an agent with these changes. Out of the
box
this causes an error submitting reports to a <= 3.3.0 master from 3.3.0
agents.
To avoid errors and retain the advantages of JSON serialization, upgrade
your
masters first, then the agents. ** If you must run new agents against older
masters,
set the new `report_serialization_format` setting to `yaml` in your
agents''
puppet.conf. **

#### #21452: Add s3_enabled option to the yumrepo type
It is now possible to use a yum repo stored in AWS S3 (via the yum-s3-iam
plugin). This change makes it possible to set the s3_enabled option
required to
use yum repos in this way.

#### #21749: Make attributes readable on Puppet::ModuleTool::Dependency
objects
This change makes it possible for those that want to deal with module meta
data
programmatically in Ruby to access a dependency''s attributes.

#### #21831: Generate a UUID for catalog retrieval and report posts
A UUID that spans the lifetime of a catalog is now generated and included
in
reports related to that catalog. It can be used to retrieve information by
using the parameter `transaction_uuid`.

#### #22205: Order of resource application should be selectable by a
setting.
The setting `ordering` has been added to control the default ordering to
use in
the absence of any dependency information. By default this is
`''title-hash''`,
which is an opaque, stable, random order. The value of
`''manifest''` will
use
the order in which the resources were added to the catalog, which matches
the
order that the puppet language executes. The final value of
`''random''`
causes
resources to be assigned a random order, while still obeying declared
dependencies.

## Provider Improvements

#### #19875: Get package descriptions from RAL
Previously Rpm and Dpkg provider implementations obtained package
information
from the system without capturing package description information.

This change adds captures of a single line description summary.

#### OpenBSD Package Enhancements

Jasper Lievisse Adriaanse contributed several improvements and fixes
to the OpenBSD package provider.

It is now possible to use `+=` when defining the `installpath` for OpenBSD.

Previously an attempt to use this was ignored. With this it''s possible
to
have
a pkg.conf like:

    installpath = foo
    installpath += bar

Which will be turned into a `PKG_PATH: foo:bar`. (#21930)

It is now possible to specify `install_options` and `uninstall_options` for
the
OpenBSD package provider. These were previously not available. (#22021)

It is now possible to use `purge` with the OpenBSD package provider.
(#22023)


Puppet 3.3.0 Contributors
-------------------------------------
Adrien Thebo, Alex Dreyer, Alexander Fortin, Alexey Lapitsky, Aman Gupta,
Andrew Parker, Andy Brody, Anton Lofgren, Brice Figureau, Charlie
Sharpsteen, Chris Price, Clay Caviness, David Schmitt, Dean Wilson, Duncan
Phillips, Dustin J. Mitchell, Eric Badger, Eric Sorenson, Erik Dalén, Felix
Frank, Garrett Honeycutt, Henrik Lindberg, Hunter Haugen, Jasper Lievisse
Adriaanse, Jeff McCune, Jeff Weiss, Jesse Hathaway, John Julien, Josh
Cooper, Josh Partlow, Juan Ignacio Donoso, Kosh, Kylo Ginsberg, Mathieu
Parent, Matthaus Owens, Melissa Stone, Melissa, Michael Scherer, Michal
Růžička, Moses Mendoza, Neil Hemingway, Nick Fagerlund, Nick Lewis, Patrick
Carlisle, Pieter van de Bruggen, Richard Clamp, Richard Pijnenburg, Richard
Soderberg, Richard Stevenson, Rob Reynolds, Sergey Sudakovich, Stefan
Schulte, Thomas Hallgren, W. Andrew Loe III, arnoudj, floatingatoll,
ironpinguin, joshrivers, phinze, superseb


Puppet 3.3.0 Changelog
-----------------------------------
Adrien Thebo (35):
      d56aa39 (#20383) Provide location of duplicate resource in error
      deb924e (maint) add yardoc for Puppet::Settings#value
      b922fe3 Add unit tests to ensure false values are cached
      a3941d4 (maint) Add documentation on side effects in tests
      47d9941 (maint) stub `dpkgquery` in aptitude specs
      9ffb5a9 Ensure that openrc service provider wipes RC_SVCNAME variable
      5692576 (maint) stub out Puppet::Util.which for openrc
      e0ed1ef (#11108) Test coverage for remote pkg file
      855cad8 (static compiler) Add method documentation
      4318430 (#16792) Rename urpmi `uninstall` method to `purge`.
      d5a7991 (maint) Remove convoluted confine from urpmi provider
      578fb8d (maint) Improve urpmi error reporting
      08ff4db (maint)Add basic test coverage to urpmi package provider
      492b833 (#20920) Test that missing resource deps add context
      bab50c2 (maint) Don''t try to invoke a constant as a method
      0de90ef Revert "Merge pull request #1686 from
Sharpie/12361-remove-masterlog-setting"
      605003f (maint) remove fact stringifying deprecation warning
      a05d613 Revert "Merge pull request #1697 from
zaphod42/issue/master/20967-mysterious-errors-caused-by-patch"
      447d244 (doc) Add yardoc for Puppet::Node::Environment
      146c159 (doc) Add documentation on rspec and mocha versions
      6ecf3be (maint) Move testing deps into Gemfile group
      314a6f6 (maint) Remove unused exception class
      b2fbda3 (maint) re-indent file
      694fa0d (#21307) Refactor WatchedFile class
      3ff51c8 Revert "Merge pull request #1711 from
electrical/rename_generate_dir"
      4ea0efd (maint) Extract puppet setting types to constant
      46e3fa6 Revert "Merge pull request #1756 from
jpartlow/issue/master/6112-fixing-acceptance-test"
      8646dfd (maint) Expect unused filebucket to be absent
      48c5ee0 (maint) refactor node local facts into describe block
      03ba4ef (maint) Add test for GH-1783
      0c7c47e Revert "Merge remote-tracking branch
''pr/1783''"
      d637f31 (maint) extract test into setup and test cases
      e8527b7 (maint) extract reusable helper methods
      a1b7b10 (maint) expand fixture paths in specs for windows
      3656893 (maint) Refactor http pool specs, expand windows path

Alex Dreyer (1):
      2004863 (21985) pmt should include exsiting metadata.json when
building

Alexander Fortin (1):
      6bd0456 (#19675) Debian service provider uses bad enable check

Alexey Lapitsky (1):
      e758025 Set HOME environment for eix/portage provider

Aman Gupta (1):
      3ec11aa fix caching of "false" settings

Andrew Parker (90):
      f3bc090 (Maint) Inject Pidlock dep into Daemon
      1425d8c (Maint) Inject scheduler into Daemon
      4dce476 (Maint) Clean up Daemon tests
      7847d49 (Maint) Remove unused register code for Server
      f2eda3c (Maint) Remove duplication btwn Daemon and Server
      941d72d (Maint) Mark the Puppet:Daemon private
      c7c52bf (Maint) Document Puppet::Daemon
      c1c472b (#20967) Apply Redhat carried patch for rundir permissions
      c22b394 (#20967) Fully manage ownership of rundir
      f9bda2c Revert "Merge pull request #1682 from
zaphod42/issue/master/incorrect-management-of-rundir"
      dc2e6ad (Maint) Remove unused and unreachable logging configuration
      4abc8f0 (#21055) Push setup of agent closer to where it is used
      064d7fd (#21055) Ensure that only logging is used after daemonization
      2b36f26 (Maint) Remove duplication from more agent tests
      f152878 (#14652) Add check for self-dependency cycles
      757b693 (Maint) Remove unneeded checks for no error raised
      8012528 (Maint) Run tests from installed packages
      add942b (#21427) Send facts to master as pson
      8235471 (#21427) Issue deprecation warning for b64_zlib_yaml
      85bb5eb (#21427) Improve deprecation warning for yaml params
      08d7f8b (Maint) Cleanup do_save specs
      7915997 (#21427) Respect Accept header for save
      ff0daf4 (#21427) Respect Accept header for destroy
      50a76d5 (#21427) Remove duplicate handling of accept headers
      b0db4bf (#21427) Deprecate YAML over the network
      6f31b93 (#21427) Submit reports in PSON format
      7393364 (Maint) Remove stubbing from query_string tests
      8398ec3 (Maint) Test that the query string is parsable
      6353ebb (#21427) Do not send arrays as YAML in query params
      c616a93 (#21427) Parse WEBrick multi valued params
      d5679d4 (#21427) Unescape values when decoding facts
      c0e861c (Maint) Fix warnings issued by yard
      cde4d6e (#21409) Preserve original error when propogating
      6baa57b (#21409) Ensure that create_resources acts the same as a
resource decl
      f44cc55 (#21307) Pull apart many parts of logic for WatchedFile
      9064eee (maint) Use systest''s dynamic provisioning instead of
backline
      a983b69 (#21252) Define behavior around undef and nil arguments
      167354e (#18508) Specify the order of resources in the catalog
      a54ac10 (#18508) Preserve order while translating catalog
      44b927f (#18508) Assert kinds of resources sent to agent
      e1be712 (Maint) Rename catalog integration spec
      b9e6e1d (Maint) Remove some unneeded complexity
      5229d9a (maint) Small docs fixups
      0aba7f0 (#16856) Add a lookup() function for injected values
      d2c2727 (#16856) Stringify puppet Booleans as "Boolean"
      16a985e (#16856) Add type spec parser
      a7a013c (#16856) Check looked up type against provided type in
lookup()
      34f871f (#16856) Remove support for constructing object types
      fd17049 (#16856) Support parameterized collection types in type
specifications
      4b103a9 (#16856) Add error handling for more invalid forms of type
specifications
      b8a316e (#16856) Add support for unparameterized Hash and Array
      e9b54a0 (Maint) Use dirname instead of regexes
      b0924a3 (Maint) Clean up specs
      88da2ab (#21971) Check for possible directory traversal
      24b18de (#21971) Split import and autoloading code paths
      ee80db0 (#21971) Create system for safely dealing with path patterns
      c0d0339 (#21971) Fix how import_all loads files
      4e00895 (Maint) Confine module tool tests off of windows
      78be1de (Maint) Update expectations for older rspec
      c9f8717 (Maint) Update test to reflect chown using the gid too
      b6de574 (Maint) Improve check for the timestamp
      ed62ee7 (Maint) Collapse classes for relationship graphs
      2f43535 (#18508) Ensure resource ordering in interesting cases
      093ccf5 (#18508) Fix order of apply for resources in containers
      9062f41 (Maint) Move creation of relationship graphs to
RelationshipGraph
      2c9d789 (#18508) Fix acceptance test for manifest ordering
      17da3d6 (#18508) Create explicit dependencies before implicit
      5dc26d1 (Maint) Fix testing path on windows
      2d3eca6 (#18508) Extract class to control generating resources
      49b2bd3 (#18508) Ensure eval_generated resources apply at the right
time
      7ed9025 (#18508) Handle duplicate generated resources correctly
      69a8ff1 (#18508) Ensure that no two resources have the same priority
      4b15466 (Maint) Move most graph related code to Puppet::Graph
      0b777d3 (#22205) Extract class for generating resource priorities
      f99a759 (Maint) Removed commented out settings
      a42f65e (Maint) Restructure requires for settings
      ac9b0a7 (#22205) Add enum setting type
      0ffb629 (#22205) Provide setting to control manifest ordering
      8bdf1b9 (#22205) Re-introduce old ordering as a Prioritizer
      63d1a64 (#22205) Chose a Prioritizer based on Puppet[:ordering]
      149f9e1 (#22205) Extract common Prioritizer code into a superclass
      d3a98e7 (#22205) Select manifest ordering for ordering test
      d804baa (#22205) Reinstate relationship_graph as a factory method
      e9253ec (Maint) Add docs for #relationship_graph
      24c2c17 (Maint) Mark AdditionalResourceGenerator as private
      21107e8 (#22229) Ensure generated resources contained
      e4b9798 (#22229) Provide way of getting the container
      155427f (#22358) Interpret */* as anything is accepted
      e9e9d9d (#21427) Make report format selectable
      c06eb57 (#22383) Allow all boolean values for atboot

Andy Brody (4):
      5d25090 (#21164) Raise ParseError for non-string var names
      fa2c083 (#21164) Don''t try to look up non-string variables
      fae7973 (#21164) Add tests for useful hash access errors
      de44f41 (#21164) Check for correct exception message

Anton Lofgren (2):
      55d62aa (#20677 Raise error on missing path for auth stanza)
      40c08ef (#20677) Add tests to ensure configuration errors are raised
as expected

Brice Figureau (4):
      98a1ca5 (#20607) support symbolic file mode in
Puppet::Util#replace_file
      60f22eb (#18255) - Follow http redirections
      f51e967 (#11317) - Do not ever skip resources appliable to both host
and device
      d2e3cf3 (#6561) increase rdoc output font size and fix facts display

Charlie Sharpsteen (10):
      e740bc4 (#20121) Invoke chkconfig with --check on SuSE
      f5a8b74 (#17811) Add test for group name to gid conversion
      40b334f (#17811) Ensure PrimaryGroupID is converted to Int
      713bcbe (#18895) Fix documentation in runit provider
      5945aba (#12361) Remove masterlog option
      12f3c38 (#21023) Flush caches on preferred_run_mode change
      501f8f1 (#6808) Warn about file content sync no-ops
      a0c7955 Add debug_once to util/warnings
      363e79d (#21835) Downgrade missing type optimization warn
      7d0a559 (#21839) Stringify the :_timestamp fact name

Chris Price (5):
      f24562d PSON serialization for `Resource::Status` missing time field
      9536d51 Specify precision when serializing resource status time
      ab2c2e0 Refactor to remove ''LogPath'' module
      661d8f0 (#21805) Add containment path to report resource_status
      7e973f5 Improve documentation for pathbuilder methods

Clay Caviness (2):
      06fe48b (#16635) Respect http_proxy environment and settings in pkgdmg
      ee2715d (#6017) Purge MCX data before import

David Schmitt (1):
      80dd480 (#19112) deploy manpages in -common package

Dean Wilson (2):
      cd9135f Add the s3_enabled property to the yumrepo type
      d63a9a3 Restrict the regex to only allow 0 or 1. Not 10.

Duncan Phillips (1):
      9fb4bca Fix #6561 - Better looking puppetdoc CSS for rdoc mode

Dustin J. Mitchell (4):
      ba7576d Add DRY support for boolean parameters
      f2c5687 (#21091) pass --fail to curl
      6012057 clean up docs for new parser functions
      23d672b (#19056) strip trailing space while parsing AIX password file

Eric Badger (1):
      61669e3 (#22258) Create new console for each puppet run

Eric Sorenson (2):
      351aae6 (#17827) Properly format SMTP HELO when sending tagmail
      40bba75 (#21801) Normalize headers that come through Rack

Erik Dalén (12):
      30fe09e (#20284) Output one item per line for arrays in console output
      036951d (#17183) Pass on parameters to recursive children in
static_compiler
      3a19fff (#4561) Support structured facts
      f233c0c (#20920) Include file and line number on invalid resource
relationship
      53241a9 (Maint) Remove unused variables
      e3e673e (Maint) Simplify search for init scripts
      40801c0 (maint) make SRV record lookup more generic
      6ff702a (#21749) Make attributes readable on
Puppet::ModuleTool::Dependency
      2cb57bf (#21785) Module tool should include path part of URI
      816ffe5 (maint) fix indentation
      3f04206 (maint) remove unused methods
      5c38864 (#16214) Allow specifying module tool skeleton dir directly

Felix Frank (1):
      3157d2a (#3010) cron: allow the absent value for the "special"
property

Garrett Honeycutt (1):
      810283f Generated modules comply with Style Guide

Henrik Lindberg (139):
      5166625 (maint) Corrects manual edit in generated eparser.rb
      23005e6 (#20581) Correct parser future''s validation of query
expression
      5275b17 (#21470) Change validation of "storeconfigs" to reflect
runtime state.
      b3022fa (#21508) Make local variables available to templates as
instance vars
      300757d (#21252) Fix problems with false/nil args and returns in
lambda
      feb8528 (#21947) Add missing error message for ILLEGAL_NAME
      51357cd (#22052) Fix future parser false error on invoke with call as
arg.
      899dd45 (#16856) Add type model, factory, and calculator.
      9b9bda8 (#16856) Add bindings model and bindings factory.
      5bb7987 (#16856) Add w.i.p on binder
      a63e767 (#16856) Make type calculator infer PType for types and PType
      12e76af (#16856) Add infer_Class to remove requirement to pass an
instance.
      9ff8e38 (#16856) Add skeleton of BindingsChecker.
      45c0aed (#16856) Rename #from_ruby_class to #type
      a945bbf (#16856) Update TypeFactory to use TypeCalculator.type(c) for
class.
      5967eb3 (#16856) Add the first cut of the Binder.
      3d53ccc (#16856) Add first cut of Binder.
      4a4e378 (#16856) Add w.i.p on injector
      3e4d299 (#16856) w.i.p bindings model and injector (stash)
      83134cf (#16856) Corrects typos and renames classes in Bindings model.
      1105862 (#16856) Improve documentation of Factory and typographic
code changes.
      1ab7844 (#16856) Add work that has the wanted design of producers
(incomplete).
      b08010a (#16856) Add binder and injector with first smoketests
passing.
      f6784f0 (#16856) Refactor producer to use a class instead of just a
lambda.
      0db39b3 (#16856) Add support for custom producer
      e13dd12 (#16856) Add injector tests (and code that passes them)
      7a93fcb (#16856) Add test and fix issue with lookup_producer
      77354e4 (#16856) Improve API and documentation of Injector.
      b242b8f (#16856) Add FirstFoundProducerDescriptor to the bindings
model.
      85a5d8d (#16856) Add missing model objects to LabelProvider.
      26afdac (#16856) Tweak some logic to be more ruby-ish
      41128b8 (#16856) Add support for non caching producer
      9982013 (#16856) Add support for LookupProducer
      3d901d1 (#16856) Refactor Injector internally
      519308d (#16856) Add support for first_found producer.
      6447382 (#16856) Add support for InstanceProducer
      e35c129 (#16856) Add support for ProducerProducer:
      f2997f4 (#16856) Add test that lookup of value and producer are
consistent
      865daed (#16856) Refactor one test dealing with producer producer
      2501de8 (#16856) Fix issues with producer producer
      ed36bdc (#16856) Complete implementation of multibind hash
      4e3cd54 (#16856) Add test and fix issues with array multibind
      5eeabbc (#16856) Add missing name in one injector test
      dd9e208 (#16856) Rename MultiLookupProducerDescriptor to HashLookup...
      dee6304 (#16856) Add test and fix issues with HashLookupProducer
      3eebb63 (#16856) Add more tests and checks
      93450d1 (#16856) Add lookup loop detection
      5b7fbb8 (#16856) Adds check that array multibind gets array[T] or T
as contribution.
      68f6e2f (#16856) Fix Yardoc and some internal cleanup of dead
code/comments
      9b1e2ff (#16856) Add support for Multibind combinators and refactor
to make use of them
      cfc2b8a (#16856) Refactor create_combinator into two methods.
      b80a902 (#16856) Add support for assisted inject
      8bc3195 (#16856) Add additional test for assisted inject
      1b0780d (#16856) Add yardoc for assisted inject
      a92f90c (#16856) Add tests and fix issues with bindings requiring
evaluation
      fe0254e (#16856) Add support for explicit Combinator
      3feaacc (#16856) Makes multibind default producers singletons.
      eca5ead (#16856) Make instantiating producer work like assisted inject
      8006ba4 (#16856) Make Assisted Inject pass arguments to inject method.
      d26aa60 (#16856) Refactor producers
      a860215 (#16856) Move Producer classes to a Producers module
      974f836 (#16856) Remove unused LambdaProducer
      eda434d (#16856) Improve Multibinding (drop combinators, improve
options, and errors)
      4b06e6d (#16856) Remove the defunct multibind_combinators.rb file
      409955a (#16856) Improve documentation of injector and do cleanup
      2e85537 (#16856) Improve formatting and documentation of Producers.
      8efd6aa (#16856) Fix issue when a multibind has no contributions.
      1023452 (#16856) Improve checking of Hash multibind options
      ea223d0 (#16856) Add merge to hash multibind producer.
      a2464ad (#16856) Make binder return self in configuration methods.
      86e10c2 (#16856) Clean up injector_spec by using let
      034b3a8 (#16856) Clean up injector_spec some more
      c59386f (#16856) Fix issues with assisted inject and improve testing
of injector
      94d3a57 (#16856) Fix issue in multibind hash :priority conflict
resolution
      c35eadf (#16856) Add test of hash multibind :merge conflict resolution
      f3d6d96 (#16856) Make hash and array multibind handle flatten the
same way
      71d264a (#16856) Add test for binding transformer lambda and fix
related issues
      0a1a4db (maint) remove TODO
      1a67330 (maint) Remove a couple of lines of commented out dead code.
      00d4ef3 (#16856) Fix issue with missing type check for multibind type.
      18b1abf (#16856) Fix yardoc for the central Binder classes
      74ace21 (yardoc) Make yardoc not crash for the Types classes
      b448f58 (#16856) Change hiera2 config reader to read categories as
array instead of hash
      bdd82ec (#16856) Add w.i.p on BinderConfig
      4ef09ab (maint) Fix missing space separator in tree dumper
      40057df (#16856) Add BindingComposer
      8d847da (#16856) Add class loader, system and default bindings, and
extensions.
      939f059 (#16856) Fix problems with loading Array and Hash in Hiera2
backend.
      88d6562 (maint) Prevent error when ''common'' is given in
the
categories.
      97ed1c8 (#16856) Add EvaluatingParser, and create injector in
Compiler.
      7133785 (yardoc) Add yardoc to added logic in compiler.
      8107fad (#16856) Replace use of StringEvaluator with EvaluatingParser
      8ca1b20 (#16856) Ensure that binder evaluates using Puppet[:parser]
''future''
      71ed762 (#16856) Fix Pupet typo
      ac4386a (#16856) Add implicit parameter lookup for hostclass
resources.
      187ed26 (#16856) Add tests for implicit injection.
      1ae64a5 (#16856) Delete obsolete lib/puppet/binder*
      df7872c (#16856) Improve BindingsFactory
      ad1ea7e (#16856) Add missing issue
      d4af9de (#16856) Fix accepting SYNTAX ERROR in bindings config
      b5f0af0 (#16856) Add module and confdir to checkers allowed binding
schemes
      f8b795b (#16856) Make test of looking up data bound via ruby Bindings
work.
      0a661db (#16856) Add missing fixture file
      06b2614 (#16856) Improve error message when there is a bindings
conflict.
      34f0599 (maint) Make DiagnosticFormatter handle diagnostics without
source pos.
      3e686e7 (#16856) Add a reuseable issue reporter
      9e95478 (#16856) Add missing require of issue reporter in pops.rb
      acbfee1 (#16856) Improve error messages and add defaults
      0576b6b (#16856) Improve handling of Ruby based bindings
      35165da (#16856) Rename hiera_config.yaml to hiera.yaml
      9f8c612 (#16856) Make osfamily have higher prio than environment
      d9731e4 (#16856) Fix errors in diagnostics output from
BindingsComposer
      6b0052f (#16856) Fix problems with confdir scheme (typos and broken)
      e98ba3f (#16856) Add ability to specify type string for Hash with
single argument.
      1df59f9 (#16856) Add ability to call lookup function with a lambda.
      fc81d51 (#16856) Make lookup return :undef if nothing is found. Nil
does not work when returned to puppet logic.
      87d4af0 (#16856) Add support for multibinding multibinds.
      5c8e9af (#16856) Improve error reporting when something is wrong with
an Issue
      ba25f8f (#16856) Add version to binder_config.yaml
      b5c5bf3 (#16856) Correct API of BindingsFactory, add/correct yardoc.
      03556ad (#16856) Refactor bindings scheme handlers, fix issues with
type as hash key.
      336a99e (#16856) Add extension capability to binder_config.yaml
      441d6b7 (#16856) Fix test failing because lookup returns :undef
instead of nil.
      518b0fc (#16856) Add setting binder_conf to control which binder
configuration to load.
      d43cb01 (yardoc) Correct and amend yardoc for the central clsses in
binder.
      df1e622 (#16856) Improve formatting of error messages.
      0052396 (#16856) Make a hiera.yaml in confdir be ignored if it not
version 2.
      30ae48f (#16856) Fix issue with failing integration tests (caching
problems)
      408cfc2 (#16856) Make use of Puppet Binder optional (and thus also
rgen)
      cd63705 (#16856) Fix problem with YAML spec test on Ruby 1.8.7
      a01816a (#16856) Fix lookup of ::x in topscope when topscope is not
fully evaluated
      2a6801c (#16856) Make the lookup function raise appropriate error on
inactive bindings
      5110e30 (#16856) Improve comments, remove dead code, and increase
readability
      341661d (#16856) Improve reporting of syntax errors in interpolations
in binder_config
      9bd0c7d (#16856) Fix failing lookup function test (missing setting of
--binder)
      693aec1 (#16856) Fix failing test for Ruby 2.0.0 (different YAML
exception)
      9b16ff8 (#22079) Fix HashArrayAccess produces :undef when value is
false
      4d2e0fe (maint) Fix problem reading empty file with safe yaml
      53140d1 (maint) Remove unused Hiera2::Backend class

Hunter Haugen (1):
      fe99c72 (#21193) Fix rgen assertion check

Jasper Lievisse Adriaanse (5):
      fa2fb95 OpenBSD has had flavors since the early 2000s at least; sync
comment.
      a5b8b96 Enhance OpenBSD pkg.conf handling
      ee14796 (22023) Implement :purgeable feature for OpenBSD package
provider
      19b0e78 (22004) Fix regex for retrieving flavor.
      1b672b5 (22021) Implement (un)install_options for OpenBSD package
provider.

Jeff McCune (8):
      a84c65b (maint) Update COMMITTERS with stable and master branch
strategy
      648ac82 Revert "(Maint) Remove disused puppet.gemspec"
      35151b4 (maint) move puppet.gemspec to .gemspec
      bf27b3c (maint) Fix PUPPETVERSION warning from gemspec
      4680902 (maint) Fix failing WriteOnlyYaml acceptance test
      3b29a4e (maint) Update branch strategy to be the git flow process
      8054d4d (maint) Update COMMITTERS with feature flags and always
working responsibilities
      943eba6 (maint) Clarify the merge-up process in COMMITTERS

Jeff Weiss (6):
      bb86ff6 (#18393) AIX 5.3 doesn''t support diff -u
      230a0ee (#20442) Add tests for base provider methods
      a17114a (#20442) Add tests for attribute conversion methods
      86fd7fa (#20442) only execute lscmd once
      a27f3dc (#20442) Filter attributes to only those managed
      fa49b2d (PE-158) speed license check

Jesse Hathaway (1):
      ea58f86 Change hiera_include to properly call include with an array
of arguments

John Julien (2):
      7723748 (maint) Removing unneeded patch from %install in RPM spec
      73d5742 (#7911) Simplified libs section of installer

Josh Cooper (14):
      2434310 (#11276) Tarball entries should be relative to the `pkg`
directory
      e9c25f6 Maint: Lambda arity must match number of arguments
      f918734 Maint: Update comments
      6b49f63 (#20607) Fix mode test on windows
      f25036b (#19727) Collapse multiple leading slashes
      d5fdadf (Maint) Don''t prefetch from /tmp/test
      2357ff1 Maint: Fix absolute path issue on Windows
      fa21e68 (#22191) Add cancelled resource handler
      3bbf236 (#22191) Mark ready, but unevaluated resources, as skipped
      8839227 (#22191) Always process internal catalogs
      dada7dc (#22191) Rename cancelled to canceled
      769dcdf (#22375) Prefer raw-like serialization format
      547b0a6 (#22375) Don''t echo the backed up file to the caller
      dabfd50 (#21427) Handle loss of precision during YAML serialization

Josh Partlow (36):
      e96ac6b (#19875) Package descriptions obtained by rpm/dpkg providers
      4da6312 (maint) More specific require for windows/package
      fbd7f74 (maint) Add an integration spec for agent logging.
      96e22e6 (maint) Pidlock#file_path uses correct instance var
      d89090c (maint) expand flag constants for clarity
      e831e6c (20967) Clear yamldir in configuration acceptance test.
      cfd658e (20967) Do not run on solaris and reclear yamldir in teardown.
      4c15588 (maint) Agent logger specs account for lack of daemonize on
windows.
      115a3a6 (maint) Simplifies agent logging spec setup.
      d26ece5 (maint) Expects eventlog when testing on windows.
      357feec (maint) Update developer readme for bundler setup.
      f3304f6 (maint) README_DEVELOPER emphasizes bundler only.
      03ba9db (maint) Includes missing spec_helper in three specs.
      dfa1c40 (maint) Adds acceptance tests into el6 configuration
      5da6150 (#6112) Only attempt to sign a certificate once.
      5d24b19 (#6112) Acceptance test handles host with uninitialized ssl
      5829f66 (#6112) Clearing test of whether puppet agent fails
      400b4aa (#6112) Acceptance test handles host with uninitialized ssl
      94bf1a8 (#6112) Confine puppet cert generate case 3 test on windows
      90c2c42 (#6112) Memory indirector for cert generate specs
      66041d8 (maint) Checks in a pair of useful dev tools
      e188490 (maint) Clarify comments and link to puppet-master issue
      395814f (doc) Notes on curl with dev-puppet-master script
      8ef6931 (#21881) Add error responses to resource_type http api
      ec40cc7 (21881) Adds explantory text and fixes for YARD
      18379b6 (#21971) Fixes PathPattern''s usage of Dir.glob for
Windows
      94cedf7 (#21971) Allow paths that contain .. as part of a name
      ddd8b59 (maint) Fix module_utils regex tests for module file perms
      d245bb3 (maint) Minor spelling fix in README.md
      ff3ee67 (#22128) Fixes rpm provider''s nevra regex to work in yum
prefetch
      a8d9f0b (maint) Load puppetx for yaml_backend_spec
      0a400e4 (#22128) Confine yum provider prefetch spec from running on
windows
      fb2f551 (#22128) Yum prefetch spec ensures use of yum provider
      c7eb3db (maint) Limit ignore to root doc/ directory
      d0dc2be (#22319) Correct Puppet::Setting''s use of WatchedFile
      3522f20 (#22319) Constrain settings watchedfile integration on windows

Juan Ignacio Donoso (1):
      8b8b53c (#11108) Make the pkgdmg provider able to install a remote
flat pkg file

Kosh (1):
      15815f9 Fix for rc-status not showing puppet when puppet is run as a
service

Kylo Ginsberg (22):
      32583e2 [maint] Add missing helper libs
      fe7d2b8 [maint] Add missing fixtures directory to
el6/external_ca_support
      2266846 [maint] Remove el6.tar.gz before recreating it
      fc96d8d (#21831) Ensure SecureRandom.uuid is available
      1858cc6 (#21831) Generate a UUID to allow matching a report to a
catalog
      ed499f6 (#21831) Add/use get_transaction_uuid method
      5b0cbe3 (maint) Remove lib/puppet/util/subclass_loader.rb
      73b421c (#21970) Comment fixup
      4fae7fd (#21970) Move supported formats into the per-endpoint md
      3cf8497 (#21970) Add markdown doc for certificate endpoint
      74cca42 (#21970) Correct markdown and add explanatory text
      1c3baed (#21970) note that the certificate is in pem format
      571cd1f (#21970) add ''Supported HTTP Methods'' section
      93ecaf8 (#21970) document response when master != ca
      16bad03 (#16856) comment cleanup
      fb505f8 (#16856) remove unused method (b/c re-implemented below)
      516c1f5 (#16856) add caveat that the binding system is experimental
      1fcec06 (#16856) fix hiera2 yaml backend for empty/invalid yaml files
      725c3f9 (#16856) replace the _Foo idiom with expanded namespaces
      5d5f9b4 (#22250) ensure a failed resource status always has an event
      eea93dd (#22250) refactor previous and add spec tests
      3574208 (#21427) make supported_formats return an array of symbols

Mathieu Parent (2):
      750a2f1 Propagate client noop value as a fact
      5b2489e (#6847) Propagate client noop value as a fact

Matthaus Owens (9):
      cafdfd1 (packaging) Remove createpackage.sh from puppet
      9f96414 (packaging) Remove PackageInfo.plist, it is no longer used by
packaging.
      d50e20f (packaging) Move systemd BuildRequires into conditional
      83ea101 (maint) Correct type in speeeeling of pl-fedora-18-i386 mock
in ext/build_defaults.yaml
      dace599 (maint) Remove rspec requires from the Rakefile
      1e5fc90 (packaging) Update CHANGELOG, PUPPETVERSION for 2.7.23
      b2a77e0 (packaging) Remove oneiric from ext/build_defaults.yaml
      2471c0f (maint) Remove rspec requires from the Rakefile
      dbbde65 (packaging) Update PUPPETVERSION for 3.3.0-rc1

Melissa (2):
      d634c99 (Bug #22164) remove hardcoded hostname dependencies
      e5c93af (Bug #22237) Remove EOL Fedora 17

Melissa Stone (1):
      9e23a28 (Bug #21768) Update puppet for F19

Michael Scherer (1):
      d6c532e (#16792), permit to remove all dependants packages with urpmi
provider

Michal Růžička (3):
      122b483 (#21961) Support ssl connections without peer verification
      4a3b7ab (#21961) streamlined option hash content validity checking
      f064ef7 (#21961) Tests for ssl connections without peer verification

Moses Mendoza (3):
      b983664 (packaging) Update PUPPETVERSION for 3.3.0
      a04ec25 (packaging) Update PUPPETVERSION for 3.3.0-rc2
      cbe44df (packaging) Update PUPPETVERSION for 3.3.0-rc3

Neil Hemingway (1):
      0e1e517 (#11133) If a node definition uses a regex, make its capture
variables available in the node''s scope

Nick Fagerlund (5):
      1fb2177 Docs: Update description of ctime and mtime properties for
file type
      a21d6c6 (Docs) Add Debian/Ubuntu-appropriate package name to RRD
report info
      e50e56c (Docs) Point out that setting "user" in an exec does not
automatically set $HOME
      161dd2f Docs: Slight tweak to description of the alias metaparameter
      07291ea Docs: Clarify descriptions of "ordering" and
"report_serialization_format" settings

Nick Lewis (2):
      3c79ffe Refactor how files are watched
      c00bc60 Close streams in agent before waiting for cert

Patrick Carlisle (55):
      759cca5 (maint) Minor cleanup to mailalias
      14ec6d0 Clean up FormatHandler specs
      f22af45 consolidate block evaluation on format creation
      bb9af4d Don''t directly test FormatProtector as it''s an
implementation
detail
      21511c8 Remove FormatProtector
      fa391c1 Extract the mixins for FormatHandler to a separate module
      1a88d40 Move FormatSupport into its own file
      3f9360a (maint) Don''t use protected_format in indirector
      c4bf060 (maint) Remove incorrect spec in format_handler
      6a81929 Deprecate sending YAML over the network
      be0a396 (#21427) Fix Puppet::Run pson implementation
      81cdc7a (maint) Stub further out in csr signing tests
      27a69f2 (#21653) Skip modules with no manifest directory when loading
resource types
      0c6060f (maint) Refactor type_loader, mostly specs
      c58a8bc (maint) Fix rspec warnings
      9dbbacc (maint) Fix calling wrong should method on properties
      efcae1a Pin redcarpet gem to the last version that supported Ruby 1.8
      2f22127 (maint) Remove publicize_methods from specs
      179ee76 Remove support code for ruby < 1.8.7
      56ed42d (doc) Fix YARD output
      6d7d529 (maint) Clean up comments for Resource::Type
      579e691 (#21881) Add YARD docs for the format used by
Puppet::Resource::Type
      cc464f0 (#21881) Validate ResourceType against a json schema in tests
      31e1b74 (#21881) Add documentation for
Puppet::Indirection::ResourceType::Parser
      bb0f7da (doc) Add other markdown files to YARD
      f51b1f5 (#21881) Add API docs to YARD
      9afa9fc Deserialize time in Status objects the same way as everywhere
else
      6dcbd3c (#18508) Preserve order of insertion for resources
      df707b6 (Maint) Remove unneeded array code in type
      fe7f50d (Maint) Remove unnecessary alias in Component.new
      5c097f9 Encode the path passed to json-schema as a URI
      a265a72 Revert "Encode the path passed to json-schema as a URI"
      4647f23 Revert "(#21881) Validate ResourceType against a json schema
in tests"
      78fa470 Revert "Merge branch
''remove-json-schema''"
      4da10c3 (#21881) Handle reading the schema ourselves
      d2d7993 Remove tests depending on json-schema
      042f6dc (#18508) Add acceptance test for basic resource ordering
      0b545b8 (Maint) Move Relationship_graph_wrapper into its own file and
slightly refactor
      71009ef (Maint) Remove unused #applying? from Catalog
      5506db8 (Maint) Extract create_transaction
      30da178 (Maint) Add preliminary YARD to Catalog#apply
      0d5a560 (Maint) Move reporting catalog retrieval duration to the
transaction
      8046f12 (Maint) Decouple reports for logging from catalogs
      699b85b (Maint) Remove commented code
      9ae7c69 (Maint) Remove weird thing in transaction tests
      85d6f91 (Maint) Make methods private in Transaction
      ea1331a (Maint) Simplify conditional in aliasing
      0f365a1 (Maint) Fix some docs in Puppet::Type
      38b373f (Maint) Parenthesize
      d4ae893 (Maint) Avoid creating unneeded Status objects in Transaction
      86bdd1a (Maint) Delete transaction specs that were testing
implementation and not behavior
      46d3f26 (#18508) Test that the relationship graph gets built in order
      6694a4d (#18508) Promote working acceptance test for ordering
      bd36071 (#18508) Add acceptance test for ordering when using master
and agent setup
      56b7af6 (#18508) Add failing test case for ordering issues

Pieter van de Bruggen (8):
      d1e6523 (#17824) PMT should not prefer pre-release versions to
existing stable versions.
      f75f73d Adding a couple additional tests for supplied version
constraints.
      8ed37c9 Certain server configurations are less diligent about
whitespace.
      90d4180 (#14333) Ensure module permissions are sane.
      f02f186 Backporting acceptance tests.
      23bdf22 Fixing broken requires in the acceptance tests.
      b7a0d29 Ensure that PMT uses the correct group membership.
      27abe7e Improving testing around PMT module install permissions.

Richard Clamp (1):
      a48b2fb (#17871) fix nagios types uniqness under ruby 1.9

Richard Pijnenburg (1):
      b917b1d (#21272) Refactor created directory from ''puppet module
generate''

Richard Soderberg (4):
      5398b5f spelling/grammatical fixes
      524de14 (doc) Clarify a couple of comments under lib/puppet/
      8259b12 (maint) Various fixes (whitespace, etc)
      fba51b8 (maint) Typo fixes for code comments

Richard Stevenson (1):
      0e04186 (#21478) Add plymouth-ready to excludes list

Rob Reynolds (1):
      f0aa122 (maint) ignore Gemfile.local

Sergey Sudakovich (1):
      86cded6 properly handle max version on ppc debian

Stefan Schulte (8):
      82678c2 (#6371) Update lastchg field when updating password
      1c5fc3c maint: Refactor mount specs
      c64ba6c (6409) Reject spaces in mount type
      c823802 (#6409) Dont use invalid values in type_spec
      da6a0e9 (#4689) Set correct blockdevice for nfs mounts
      d9d23ad (#6793) Remove trailing slashes from mount resource
      b6ce588 (#21168) Set default pass property to "-" on Solaris
      0f9434c (#15837) Do not pass options explicitly when mounting

Thomas Hallgren (10):
      6eb6797 Fix faulty test for Puppet::Pops::Parser::Parser
      2ff1cb7 Add ignore entry for Eclipse specific .project file
      597275e (#16856) Adds unit tests to Puppet::Pops::Types
      a5b65e7 (#16856) Make a clear distinction between types and instances
of types
      f87549a (#16856) Treat all Ruby Integer values as PIntegerType
      f0ba095 (#16856) Move reusable validation factory semantics to a
common super class
      512c641 (#16856) Fix structure of require statements to make binder
package loadable
      2e5ed7d (#16856) Add validator, checker, issue markers, and tests for
the binding model This commit adds the initial implementation of the
following classes:
      f37ab5b (#16856) Fix issues and improve design of the bindings_checker
      334b75f (#16856) Adds Hiera2 bindings with backends for YAML and JSON

W. Andrew Loe III (1):
      7f919dd (#21324) Pip provider query should be case insensitive.

arnoudj (1):
      6ed43ec (#21659) Links are seen as files and get bucketed.

floatingatoll (1):
      2ff7646 (maint) Spelling fixes for code comments

ironpinguin (1):
      5d03bed extend the zypper provider with install_options feature

joshrivers (1):
      db7cf0d (#18295) add title to start call in windows exe package
provider

phinze (1):
      3f1e944 (#21087) Debug output for all augeas error nodes

superseb (2):
      539d54b Redmine #21709 Discussed with jamesturnbull to submit this as
a workaround.
      9fc1543 (#19906) Wrong error from "upgrade" with JSON output
when
module already installed