CHANGELOG.mkd in r10k-2.0.3 vs CHANGELOG.mkd in r10k-2.1.0

- old
+ new

@@ -1,7 +1,157 @@ CHANGELOG ========= +2.1.0 +----- + +2015/10/28 + +### Thanks + +Thanks to the following contributors for their work on this release: + + * [Abel Paz](https://github.com/apazga) fixing some broken links in the Git Environments documentation + * [Alex Rowley](https://github.com/rowleyaj) for surfacing the --puppetfile and --module options for + `r10k puppetfile install` + * [Austin Blatt](https://github.com/austb) (our summer intern!) for extracting the vendored Puppetforge + code and pushing it into the upstream puppet_forge gem. + * [Branan Riley](https://github.com/branan) for updating the quickstart guide for Puppet 4. + * [Darrell](https://github.com/darrell) for adding documentation for the :local module type + * [David Pashley](https://github.com/dpash) for documenting potential issues with Rugged/SSH on Ubuntu + * [Dennis](https://github.com/pskrz) for clarifying path information in the quickstart guide + * [E. Dunham](https://github.com/edunham) for adding an entry to the FAQ to explain the name of r10k + * [Kirill Kondratenko](https://github.com/cybem) for contributing the :local module type (RK-149) + * [Louis Mayorga](https://github.com/lmayorga1980) for finding and reporting RK-143, and testing fixes + for that issue. + * [Mark McKinstry](https://github.com/mmckinst) for fixing some broken links in the FAQ + * [Patrick Robinson](https://github.com/nemski) for submitting GH-516 to catch and handle + ArgumentErrors raised when loading Puppetfiles + * [Thomas Lapinski](https://github.com/thlapin) for fixing a bug where switching from a Git module to + a Forge module would incorrectly leave the Git module version installed. + * [Thomas Mueller](https://github.com/vinzent) for updating the r10k homepage link in the gemspec. + +### User notes + +(RK-70) Expose Forge baseurl setting in r10k.yaml + +The Puppet Forge URL can now be changed from the default forgeapi.puppetlabs.com to a user specified value. +This allows users to use private/testing Puppet Forge instances. See +https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd#baseurl +for documentation on using the baseurl setting. + +(RK-96) Correctly switch from Forge modules to Git modules + +If a Git version of a module had been installed via a Puppetfile and the Puppetfile entry was updated to +use the Forge version of the module, r10k would only check the metadata - and if the metadata of the Git +version matched then r10k would assume that the Forge module was installed. This has been fixed so that +when checking the status of a Forge module r10k specifically looks for a `.git` directory and considers +the module mismatched when the directory is present, which means that it will correctly replace a Git +version of a module with the Forge version. + +(RK-142) Add machine readable output for `r10k deploy display` + +The output format for `r10k deploy display` was a YAML-like, janky hand rolled version; this has been +replaced with the ability to specify an actual data format for the output. The default output type is +now YAML. + +(GH-477) Add `--fetch` option for `r10k deploy display` + +When `r10k deploy display` is run it might be useful to see which environments don't yet exist; the +added `--fetch` option allows r10k to update the environment sources to check for missing environments +when displaying environments. + +(RK-143) Use argument vector when executing commands on Windows + +R10k used the `Open3.capture3` call, and used to concatenate the string to execute and join it with +spaces. However Windows loves including spaces in file names, which creates all sort of weird behavior +especially when running shell commands over SSH to Windows. This has been fixed to use the argument +vector form of `capture3` to avoid these issues. + +(RK-149) Add :local module type + +The new :local module type allows users to add modules to the Puppetfile that are included in a control +repository, so that modules can be kept in the Puppetfile moduledir without them being destroyed. + +(CODEMGMT-345) Write deploy signatures to a file + +If the code deployed by r10k is copied to another location without the cached repos, it becomes impossible +to use Git to interact with the repository and see which version of code r10k deployed. R10k now creates a +`.r10k-deploy.json` file that records the time and SHA of the last code deployment. + +(RK-80) Support non SSH key based authentication for rugged provider + +An error in how the Rugged Git provider provided SSH credentials prevented HTTPS urls requiring authentication +to function. This has been fixed so that only SSH urls are provided ssh private key credentials, and HTTPS +urls can provided a username and password in the URL for authentication. + +(RK-90) Don't raise an error when forge modules are duplicated + +A bug in how r10k Forge modules created caused r10k to crash when two forge modules tried to create the same +directory. This has been fixed and restores the old behavior of letting the last module specified win. + +In the long term trying to specify two modules with the same name will produce an error, but in the mean time +this fix restores existing behavior so that r10k won't roll over and die on error. + +(RK-120) Enable --config as top level command option + +R10k was originally built with environment deployment in mind, but the `r10k puppetfile` subcommand made this +assumption faulty. However the way the config file was loaded only worked with `r10k deploy` subcommands, +which prevented users from using a custom cachedir or use other settings when running `r10k puppetfile`. This has +been corrected so that r10k can always read a config file when running any subcommand. + +(RK-175) Don't crash on unresolvable Rugged ref + +When r10k was using the rugged provider, checking out an unresolvable ref would throw a TypeError because r10k +didn't always ensure that the ref was resolvable. This has been fixed so that r10k explicitly ensures that refs +can be resolved before it checks them out. + +(RK-174) Always ensure alternates file is up to date + +When r10k created a Git working repository it permanently linked the repository to a cached Git repository via +the Git alternates file. However if the cachedir setting changed, existing repositories would still reference +the old path which could very badly break Git. This has been fixed so that r10k always ensures that the alternates +file is up to date before any Git operations can happen, so that changing the cachedir will not break Git repositories. + +(RK-169) Print validation failures for invalid configs + +R10k used to have very lax handling of config file input, which would cause crashes during r10k runtime. This +has been fixed so that r10k validates all configuration before it runs and prints out all configuration +validation errors when validation fails. + +(RK-21) Indicate error when deploying non-existent environment + +When r10k was deploying a specific list of environments, it would skip any existing environment that didn't match +the desired list of environments. However this meant that deploying a non-existent environment would not +deploy any environments and r10k would silently exit with an exit code of 0. This has been fixed so that +when r10k deploys a list of environments it makes sure that each environment can be updated, and when requested +environments are missing it logs an error and exits with a non-zero exit code. + +(RK-163) Add deploy/write_lock setting + +Users can now prevent `r10k deploy` commands that change environments and modules from running via a config +option; this allows users to lock out code deployments at certain times (code freezes and times outside of +maintenance windows.) + +(GH-516) Handle ArgumentError when loading Puppetfiles + +The `r10k puppetfile check` command didn't output a very useful error when a module was given the wrong number +of arguments; this has been fixed so that r10k catches ArgumentErrors raised while loading a Puppetfile +and wraps it so that more information is added to the error message. + +(GH-469) Add `--puppetfile` and `--moduledir` options to `r10k puppetfile install` subcommand + +The `r10k puppetfile install` subcommand was able to set a custom puppetfile path and moduledir location +via environment variables to match librarian-puppet, but they accidentally didn't match the librarian-puppet +semantics - and environment variables aren't very nice to expose for configuring and application. The +`r10k puppetfile install` subcommand now supports command line flags to set these options. + +(CODEMGMT-339) Add command line option to set cachedir + +There are some scenarios where r10k needs to be run with a common config file, but on a specific basis +may need to set a custom cachedir. To make this work `r10k deploy` now supports a `--cachedir` setting +for these temporary overrides. + 2.0.3 ----- 2015/8/13