Released December 19, 2013. (RC1: Dec. 3. RC2: Dec. 10.) 3.4.0 is a backward-compatible feature and fix release in the Puppet 3 series. The main improvements of this release are: * Fixes for some high-profile bugs, including the "anchor pattern" issue and broken RDoc on Ruby 1.9+ * New certificate autosigning behavior to help quickly and securely add new nodes in elastic environments * Windows improvements, especially for file resources * Trusted node data in the compiler It introduces one known regression, [PUP-1015]( https://tickets.puppetlabs.com/browse/PUP-1015), for users who use Foreman’s provisioning tools. If you use Foreman for provisioning, you should wait and upgrade to 3.4.1. For the full list of closed issues specific to 3.4.0 see [this list in Redmine](http://projects.puppetlabs.com/versions/425), containing 35 new features, and 77 bugs closed. Puppet 3.4.0 Downloads ------------------------------------------ Source: https://downloads.puppetlabs.com/puppet/puppet-3.4.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.4.0.gem or by using `gem install puppet` Mac packages are available at https://downloads.puppetlabs.com/mac/puppet-3.4.0.dmg Windows packages are available at https://downloads.puppetlabs.com/windows/puppet-3.4.0.msi Please report feedback via the Puppet Labs tickets site, using an affected puppet version of 3.4.0: https://tickets.puppetlabs.com/browse/PUP New Features ------------ #### #8040: New `contain` Function Removes Need for "Anchor Pattern" Puppet now includes a contain function to allow classes to [contain]( http://docs.puppetlabs.com/references/3.latest/function.html#contain) other classes. It works similarly to the include function, with the added effect of creating a containment relationship. For more information, see: * [The containment page of the language reference]( http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html), for background information about class containment issues and an explanation of the anchor pattern. * [The classes page of the language reference]( http://docs.puppetlabs.com/puppet/3/reference/lang_classes.html), for complete information on declaring classes with contain, include, and more. #### #7244: Policy-Based Certificate Autosigning Puppet can now use site-specific logic to decide which certificate signing requests (CSRs) should be autosigned. This feature is based on custom executables, which can examine each CSR as it arrives and use any decision-making criteria you choose. Prior to 3.4, Puppet would accept a whitelist of nodes whose requests should be autosigned. This wasn't very flexible, and didn't allow things like using a preshared key to verify the legitimacy of a node. This is now very possible, and works especially well when combined with the next new feature (custom CSR attributes). For details, see: * [The "Policy-Based Autosigning" section of the autosigning reference page]( http://docs.puppetlabs.com/puppet/3/reference/ssl_autosign.html#policy-based-autosigning ) * [Documentation for the autosign setting]( http://docs.puppetlabs.com/references/3.latest/configuration.html#autosign) #### #7234: Custom Data in CSRs and Certificates It is now possible for puppet agent nodes to insert arbitrary data into their certificate signing requests (CSRs). This data can be used as verification for policy-based autosigning (see above), and may have more applications in the future. Two kinds of custom data are available: "custom attributes," which are discarded once the certificate is signed, and "certificate extensions," which persist in the signed certificate. For details on custom CSR data, see: * [The "CSR Attributes and Certificate Extensions" reference page]( http://docs.puppetlabs.com/puppet/3/reference/ssl_attributes_extensions.html ) * [Documentation for the csr_attributes setting]( http://docs.puppetlabs.com/references/3.latest/configuration.html#csrattributes ) #### #21241: Priority Level Can Be Set for Puppet Processes Puppet's processes, including puppet agent and puppet apply, can now lower or raise their own priority level using [the `priority` setting]( http://docs.puppetlabs.com/references/3.latest/configuration.html#priority). (Note that they can't raise their priority unless they are running as a privileged user.) This is especially useful for making sure resource-intensive Puppet runs don't interfere with a machine's real duties. #### #22180: Manifest Documentation (RDoc/Puppetdoc) Works on Ruby 1.9+ Puppet manifests can be documented with RDoc-formatted text in comments above each class or defined type, and you can run `puppet doc --outputdir /tmp/rdoc` to extract that documentation and generate HTML with it. However, this has never worked when running Puppet under Ruby 1.9 or higher. As of this release, building documentation sites with puppet doc works under Ruby 1.9 and 2.0. Note that any existing problems with the puppet doc command still apply — it sometimes skips certain classes with no clear reason, and there are various formatting glitches. We are still investigating more reliable and convenient ways to display Puppet code documentation, and will probably be using [Geppetto](http://puppetlabs.github.io/geppetto/) as a foundation for future efforts. #### #19514: New `$trusted` Hash With Trusted Node Data A node's certificate name is available to the Puppet compiler in the special `$clientcert` variable. However, this variable was self-reported by the agent and was never verified by the puppet master, which meant it could contain more or less anything and couldn't be trusted when deciding whether to insert sensitive information into the catalog. As of 3.4, you can configure the puppet master to verify each agent node's certname and make it available to the compiler as `$trusted['certname']`. To do this, you must set the `trusted_node_data` setting to `true` in the master's puppet.conf. [See the language documentation about special variables for more details.]( http://docs.puppetlabs.com/puppet/3/reference/lang_variables.html#trusted-node-data ) #### #5240, #18931: File Resources Can Opt Out of Source Permissions Traditionally, if `file` resources did not have the `owner`, `group`, and/or `mode` permissions explicitly specified and were using a `source` file, they would set the permissions on the target system to match those of the `source`. This could cause weirdness on Windows systems being managed by a Linux puppet master, and wasn't always desired in all-*nix environments either. Now, you can opt out of source permissions using [the `file` type's `source_permissions` attribute]( http://docs.puppetlabs.com/references/latest/type.html#file-attribute-source_permissions). This can be done per-resource, or globally with a [resource default]( http://docs.puppetlabs.com/puppet/3/reference/lang_defaults.html) in site.pp. As part of this, the previous default behavior (`source_permissions => use`) is now deprecated on Windows; the default for Windows is expected to change to `ignore` in Puppet 4.0. #### Windows Improvements Puppet's Windows support continues to get better, with improvements to resource types and packaging. ##### File Type Improvements * #19447: Puppet now supports managing symlinks on Windows. See [the tips for using file resources on Windows]( http://docs.puppetlabs.com/windows/writing.html#filefile) for more information. * #11563: A permissions mode is no longer required when specifying the file owner and group. * #5240: You can now opt out of source file owner/group/mode permissions (see above). * #15559: Puppet will no longer create files it can't edit. ##### Package Type Improvements * #21133: The Windows package provider now has the versionable feature, which allows for easier package upgrades. See [the tips for using package resources on Windows]( http://docs.puppetlabs.com/windows/writing.html#packagepackage) for more information. ##### Group Type Improvements * #17031: You can now add domain users to the local Administrators group. ##### Exec Type Improvements * #23124: Puppet will now accurately capture exit codes from exec resources on Windows. (Previously, exit codes higher than 255 could get truncated.) ##### Packaging and Installer Improvements * #21243, #18268: The Windows Puppet installer has several new MSI properties for automated installation, which can set the service user and startup mode. See [the docs on automated installation on Windows]( http://docs.puppetlabs.com/windows/installing.html#automated-installation) for details. * #22700: The Windows installer now puts Puppet on the PATH, so a special command prompt is no longer necessary. * #20281: Windows installer options can now override existing settings. #### #23074: New `puppet cert reinventory` Command As part of the fix for issue #693/#23074, the Puppet CA no longer rebuilds the certificate inventory for each new certificate. However, rebuilding the inventory can still be helpful, generally when you have a large inventory file with a high percentage of old revoked certificates. When necessary, it can now be done manually by running `puppet cert reinventory` when your puppet master is stopped. #### #22642: RPM Package Provider Now Supports `install_options` Package resources using the `rpm` package provider can now specify command-line flags to pass to the RPM binary. This is generally useful for specifying a `--prefix`, or for overriding macros like `arch`. #### HTTP API Documentation Puppet's HTTP API endpoints now have extensive documentation for the formatting of their requests and the objects they return. For version-specific endpoint documentation, see [the HTTP API section of the developer docs]( http://docs.puppetlabs.com/references/3.latest/developer/file.http_api_index.html ). #### #22849: Msgpack Serialization (Experimental) Puppet agents and masters can now optionally use [Msgpack]( http://msgpack.org/) for all communications. This is an experimental feature and is disabled by default; see the [Msgpack experiment page]( http://docs.puppetlabs.com/puppet/3/reference/experiments_msgpack.html) for details about it. #### Changes to Experimental Future Parser Several changes were made to the [experimental lambda and iteration support]( http://docs.puppetlabs.com/puppet/3/reference/experiments_lambdas.html) included in the future parser. The documentation has been updated to reflect the changes; see the "[Experimental Features]( http://docs.puppetlabs.com/puppet/3/reference/experiments_overview.html)" section. * #22962: Remove alternative lambda syntaxes * #22784: Remove "foreach" function * #22785: Fix mixed naming of map/collect - reduce * #22729: Remove the iterative 'reject' function * #22792: Iterative function 'select' should be renamed to 'filter' * #22593: Future parser lexer does not handle all kinds of interpolated expressions * #22442: Variable names with uppercase letters are not allowed #### #9546: Preparations for Syncing External Facts Puppet can now pluginsync [external facts]( http://docs.puppetlabs.com/guides/custom_facts.html#external-facts) to agent nodes… but it's not very useful yet, since Facter can't yet load those facts. End-to-end support is planned for next quarter, in Facter 2.0. #### Miscellaneous Improvements * #22581: Allow profiling on puppet apply. Previously, the profiling features added for Puppet 3.2 were only available to puppet agent; now, puppet apply can log profiling information when run with `--profile` or `profile = true` in puppet.conf. * #22665: Mount resources now autorequire parent mounts. * #23131: Class main now appears in containment paths in reports. Previously, it was represented by an empty string, which could be confusing. This is mostly useful for PuppetDB. * #2538: `Puppet::Util.execute` now offers a way to get the exit status of the command — the object it returns, which was previously a String containing the command's output, is now a subclass of String with an `#exitstatus` method that returns the exit status. This can be useful for type and provider developers. Bug Fixes --------- #### Fixed Race Condition in Certificate Serial Numbers As part of improving certificate autosigning for elastic cloud environments, we found a series of bugs involving the certificate inventory — when too many certificates were being signed at once (impossible in manual signing, but easy when testing autosigning at large scales), the CA might assign a serial number to a node, start rebuilding the inventory, then assign the same number to another node (if it came in before the rebuild was finished). This is now fixed, and the cert inventory is handled more safely. To accommodate the need to occasionally rebuild the inventory, a puppet cert reinventory command was added (see above). (Issue 693, Issue 23074) #### Cached Catalogs Work Again This was a regression from Puppet 3.0.0, as an unintended consequence of making the ENC authoritative for node environments. In many cases (generally when agents couldn't reach the puppet master), it broke the puppet agent's ability to use cached catalogs when it failed to retrieve one. The issue is now fixed, and agents will obey the usecacheonfailure setting. (Issue 22925) #### Hiera Bugs Errors from automatic class parameter lookups were not clearly indicating that Hiera was the source of the problem. This was made more informative. (Issue 19955) Automatic class parameter lookups weren't setting the special calling_module / calling_class variables. This has been fixed. (Issue 21198) #### Misc Bug Fixes The usual grab bag of clean-ups and fixes. As of 3.4.0, Puppet will: * Manage the vardir's owner and group. Before, not managing the vardir's owner and group could sometimes cause the puppet master or CA tools to fail, if the ownership of the vardir got messed up. * #23096: Don't overaggressively use resource-like class evaluation for ENCs that assign classes with the hash syntax. [ENCs can use two methods for assigning classes to nodes]( http://docs.puppetlabs.com/guides/external_nodes.html#enc-output-format), one of which allows class parameters to be specified. If class parameters ARE specified, the class has to be evaluated like a resource to prevent parameter conflicts. This fixed the problem that Puppet was being a little overeager and wasn't checking whether parameters were actually present. * #23033: Make Puppet init scripts report run status correctly even if they aren't configured to start. Previously, if the puppet master init script was configured to never run and a Puppet manifest was also ensuring the service was stopped, this could cause Puppet to try to stop the service every single run. * #22818, #20728, #15856: Skip module metadata that cannot be parsed. Previously, module metadata that couldn't be parsed was not skipped and could cause the puppet master to fail catalog serving if a module with bad metadata was installed. * #23183: Use FFI native windows root certs code. This fix cleaned up some potential puppet agent crashes on Windows by using the Win32 APIs better. * #21817: Guard against duplicate Windows root certs. Previously, duplicates could cause unnecessary run failures. * #22943: Make Debian user/group resources report their proper containment path. Previously, Puppet events from Debian showed in Puppet Enterprise's event inspector as "unclassified." * #22918: Fix race condition in filebucket. Before the fix, there were unnecessary run failures when multiple nodes were trying to write to a puppet master's filebucket. * #22703: Force encoding of `user` comment values to ASCII-8BIT. Previously, there were run failures under Ruby 1.9 and higher when `user` resources were present. * #4506: Don't serialize transient vars in Puppet::Resource. Previously, Puppet would write YAML data that couldn't be deserialized by other tools. * #22557: Validate the `name` attribute for package resources to disallow arrays. Previously, there was inconsistent behavior between dpkg and the other package providers. * #22891: Use the most preferred supported serialization format over HTTP. Puppet had been choosing a format at random whenever there were multiple acceptable formats. * Set `value_collection` for boolean params. Before the fix, boolean resource attributes were displayed badly in the type reference. https://projects.puppetlabs.com/search?q=22699 Puppet 3.4.0 Contributors ------------------------------------- Adrien Thebo, Andrew Parker, Ashley Penney, Branan Purvine-Riley, Clay Caviness, Daniele Sluijters, Dominic Cleal, Don Law, Dustin J. Mitchell, Eric Badger, Eric Williamson, Erica Thatcher, Erik Dalén, Ethan J. Brown, Greg Sutcliffe, Henrik Lindberg, Iristyle, Jason Antman, Jasper Lievisse Adriaanse, John Julien, John-John Tedro, Josh Cooper, Josh Partlow, Joshua Hoblitt, Justin Stoller, Kylo Ginsberg, Lee Lowder, Ludovic LANGE, Matthaus Owens, Matthew Haughton, Matthew Lauber, Melissa Stone, Moses Mendoza, Nick Fagerlund, Nick Lewis, Patrick Carlisle, Paweł Tomulik, Raphaël Pinson, Rob Braden, Rob Reynolds, Sam, Sam Kottler, Tehmasp Chaudhri, Thomas Bartelmess, Thomas Linkin, Zachary Alex Stern, mihau, pocams, renato arruda Puppet 3.4.0 Changelog ----------------------------------- Adrien Thebo (29): e235446 (maint) Comment clarification, whitespace cleanup. 7aed168 (maint) Force ASCII string encoding in content fixture d1a0972 (maint) Use non-posix specific types in tests 1afeb90 (#4506) Don't serialize transient vars in Puppet::Resource 6b70d30 (#22665) mounts should autorequire parent mounts 02d3624 (maint) Prefer pson over json for logstash_event a20ac4e (maint) Use default rspec formatter for Travis CI 780f08b (maint) Don't default `rake spec` to documentation format f293c47 (maint) Remove unused .testseries file 34cbb7c (doc) Add references to RFCs that deal with CSRs 1314480 (maint) Document Puppet::SSL::CertificateRequest#generate aad83a8 (maint) Ensure that the autosign setting is validated. 561b67d (#7244) Add autosign_command for programmatic CSR autosigning 05f0475 (maint) stub $CHILD_STATUS for autosign_command specs 263824a (#7243) Allow CSRs to accept a set of custom attributes 7e1f0c0 Define Puppet cert attribute OIDs 0bf900c (#23200) Add method for checking if one OID contains another 620c838 (#23200) allow certificate factory to add custom exts 9034d7f (#23200) Whitelist puppet extension requests 1d9f91a (maint) Remove misleading comment regarding msExtReq 1ba393d (#23201) Allow CSRs to return multiple extension requests 1550026 (#23201) Extract CSR extension_request attr generation 39b90a4 (#23201) allow custom fields to be added to CSR extReq 62f3bdb (#23201) don't assign OIDs when looking up extension requests 5d8364c (#23222) Custom CSR attributes should only contain strings 1f59b06 Pack extension requests in a single sequence 4f1496e Handle malformed CSR attributes and extension requests bca628d (#23349) Create autosign setting for input validation f68aafc (#23349) Defer setting hooks to post app init when needed Andrew Parker (85): 46c1d56 (Maint) Remove whitespace errors 6238616 (#21201) Remove thread-safety code e15f722 (#21201) Remove test for thread-safety bcba48d (#22581) Enable profiling for puppet apply 847f513 (#22581) Add test for apply profiling d083c6b (Maint) Fix link to the REST API docs cb2da5d (#22591) Document /env/file_content/* 1aa39ec (#21198) Allow data bindings w/ hiera to get special vars 75ab421 (Maint) Translate acceptance test to integration 2de1e3b (Maint) Remove unused example manifests 075dce2 (Maint) Update commands to use new forms in hiera examples e207cf4 (doc) Mark some of the Provider API public d77e0a8 (#22709) Document /<env>/certificate_request/* 9bd7abc (#22652) Parse query strings in rack w/o rack 14c5d3f (Maint) Create spec coverage for parser face 0b43b1d (Maint) Fix indentation 8862739 (#22593) Combine LBRACE handling into single rule 7ed5f91 (#19955) Move error handling closer to hiera 9a5b81b (#19955) Collapse Hiera and DataBindings 4b8214d (#22557) Validate that a package name is a string b88f12d (#19514) Fix up tests that were not providing a valid Node 4380641 (maint) Fix type and mark as abstract d9bdc93 (Maint) Only execute msgpack tests if it is present 445551c (#22891) Use the most preferred supported format 6b40f28 (#22910) Deprecate networked access to resource a122985 (#22910) Deprecate --host on puppet resource b173ac0 (Maint) Check for `encode` when using `encode` 4e76fea (Maint) Clean up code and tests 8b0a4ec (#22918) Lock the filebucket for updates e10b652 (Maint) Introduce File abstraction ece1381 (Maint) Allow File to work on ruby 1.8 and 1.9 2c72ea8 (Maint) Improve readability 1df4848 (Maint) Compare filebucket contents with streams b818aa0 (Maint) Convert uses of IO.binread to P::FS::File f75e3a3 (Maint) Deprecate (Puppet::Util|IO).binread cbc96b5 (Maint) Remove unused required lib 95e9fb6 (Maint) Remove unused task 2f49ff6 (Maint) Record information about who created the artifact 16d83ce (Maint) Small cleanup to CA tests. b9eaca5 (Maint) Provide a timeout when trying to aquire a file lock a49fb07 (#693) Test parallel certificate autosigning ff34898 (#693) Remove race conditions in autosigning code 979ac6f (#693) Remove unused locking code, update timings b0a8059 (Maint) Move opening functionality to FileSettings d4b2944 (#693) Update spec tests for change impl aa5d976 (Maint) Move write and writesub to Setting e4b3507 (Maint) Update test to use proper class 1590f7f (Maint) Use rand that is available on ruby 1.8.7 0e9ea23 (#693) Format the SSL certificate instead of the wrapper 07d94f3 (Maint) Unpend tests for certs on windows 4c71c9e (Maint) Properly mark test as unsuitable for windows 24187e0 (#693) Update file handling to work on Solaris 0f070ac (Maint) Reformat and remove debugging message 91ff6f9 (#23074) Add reinventory command to puppet cert 6ff0a10 (#23081) Ensure that errors from insync? create proper events 2306072 (Maint) Reorder and reduce scope of harness 3dc7fb5 (Maint) Small cleanups cabd2f9 (#23074) Do not expect rebuild during cert signing 968c332 (#23086) Ensure that failed_because events have a name 8eef34e (#23109) Document PSON 296aa30 (Maint) Fix broken link to Facts documentation 2122124 (Maint) Group service documentation b219e01 (#23109) Document the MIME type use for PSON ea5a8c0 (Maint) Standardize on how we refer to the response format 1b15a6c (Maint) Update Report docs to be like others bc125b9 (Maint) Reference resource_type schema 67774e7 (Maint) Unify style for refering to schema 985dd4c (#23109) Clarify what control characters are 74ba232 (#23109) Fix typo c9619e8 (Maint) Fix up errors in json schema d34dd55 (#23109) Expand example to include all encoding forms ee355ca (#9546) Update test to reflect changed permissions c69c5de (#9546) Change check for module installation 2b69cdd (Doc) Mark the Puppet::Util::Execution public methods 849e248 (#23138) Document status 0430388 (Maint) Remove commented out tests 7bb7066 (#23124) Move ProcessOutput to Puppet::Util::Execution b911860 (Maint) Fixup docs for Puppet::Util::Execution 03ed57b (#23124) Move ProcessOutput to Puppet::Util::Execution 7716251 (Maint) Fixup docs for Puppet::Util::Execution 25962a3 (Maint) Introduce partial implementation of an In-Memory file cdef0b8 (Maint) Add memory terminii for CR and Key 6c9dd38 (#23116) Provide pluggable SSL verification ed0c64a (Maint) Remove unstable and not useful test 024e2b8 (Maint) Conform to naming conventions Ashley Penney (1): 8214f4b (#22818) Skip metadata that cannot be parsed. Branan Purvine-Riley (1): 90171d1 (#23126) Allow facter and hiera gem locations to be SSH git URLs Clay Caviness (3): 546c2da 21760/22005 update preflight to delete old lib dir 713e1d6 Use Dir.glob(), don't require rubygems or rake, use Dir.chdir as a block 1d64016 use instance_variable_get instead of eval Daniele Sluijters (1): e48902a init: Check if running if not configured to start. Dominic Cleal (3): d28b7d4 (maint) Add specs for parser resource parameters b35c5f2 (#23115) Include manifest context in Puppet::DevError 0ed24bf (#23115) Convert nil resource parameter values to undef Don Law (1): a56f962 (#22617) In Augeas onlyif, compare number strings numerically Dustin J. Mitchell (6): 40c67e2 (#22129) force explicit file content to be treated as a bytestring 5886cae use :if so rspec sees the test even if it's not executed eff8fb0 (#22699) set value_collection for boolean params 0fbcab4 (#21069) refresh the cache of launchd plists on a miss 2d537dd Better docs for file's recurse parameter 41d5982 (#22938) test and document symbolic file modes Eric Badger (2): 8467328 (#22258) Create new console for each puppet run 3e75c6e (#3946) Add 'post_resource_eval' method to provider classes Eric Williamson (1): 6147f5d (maint) reduce duplication of logdest option handling Erica Thatcher (1): 4fc0355 (maint) reduce log level duplication Erik Dalén (3): 0b5c747 (maint) Split to_pson_data_hash into generic to_data_hash component 10876a0 (#22849) Add msgpack serialization format d150722 (maint) Stub Confine at old location Ethan J. Brown (21): 342a106 (maint) .gitignore add .idea ac2bbd3 (#17031) Add SID.octet_string_to_sid_object 03b6385 (#17031) Add SID.name_to_sid_object a438236 (#17031) Parse ADSI usernames -> domain / account ab9c2a5 (#17031) group type #insync? #is_to_s #should_to_s 0994bea (#17031) Puppet::Util::ADSI.sid_uri 455834e (#17031) Use SIDs to modify ADSI group membership b693652 (#19447) Puppet::FileSystem::File#symlink(?) c0a77e2 (#19447) Puppet::FileSystem::File#readlink 4bd6f87 (#19447) Puppet::FileSystem::File#stat / lstat 780ecb2 (#19447) Puppet::FileSystem::File.exist? 5cd80b5 (#19447) FileSystem::File#exist? calls self 0bae4bb (#22938) fix Windows tests for symbolic file modes 9538266 (#19447) Puppet::FileSystem::File.unlink c64fa07 (#19447) Puppet::FileSystem::File Windows symlink 1320519 (#19447) Windows symlink check process token 4d27c1b (#19447) check Puppet.features.manages_symlinks? 5fd4249 (#19447) Rewrite symlink tests for file type b578ed4 (#15559) Ensure SYSTEM has full control unless specified otherwise 5a2d7b8 (#15559) Windows security test fails under SYSTEM 1f7e28c (Maint) Refactor method names in file_spec Greg Sutcliffe (1): 219c382 (#22206) Add option to disable default schedules Henrik Lindberg (44): 40c272d (maint) Fix output of ArithmeticExpression label (future parser) b6c6605 (#22442) Fix problem with missing issue ILLEGAL_NAME (future parser) ef4a673 (#22442) Update the name validation rule to not accept hyphens 811ff05 (#22442) Add test that capitalized names are flagged as errors. 0cc816e (maint) Fix failing test. 5672322 (maint) Add parentheses in function calls 6747977 (#22498) Stop future parser from interpreting 0 as 00 (octal 0). 077344e (#21373) Fix future parser transformation of node inheritence. 92abf5c (#22356) Add api documentation for reports e957ab9 (#22356) Add json schemas for the report objects 6492f41 (#22356) Add json schemas for the event object ec07b5c (#22356) Add report API json-schema, validation, and documentation. e122817 (#22356) Change POST to PUT, fix Ruby 1.8.7 and windows issue 207bf73 (#22356) Remove deprecated yaml from the description 52ed8bd (#22593) Fix interpolation issues in future parser lexer (braces/kw) fb5fc8a (maint) Fix wrong filename from being shown in hiera-2 related errors 9120e73 (#19955) Give better error msg when Hiera databindings fail. 999c401 (#22784) Remove the foreach functions 489abe8 (#22784) Update tests that indirectly depended on foreach function. 680a96d (#22785) Add map function (copy of collect) 381582b (#22785) Rename and update collect_spec to map_spec and use map 57d7771 (#22785) Deprecate the collect function (by making it raise an error) 7389133 (#22729) Remove the reject function. ed6916b (#22792) Rename the 'select' function to 'filter' a82fa5c (#22792) Add select function that raises error 4085ff4 (#22792) Rename 'select' to 'filter' in spec tests 176cc60 (#19514) Add $trusted as hash with trusted node data 0eabbf6 (#19514) Fix issues in trusted data support when running tests a461eff (#22792) Fix typo in filter functions documentation. 5168912 (#22792) Rename select_spec.rb to filter_spec.rb ceeb13b (19514) Fix failing tests for expectations of not setting trusted 70afd77 (#22180) Make function, type, fact and node appear in rdoc2 output bedfecb (#22962) Remove alternative lambda syntaxes from tests 1b48b11 (#22969) Remove alternative lambda syntax 6ddf845 (#21874) Fix failing validation. 4888117 (#23074) Add text to warn that master should be inactive for reinventory. 39b743e (#23074) Cleanup logic 8c0c68b (#23074) Remove header in inventory.txt when regenerating 627986e (#23074) Make cert inventory not rebuild inventory.txt when adding d6ac89b (#23074) Refactor cert application's use of cert authority's interface 22ced3d (#23074) Remove overly stubbed tests 4622cbe (#19514)(PP-773) Rename hashed_node_data and cliencert for $trusted a5caa79 (#19514) Correct error message matching for Ruby 1.8.7 37d7668 (#23116) Make SSL Validator API more explicit Iristyle (1): 010078c (#19447) Add :manages_symlinks to file type Jason Antman (1): 694d9a6 (#22660) Revert Fedora 17+ agent service name to "puppet" from "puppetagent". Jasper Lievisse Adriaanse (2): aec489d (#22579) Add service provider for OpenBSD's rc.d e62dcc7 (22853) Let OpenBSD use gtar too. John Julien (17): 5b2b960 (maint) Fixing build error on windows caused by command with unix path aa0fe10 (#4424) Add umask parameter to Exec type cb5cd20 (#7911) Fixed exception when using forcelocal param 69cdea6 (#15494) Make the puppet parser validate exit non zero when file not found bac78b2 (maint) Changing rescue of Exception to StandardError 1a526d0 (#16384) Make puppet parser validate exit more cleanly dcfc32a (#9546) Make pluginsync copy external facts to client 95ca2bd (#9546) Use $vardir/external_facts for storing external facts f999c2f (#9546) Load external fact directories into facter config 1d57689 (#9546) Refactoring external fact source and dest to fact.d 83b3c7e (#9546) Add spec tests for external fact pluginsync 03399c5 (#9546) Added external fact plugin sync support to plugin face b0dce31 (#9546) Added feature detection support for external facts ed281c5 (#9546) Removing PATH_SEPERATOR from pluginfactdest 3ba25df (#9546) Retrieve module external fact dir from Puppet::Module d305e86 (#9546) Update facter specs to support request.environment.modules 8ce491b (#9546) Fixed a few typos John-John Tedro (2): f960ccb (maint) Remove shebangs from *.rb files in lib 1683f41 (maint) Remove executable permission from *.rb files in lib Josh Cooper (40): 8e5f365 (#21133) Report on installed windows package versions df63954 (#21817) Ignore duplicate certs 29a9502 (#21241) Add a priority setting f0c17de (#21241) Set process priority if one is specified 80bc3fc (#22652) Restore rack parsing of POST body parameters d5306d6 (#17031) Prefer the domain component from the resolved SID f769b4f (Maint) Whitespace fixup 60df1d7 (#22910) Use memory storeconfigs backend 312fcf0 (#22918) Allow paths file to be read and appended to 9f6d083 (Maint) Exclude `fork` based tests on Windows 22f5b73 (#21241) Use correct constant for low priority d9b2551 (#22925) Fall back to cached catalog if we can't connect to the master 3f335ca (#19447) Check for symlink permission only if we try to create one 7485aba (#19447) Fall back to stat if we don't support symlinks 15be1dc (#19447) Fully qualify access to ruby `File` e013c8c (#19447) Rescue when symlink privilege does not exist 75fea61 (#19447) Skip symlink test if provider doesn't support it 326b7ac (Maint) Allow acceptance tests to be run on preserved windows hosts 48b7351 (#18931) Add setting to control how remote metadata is copied e799d02 (#23183) Use FFI to manage pointers in RootCerts module 544ae51 (Maint) Trailing comma doesn't work in ruby 187 41512f1 (Maint) Be more explicit about when the SYSTEM ACE is overwritten 245d218 (Maint) Refactor expectations when system granted full access explicitly 3640298 (Maint) Refactor expectations for at least one inherited system ace ea9097a (Maint) Eliminate Windows network lookups 147f2e9 (#11563) Model Windows security descriptors 7d83f5e (#11563) Refactor DACL parsing b635451 (#11563) Only rewrite the DACL if the mode changes 67a5aa6 (#11563) Preserve deny ACEs 38e8681 (#11563) Return INHERIT_ONLY_ACEs f86daaa (Maint) Change usages of `and` to `&&`, and `or` to `||` 1b7f43d (#11563) Cleanup tests 8f113e1 (#11563) Fix issues when running as SYSTEM d89f5a5 (#11563) Implement pending tests for when permissions are insync 0c69669 (#11563) Output human readable security descriptor b7c563d (#11563) Create an explicit ace if the old ace is inherited 39fa591 (#23366) Ensure we require ffi before using it 1397c6b (Maint) Expand paths for windows 4205a8c (#23369) Allow caller to override YAML.load_file returning false 6bc761a (#23369) Handle invalid CSR attribute contents Josh Partlow (24): 7d2fb37 (#22499) Puppet manages owner/group of own vardir e11dfd6 (maint) Render modules lists as pson in acceptance tests 8849a52 (maint) Fix acceptance test_against_preserved_hosts task 27fe02a (docs) Document additional parameters needed to curl with ssl bef5b0d (#22180) Add integration test for puppet doc --mode rdoc 7f59b3a (#22180) Fix broken rdoc1 features cedd593 (#22180) Recapture class comments under Ruby 2.0 RDoc 799ae81 (#22925) Correct transposed arguments for assert_match 9cd57e1 (maint) Reorganize data_binding/hiera-spec.rb 0716e30 (#23096) Explicitly clear hiera terminus between specs. 17a6d5a (maint) Extract common ssl setup for acceptance tests 38088e3 (maint) more explicit stdout tests for autosign_command acceptance db23021 (maint) Don't stand up master unless resigning. 44f5efe (#7244) Consolidate autosign setting 78db477 (#7244) Fix up tests after refactors of the Autosign system 76badb4 (#7243) Add dns_alt_names with hostname to autosign test 080242a (#23201) Expose custom extensions in the certificate c402b55 (#7244) Add a Tempfile.open that unlinks tempfile early 8b5f0e3 (maint) Adds vcloud pooling to the win*all beaker node definitions b1f1cf9 (#18931) Deprecate instead of remove original windows behavior eedb1df (#18931) Clarify deprecation warning for source file perms to windows 6903afa (maint) Reset hiera in test_helper to avoid order issues in specs 1f9d3e5 (#18931) File source_permissions setting applies to local files 94c2e95 (maint) Extract common acceptance setup script for Jenkins Joshua Hoblitt (1): 09050ec (#22858) note official ruby 2.0 support in README Justin Stoller (2): a709576 allow configuration of Bundler source 5d15a4b Use the pooling api by default Kylo Ginsberg (75): 0f42e97 (#22110) reorg api docs to api/{docs/schemas} 00692a8 Revert "Remove tests depending on json-schema" 3b45699 (#22360) json-schema needs multi_json 1.7.7 e05e3cc (#22360) don't attempt json schema validation on windows 5258b08 (#22360) don't include json-schema gem on windows 567a16f (maint) accomodate the new location for schemas 83c5959 (#22110) set version=0 in catalog constructor so it's always an integer (not nil) 20392b2 (maint) temporarily restore json-schema to Gemfile 6a2851b (#22110) add initial catalog documentation 231253d (#22110) validate some simple catalogs against json schema e080646 (maint) fix typo in comment and clean whitespace 879cf74 (#22110) remove empty Notes section 6277844 (#22110) Documentation improvements per GH review 4d09a81 (#22356) validate json schemas against the json meta-schema 239e214 (#22110) apply tags regex to catalog tags f8f3728 (#22110) remove the catalog constructor set of @version 7c952b0 (#22522) rename catalog_facts.json -> facts.json 8f9a597 (#22522) add documentation for facts endpoints 907b1d6 (#22522) mark the 4 fields in the facts schema as required 89dda62 (#22522) validate node facts against facts schema 6110827 (#22522) some formatting fixups 86c0d5a (#22356) add spec test and vanilla (useless) schema 3842b17 (#22522) Use :nodename instead of :name in URIs f5dbd33 (maint) Move constant outside shared_examples_for to avoid "already initialized" warning da7d937 (maint) Move common constant/requires for json-schema to spec_helper.rb fd4259b (#22652) Add be_one_of matcher (copped from pcarlisle) 0a8cb5e (#22652) Tighten up spec for multi-valued params in a POST body 8354b95 (#22643) Document the file_metadata endpoint. 06d6725 (maint) Remove constant and requires now provided in spec_helper 006f308 (maint) Factor a duplicated constant up to spec_helper 2098c9e (#22643) Fix lists and remove non-ascii characters f1dfd8d (maint) Correct spelling in method name 12065e2 (#22768) Add documentation for certificate_revocation_list endpoint. c469b93 (#22643) Fix a typo. c33de82 (#22643) Fix sub-bullets. 11bc172 (#22943) Add a spec test to reproduce the failure bfb1707 (#22943) Remove 2 def_delegator's in favor of explicit method invocations. ff7e7f5 (#22943) Add catalog to resources only after the catalog is complete. 12b3eaa (maint) Fix typo in a comment. ef12173 (#22943) Refactor/rename Puppet::Resource#to_resource 4cd31ee (#9546) Update configurer_spec for external facts pluginsync. 5c329e5 (#9546) Check that :pluginfactdest is a directory before using it e69771b (#9546) Correct a typo in a setting desc. aa3bdee (#9546) Add windows and non-windows variants of one test. 99382b5 (#22858) Note that ruby 2.0.0 should be at least p195. 6ab4fa2 (#9546) Fix spec tests against facter 1.6. e376b9d (#23801) Add unit tests for insync? raising StandardError or Exception 6ea77d1 (maint) Remove large spec test block whose benefits were unclear. a7baff1 (maint) Remove an unimplemented test and fix up some comments. 6b7c56b (#9546) Preserve permissions in 'puppet module build' 898fb6b (#9546) Preserve execute permissions on 'module install' 4aae279 (#23131) Remove special casing of Class 'main' e9f0b08 (#23131) Add a spec test asserting that main is treated like other classes 73f8ad2 (#9546) Apply the permissions fix to Solaris as well. 9dc2f46 (#9546) Fix comment and assert msg to match behavior change. a5f15be (#9546) Apply the permissions fix to Windows as well. 5b7d9d2 (#9546) Factor out the tar command to de-dup solaris vs gnu tar impls 25dbc1e (#9546) Fix up the solaris gtar spec 97d41f6 (#23147) Add a spec test to reproduce the issue baa69bf (#23147) Make the catalog available to the resource during to_catalog 9599ae7 (#23147) Add alternate fix for #22943. 11ef14c (Maint) Make tmp directory more safely 6622748 (#7244) Make autosign command treat all non-zero returns the same 72f9fa0 (#7244) Fix test for non-zero-or-1 exit status 56e8348 (maint) Fix the 'nothing to manage' message. 4c69e32 (#18931) Make non-root puppet not set group on files. 7b9448e (#18931) Convert source_permissions from Puppet setting to file param 883d74d (#18931) Refactor slightly for readability 025d009 (#18931) Replace 'puppetmaster' with 'puppet master' 92c4bfd (#18931) Rename source_permissions param values f50493a (#18931) Convert the mode to a string for consistency. 74c8edf (#18931) Extend tests for local fcbe527 (#18931) Improve warning messages on windows 81103c3 (maint) Adds vcloud pooling to the remaining windows beaker node definitions e55e75d (maint) Skip enc test on lucid Lee Lowder (1): 1aa79f8 (#23177) Specifies default value for package type's ensure attribute Ludovic LANGE (26): d48e761 (#2437) Prepare tests that illustrate the issue d40c037 (#2437) Fix the first invocation of the class having bad parameters types f0c6418 (#2437) Complete the tests to detect a variety of edge cases 3a99bd5 (#2437) Escape semicolon (;) when writing Nagios configuration files 11504d3 (#2437) Fix the parser : comments, semicolon, ... 4d59005 (#2437) Compile the parser to ruby code e1b9d82 (#2437) Comments can start with a pound (#) anywhere on an empty line 6665b09 (#2437) Prefer StringScanner in lexer (performance) 82e934c (#2437) Parser now using StringScanner in lexer (performance) fd4ffe3 (#2437) Cosmetic changes for the tests 03c2460 (#2437) Regex compatibility with Ruby 1.8.x 6f896a0 (#2437) For ruby 1.9, always consider input text as ASCII 3499e16 (#2437) Fix the odd test failure 3277aa9 (#2347) Instances of lambda { }.should are better expressed as expect { }.to b2907de (#2347) Typo, "when encountering" 1cb911b (#2437) Renaming the spec test case constants 2d75d86 (#2437) Use interpolation instead of string concatenation 1cc3734 (#2437) Convert case statement on boolean to if/else (1/2) fb680f5 (#2437) Convert case statement on boolean to if/else (2/2) 32d159a (#2437) Split logic into methods to lower complexity 48d0c3e (#2437) Split logic into methods to lower complexity (continued) de17612 (#2437) Remove action method 70ef881 (#2437) remove bloc comments bc94bfd (#2437) fix case statements indent 85b8b64 (#2437) convert to two space tabs cd5645f (#2437) Nagios::Base#to_s should be deterministic Matthaus Owens (3): 07ded3e (maint) Update debian packaging to reference new rack support location 62da3fc (maint) Remove ext/rack/README reference from debian/rules 0f56e36 (maint) Rename expected apache vhost in debian/rules Matthew Haughton (1): b1e5e51 (#21258) Update link to LSB exit code documentation Matthew Lauber (1): f21a2ca (#22642) Added install_options to the RPM provider Melissa Stone (4): de8a14f (packaging) Update PUPPETVERSION to 3.4.0-rc1 d28d966 (maint) Add f20 to default mocks a30cdb5 (packaging) Update PUPPETVERSION to 3.4.0-rc2 d0f15ce (packaging) Update PUPPETVERSION to 3.4.0 Moses Mendoza (2): 957c191 (21868) Move puppet libary target to /Library/Ruby/Site a226ca5 (22329) Only delete puppet files in the preflight Nick Fagerlund (28): 8d32487 (maint) Explain a dead variable in puppet/util/docs.rb 7fdf590 (#22432) Sort defaults/commands/features in provider doc hooks 00dcee5 (maint) Instead of two indent-stripping methods, let's have one c777fcc (maint) Refactor Puppet::Util::Docs.scrub 622b213 (#22489) Fix mangled setting descriptions in config reference and genconfig output bf9ac39 (maint) Adjust wrapping and indent of a bunch of setting descriptions 6156c7b (maint) Fix sloppy indent in schedule type a6f08ba (maint) Fix docs indent breakage in yumrepo type b9c6a2e (maint) Reduce object creation in several string concatenations 56ecbc1 (maint) Prevent possible formatting problems on indirection reference 2ae853e (maint) Avoid accidental outdenting when appending stuff to doc fragments 4daef1d Docs: Mention that fqdn_rand accepts strings as seed additions a85d6f3 Docs: Explain the usage of fqdn_rand more effectively e6b873f (maint) Remove stale files from ext/rack 9f3db47 Maint: Reformat docs for Augeas type's "changes" attribute 204dd1e Maint: Reformat indirection reference to use H4s instead of DLs for termini 3f154db Maint: Change "installation" section of README to be more useful 1c75ac0 Maint: Make doc string for Windows group provider match 3.4.0 fixes ee910a4 Maint: Clarify doc string for contain function 9a3cefe Maint: Update and clarify docs for the include function 1e42d32 Maint: Re-word doc string for file type's ensure property 7ac5ece Maint: Edit and clarify the autosign setting's docs df6b060 Maint: Complete and clarify the csr_attributes setting's docs a87a663 Maint: Change "inactive" to "stopped" in reinventory action's description c29b33d Maint: Adjust formatting of "priority" setting description 4d7e149 Maint: Copyedit description of source_permissions attribute for clarity bb829da Maint: Explain the format and effect of install_options for the RPM provider 33e8813 Maint: Note that mount points autorequire any parent mounts Nick Lewis (2): 7076657 (#23096) Treat ENC classes with empty params as if they had no params 27a5558 (#23096) Remove redundant hash conversion when handling ENC classes Patrick Carlisle (22): 53e55d9 (#8040) Add a function to specify containment 72d99ae (#8040) Don't allow duplicate contain calls c8ce90f (#8040) Test order of application for contained classes b1069e1 (#8040) Do not create duplicate edges f1e1596 (#8040) Clarify behavior in tests around multiple containment d5e7c47 (maint) Rename api_docs to api in yardopts to fix generation 15d04c8 (#22807) Document certificate_status endpoint e08766a (maint) Rename validate_as_json to be specific dfd0908 (#22807) Add examples for certificate_status 8309979 (#22833) Document file_bucket_file REST interface 9715960 (maint) Serialize timestamp in Puppet::Node::Fact using iso8601 cb710b5 (#22849) Add to_msgpack on format_support and require where needed 6f74780 (#22849) Move Confine out of Provider 0709531 (#22846) Add json schema for node bc0e566 (#22846) Document node endpoint 82d32a5 (Maint) Refactor retrieving the indirection in http handler ad3e6df (#22893) Make handler check whether remote requests are allowed 3c5386e (#22893) Disable remote requests for key termini a734dfb (Maint) Remove no-op rescue clause 2a683fe (#22180) Provide doc --mode rdoc parsing under Ruby 1.9 61e6ede (#22956) Use a set to store tags dddb843 (#22956) Remove temporary TagSet#== implementation Paweł Tomulik (3): 9da1cd5 cosmetic changes to package providers a71e811 (#22362) Changes in const_defined?() on ruby 1.9 break Puppet::Util::Classgen 33ab214 (maint) print meaningful debug messages in execpipe Raphaël Pinson (3): 8133dd3 (#22703) Force encoding of comment value to ASCII-8BIT d6b9b2c (#22703) User comment encoding: Do not munge value in place, use encoding constants 16cd98c (#22703) User comment encoding: Use encoding constant Rob Braden (1): 65a6301 (packaging) Update PUPPETVERSION for 3.3.1-rc2 Rob Reynolds (9): 732d450 (#23124) Fix: Incorrect Exit Codes from Windows Exec 5967369 (#23124) Remove 194 exit code from windows/msi package providers 7b2cc74 (#2538) Puppet::Util::Execution.execute should also return exit status 4879d1b Revert "(#23124) Merge branch 'ticket/stable/23124-exit_codes_on_windows' into stable" 026b2f7 (#23124) Fix: Incorrect Exit Codes from Windows Exec 3ba9923 (#23124) Remove 194 exit code from windows/msi package providers d97a2bd (#18931) Pluginsync ignores source permissions by default on Windows fa6dca1 (#23236) Deprecate Puppet::Util::SUIDManager.run_and_capture d3fbed1 (#18931) Only issue deprecation when owner/group/mode not specified Sam (1): 7917df9 (#22992) Correct wrong exit code when testing state.yaml Sam Kottler (1): ff0fc74 (#23085) Ensure old puppet agents get properly stopped when upgrading from 2.6 or early to 2.7 or later Tehmasp Chaudhri (1): 4b72b27 Updated the example text of 'puppet module generate puppetlabs-ssh' while personally exploring/learning what functionality 'puppet module generate' provides to users Thomas Bartelmess (1): d7b31a2 (#22458) Always store the path for launchd service provider Thomas Linkin (7): e7470e1 (#22288) Add methods to access all parameters of a type 74fbd0a (#22288) Add post_compile_hook to Puppet::Parameter f264d7c (#22288) Add tests for new methods in `Puppet::Type` bfde167 (#22288) Add test coverage for `post_compile_hook` a2a4743 (maint) Change post_compile_hook method name 339f29f (doc) Add YARD tags to Puppet::Parameter#post_compile 67c3d52 (doc) Add documentation commit example to CONTRIBUTING Zachary Alex Stern (1): e71e1d6 (#22740) create_resources input validation mihau (1): 5685380 fixed sendmail pocams (1): b63aef2 8657 Support UNC paths for file objects on Windows renato arruda (1): 92b365b (#22662) create a logstash_event logger -- Melissa Stone Release Engineer, Puppet Labs Join us at PuppetConf 2014, September 23-24 in San Francisco -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAHEe_kqGOZSnefjhYh56JahVNAcum%2BaC8Mp909_Q2aBnP9m3sg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.