**Not yet released.** Entered RC1 on March 14, 2014. 3.5.0 is a backward-compatible features and fixes release in the Puppet 3 series. The biggest things in this release are: * Better support for dynamic environments * A cleaner replacement for the classic `import nodes/*.pp` pattern * Scriptable configuration with a new `puppet config set` command * A new global `$facts` hash * Early support for hashes and arrays in fact values * Improvements to the future parser * Support for RHEL 7, Ruby 2.1, and Facter 2.0 ...along with the usual flurry of smaller improvements and bug fixes. How to Upgrade ----- If you're upgrading from a 3.x version of Puppet, you can usually just go for it. Upgrade your puppet master servers before upgrading the agents they serve. (But do look at the table of contents above and see if there are any "Upgrade Warning" notes for the new version.) If you're upgrading from Puppet 2.x, please learn about major upgrades of Puppet first (http://docs.puppetlabs.com/guides/upgrading.html)! We have important advice about upgrade plans and package management practices. The short version is: test first, roll out in stages, give yourself plenty of time to work with. Also, read the release notes for Puppet 3 ( http://docs.puppetlabs.com/puppet/3/reference/release_notes.html) for a list of all the breaking changes made between the 2.x and 3.x series. What's New? ----- ### Dynamic Environments Lots of people have been using dynamic temporary environments based on VCS checkouts to test and roll out their Puppet code, as described in this classic blog post ( http://puppetlabs.com/blog/git-workflow-and-puppet-environments). This pattern is great, but it pretty much works by accident, so we wanted a better way to support it. Now we have one! The short version is: * Create a `$confdir/environments` directory on your puppet master. * Each new environment is a subdirectory of that directory. The name of the directory will become the name of the environment. * Each environment dir contains a `modules` directory and a `manifests` directory. * The `modules` directory will get stuck in front of the `modulepath`. * The `manifests` directory will be used as the `manifest` setting (see "Auto-Import" below). * No other configuration is needed. Puppet will automatically discover environments. So basically, you do a `git clone` or `git-new-workdir` in your `environments` directory, and nodes can immediately start requesting catalogs in that environment. This feature isn't quite finished yet: it's missing the ability to set the `config_version` setting per-environment, which is something we're hoping to add in 3.6. But depending on what you're doing, it's probably good enough to start using today. For full details, see the reference page about simple environments and the reference page about the modulepath Related issues: - [PUP-1574: Using new directory environments with puppet apply prevents evaluation of the manifest requested on the commandline.]( https://tickets.puppetlabs.com/browse/PUP-1574) - [PUP-1584: Puppet module tool should work with new directory environments](https://tickets.puppetlabs.com/browse/PUP-1584) - [PUP-536: Create endpoint for enumerating environments]( https://tickets.puppetlabs.com/browse/PUP-536) - [PUP-1551: Change from "environmentdir" to "environmentpath"]( https://tickets.puppetlabs.com/browse/PUP-1551) - [PUP-1118: Support an $environmentsdir setting]( https://tickets.puppetlabs.com/browse/PUP-1118) - [PUP-1151: List information for known environments via REST]( https://tickets.puppetlabs.com/browse/PUP-1151) - [PUP-1676: Puppet config print respects legacy but not directory environments](https://tickets.puppetlabs.com/browse/PUP-1676) - [PUP-1678: Environment Endpoint should show configuration and not all modules](https://tickets.puppetlabs.com/browse/PUP-1678) - [PUP-1735: Puppet::Node::Environment.current should reroute with deprecation warning](https://tickets.puppetlabs.com/browse/PUP-1735) ### Auto-Import (Use a Directory as Main Manifest) You can now set the `manifest` setting to a directory instead of a single file. (E.g. `manifest = $confdir/manifests`) If you do, the puppet master will parse every `.pp` file in that directory in alphabetical order (without descending into subdirectories) and use the whole set as the site manifest. Similarly, you can give puppet apply a directory as its argument, and it'll do the same thing. We did this because: * `import` is horrible... * ...but the `import nodes/*.pp` pattern is good. Lots of people like to use node definitions and keep every node in a separate file. In Puppet 3.4 and earlier, this meant putting an `import` statement in puppet.conf and storing the node files in another directory. Now, you can just put all your nodes in the main manifest dir and point the `manifest` setting at it. And since this was the last real reason to use `import`, we can deprecate it now! (See "Deprecations and Removals" below.) See the page about the manifest directory for more details. Related issues: - [PUP-865: Provide a manifest directory where all manifests are automatically parsed.](https://tickets.puppetlabs.com/browse/PUP-865) ### Scriptable Configuration (`puppet config set`) You can now change Puppet's settings without parsing the config file, using the `puppet config set` command. This is mostly useful for configuring Puppet as part of your provisioning process, but can be convenient for one-off changes as well. Related issues: - [PUP-663: Set an entry in puppet.conf]( https://tickets.puppetlabs.com/browse/PUP-663) - [PUP-665: Select a section](https://tickets.puppetlabs.com/browse/PUP-665) ### Global `$facts` Hash You have to manually enable this (along with the `$trusted` hash) by setting `trusted_node_data = true` in puppet.conf on your puppet master(s). It'll be on by default in Puppet 4. In addition to using `$fact_name`, you can now use `$facts[fact_name]` to get a fact value. The `$facts` hash is protected and can't be overridden locally, so you won't need the `$::` idiom when using this. Our hope is that this will visibly distinguish facts from normal variables, make Puppet code more readable, and eventually clean up the global variable namespace. (That'll take a while, though --- we probably won't be able to disable `$fact_name` until, like, Puppet 5.) Related issues: - [PUP-542: Provide access to all facts in a single structure]( https://tickets.puppetlabs.com/browse/PUP-542) ### Structured Facts (Early Version) You have to manually enable this by setting `stringify_facts = false` in puppet.conf on your puppet master(s). It'll be enabled by default in Puppet 4. In Facter 2.0 and later, fact values can be any data type, including hashes, arrays, and booleans. (This is a change from Facter 1.7, where facts could only be strings.) If you enable structured facts in Puppet, you can do more cool stuff in your manifests and templates with any facts that use this new feature. These are the early days of structured facts support --- they work in Puppet and Facter now, but none of the built-in facts use data structures yet, and external systems like PuppetDB haven't yet been updated to take advantage of them. (Any structured facts will still get smooshed into strings when they're sent to PuppetDB.) But if you have a use for hashes or arrays in your custom facts, turn this on and give it a try. ### Future Parser is Faster and Better We think the future parser ( http://docs.puppetlabs.com/puppet/3/reference/experiments_future.html) is fast enough to use in a large environment now --- we haven't done extensive benchmarking with real-life manifests, but the testing we've done suggests it's about on par with the default parser. So if you've been waiting to try it out, give it a spin and let us know how it goes. It also has some new tricks in this release: * HEREDOCs are now allowed! This is a much more convenient way to handle large strings. * A new template language was added, based on the Puppet language instead of on Ruby. * There's a new "future" evaluator that goes along with the future parser. Related issues: - [PUP-490: Remove partially implemented support for 'import']( https://tickets.puppetlabs.com/browse/PUP-490) - [PUP-527: Validate collect expressions (future parser)]( https://tickets.puppetlabs.com/browse/PUP-527) - [PUP-798: New Evaluator does not cache parse results]( https://tickets.puppetlabs.com/browse/PUP-798) - [PUP-800: Complete implementation of Location handling]( https://tickets.puppetlabs.com/browse/PUP-800) - [PUP-939: add support for enumerable type(s) in all iterative functions]( https://tickets.puppetlabs.com/browse/PUP-939) - [PUP-954: Correct Type System Flaws]( https://tickets.puppetlabs.com/browse/PUP-954) - [PUP-992: Relationship expression artificially denies arrays as operands]( https://tickets.puppetlabs.com/browse/PUP-992) - [PUP-994: Future evaluator should unique relationship operands]( https://tickets.puppetlabs.com/browse/PUP-994) - [PUP-1029: filter function should accept two parameters]( https://tickets.puppetlabs.com/browse/PUP-1029) - [PUP-1176: Add feature switch for evaluator]( https://tickets.puppetlabs.com/browse/PUP-1176) - [PUP-1212: runtime errors in future evaluator has uninformative backtrace](https://tickets.puppetlabs.com/browse/PUP-1212) - [PUP-1234: each function broken after upgrading to 3.4]( https://tickets.puppetlabs.com/browse/PUP-1234) - [PUP-1247: Enabling --parser future causes classes to be not found and other errors](https://tickets.puppetlabs.com/browse/PUP-1247) - [PUP-1579: Rename Literal Type to Scalar]( https://tickets.puppetlabs.com/browse/PUP-1579) - [PUP-486: Add subtype of String]( https://tickets.puppetlabs.com/browse/PUP-486) - [PUP-491: Implement a 4x validator]( https://tickets.puppetlabs.com/browse/PUP-491) - [PUP-502: Implement evaluation of 'definitions']( https://tickets.puppetlabs.com/browse/PUP-502) - [PUP-792: Merge Feature Branch New Evaluator]( https://tickets.puppetlabs.com/browse/PUP-792) - [PUP-1619: Add Tuple and Struct types to the type system]( https://tickets.puppetlabs.com/browse/PUP-1619) - [PUP-644: PR (2020): (#21873) Make `name[x]` different from `name [x]` - hlindberg](https://tickets.puppetlabs.com/browse/PUP-644) - [PUP-910: 3x functions do not know how to handle new data types]( https://tickets.puppetlabs.com/browse/PUP-910) - [PUP-979: future parser fails to recognize hash as parameter in un-parenthesized calls](https://tickets.puppetlabs.com/browse/PUP-979) - [PUP-1220: dynamic variable lookup works in templates]( https://tickets.puppetlabs.com/browse/PUP-1220) - [PUP-1576: New Parser does not handle hyphenated barewords]( https://tickets.puppetlabs.com/browse/PUP-1576) - [PUP-1814: Double backslashes in single quote strings should be interpreted as single](https://tickets.puppetlabs.com/browse/PUP-1814) - [PUP-1897: EPP ignores code after parameter declaration]( https://tickets.puppetlabs.com/browse/PUP-1897) - [PUP-1898: EPP - Error when trying to report argument error in inline_epp](https://tickets.puppetlabs.com/browse/PUP-1898) - [PUP-28: Add heredoc support in future parser]( https://tickets.puppetlabs.com/browse/PUP-28) - [PUP-30: Support Puppet Templates]( https://tickets.puppetlabs.com/browse/PUP-30) - [PUP-473: Add support for \u for unicode chars in strings]( https://tickets.puppetlabs.com/browse/PUP-473) - [PUP-479: Handle types other than string as hash key]( https://tickets.puppetlabs.com/browse/PUP-479) - [PUP-482: Handle Comparisons / Equality a consistent way]( https://tickets.puppetlabs.com/browse/PUP-482) - [PUP-483: Handle Match in useful and consistent way]( https://tickets.puppetlabs.com/browse/PUP-483) - [PUP-487: Decide on 'in' operator vs. '==']( https://tickets.puppetlabs.com/browse/PUP-487) - [PUP-489: Handle += / -= with consistent semantics]( https://tickets.puppetlabs.com/browse/PUP-489) - [PUP-525: Support Regular Expression as data type (an issue of encoding)]( https://tickets.puppetlabs.com/browse/PUP-525) - [PUP-1895: EPP - Define parameters with `<% |$x| %>` instead of `<% ($x) %>`](https://tickets.puppetlabs.com/browse/PUP-1895) ### Platform Support Updates Newly supported: * Puppet now supports RHEL 7, with packages and acceptance testing. This mostly involved cleaning up resource providers to handle things like systemd more cleanly. * We're running acceptance tests on Fedora 19 and 20, now, too. * Facter 2.0.1 works with Puppet 3.5, including its new structured facts support (see above). * We have early support for Ruby 2.1. We're running spec tests on it, so we think it works fine! But since none of our testing platforms ship with it, we aren't running acceptance tests on it, which means there might be problems we don't know about yet. Newly abandoned: * Support for Fedora 18 is done, since it EOL-ed in January; no more acceptance tests or packages. * Facter 1.6 is no longer supported with Puppet 3.5. Related issues: - [PUP-576: Add a fedora19 host to the platforms we are testing in ci.]( https://tickets.puppetlabs.com/browse/PUP-576) - [PUP-876: upstart service operating system confine should include redhat and centos](https://tickets.puppetlabs.com/browse/PUP-876) - [PUP-923: Add Fedora 20 to acceptance]( https://tickets.puppetlabs.com/browse/PUP-923) - [PUP-1694: Provide packages for Rhel7]( https://tickets.puppetlabs.com/browse/PUP-1694) - [PUP-1825: Allow use of Facter 2]( https://tickets.puppetlabs.com/browse/PUP-1825) - [PUP-1463: Ensure services that were previously enabled get enabled after systemd service unit name change]( https://tickets.puppetlabs.com/browse/PUP-1463) - [PUP-1491: (packaging)Remove Fedora 18 from default mocks]( https://tickets.puppetlabs.com/browse/PUP-1491) - [PUP-1821: Bump facter dependency to 1.7 or greater]( https://tickets.puppetlabs.com/browse/PUP-1821) - [PUP-1732: 'puppet resource service' with systemd provider shows lots of non-services](https://tickets.puppetlabs.com/browse/PUP-1732) - [PUP-1766: Make systemd the default provider for RHEL7]( https://tickets.puppetlabs.com/browse/PUP-1766) ### Smaller New Features In addition to the big-ticket improvements above, we added a lot of smaller features. Misc features: * Pluginsync can now sync external facts to agent nodes! This requires Facter 2.0.1 or later. (At the time of RC1, Facter 2.0.1 was still in RC.) * Certificate extensions will now appear in the `$trusted` hash. * There's a new `strict_variables` setting; if set to true, it will throw parse errors when accessing undeclared variables. Right now, this will wreak havoc; eventually, it will make Puppet code easier to debug. * Related to the last: The `defined` function can now test whether a variable is defined. Note that you have to single-quote the variable name, like this: `defined('$my_var')` --- otherwise, the function will receive the value of the variable instead of its name. Anyway, going forward, this will be a more accurate way to distinguish between `false`, `undef`, and uninitialized variables, especially if you're using `strict_variables true`. * The `http` report processor can use basic auth now when forwarding reports. * Puppet apply now has a `--test` option that acts much like puppet agent's `--test`. * On Windows, the puppet agent service will now log activity using the Windows Event Log instead of a logfile. Type and provider features: * The `ssh_authorized_key` type can use ssh-ed25519 keys now. * When `service` resources fail to start or restart, they'll log the exit code, stdin, and stderr text as Puppet errors to help with debugging. * The `rpm` package provider now accepts virtual packages. * The `rpm` package provider now supports `uninstall_options`. * The `package` type has a new `package_settings` attribute. This is a property that can be implemented differently per-provider; currently nothing uses it, but there are plans to make the FreeBSD provider use it for port options. * The `user` type now validates the `shell` attribute, to make sure it actually exists and is executable. * You can now use msgpack as the on-disk cache format for some of Puppet's generated data types. * The `file` type has a new `validate_cmd` attribute that can help protect against accidentally writing broken config files. * The `resources` type has a new `unless_uid` attribute that acts like an improved version of the `unless_system_user` attribute --- it lets you protect multiple UIDs and ranges of UIDs from deletion when purging `user` resources. * You can now purge unmanaged `cron` resources with the `resources` type. Features for extension writers: * The Puppet::Util::Profiler#profile API is now public, and can be used by extensions like indirector termini and report handlers. * There's a new v2.0 HTTP API, which doesn't have to abide by the (sometimes inconsistent and weird) semantics of the main API. Right now, the only v2.0 endpoint is for getting information about environments via the API. Related issues: - [PUP-1068: Puppet master can't submit reports to an HTTP server using basic auth](https://tickets.puppetlabs.com/browse/PUP-1068) - [PUP-1218: Improve ssh-ed25519 integration]( https://tickets.puppetlabs.com/browse/PUP-1218) - [PUP-1219: PR (2182): Improve ssh-ed25519 integration - jasperla]( https://tickets.puppetlabs.com/browse/PUP-1219) - [PUP-950: PR (2132): (#23376) Add support for ssh-ed25519 keys to ssh_authorized_key type - jasperla]( https://tickets.puppetlabs.com/browse/PUP-950) - [PUP-1318: Provide a logoutput for service like exec]( https://tickets.puppetlabs.com/browse/PUP-1318) - [PUP-897: package type should accept virtual package for rpm]( https://tickets.puppetlabs.com/browse/PUP-897) - [PUP-1369: Package options property for package]( https://tickets.puppetlabs.com/browse/PUP-1369) - [PUP-1448: User's type 'shell' parameter should be validated]( https://tickets.puppetlabs.com/browse/PUP-1448) - [PUP-1327: PR (2060) owner of files created by nagios resource types]( https://tickets.puppetlabs.com/browse/PUP-1327) - [PUP-1589: PR (2328): Msgpack terminii - dalen]( https://tickets.puppetlabs.com/browse/PUP-1589) - [PUP-1670: PR (2347): A way to validate file content syntax before replacing files](https://tickets.puppetlabs.com/browse/PUP-1670) - [PUP-1447: Allow specified UIDs to be excluded from purge]( https://tickets.puppetlabs.com/browse/PUP-1447) - [PUP-1490: Support --test option for puppet apply]( https://tickets.puppetlabs.com/browse/PUP-1490) - [PUP-1564: PR (2319) package rpm provider should support :uninstall_options feature](https://tickets.puppetlabs.com/browse/PUP-1564) - [PUP-649: PR (2024): (#3220) crontab: allow purging unmanaged resources - ffrank](https://tickets.puppetlabs.com/browse/PUP-649) - [PUP-1772: Proposal to make Puppet::Util::Profiler#profile api public]( https://tickets.puppetlabs.com/browse/PUP-1772) - [PUP-672: Informational certificate extensions should be exposed inside the Puppet DSL](https://tickets.puppetlabs.com/browse/PUP-672) - [PUP-1048: PR (2161): (#21641) Windows puppet service should log to the eventlog - glennsarti](https://tickets.puppetlabs.com/browse/PUP-1048) - [PUP-1505: Puppet should use new Facter.search_external for external facts pluginsync](https://tickets.puppetlabs.com/browse/PUP-1505) - [PUP-1432: Implement v2.0 API error responses]( https://tickets.puppetlabs.com/browse/PUP-1432) - [PUP-1549: V2.0 API shows the message body in the Reason-Phrase]( https://tickets.puppetlabs.com/browse/PUP-1549) - [PUP-1166: Add better error message for strict variables (current parser)](https://tickets.puppetlabs.com/browse/PUP-1166) - [PUP-1372: with strict variable lookup option there is no way to check if var is defined](https://tickets.puppetlabs.com/browse/PUP-1372) ### Deprecations and Removals As we start to get ready for Puppet 4, we're deprecating some features we're hoping to remove or replace. (Be ready for more of these in Puppet 3.6, too.) Using deprecated features will cause warnings to be logged on the puppet master; these features will be removed in Puppet 4. Deprecations in the Puppet language: * The `import` keyword is deprecated. Instead of importing, you should set your `manifest` setting to a directory of .pp files. * Modifying arrays and hashes in Puppet code or templates is deprecated. (This actually should never have been possible, but we can't kill it in a minor version because it might break something.) Deprecations in the type and provider API: * Using the `:parent` option when creating a type is deprecated. This actually hasn't worked for a long while, but now it will warn you that it won't do anything. Removals: * The experimental bindings-based Hiera2/data-in-modules code has been removed. We're back to the drawing board on this. Related issues: - [PUP-899: Deprecate parent parameter for type]( https://tickets.puppetlabs.com/browse/PUP-899) - [PUP-864: Deprecate Data Structure Mutation]( https://tickets.puppetlabs.com/browse/PUP-864) - [PUP-866: Deprecate "import"]( https://tickets.puppetlabs.com/browse/PUP-866) - [PUP-546: Remove Hiera2 and bindings-based data in modules code]( https://tickets.puppetlabs.com/browse/PUP-546) ### Performance Improvements 3.5 is faster! We found a situation where defined types were a lot slower than they needed to be, some slow cases in `puppet cert list` and the module tool, and a few other performance wins. Related issues: - [PUP-716: Puppet::FileSystem::File creates many short-lived objects]( https://tickets.puppetlabs.com/browse/PUP-716) - [PUP-751: Performance regression due to excessive file watching]( https://tickets.puppetlabs.com/browse/PUP-751) - [PUP-753: Create a reasonable "benchmark" manifest]( https://tickets.puppetlabs.com/browse/PUP-753) - [PUP-1059: PR (2162): (#16570) Don't load the node object again in configurer - dalen](https://tickets.puppetlabs.com/browse/PUP-1059) - [PUP-1592: Puppet excessively stats the filesystem when looking for defined types](https://tickets.puppetlabs.com/browse/PUP-1592) - [PUP-1563: PR (2322) Module tool rechecks for conflicts for each installed module](https://tickets.puppetlabs.com/browse/PUP-1563) - [PUP-1665: PR - Puppet cert list behavior is suboptimal]( https://tickets.puppetlabs.com/browse/PUP-1665) - [PUP-1058: puppet apply loading facts twice]( https://tickets.puppetlabs.com/browse/PUP-1058) ### Bug Fixes and Clean-Ups We fixed a bunch of bugs in types and providers (including a big cleanup of the yumrepo type), improved standards-compliance in our use of certificates, fixed a bunch of Windows-specific problems, cleaned up some inconsistencies, and fixed some bugs that don't fit in any particular bucket. Type and provider bugs: - [PUP-1051: gem package provider is confused by platform components in version strings](https://tickets.puppetlabs.com/browse/PUP-1051) - [PUP-1158: Augeas provider warns on parse errors in other files handled by same lens](https://tickets.puppetlabs.com/browse/PUP-1158) - [PUP-1421: appdmg prematurely filters for sources ending in .dmg]( https://tickets.puppetlabs.com/browse/PUP-1421) - [PUP-1450: [Windows] Copying file resources from non-NTFS volumes causes Invalid DACL errors](https://tickets.puppetlabs.com/browse/PUP-1450) - [PUP-1559: Windows - Specifying well-known SIDs as a group / user in manifests causes errors](https://tickets.puppetlabs.com/browse/PUP-1559) - [PUP-730: PR (2140): (#23141) Add OpenBSD to the exclusion list for 'remounts' in mount type - jasperla]( https://tickets.puppetlabs.com/browse/PUP-730) - [PUP-1192: PR (2176): (maint) Windows file provider :links => :follow - Iristyle](https://tickets.puppetlabs.com/browse/PUP-1192) - [PUP-1561: puppet resource cron does not list crontab entries]( https://tickets.puppetlabs.com/browse/PUP-1561) - [PUP-713: PR (2050): (#4820) cron type should not allow specification of special parameter and normal hour/minute/day/etc parameters. - ffrank]( https://tickets.puppetlabs.com/browse/PUP-713) - [PUP-1085: Pacman provider constantly reinstalls package groups on arch linux](https://tickets.puppetlabs.com/browse/PUP-1085) - [PUP-648: PR (2023): Add upgradeable and versionable features to pkgin provider - javiplx](https://tickets.puppetlabs.com/browse/PUP-648) - [PUP-1510: ensure => absent on user resource with forcelocal => true does not work as expected.](https://tickets.puppetlabs.com/browse/PUP-1510) - [PUP-1338: yumrepo module is too picky about white space]( https://tickets.puppetlabs.com/browse/PUP-1338) - [PUP-789: Yumrepo should be refactored to use a provider]( https://tickets.puppetlabs.com/browse/PUP-789) - [PUP-1722: Yumrepo doesn't permit HTTPS URLs]( https://tickets.puppetlabs.com/browse/PUP-1722) - [PUP-778: PR (2086): Initial refactoring of yumrepo. - apenney]( https://tickets.puppetlabs.com/browse/PUP-778) - [PUP-1066: yum repos should be ensurable.]( https://tickets.puppetlabs.com/browse/PUP-1066) - [PUP-652: PR (2026): #19422: Deal with invalid arguments to nagios types - yath](https://tickets.puppetlabs.com/browse/PUP-652) - [PUP-714: PR (2051): Suppress misleading warn. in openbsd provider - ptomulik](https://tickets.puppetlabs.com/browse/PUP-714) - [PUP-1846: PR (2410): File content diffing should respect loglevel - wfarr](https://tickets.puppetlabs.com/browse/PUP-1846) - [PUP-1473: user resource fails on UTF-8 comment]( https://tickets.puppetlabs.com/browse/PUP-1473) Windows-related bugs: - [PUP-1368: Puppet on Windows segfaulting]( https://tickets.puppetlabs.com/browse/PUP-1368) - [PUP-1494: Windows colors.rb may be subject to Ruby corruption bug with wide strings](https://tickets.puppetlabs.com/browse/PUP-1494) - [PUP-1681: Windows stat doesn't expose the correct mode]( https://tickets.puppetlabs.com/browse/PUP-1681) - [PUP-1275: Windows agent only runs when --onetime is specified]( https://tickets.puppetlabs.com/browse/PUP-1275) - [PUP-1278: PR: Windows Puppet Agent Service gracefully terminates after succesfully being put into a Paused state]( https://tickets.puppetlabs.com/browse/PUP-1278) - [PUP-1284: win32-security gem doesn't handle 'Authenticated Users' correctly](https://tickets.puppetlabs.com/browse/PUP-1284) - [PUP-797: PR (2094): (#23219) - Fix support of extra arguments in windows service - luisfdez](https://tickets.puppetlabs.com/browse/PUP-797) Standards compliance improvements: - [PUP-1407: puppet CA generates CRL that does not conform to RFC5280]( https://tickets.puppetlabs.com/browse/PUP-1407) - [PUP-1409: add an authorityKeyIdentifier extension to node certificates]( https://tickets.puppetlabs.com/browse/PUP-1409) Clean-ups: - [PUP-1120: Change default private key permissions to permit group read]( https://tickets.puppetlabs.com/browse/PUP-1120) - [PUP-1451: PR (2257) Make public SSL files publicly readable]( https://tickets.puppetlabs.com/browse/PUP-1451) - [PUP-1262: PR (2196): (maint) cron: Make the munge method for the command property more readable - ffrank]( https://tickets.puppetlabs.com/browse/PUP-1262) General bugs: - [PUP-1064: Puppet master fails with 'stack level too deep' error when storeconfigs = true with rails stack 3.1.0]( https://tickets.puppetlabs.com/browse/PUP-1064) - [PUP-1136: When applying the settings catalog, a failed transaction may not properly surface information about the event that caused it to fail]( https://tickets.puppetlabs.com/browse/PUP-1136) - [PUP-1150: Race condition in Puppet::Util::Lockfile]( https://tickets.puppetlabs.com/browse/PUP-1150) - [PUP-1246: Hiding error details in fileserver.conf parser when this config is wrong](https://tickets.puppetlabs.com/browse/PUP-1246) - [PUP-1470: mk_resource_methods getters can't deal with false]( https://tickets.puppetlabs.com/browse/PUP-1470) - [PUP-1484: msgpack serialization of TagSet broken]( https://tickets.puppetlabs.com/browse/PUP-1484) - [PUP-1578: puppetlabs/reboot: Ruby on windows can get into an infinite loop when exiting](https://tickets.puppetlabs.com/browse/PUP-1578) - [PUP-1101: Static compiler does not filter exported resources from the catalog](https://tickets.puppetlabs.com/browse/PUP-1101) - [PUP-721: PR (2056): (#7659)(#20122) Fix comment stack when parsing hashes - hlindberg](https://tickets.puppetlabs.com/browse/PUP-721) - [PUP-786: PR (2090): (#21869) Fix recursion in cert expiration check - Sharpie](https://tickets.puppetlabs.com/browse/PUP-786) - [PUP-804: PR (2097): (maint) Handle empty or malformed JSON lockfiles - adrienthebo](https://tickets.puppetlabs.com/browse/PUP-804) - [PUP-906: PR (2118): (#22330) add btrfs to SELinux filesystem whitelist - qralston](https://tickets.puppetlabs.com/browse/PUP-906) - [PUP-1243: PR (2184): (maint) Fix can't modify frozen Symbol error on Ruby 2.1.0 - jeffmccune](https://tickets.puppetlabs.com/browse/PUP-1243) - [PUP-1282: puppet gem does not include platform specific gem dependencies](https://tickets.puppetlabs.com/browse/PUP-1282) - [PUP-1350: PR (2215): Don't replace original stacktrace when error happens parsing inline template - carlossg]( https://tickets.puppetlabs.com/browse/PUP-1350) - [PUP-1502: PR (2293): (maint) Puppet fails to properly surface backtraces - Iristyle](https://tickets.puppetlabs.com/browse/PUP-1502) - [PUP-1420: PR (2248): move StateMachine out of the global scope - crankharder](https://tickets.puppetlabs.com/browse/PUP-1420) - [PUP-1707: Faces help sometimes blows up when descriptions are absent]( https://tickets.puppetlabs.com/browse/PUP-1707) - [PUP-1387: CA generates subjectKeyIdentifier from issuer cert instead of cert itself](https://tickets.puppetlabs.com/browse/PUP-1387) - [PUP-1568: Error reporting within augeas provider fails]( https://tickets.puppetlabs.com/browse/PUP-1568) - [PUP-1839: Puppet device results in SSL stack too deep error]( https://tickets.puppetlabs.com/browse/PUP-1839) - [PUP-1885: File type ignore can't convert Fixnum into String]( https://tickets.puppetlabs.com/browse/PUP-1885) (This one was a regression from 3.3.0.) - [PUP-1404: PR (2234): ensure Puppet::Util::Execution.execpipe always run the command with LANG... - doc75]( https://tickets.puppetlabs.com/browse/PUP-1404) ### All Resolved Issues for 3.5.0 Our ticket tracker has the list of [all issues resolved in Puppet 3.5.0.]( https://tickets.puppetlabs.com/browse/PUP/fixforversion/11009) ### Contributors Adrien Thebo, Alejandro Ramirez, Alex Harvey, Alexei Romanoff, Anderson Mills, Andrew Parker, Ashley Penney, Bart ten Brinke, Bert Hajee, Branan Purvine-Riley, Brandon High, Carlos Sanchez, Charlie Sharpsteen, Dan Lidral-Porter, Daniele Sluijters, Derek Yarnell, Dominic Cleal, Eric Sorenson, Erik Dalén, Ethan J. Brown, Felix Frank, Gavin Williams, Glenn Pratt, Guillaume Virlet, Henrik Lindberg, Iristyle, James Ralston, Jasper Lievisse Adriaanse, Javier Palacios, Jeff McCune, Jeremy T. Bouse, Joe Julian, John (JJ) Jawed, John Julien, Jonathan Webb, Josh Cooper, Josh Partlow, Josh Sharpe, Joshua Hoblitt, Ken Barber, Kylo Ginsberg, Luis Fernandez Alvarez, Marc Seeger, Matthew Nicholas Bradley, Nick Fagerlund, Patrick Carlisle, Paweł Tomulik, Pedro Côrte-Real, Peter Huene, Peter Meier, Peter Souter, Raphaël Pinson, Rob Braden, Rob Reynolds, Ryan McKern, Sam Kottler, Sebastian Schmidt, Stephen Gelman, Vincent Ambo, Will Farrington, fhrbek, glenn.sarti, glennsarti, jrussek ### Contributions Adrien Thebo (21): 107f0e4 (maint) Handle empty or malformed JSON lockfiles f066e74 (#22744) Filter virtual resources in the static compiler 2327f68 (maint) Ensure HieraPuppet cached instance is reset eac21e8 (PUP-1218) Add spec coverage for ssh_authorized_key ssh-ed25519 6a6ef5c (PUP-1218) Add spec coverage for sshkey ssh-ed25519 76ae6a2 (maint) Clean up sshkey and ssh_authorizd_key type specs bda42f2 (maint) expand ExtensionFactory creation for clarity b4235bc (doc) Document certificate_factory methods 3156ca1 (maint) Don't duplicate hash keys in rspec tests 273f2d6 Revert "Merge branch 'pull-2137'" 90351dc (maint) Pass Facter.search arrays instead of strings 85c0894 (maint) Don't check for Facter.search 728d836 (maint) Add missing noun that was accidentally a0e9882 (maint) Implement FileSystem.file? for consistency d032a16 (maint) fixup yumrepo provider to use fs abstraction fa522ac (maint) Allow arrays, bools, and numerics to be frozen 20c3c01 (PUP-876) Add 'any' confine 7bdcbea (PUP-876) Enable upstart service provider on Redhat f7ea505 Merge pull request #2402 from kylog/issue/pup-1825/allow-use-of-facter-2 18bf7e9 (PUP-876) Skip resource service check on EL 6 e11cb26 (PUP-1821) Require Facter 1.7 or greater Alejandro Ramirez (1): 73b0c2b (PUP-1448) Validates the user type shell property Alex Harvey (1): 66e0fd2 (doc) Fix a typo in docs for the include function Alexei Romanoff (1): 8124266 (PUP-1246) Fixed hiding error details in fileserver.conf parser Anderson Mills (1): 6c4539c (PUP-759) Remove reference to ca_days in ca_ttl default Andrew Parker (134): 9f0fbb3 (#23373) Update acceptance test to use config set 625b3dc (Maint) Allow specifying tests to run to rake task 6505d15 (#23373) Allow basic control of puppet.conf e4b7556 (#23373) Remove duplicate config file parsers 056f65b (#23373) Pull apart ConfigFile and IniFile 024df99 (#23373) Support selecting the section 39f54e8 (#23373) Have config parsing use IniFile's sections 3ffabc7 (#23373) Provide a more structure config file parse 1285d40 (#23373) Pull apart settings into a few more classes 00c2abf (#23373) Add section control to the config print action 3b486fb (#23373) Reuse existing section headers ce6b415 (#23373) Check for minimal use of [main] 6f2c833 (#23373) Don't set metadata when it isn't supported 53a4203 (#23373) Use puppet config set in tests 2ad6b8d (#23373) Don't apply all metadata 9059da0 (Maint) Remove unused code 1b26c11 (#23373) Restore 'all' functionality e195de6 (#23373) Only parse section lines once 69ad509 (Maint) Fix deprecation message to point to the right alternative da5d5a2 (Maint) Revert including augeas 2307946 (PUP-665) Allow settings to be undefined e25be73 (PUP-665) Setting nil reverts to default 330ce17 (PUP-665) Don't call hooks unless absolutely necessary 8f5a575 (PUP-986) Update references to point to Jira a595118 (PUP-1246) Update tests to show line numbers f879dbc (Maint) Remove duplicate test 13fcb1a (maint) Update test to work on non-UTF-8 systems f5b2a41 (PUP-672) Add acceptance test for trusted data d0c6e41 (Maint) Remove use of mocking c320f65 (maint) Require json for logstash test 46f3300 (PUP-672) Add nested context capabilities 8841654 (maint) Log exception using log_exception 3383996 (PUP-672) Add defaults for context lookups a80015a (PUP-672) Track trusted information using the context a706fa3 (PUP-672) Provide certificate extensions as trusted data 5f7fc89 (PUP-672) Updated test to match trusted data structure 747076f (PUP-1068) Add basic auth to HTTP Connection 3c67f61 (PUP-716) Fix up YAML specs 2699ca9 (PUP-716) Fix up watcher spec b4b18e1 (PUP-716) Fix up all of util 5d26652 (PUP-716) Fix up the type tests 3acea26 (PUP-716) Fix up transaction tests 3d03292 (PUP-716) Fix up tests in ssl dir 47238bd (PUP-716) Add Memory based file impl 56fb51b (PUP-716) Re-add memory impl c342ede (PUP-716) Change back to stubs from mocks ff429b6 (PUP-1151) Specify JSON and error responses 3a68c73 (PUP-1151) Have puppet depend on json 828a759 (PUP-1151) Move HTTP Errors to own module 2e9d8dd (PUP-1151) Authorize v2 api requests 1e04f6e (PUP-1151) Hard code return of only production environment fc42c64 (PUP-1151) Inject source of environments 7cdb196 (PUP-1151) Add access to environments in auth.conf 6dcd9b1 (PUP-1151) Ensure that json is installed for tests 2e7ba15 (PUP-1151) Consolidate JSON schema validation 8142d09 (PUP-1151) Convert to cygwin paths on windows 4810aeb (PUP-1118) Fetch the environment's manifest & modulepath at init bdce683 (PUP-1118) Introduce "create" to make specific environments 58a6cc5 (PUP-1118) Provide context at initialization for environments 23fb77f (Maint) Alias TESTS as TEST abdb04a (PUP-1118) Remove use of Environment.current 03fea79 (PUP-1118) Move global context methods to Puppet f716cf7 (Maint) Mark new context methods private 898b660 (Maint) Unravel require of forge code 76c064f (PUP-1118) Add check for getting multiple environments ecb317b (PUP-1118) List environments from a directory f40365a (PUP-1118) Load full environments from a directory ba6e5ab (PUP-1118) Simplify Puppet::Context 757505b (PUP-1118) Create a new context after app initialization 4b30d16 (PUP-1118) Make environments readable by puppet master 1b9cf6f (PUP-1118) Document Puppet::Environments 8781d0d (PUP-1118) Move root environment to Context 5d6f48d (maint) Only load yard tasks if yard is available 255d381 (PUP-1151) Respond with 404 when path not known e70300f (PUP-1118) Ensure there is only one *root* d474c2e (PUP-1118) Add acceptance test for using directory envs 5c988b9 (PUP-1118) Stop using Environment.new b439bb8 (Maint) Remove dead port code 3c4669d (PUP-1118) Convert environment for nodes on load 1ca7c2c (maint) Remove warning added during debugging 181d56c (PUP-1549) Use standard reason phrases on webrick 655ace5 (PUP-1549) Update documentation showing reason phrase 8bab12e (Maint) Extract re-usable resource matcher 83c0eff (PUP-865) Allow BlockExpression to evaluate everything dae56db (PUP-865) Only use the pops merge for the future evaluator 4d408df (Maint) Clean up tests f8ceaa0 (Maint) Remove documentation rspec output 8384c50 (PUP-1470) Add test for new behavior ae24299 (PUP-753) Benchmark puppet compiling w/many modules f1d6683 (PUP-753) Profile the many_modules benchmark scenario 61cffab (PUP-753) Extract benchmark impl into file 2a6b1c7 (PUP-753) Generate scenario tasks from filesystem cac434a (PUP-753) Include a minimal metadata in each module 5b2f99c (Maint) Remove unused dependencies b3c5ca8 (PUP-753) Use correct format constant on 1.8.7 a36d369 (PUP-753) Remove duplicate calls to setup 6f24451 (doc) Point to the local docs fe16ed6 (doc) Create a quickstart guide to get people going 6e1c325 (doc) Extract sections of README_DEVELOPER 22e6b07 (doc) Remove remaining developer docs e978330 (doc) Explain some basics for profiling puppet 9dbbdbe (PUP-753) Write a JMeter CSV log a5ee135 (doc) Stop using non-words 05e1036 (doc) Clarify use of --profile fac2f11 (doc) Point readers to how to run acceptance tests 770194f (doc) Update rspec examples to show desired style a8391b5 (PUP-753) Add task to run/profile all scenarios 56bdffc (PUP-753) Write times in millis ba5a68f (PUP-753) Benchmark system startup 1c0e54c (PUP-649) Use class instance variable 48c8152 (PUP-649) Loosen checks for crontab provider 0b64460 (PUP-751) Check for reparse once per compile 0412515 (maint) Optimize adding tags 40c315b (maint) Use JSON for parsing metadata.json f854342 (maint) Remove String check 018e2b4 (maint) Reduce calls to settings c129f40 (maint) Hold token name in local variabel c8c1ea5 (PUP-751) Benchmark defined resource types 13ab9b4 (PUP-751) Preserve environment across resource copy 69d03c8 (maint) Fork for each scenario 0729c99 (PUP-751) Ensure resource knows it's type 1e6a373 (PUP-751) Fix resource_type to check for changes 413a733 (Maint) Ensure there is a fully ruby env c7e3697 (PUP-1678) List environment settings instead of modules 601c76d (PUP-1678) Provide valid, standard source URIs cad535d (maint) Remove desc for generate tasks 637dd61 (maint) Detect reparse when :code changes 5207eba (PUP-542) Test the gamut of mutation 5455b53 (PUP-1839) Flush cache when setting value 7e836e5 (PUP-1839) Re-deprecate set_value c967d63 (PUP-1839) Introduce overridden defaults e2fee27 (PUP-1839) Override settings by just assigning 73c53bb (PUP-1885) Stringify ignores for file serving 495efc7 (Maint) Remove some duplication in tests Ashley Penney (7): ce83c66 (PUP-1066) Add the ability to delete files. Add a .destory and .destroy? in order to flag files for deletion. We also sneak in a .entries reader in order to let us read the entries directly. 7b8650e (PUP-789) Break yumrepo into a type/provider. 8f4d73f (maint) Remove the noop check here, we don't allow flush to be called when noop is set. 0263cab Ensure that section cannot accidently return nil. dd5d3e1 (maint) Added Yarddoc documentation. 601b0fa Replace .select! with delete_if for ruby 1.8.7 747a62f (maint) Switch from an .each to a .last so we don't repeat ourselves. Bart ten Brinke (1): 8408ac0 (PUP-1447) Added unless_uid option to User Resource management. Bert Hajee (1): fcfe176 (pup-899) Add deprecation message for use of parent in new type Branan Purvine-Riley (1): 5aca376 (PUP-1677) Fix tests for PE compatibility Brandon High (5): 91ebb1f Fixing HTTP API link formatting 9ed39df Adding link to LICENCE c1d1060 LICENCE is not a .md 36ef118 Spelling LICENSE correctly 3127da4 Updating copyright years in LICENSE Carlos Sanchez (1): f9bcdf6 (PUP-1350) keep original stacktrace when error happens parsing inline template Charlie Sharpsteen (3): 0b84445 (#21869) Fix recursion in cert expiration check f2801ca (DOCUMENT-22) Clarify matching of crontab entries 2968a45 (PUP-1564) Add uninstall_options to RPM provider docs Dan Lidral-Porter (19): 35ada47 Add vagrant testing guide to acceptance/README. a08de79 (PUP-1151) Environment enumeration authorization test. ecddcc5 (PUP-1151) Factor out v1 HTTP request processing into own request processor. 3f0c113 (maint) Get rid of http handler's initialize_for_puppet method. 5189d6e (PUP-1151) Add routing framework. 7ac514e (PUP-1151) Add a 405 error class to http handler bf002ce (PUP-1151) Change Route matching semantic specs. 64b9d96 (PUP-1151) Implement Route changes. 32e54bd (PUP-1151) Add documentation for environments endpoint 64b7629 (PUP-1151) Fix environment enumeration endpoint test 6c54310 (PUP-1404) Add tests for execpipe locale setting 6551e50 (PUP-1404) LC_ALL test to actually tests LC_ALL 0b1f4bd Don't run LANG/LC_ALL tests on windows fcf482a (PUP-1404) Don't swallow execpipe tests on windows 5a5f0d3 (PUP-1432) Add V2 API structured errors. 7ce5d10 (PUP-1432) Move JSON error ser8n to error classes 208f6e9 (PUP-1432) Fix error JSON schema a8e9358 (PUP-1432) Add error spec that tests serialization f44bca4 (maint) really fix the execution locale test Daniele Sluijters (1): a690fef (PUP-1470) Make mk_resource_method with false. Derek Yarnell (1): 6a5adf0 Adds support for building puppet on RHEL7 via spec. Dominic Cleal (5): 0d0c999 (maint) Add ruby-augeas to Gemfile and Travis for more test coverage c35ae4f (PUP-1158) Only output load warning when file given by user has an error 654438a (PUP-1722) Permit HTTPS and FTP protocols in yumrepo b5b96cf (PUP-1735) Reimplement deprecated Puppet::Node::Environment.current 0a09175 (PUP-1905) Split modulepath when supplied as an override from CLI Eric Sorenson (3): 1c4fccd (maint) Update README.md for support clarification 3bdb35c Fix trailing whitespace, add EOL clarification 38db379 Wording tweaks from review feedback Erik Dalén (16): 32b1f61 (#16570) Don't load the node object again in configurer 8fc9544 (maint) remove dead code for indirector cache 4a89dcf (PUP-1490) Support --test option for puppet apply 446f39e (PUP-1484) Fix serialization of TagSet abcfc8d (maint) Fix error message in reduce function b349e7d (maint) Add optional_parameter_count method to Closure 4acaafb (maint) Fix syntax error in example code 39c2fdf (maint) Change name from from_pson to from_data_hash 3c892bf (maint) Deprecate from_pson methods 346bebe (maint) Unify to_pson in FormatSupport module, just like with to_msgpack faa3978 (maint) Simplify msgpack format code fb6c03b (PUP-1588) Add msgpack indirector terminii dcd63c1 (maint) Make msgpack feature do the correct requires 411e8fd (PUP-1451) Make SSL file permissions a bit more relaxed for public files cffffb2 (PUP-1670) Add validate_cmd parameter to file type 828e581 (maint) Add to_data_hash on Puppet::SSL::Base Ethan J. Brown (16): 262f5b4 (maint) Report errs correctly on settings apply 107271b (maint) Windows file provider :links => :follow ba09bfe (PUP-1133) Windows tests write config to temp 776767c (PUP-1133) Reset permission on Windows test files d758620 (PUP-1133) Clean up leftover parser generate temp 3e00466 (PUP-1133) Cleanup Windows symlink 187e047 (PUP-1133) Cleanup after Rails temp log files 403a9a3 (PUP-266) Ensure ADSI Group SIDs may be looked up d17b938 (PUP-266) Puppet manages group and owner on config ce904cf PUP-1494 - Remove Windows iconv from colors.rb 9fa4a39 (maint) Puppet fails to properly surface backtraces b7c10f5 PUP-1494 Guard against Win32 memory corruption 923a766 PUP-1450 Windows file resource Invalid DACL errors ee34bf9 PUP-1450 Honor source_permissions_ignore 580a1ce (PUP-1559) Ensure ADSI Group SIDs may be looked up 857291e PUP-1681 Stat doesn't expose correct mode on Win Felix Frank (17): a838929 (#7659) add a test for puppetdoc in the presence of hash literals 90e103f (#7659) add more tests for possible hash use syntaxes dac92a0 (maint) cron: Make the munge method for the command property more readable 5a5bd36 (#3220) crontab: allow purging unmanaged resources 5645ba2 (#3220) make sure that generated cron resources belong to the correct user fd200e6 (#3220) fix a cron testing quirk with potential benefits for normale operation 3957d38 (#3220) make the unit test "generating cron resources" match the new behaviour f098f2e (#3220) save overhead in cron type unit test and add cleanup 977aacf (#3220) uniquify implicit record names 39f2015 (PUP-1327) add the file attributes owner, group and mode to nagios types ffbf6b3 (PUP-1327) simple unit test for the new nagios parameters ede7cf4 (PUP-1327) integration spec for the nagios type 1ee89b7 (PUP-713) cron: forbid the mixing of special and numeric schedules 75766d5 (PUP-713) Add tests for the special property of the cron type c54a95d (PUP-1220) apply proper scoping rules to scope#to_hash 29cff9d (PUP-1220) make the dynamic scoping fix for #22800 flexible 51b8731 (PUP-1220) optimize template scoping fix Gavin Williams (1): ad2b5ea (#23316) Update yum package provider support :holdable Glenn Pratt (2): d6f67ea (maint) Fix unused argument and variable in file_spec.rb 488bcc2 (PUP-1150) Fix race condition in Puppet::Util::Lockfile. Guillaume Virlet (1): c9b51eb (PUP-1404) execpipe resets LANG and LC_ALL Henrik Lindberg (340): 38198f6 (#22363) Add [] method to PPatternType to create regexp. 3110458 (#22363) Extend type system with PHostClassType and PResourceType 120774f (#22363) Add type parameter to PType 9305ffa (#22363) Add abstract type PCatalogEntryType f1eab08 (#22363) Remove super type from PHostClassType c0591c2 (#22363) Add [] type operation to subtypes of PCatalogType ff551b5 (#22363) Add test of capability to create array of types using [] 43c7b3e (#22454) Fix partial shadowing of match variables. 2a3d619 (maint) Remove unused ephemeral?(name) from scope. ff5be26 (#22363) Add "future evaluator" 8dbd865 (#22363) Add variables tests and fix evaluation implementation. 9788ff3 (#22363) Remove defunct testing of type operations 74278bc (#22363) Add Integer[from, to, step] feature to produce array e5fcabe (#22363) Fix typos in test example titles 253fc14 (#22363) Add evaluation of conditionals test and fixes a66b923 (maint) Cleanup Scope impl from unused methods & test specific code 709b843 (#22363) Add examples for match result variable shadowing 0ccf3c9 (#22363) Add tests of Block, and Array/Hash +, -, and << operators 34f10b5 (#22363) Add support for -= operator (validate as error in puppet 3). 3c1c376 (#22363) Add validation test for -= (UNSUPPORTED_OPERATOR) in Puppet 3 d1bd7e7 (#22363) Add examples for -= and += (parser) and fix issues in evaluator 51ef75e (#22363) Add evaluation of calls / lambdas 299b324 (maint) Remove TODO comment (fixed thing), and yardoc text typos 28ccec2 (perf) Add optimized versions of Visitorv.visit_this_n 35807f6 (perf) Change TypeCalculator to use optimized visitor calls. 89bc985 (perf) Make lexer 30% faster 37c602c (perf) Add Lexer2 - a faster Lexer replacement 872f0d7 (#20516) Add support for epp templates in new lexer 39e097b (maint) Improve output from match_tokens2. 4adaaf7 (maint) Fix problem after adding flag to respond_tp? call 2989f40 (maint) Move Lexer2 to the correct namespace (Puppet::Pops::Parser) 1a54491 (perf) Make future parser use new faster lexer 7770c23 (maint) Add test examples for nested naming of classes 3765069 (maint) Fix parsing hostnames containing '.' as sequence instead of name fd7525c (#22962) Remove alternative lambda syntaxes from tests 02e9223 (perf) Speed up containment calculation by 2x cd7f8ad (maint) Allow any expression as hash key in parser a0bca5e (maint) Improve handling of loc/sourcepos calculation in parser support 8ca589f (perf) Include perf benchmark for parse + validate 8a154ab (perf) Make location calculation lazy and pass all tests 4b3438d (maint) Remove dead / unused and broken code in Factory a930dbf (maint) Add use of new evaluator in specialization of EvaluatingParser 07b39dd (#22363) Add parse / validate / evaluate tests, fix evaluator issues 0859519 (maint) Fix indentation d9be82d (maint) Add missing DELETES token in grammar 01b5296 (maint) Cleanup comments 68f7272 (maint) Remove unused file CallOperator ada7756 (maint) Protect against endless recursion if user calls with wrong type f61cdde (#22363) Change evaluator error reporting to use Pops::Issues 6f45d1c (perf) Move all behcmarks to one unit test and exclude it with filter f61569a (perf) Make small performance improvement to validation 40ded61 (perf) Make small performance improvement to assignment validation 2dba6bf (maint) Fix issue after optimizing validation calls; renamed var 563554a (maint) Remove unused model class LiteralText aebf6b2 (#22363) Refactor model of literals 6fbc1ef (#21874) Apply making name[x] and name [x] different. 04fe41e (#22363) Add Puppet 4x validator & tests 52ca43b (#22363) Add tests for evaluation of types eafaec2 (#22363) Make if, unless, case be rvalue producers bb39e91 (maint) Remove unused cruft from pops model 8a4de7a (#22363) Add top level Program model, and add pops AST bridge f523ac8 (#22363) First wiring of new evaluator to parser factory acb7f73 (#22363) Fix typos, missing methods 86d6f53 (#22363) Add evaluation of Resource Expression 0f3a988 (#22363) Fix issues relating to handling of undef and "to_s" ff5c140 (#22363) Add impl of evaluation of resource defaults and overrides 775d209 (#22363) Add lookup of resource parameter value 5b3fec7 (maint) Remove unused OptionalAttributeOperation 29ecb43 (maint) Clean up stale comments fb6a1ee (maint) Remove unused constructs and use faster polymorph calls 1cdea27 (maint) Remove support for hyphen in name in lexer2 ac6a8d2 (#22363) Add support for evaluation of CollectExpression. c3e089f (#22363) Make selector and case use same equality as for '==' operator 8779a40 (#22363) Remove unused datatype_reference method in evaluator. ea3d6ac (maint) Remove stale TODO comments 60bf2af (#22363) Remove the support for applying [] operation without arg(s). 78a7270 (#22363) Refactor name of Puppet::Pops::Evaluator::Lambda to Closure 9f1a1ae (maint) Cleanup unused code and fix comments f88ab81 (maint) Delete reference grammar.ra aaf2d91 (maint) Add TODO comment about \u handling in string quoting 1ce685e (#22363) Improve handling of PNilType 19d2c2b (#22363) Add missing support for Numeric type f944fc2 (#22363) Correct failing test that relied on fixed bug for Type[Undef] 450dd9e (#22363) Make interpolation use string_ for all runtime types 09b7115 (#22363) Add test for interpolation string conversion undef / default 1713df3 (#22363) Add more String interpolation tests 050314a (#22363) Remove ablity to apply operator % to floats e37a98b (#22363) Add test that shows negaice shift reverses direction edf5e8e (#22363) Add test that false != '' 8f6f9fb (#22363) Remove support for compound assignments aa234c0 (#22363) Make Integer[from, to] work as a Range type b5f900a (#22363) Add test for Integer type to string 57c869d (#22363) Add Integer range inference test 60dc68c (#22363) Add test of instance? for integer range 7b28eaa (maint) Remove dead code/comment 39acf01 (#22363) Fix problems in TypeParser 81e85da (#22363) Fix problem with reversal of compare <, > of types ac7618d (#22363) Fix issues with type comparisons 9c5b4af (#22363) Add additional Integer range tests 2ddb879 (#22363) Add capability to match against Type 463ce09 (#22363) Make access with [] also work for class parameters b610a28 (#22363) Make test for [] on Class to get parameter really work 8298f4b (#22363) Handle failing tests due to renamed collect/map 37a3011 (#22363) Rename box_numeric to coerce_numeric 8319670 (#22363) Port use of FileSystem to Lexer2 d057f61 (#22363) Add strict variable lookup mode ee46b7b (#22363) Add test that literal type can be interpolated 7c7bc58 (#22363) Add tests for [] without keys and unsupported LHS => error 0a4e52e (maint) Refactor evaluating parser tests 63ea50e (#22363) Add relationship test f99fc7d (#22363) Fix problem with integer string to Integer on Ruby 1.8.7 5604115 (#22363) Make string and array access operation work as specified. 54300d9 (#22363) Fix failing tests on Ruby 1.8.7 aef7e43 (#22363) Refactor Type system, add Enum, Regexp, and Variant 8d1d883 (#22363) Add alternative Visitor impl that may prove faster 647a76a (#22363) Add validation of case and hash. 1f31e7e (#22363) Add additional rvalue checks to if, unless, and literal list ba4ced2 (#22366) Fix model building of CollectExpression 1fa7110 (#22365) Add validation of select expression f9343fd (#22363) Improve error messages for division by 0 and infinity 20ae071 (#22363) Produce meaningful output for all runtime errors c64c1c1 (maint) Error with file set to "" should be taked as file is not known 6921bcb (#22363) Fix problems with undef equality & problems from added tests 6c4f052 (#22363) Make queries work with future evaluator ab509d9 (maint) Remove call to debugger 826c157 (maint) Remove debugger call 231ddaa (#22363) Make compilation work using new evaluator c88d587 (#22363) Make errors for illegal Class[x] references better. 7a6a7d8 (#22363) Add compiler integration test for future evaluator 7d1ed7b (#22363) Improve validation of names and variables 3ec41e2 (#22363) Improve error for Class[File['foo']] 7d3b22b (#22363) Fix failing test (typo in regexp). dca73e6 (#22363) Remove support for extract type and title from type calculator dfedea7 (#22363) Add file/line when creating resources and parameters d91ec64 (#22363) Add file/line information to resource operations a93904b (#22363) Make hash lookup agnostic for nil/undef lookup 5ab367f (#22363) Add test to assert that hash lookup miss == undef 0bf0e62 (#22363) Add label.plural support to LabelProvider 6173265 (#22363) Improve label provider c37da60 (#22363) Improve error messages from [] operator 96862df (#22363) Add support for Float range. e4e4a57 (maint) Fix failing tests after rebase to latest master 82300dc (maint) Raise exception when reaching corner case of code merge fa18883 (maint) Remove calls to debugger in performance / serialization tests 7e83025 (maint) Fix indentation in benchmark_spec.rb b2e845f (maint) Fix typo of o-diaresis char in comment fe9112d (maint) Fix indentation of attr_reader 5f2281b (#22363) Add description of iterating an enumerable type with each. 66fce66 (maint) Comment out unreachable code in pops bridge facef51 (yardoc) Fix typo in source pos adapter yardoc. 4406e45 (yardoc) Fix stale yardoc for Resource [] operator 16c9097 (#22363) Remove validation of relationship expressions 1d121c3 (maint) Fix stale comments and remove commented out code. 718ebc4 (#22363) Fix problems from changed validation of relationships. 4707539 (#22363) Fix faulty references to Puppet::AST 987b8ea (maint) Move require pops_bridge to pops.rb ef3309e (pup-954) Correct flaws in the Pattern Type implementation 4ad3536 (maint) Fix type calculations for Variant f5d0880 (pup-954) Fix issues with typesystem's handling of inference. c502975 (pup-954) Fix failing test for Ruby 1.8.7 (hash entry order) f6b77cc (PUP-992) Add support for Array as operand in relationships 26da689 (PUP-994) Ensure relationship operands have uniq content b766960 (PUP-490) Remove partial import-support from future evaluator f09ea59 (PUP-490) Remove partial support for import (the sequel) dbdbde2 (PUP-866) Deprecate Import 9ce3dca (PUP-490) Remove comment that mentions "import" from transform_calls 69d4f56 (PUP-490) Remove dead code after removal of ImportExpression 32197e7 (maint) Fix typo in example title 07abcba (PUP-954) Remove commented out debugger breakpoint 341bb39 (PUP-865) Add ability to parse a directory of manifests 9cde175 (PUP-865) Change name of shared test group to one not already claimed 0dacd1e (PUP-865) Update defaults text for :manifest to show use of directory 32bae2d (PUP-864) Add deprecation warning for mutation of array/hash 08e490a (PUP-939) Add ability to filter an enumerable type. fdcee69 (PUP-939) Update documentation of filter function. 4d7a26e (PUP-939) Add support for enumerable type in reduce function. bff9f8a (PUP-939) Add support to iterate over enumerable type in map function 58e885c (PUP-939) Add support for enumerable type to slice function. 09a44c6 (maint) Fix "should_not_reassign" acceptance test for future parser fbdc1cf (maint) Fix future parser inability to parse virtual class instantiation 513ece6 (maint) Add Issue for reassignment of variable 65e4739 (maint) Move 'jeff_append_to_array' from acceptance to integration test a475153 (maint) Make integratin/scope_spec run for both current & future parser e07333c (maint) Fix issue with dumping a future evaluator Expression a07ee79 (maint) Fix dumping of ast (PopsBridge::Expression). 71e9217 (maint) Fix flawed test for future evaluator 1741f32 (maint) Fix problems with scope bound? and exist? methods f11b917 (maint) Fix issues in runtime3 support for future evaluator 1659b26 (maint) Fix various issues with +=, -= in future evaluator 8a68b3d (maint) Differentiate between re-assignment and reserved var assignment 1d9692d (maint) Make [] operator flatten keys for all LHS types except hash. 8c8e101 (maint) Fix failing test for access operator since array is now ok bc4d7b9 (PUP-910) Convert args from 4x representation to 3x 7d1cf4c (maint) Make 3x conversion use verbatim types for non Host/Resource. 29b705d (maint) Make Resource::Type use the CodeMerger strategy 9efd726 (pup-546) Remove hiera2 support from binder 11be2bf (pup-546) Remove automatic injector lookup for class parameters. 3937029 (pup-546) Remove hiera2.rb (central file with require's for hiera2) c494b1e (pup-546) Update default.rb and remove mention of hiera2 a223088 (PUP-546) Replace lookup function with something useful 16909de (PUP-546) Fix problems with lookup after removal of hiera2 3215d45 (maint) Provide option to 4x->3x convert to handle :undef differently 6b5b08b (PUP-798) Add call to watch_files to ensure reparsing 48c73a2 (maint) Add Optional Type 092ee00 (maint) Add support for Optional in TypeParser and TypeFactory bff6ed3 (maint) Make handling of undef more strict as a type 8590720 (maint) Make injector accept undef/nil when doing type checking 3d1ddf1 (maint) Fix several issues with type system implementation fa4e64e (maint) Add support for creating the PType (metatype) in type factory 860b0d0 (maint) Add support for Type[T] in access operator a702bb8 (maint) Add test of Type[T] access operator. cda3993 (maint) Add support for Type[T] in TypeParser eb0196d (maint) Add support for Ruby['classname'] in access operator. 335278d (maint) Add test for Ruby['classname'] 5614f21 (maint) Add support for Ruby['classname'] in type parser f8cb0ce (maint) Add support for Collection[<size constraint>] to type parser 4250646 (maint) Correct assignable? for Type without type parameter a430cbc (maint) Add test for Type[Type[x]] instance? operations be0cebf (maint) Fix inconsistency when case option is a Type. 93b43a0 (maint) Remove support for categories in the binder 44ac0e3 (yardoc) Fix yardoc text for Injector and BindingsFactory b94a4aa (maint) Refactor Binder to not use two step creation. 5c48b2f (maint) Cleanup spec tests after refactor of binder one step create 091730d (maint) Add support for final binding 255df4e (maint) Add handling of layered multibind de12ade (maint) Add convenient create/override ability to Injector 6fccece (PUP-1176) Add evaluator feature switch for future/current evaluator 0b401fc (PUP-1176) Add feature switch for evaluator to ParserFactory 33b3920 (maint) Fix typo in documentation for --parser and --evaluator c2446db (PUP-1144) Make future parser accept $_private 1304a33 (PUP-1144) Fix up failing tests (pending new/better validation) ae9d4f9 (PUP-1144) Make variable name checking stricter ca3adc4 (PUP-800) Add offset and length to Locatable base class in model fecccb3 (maint) Remove stale commented code f49b9ce (maint) Fix up type parser's handling of String 938b4e7 (PUP-716) Change Puppet::FileSystem::File to module methods 4592401 (PUP-716) Change more tests after refactoring b5d8439 (PUP-716) Make more tests in fileset_spec pass 268483c (PUP-716) Fix up fileset_spec (1 failing test remains) 0e02e6b (PUP-716) Fix up content_spec.rb 0180757 (PUP-716) Fix up metadata_spec after refactored FileSystem changes a96e7f2 (PUP-716) Refactor and mae file_system/file_spec green 2cdcce4 (PUP-716) Refactor tempfile_spec after FileSystem API change f28781c (PUP-716) Fix up base_spec tests after FileSystem API change 7c0d051 (PUP-716) Fix reference to removed FileSystem::File dae0a9d (PUP-716) Fix typos after change of FileSystem API 45a7fd2 (PUP-716) Fix reference to FileSystem::File in implementation e9d2c99 (PUP-716) Remove references to FileSystem::File in non code 3aa4c98 (PUP-716) Fix up direct_file_server_spec after FileServer API change b79bcfa (PUP-716) Fix up file_server_spec after FileSystem API change 1970b55 (PUP-716) Fix up json_spec after FileSystem API change 25d7156 (PUP-716) Fix up ssl_file_spec, yaml_spec after FileSystem API change 09a4d48 (PUP-716) Fix up unit/network specs after FileSystem API change 897f317 (maint) Add () around potentially problematic Ruby expression 6d3075c (PUP-716) Fix up FileSystem API change, tests indirector, parser, node 6574ecc (PUP-716) Fix up tests after FileSystem API change 28e63af (PUP-716) Fix up tests after FileSystem API change (unit/provider) eec0c81 (PUP-761) Fix issues with unit/indirector/key/filespec FileSystem API e15cae8 (PUP-761) Make most FileSystem API change related test pass 1959c1a (maint) Remove unused file_system/file.rb 3649986 (PUP-761) Fix integration tests after FileSystem API change f880bb7 (PUP-800) Clean up and improve handling of location / position 207bb32 (PUP-716) Fix issues found in review (mainly typos) d584977 (PUP-1212) Fix uninformative stack backtrace in evaluator errors ca995cc (maint) Correct documentation of each function 3d55fa9 (PUP-1212) Add stacktrace to all evaluator issues df859f8 (maint) remove dead code in scope_spec 02878e8 (PUP-1166) Add better error message when turning on strict_variables efa9eef (PUP-1529) Make squelch of parse error use context instead of global 424ce15 (PUP-1579) Rename the Literal type to Scalar df159e2 (PUP-1029) Add Enumeration - common place to produce an Enumerator. 70eb5d9 (PUP-1029) Make filter function use common Enumeration support. 720059c (PUP-1029) Make map function use common Enumeration support. fef9f01 (PUP-1029) Make each function use the Enumeration support. 0ef996b (PUP-1029) Make reduce functon use common Enumeration support. 09bfbcb (PUP-1029) Make the slice function use the common Enumeration support. 253866c (PUP-1029) Fix problem with class Enumerator btw. 1.8.7 and 1.9.3 ba8199d (PUP-1029) Fix problem with Enumerator for String chars on Ruby 2.0.0 da6f08a (PUP-1029) Make map function consistent with others 34bf008 (PUP-1029) Update documentation of map function 36ec72d (PUP-1619) Add first impl of working Tuple Type 9c3068a (PUP-1619) Fix problem with parsing Tuple 690f029 (maint) Add Array type size constraint test 731d2ba (PUP-1619) Add more tests of Tuple Type c527b94 (PUP-1619) Make Tuple a subtype of Data when its elements are Data b9840e5 (PUP-1619) Add support for a Struct Type e372a34 (PUP-1619) Accept missing struct keys if type for key is optional 8c27513 (maint) Fix issue with type_of not handling Optional type e93ac60 (maint) Correct indentation in type parser dbdff13 (PUP-1619) Add support for Struct in Type Parser d5c26fe (PUP-1619) Add tests and fix issues in type parser 8952cdb (maint) Fix regexp with unescaped { causing warning when running tests e1d378d (PUP-1619) Fix problems with Ruby 1.8.7 Range min/max & Infinity d2cfada (PUP-1619) Fix typo in Tuple instance_of logic 5b8e79a (PUP-1619) Add instance? tests for struct and tuple 96fc0cf (maint) Add missing class method instance? to TypeCalculator e79d999 (PUP-1029) Improve error message consistency and information e0240fe (PUP-1592) Speed up loading of user defined types by 2x 5801c89 (maint) Remove stale comment about shortened list in http_environments e7b6d9f (maint) Make setting not screw up when interpolating a false value 8ccb392 (PUP-542) Add structured facts to immutable $facts b51c12b (PUP-542) Improve descriptions of trusted & immutable node data settings bf84e35 (maint) Add test for interpolation of setting having false value 56521b7 (PUP-542) Make tests pass on 1.8.7 ('hash' vs 'Hash' in message) 6fc7d25 (PUP-1576) Make hyphen in bare words legal (future parser) 8c7cc30 (maint) Fix typo in unicode escape in future lexer a3befa0 (PUP-1144) Improve handling of underscore in variable names 95a3a09 (PUP-1814) Make double backslash in sq string behave as documented. 2f8428c (PUP-30) Add foundation for heredoc and epp (parser and model) f409405 (maint) Add eAllContainers enumerator to Containment 420edbd (PUP-30) Add SubLocatableExpression to handle "embedded" expressions e93eeaa (PUP-30) Add support for the SubLocatableExpression 74873c4 (PUP-30) Add SUBLOCATE token to lexer to communicate subspace 6e81e03 (PUP-30) Complete implementation of sublocated expression 022fe3d (maint) Fix issue when issure report was called without issues c9f4c58 (maint) Fix missing argument in BindingsModelDumper e13941e (maint) Speed up External Syntax Check if there are no errors be64496 (PUP-30) Add tests for heredoc at parser and evaluator levels 6f97e45 (maint) Correct spelling in comments 787d3f3 (PUP-30) Make epp parser emit EPP_START, and generate Program e692abb (PUP-30) Add tests for epp parser and make them pass 2437c17 (PUP-30) Add call-by-value of closure in evaluator b72749e (PUP-30) Rename epptemplate and inline_epptemplate to use 'epp' 95aa2d6 (PUP-30) Complete implementation of functions epp, and inline_epp 1539c1b (maint) Fix scope.find_global_scope when running tests 8ac3bd1 (PUP-30) Fix tests and issues occurring when running tests b49ccda (PUP-30) Add more tests of epp() function d782a60 (maint) Correct name of test for epp function 2a73421 (PUP-30) Add tests of inline_epp function 597cde0 (PUP-30) Fix problem with changed behavior in StringScanner.scan_until 2cba220 (PUP-1895) Change <%( )%> to <%| |%> for EPP parameters 12849b5 (PUP-1898) Fix broken exception raising when inline_epp gets non string a78662b (PUP-1898) Fix reference to ArgumentException cffea9c (maint) Remove dead code checking non existing ImportExpression b3f8cb0 (maint) Remove dead-code check if ImportExpression is r-value edd3e8e (PUP-1897) Allow EPP render expression to render a block 8a4d1b3 (PUP-979) Fix unparenthesized calls with hash to not give strange error a916a53 (PUP-1897) Change epp lexer/grammar to only accept single rendered expr 323f228 (PUP-1897) Fix failing lexer2 test, and update with additional tests ab1ae3c (PUP-1897) Improve test of EPP trim, and expr after params Iristyle (2): c580cd9 Revert "Merge branch 'ticket/master/18342-windows-file-setting-owner-group'" ffecc4e (maint) Fix major performance regression in Puppet specs James Ralston (1): f73142e (PUP-2118) (#22330) add btrfs to SELinux filesystem whitelist Jasper Lievisse Adriaanse (5): c6c2c74 (#23141) Add OpenBSD to the exclusion list for 'remounts' in mount type 87b7299 On systems without "-o remount", use "-o update" except for AIX. b69a3e2 (#23376) Add support for ssh-ed25519 keys to ssh_authorized_key type fff10ad (PUP-1218) Add ssh-ed25519 support to the sshkey type 208ca9b (PUP-1218) Teach the ssh_authorized_key provider about ssh-ed25519 too. Javier Palacios (1): c73d590 (PUP-648) Implement upgradeable and versionable on the pkgin package provider Jeff McCune (1): cb55950 (maint) Fix can't modify frozen Symbol error on Ruby 2.1.0 Jeremy T. Bouse (1): c6846c2 (PUP-1120) Fix private key permissions for group read Joe Julian (1): 218e0f1 (PUP-1563) resolve_install_conflicts excessively recurses John (JJ) Jawed (1): be1e39d (PUP-1665) Fix traversal of signed certs when listing signing requests. John Julien (1): c1a17ff (PUP-1510) Fixed forcelocal bug with ensure => absent Jonathan Webb (1): 14e257d (PUP-1421) Remove flawed source validation in package provider appdmg. Josh Cooper (16): 40193c5 (PUP-1282) Express Windows specific gem dependencies 29509c3 (Maint) Fix load order dependency 1246979 (PUP-1120) Make modes of public ssl directories explicit 8fb2253 (PUP-1120) Be explicit about group for ssl directory f1fed00 (PUP-1120) Remove group write permission for ca settings ed2e92b (PUP-1407) Verify that CRL times are within expected ranges e32b0e9 (PUP-1407) Verify extensions are still present after revocation 4b75311 (PUP-1407) Actually test deserialization and CRLReasons d65211e (PUP-1407) Fix specs on 187 5820d4c (PUP-1681) Always go through the native windows methods 5208c1a (PUP-1707) Ensure puppet man works for all applications b6b7906 (PUP-1707) Ensure ERB generated help content is UTF-8 encoded e418494 (PUP-1707) StringIO#set_encoding doesn't exist in ruby 1.8 e117af8 (PUP-1275) Never try to fork on Windows 3da573e (maint) Remove trailing commas 9936638 (PUP-1563) Don't recurse when dependencies are empty Josh Partlow (64): 62cd3aa (#23373) Fix line number tracking for settings config 7cc05f5 (#23373) Always open config so we are reading from the beginning ff96ef3 (maint) Add an acceptance pre-suite step to set the parser 96caba1 (maint) Share common acceptance setup 2b5d183 (maint) Ensure rgen gem installed for future parser tests a5a9c01 (maint) Windows ruby commands need a cmd /c prefix c9ff5a9 (maint) Move everything out of el6 and into acceptance/ 4ce17f7 (maint) Pin acceptance to beaker ~> 1.2 6ba2acb (maint) Script package pipeline submission for Jenkins 2179b4a (maint) Disable repo_proxy when running solaris acceptance 2479210 (maint) Don't cd to nonexistent el6 directory 3bba6db (maint) Remove an escaped return char that was breaking solaris options caf92e6 (maint) Check --parser setting on the test host 74bda42 (maint) Switch to setting Beaker log_level to debug 39d630f (PUP-798) E4ParserAdapter watches files through Environment 9acfb98 (maint) Uniform use of TypeCollectionHelper in Scope 37aabc4 (maint) No longer install json gem for future parser acceptance runs f7e81b3 (maint) Acceptance test selector tests for a string rather than a type 959e0cc (main) Remove symlinks from acceptance harness 260eaf1 (maint) Simply confine test to any platform with Ruby shadow 7a1a025 (PUP-672) Puppet::Context is immutable. d288d68 (PUP-672) Move TrustedInformation into Puppet::Context 59b13da (PUP-672) Fail fast if pop root of Context stack 513f5ff Revert "Merge pull request #2207 from jpartlow/maint/master/simplify-confine-for-6857-test" 1004eae (PUP-724,#21922) Autoload compares only integer secs 781e579 (maint) Update fedora platform designation for ticket_6857 test fa2f6cf (PUP-672) TrustedInformation handles a nil certificate. f9b76ae (maint) Improve docs for acceptance ci:test:git from another FORK b390fc3 (PUP-716) File19Windows#symlink calls exist? on instance not class. 33db03f (PUP-716) Assert path before making stat expectation c593804 (maint) Reset Puppet::Parser::Functions early in TestHelper.initialize f381f2c (PUP-1118) Fix rdoc1 specs to match changes to rdoc puppet_parser_core f4b6cc2 (PUP-576) Handle Ruby 2.0 OpenSSL lib error message 284bbfc (PUP-576,PUP-1064) Update to activerecord 3.2.x to work around a Ruby 2.x issue 7534bf7 (maint) Acceptance install_utils uses release rpm symlinks 3ebdccf (PUP-576) Update store_configs test for Debian 04a657c (PUP-1551) Change environmentdir to environmentpath 370d5bc (PUP-1551) Rename environmentdir acceptance test to environmentpath e17268b (PUP-1551) Use environmentpath in can_enumerate_environments test 6b9b19c (PUP-753) Use an earlier version of ruby-prof on 1.8.7 85ffdfb (PUP-753) Constrain ruby-prof solely to the development group c65745c (PUP-1574) Environment setting does not override apply/parser manifest a2c320c (PUP-1588) Constrain new msgpack specs to only run with msgpack lib 6a5600f (PUP-1584) Module tool acceptance with_environment tests directory envs a07e73b (PUP-1584) module_tool uses current_environment with target_dir overrides f3c2d6c (PUP-1584) Be explicit about adding log functions to root environment 444c333 (PUP-1584) Expand some modulepath settings for windows 5d7ff32 (PUP-1676) Puppet::Settings retrieves directory environment settings 9725e5b (PUP-1676) Environmentpath acceptance test uses basemodulepath 30ee60d (PUP-1676) Allow main as a directory environment. 0b0a3b6 (DOC) Environments route is v2.0 not v2 f9a51e9 (maint) Broaden managehome acceptance test on windows 2003 445c54e (PUP-1678) Puppet::Node::Environment.create expands manifest path 1df0eb4 (maint) Use with_puppet_running_on in backported cve tests. fd0ed3c (maint) Broaden managehome acceptance test on windows 2003 9088d34 (PUP-1765) Directory env respects cmdline modulepath and manifest 674bee9 (maint) Match current spec style and usage c40941d (PUP-1765) Change assert_not_match to assert_no_match c977045 (PUP-1372) Add variable and pops type checks to defined function 5d49d37 (PUP-1765) Use master ssldir setting with default environment test c00e883 (maint) Release hosts to the vcloud pooling api a0ae696 (maint) Remove unused rsync for preserved acceptance test reruns 30aa2be (maint) Pin to Beaker 1.7 and default to preserve_hosts onfail ba3b5d9 (maint) Change regex for picking up beaker hosts to match current output Josh Sharpe (1): 2292f59 (PUP-1420) Move global StateMachine to Puppet::Zone Joshua Hoblitt (1): e37330f (PUP-1564) add :uninstall_options feature to package rpm provider Ken Barber (1): 0e794fe PUP-1772 Change api for Puppet::Util::Profiler#profile to public Kylo Ginsberg (40): 157ac49 (maint) Fix spelling in a comment. 11fd446 (#23141) Fix remount on bsd if options are specified a04d428 (maint) Remove obsolete line of code 5e7ad8b (#23141) Split spec test into two for the two non-remounts scenarios cbe63d3 (#23141) Remove Darwin from the list of OSs with the new 'update' support e1fde8c (maint) Pin beaker to 1.2.0 1b112a1 (maint) Fix a comment. 6494a11 (maint) Fix rdoc generator for Ruby 2.1.0 3c79f8a (maint) Drop -v flag when untarring acceptance artifacts 236b87d (maint) Add temp workaround for travis b1dfbd2 (maint) Add a diagnostic check that lmhosts is running 1fa50a4 (PUP-1151) Fix the master port # (thus addressing a failure on windows) f2e7760 (maint) Derive path for status.json (rather than fixed offset from cwd) a685897 (maint) Fix typo in a RuntimeError name 22a0032 (maint) Fix typo in spec test description 44ae495 (pup-923) Add a fedora 20 config 2f31653 (pup-1505) Switch to using facter.search_external for setting search paths for external facts c5162bc (maint) Fix another broken rspec restriction 2418ebd (pup-640) Update report schema for error events 6c982a9 (maint) Add how-to for destroying individual hosts 379c5af (maint) Switch from -fd to -fp for specs to reduce disk space usage 6d2eeaa (maint) Unset the defaultprovider after caching it c87f1fe (maint) Fix typo in spec 1d52d35 (pup-1636) Add a rhel7 config 9ffb57a (pup-1636) Add firewall service name for rhel7 cfdcf76 (maint) Fix two example command lines that were missing 'rake' 06d5f53 (maint) Add newline at end-of-file under lib 4bdee68 (pup-1636) Skip enc test on RHEL7 159a979 (pup-1636) Confine two tests to el5 and el6 which are all the tests are written for 8b54913 (pup-1732) Report only services from systemd 8ae792f (pup-1732) Remove the fixture and stub for what *not* to do f597f80 (maint) Remove a pending test which isn't pending on anything planned or asked for 04067ed (maint) Revert to installing facter.git#stable if testing from github d5fedb3 (pup-1505) Correct require 4444551 (pup-1766) Remove duplicate test 5cc77cc (pup-1766) Add support for multiple defaultfor's 0b5cbc8 (pup-1766) Set systemd as a default provider for the service type on rhel7 784b5e6 (pup-1766) Add support for :feature to defaultfor d25afca (pup-1766) Break out at first failed match 079e3ec (pup-1825) Allow use of facter 2.x Luis Fernandez Alvarez (1): 7fb721d (#23219) - Fix support of extra arguments in windows service Marc Seeger (1): 8a877d8 (maint) Add Ruby 2.1.0 to Travis CI Matthew Nicholas Bradley (1): 9c888b6 Correct all misspelled instances of the word occurred Nick Fagerlund (15): 9a9bf1b Maint: Be more clear that puppet queue is deprecated ef6943c Maint: Add link to list of lenses in Augeas type's lens parameter bad6c0e Maint: Catch a notice/notify confusion in a function description c052a47 Maint: (#18294) Update docs for ip property of Zone type (allows defrouters since 2.6) d74dd9c Maint: Move pkgdmg documentation into provider description; document changed behavior 5f2dc71 Maint: Remove remaining links to wiki pages in Puppet source b915e7f (docs) Update description for Exec type's logoutput parameter 6d26a20 (maint) Revise and reformat docs for validate_cmd parameter a0d87d2 (maint) Scrub whitespace on global setting descriptions when inserting into man pages 24c8fa2 (PUP-1707) Fix possible gsubs on nil in man page ERB template e9c916d (maint) Revise docs for evaluator setting 641f5ea (maint) Improve Puppet::Util::Docs.scrub's handling of one-liners 85922de (maint) Typo fixes: repeated words (e.g. "the the") ce5d84d (maint) Revise help for puppet config subcommand 3bd0a26 (maint) Banish "configuration parameter" Patrick Carlisle (2): 03734e5 (#20584) Add acceptance test for safer yaml handling in request body 56c2a36 (#20584) Add acceptance test for safer yaml handling in query parameters Paweł Tomulik (5): a3881a9 Suppress misleading warn. in openbsd provider 6ba2a7b (pup-1369) Add package_settings property for package 652f3b2 (pup-1369) Add more specs for package/package_settings 4ef4e50 (pup-1369) Fixed a bug in package/package_settings 0e283d8 fix regular expression in ClassGen#is_constant_defined? Pedro Côrte-Real (2): b08f570 Bug 1051 (platforms mistook for versions) 39a8807 (PUP-1051) Add rspec test to verify fix Peter Huene (15): 0bb13a1 (PUP-1492) Fix pacman specs so that they pass when yaourt is installed. Stub out the location of yaourt. Fix spec that assumes pacman is executed when yaourt is installed. 295467b (PUP-1318) Fixing expected parameters in service provider specs now that service output is no longer squelched by default. Redmine 565, a seven year old issue referenced in a comment in lib/puppet/provider/service/service.rb, is no longer applicable to `Puppet::Util::Execution#execute`. It was squelching service output because of a bug in ruby where `#read` on a pipe never returned when the spawned process is SIGTERM'd by one of its children. The current implementation of `Puppet::Util::Execution#execute` redirects to a temporary file instead of reading from a pipe. We should no longer be squelching service output so that users can easily diagnose service failures. 21ddae1 (maint) Adding .ruby-version and .ruby-gemset to .gitignore for RVM users. da5bc0e (maint) Fix acceptance test failure caused by backtrace preservation change (GH-2293). We should not be accessing the exception object from the else clause of the begin/rescue/else. 8e835d5 (maint) Fixing acceptance test failure caused by GH-2293. ab168ce (PUP-1278) Updating Windows service event messages. 065c4f5 (PUP-1473) Fix issue with UTF-8 in user comments 18a87a4 (maint) Fix pkgin package provider spec to ensure resource uses the pkgin provider. a76d681 (maint) Fix yumrepo inifile spec to stub the correct method 69a4051 (maint) Fix spec for UTF-8 strings in user comment properties abfc76c (PUP-897) Allow rpm package provider to query by virtual package name. e61ac84 (maint) Fix useradd spec when using ruby-shadow 2.3.3. 88c1012 (maint) Change Travis CI to output documentation format for specs. 420a9db (maint) Add rake task for parallelizing specs. 7c4cfe2 (maint) Fix parallel:spec rake task when dependencies are not present. Peter Meier (2): 658f123 Fix PUP-1568 - no success variable anymore 49412e0 Fix broken spec & wording of error message. Peter Souter (2): 50a9eb3 (PUP-1318) Make service squelch false This will allow us to get failure output from commands... 4c38910 (PUP-1318) Service now outputs full errorlog on fail Raphaël Pinson (1): 5d70a82 Fix small typo Rob Braden (1): f7f4550 (pup-1491)(packaging) Remove Fedora 18 as a default build target Rob Reynolds (1): fe4bcba (PUP-1282) Allow patch version float on windows dependencies Ryan McKern (3): 47316e9 Add initial support for building in a RHEL 7 mock 69f5e99 (maint) Update Debian dependencies for new debian-testing packages 64f8b93 (packaging) Update PUPPETVERSION to 3.5.0-rc1 Sam Kottler (1): 78b54c7 (PUP-1463) Enable puppet.service during upgrade if puppetagent.service was previously enabled Sebastian Schmidt (2): 64f1a1a (#7659) Fix commentstack when parsing hashes 4ebf3af (PUP-652) Fix error reporting for ParsedFile Stephen Gelman (1): 34c4697 (#7173) Add HTTP basic auth support to HTTP reporting in Puppet. Vincent Ambo (2): 28490d2 (PUP-1085) Make Pacman provider group-aware 82cdf16 (PUP-1085) Add and fix pacman provider tests Will Farrington (1): 93102e5 (PUP-1846) File content diffing should respect loglevel fhrbek (1): d56347a PUP-1322 Do not fail hard on unparseable files glenn.sarti (1): 2cfc323 (PUP-1278) Windows Puppet Agent Service gracefully terminates after succesfully being put into a Paused state glennsarti (2): f605577 (PUP-1048) Windows puppet service should log to the eventlog 0ce0c64 (PUP-1048) Windows puppet service should log to the eventlog jrussek (4): d45930c (PUP-1387) fixes wrong hash in subjectKeyIdentifier 9fbcbf0 (PUP-1409) add authorityKeyIdentifier to client certificates 29dffc4 (PUP-1407) Rewrite certificate_revocation_list test to use a temporary CA instead of mocks 64f94d1 (PUP-1407) Add authorityKeyIdentifier to CRL to make the CA conform to RFC5280 -- Ryan McKern Release Engineer, Puppet Labs *Join us at PuppetConf 2014, September 23-24 in San Francisco* -* http://bit.ly/pupconf14 <http://bit.ly/pupconf14>* Register now and save $350! -- 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/CADj7mEdPFqZk1XSFBsQ3EVm8BfM3cmcK1shin060d_2XrHwDMA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.