diff --git a/CHANGELOG.md b/CHANGELOG.md index 373ac156d9..d700eaf5ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,16 +5,27 @@ Ansible Changes By Release ###Major Changes: +* Official support for the networking modules, originally available in 2.0 as a tech preview. +* Refactored and expanded support for Docker with new modules and many improvements to existing modules, as well as a new Kubernetes module. +* Added new modules for Azure (see below for the full list) * Added the ability to specify includes as "static" (either through a configuration option or on a per-include basis). When includes are static, they are loaded at compile time and cannot contain dynamic features like loops. +* Added a new strategy `debug`, which allows per-task debugging of playbooks. * Added a new option for tasks: `loop_control`. This currently only supports one option - `loop_var`, which allows a different loop variable from `item` to be used. +* Added the ability to filter facts returned by the fact gathering setup step using the `gather_subset` option on the play or in the ansible.cfg configuration file. + See http://docs.ansible.com/ansible/intro_configuration.html#gathering for details on the format of the option. * Added the ability to send per-item callbacks, rather than a batch update (this more closely resembles the behavior of Ansible 1.x). * Added facility for modules to send back 'diff' for display when ansible is called with --diff, updated several modules to return this info * Added ansible-console tool, a REPL shell that allows running adhoc tasks against a chosen inventory (based on https://github.com/dominis/ansible-shell) +* Added two new variables, which are set when the `rescue` portion of a `block` is started: + - `ansible_failed_task`, which contains the serialized version of the failed task. + - `ansible_failed_result`, which contains the result of the failed task. +* New meta action, `meta: clear_host_errors` which will clear any hosts which were marked as failed (but not unreachable hosts). * New meta action, `meta: clear_facts` which will remove existing facts for the current host from current memory and facts cache. * copy module can now transparently use a vaulted file as source, if vault passwords were provided it will decrypt and copy on the fly. * The way new-style python modules (which include all of the non-windows modules shipped with Ansible) are assembled before execution on the remote machine has been changed. The new way stays closer to how python imports modules which will make it easier to write modules which rely heavily on shared code. * Reduce the situations in which a module can end up as world readable. For details, see: https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user +* Re-implemented the retry file feature, which had been left out of 2.0 (fix was backported to 2.0.1 originally). ####New Modules: - aws @@ -95,15 +106,70 @@ Ansible Changes By Release ###Minor Changes: -* callbacks now have access to the options with which the CLI was called -* debug now has verbosity option to control when to display by matching number of -v in command line -* modules now get verbosity, diff and other flags as passed to ansible -* mount facts now also show 'network mounts' that use the pattern `:/` +* Added support for pipelining mode to more connection plugins, which helps prevent + module data from being written to disk. +* Added a new '!unsafe' YAML decorator, which can be used in playbooks to ensure a + string is not templated. For example: `foo: !unsafe "Don't template {{me}}"`. +* Callbacks now have access to the options with which the CLI was called +* Debug now has verbosity option to control when to display by matching number of -v in command line +* Modules now get verbosity, diff and other flags as passed to ansible +* Mount facts now also show 'network mounts' that use the pattern `:/` * Plugins are now sorted before loading. This means, for instance, if you want two custom callback plugins to run in a certain order you can name them 10-first-callback.py and 20-second-callback.py. * Added (alpha) Centirfy's dzdo as another become meethod (privilege escalation) +###Deprecations: + +* Deprecated the use of "bare" variables in loops (ie. `with_items: foo`, where `foo` is a variable). + The full jinja2 variable syntax of `{{foo}}` should always be used instead. This warning will be removed + completely in 2.3, after which time it will be an error. + +## 2.0.2 "Over the Hills and Far Away" + +* Backport of the 2.1 feature to ensure per-item callbacks are sent as they occur, + rather than all at once at the end of the task. +* Fixed bugs related to the iteration of tasks when certain combinations of roles, + blocks, and includes were used, especially when handling errors in rescue/always + portions of blocks. +* Fixed handling of redirects in our helper code, and ported the uri module to use + this helper code. This removes the httplib dependency for this module while fixing + some bugs related to redirects and SSL certs. +* Fixed some bugs related to the incorrect creation of extra temp directories for + uploading files, which were not cleaned up properly. +* Improved error reporting in certain situations, to provide more information such as + the playbook file/line. +* Fixed a bug related to the variable precedence of role parameters, especially when + a role may be used both as a dependency of a role and directly by itself within the + same play. +* Fixed some bugs in the 2.0 implementation of do/until. +* Fixed some bugs related to run_once: + - Ensure that all hosts are marked as failed if a task marked as run_once fails. + - Show a warning when using the free strategy when a run_once task is encountered, as + there is no way for the free strategy to guarantee the task is not run more than once. +* Fixed a bug where the assemble module was not honoring check mode in some situations. +* Fixed a bug related to delegate_to, where we were incorrectly using variables from + the inventory host rather than the delegated-to host. +* The 'package' meta-module now properly squashes items down to a single execution (as the + apt/yum/other package modules do). +* Fixed a bug related to the ansible-galaxy CLI command dealing with paged results from + the Galaxy server. +* Pipelining support is now available for the local and jail connection plugins, which is + useful for users who do not wish to have temp files/directories created when running + tasks with these connection types. +* Improvements in support for additional shell types. +* Improvements in the code which is used to calculate checksums for remote files. +* Some speed ups and bug fixes related to the variable merging code. +* Workaround bug in python subprocess on El Capitan that was making vault fail + when attempting to encrypt a file +* Fix lxc_container module having predictable temp file names and setting file + permissions on the temporary file too leniently on a temporary file that was + executed as a script. Addresses CVE-2016-3096 +* Fix a bug in the uri module where setting headers via module params that + start with HEADER_ were causing a traceback. +* Fix bug in the free strategy that was causing it to synchronize its workers + after every task (making it a lot more like linear than it should have been). + ## 2.0.1 "Over the Hills and Far Away" * Fixes a major compatibility break in the synchronize module shipped with @@ -539,6 +605,34 @@ allowed in future versions: - debug: msg="The error message was: {{error_code |default('') }}" ``` +## 1.9.7 "Dancing in the Street" - TBD + +* Fix for lxc_container backport which was broken because it tried to use a feature from ansible-2.x + +## 1.9.6 "Dancing in the Street" - Apr 15, 2016 + +* Fix a regression in the loading of inventory variables where they were not + found when placed inside of an inventory directory. +* Fix lxc_container having predictable temp file names. Addresses CVE-2016-3096 + +## 1.9.5 "Dancing In the Street" - Mar 21, 2016 + +* Compatibility fix with docker 1.8. +* Fix a bug with the crypttab module omitting certain characters from the name of the device +* Fix bug with uri module not handling all binary files +* Fix bug with ini_file not removing options set to an empty string +* Fix bug with script and raw modules not honoring parameters passed via yaml dict syntax +* Fix bug with plugin loading finding the wrong modules because the suffix checking was not ordered +* Fix bug in the literal_eval module code used when we need python-2.4 compat +* Added --ignore-certs, -c option to ansible-galaxy. Allows ansible-galaxy to work behind a proxy + when the proxy fails to forward server certificates. +* Fixed bug where tasks marked no_log were showing hidden values in output if + ansible's --diff option was used. +* Fix bug with non-english locales in git and apt modules +* Compatibility fix for using state=absent with the pip ansible module and pip-6.1.0+ +* Backported support for ansible_winrm_server_cert_validation flag to disable cert validation on Python 2.7.9+ (and support for other passthru args to pywinrm transport). +* Backported various updates to user module (prevent accidental OS X group membership removals, various checkmode fixes). + ## 1.9.4 "Dancing In the Street" - Oct 9, 2015 * Fixes a bug where yum state=latest would error if there were no updates to install. diff --git a/RELEASES.txt b/RELEASES.txt index 871624a259..8b73ef3330 100644 --- a/RELEASES.txt +++ b/RELEASES.txt @@ -4,13 +4,16 @@ Ansible Releases at a Glance Active Development ++++++++++++++++++ -2.1 "TBD" - in progress +2.1 "The Song Remains the Same" - in progress Released ++++++++ +2.0.2 "Over the Hills and Far Away" 04-19-2015 2.0.1 "Over the Hills and Far Away" 02-24-2016 2.0.0 "Over the Hills and Far Away" 01-12-2016 +1.9.6 "Dancing In the Streets" 04-15-2016 +1.9.5 "Dancing In the Streets" 03-21-2016 1.9.4 "Dancing In the Streets" 10-09-2015 1.9.3 "Dancing In the Streets" 09-03-2015 1.9.2 "Dancing In the Streets" 06-24-2015