Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #1

Merged
merged 13 commits into from
Jun 21, 2017
Merged

Initial Update #1

merged 13 commits into from
Jun 21, 2017

Conversation

pyup-bot
Copy link
Contributor

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

PyYAML 3.12 » 3.12 PyPI | Changelog | Homepage
Jinja2 2.9.6 » 2.9.6 PyPI | Changelog | Homepage
httplib2 0.10.3 » 0.10.3 PyPI | Changelog | Repo
ansible 2.3.1.0 » 2.3.1.0 PyPI | Changelog | Repo | Homepage
boto 2.47.0 » 2.47.0 PyPI | Changelog | Repo
flake8 2.6.0 » 3.3.0 PyPI | Changelog | Repo
tox 2.3.1 » 2.7.0 PyPI | Changelog | Docs
coverage 4.1 » 4.4.1 PyPI | Changelog | Docs
Sphinx 1.4.8 » 1.6.2 PyPI | Changelog | Homepage
cryptography 1.7 » 1.9 PyPI | Changelog | Repo
PyYAML 3.11 » 3.12 PyPI | Changelog | Homepage
ipython 5.3.0 » 6.1.0 PyPI | Changelog | Homepage

Changelogs

PyYAML -> 3.12

3.10


  • Do not try to build LibYAML bindings on platforms other than CPython
    (Thank to olt(at)bogosoft(dot)com).
  • Clear cyclic references in the parser and the emitter
    (Thank to kristjan(at)ccpgames(dot)com).
  • Dropped support for Python 2.3 and 2.4.

3.09


  • Fixed an obscure scanner error not reported when there is
    no line break at the end of the stream (Thank to Ingy).
  • Fixed use of uninitialized memory when emitting anchors with
    LibYAML bindings (Thank to cegner(at)yahoo-inc(dot)com).
  • Fixed emitting incorrect BOM characters for UTF-16 (Thank to
    Valentin Nechayev)
  • Fixed the emitter for folded scalars not respecting the preferred
    line width (Thank to Ingy).
  • Fixed a subtle ordering issue with emitting '%TAG' directives
    (Thank to Andrey Somov).
  • Fixed performance regression with LibYAML bindings.

3.08


  • Python 3 support (Thank to Erick Tryzelaar).
  • Use Cython instead of Pyrex to build LibYAML bindings.
  • Refactored support for unicode and byte input/output streams.

3.07


  • The emitter learned to use an optional indentation indicator
    for block scalar; thus scalars with leading whitespaces
    could now be represented in a literal or folded style.
  • The test suite is now included in the source distribution.
    To run the tests, type 'python setup.py test'.
  • Refactored the test suite: dropped unittest in favor of
    a custom test appliance.
  • Fixed the path resolver in CDumper.
  • Forced an explicit document end indicator when there is
    a possibility of parsing ambiguity.
  • More setup.py improvements: the package should be usable
    when any combination of setuptools, Pyrex and LibYAML
    is installed.
  • Windows binary packages are built against LibYAML-0.1.2.
  • Minor typos and corrections (Thank to Ingy dot Net
    and Andrey Somov).

3.06


  • setup.py checks whether LibYAML is installed and if so, builds
    and installs LibYAML bindings. To force or disable installation
    of LibYAML bindings, use '--with-libyaml' or '--without-libyaml'
    respectively.
  • The source distribution includes compiled Pyrex sources so
    building LibYAML bindings no longer requires Pyrex installed.
  • 'yaml.load()' raises an exception if the input stream contains
    more than one YAML document.
  • Fixed exceptions produced by LibYAML bindings.
  • Fixed a dot '.' character being recognized as !!float.
  • Fixed Python 2.3 compatibility issue in constructing !!timestamp values.
  • Windows binary packages are built against the LibYAML stable branch.
  • Added attributes 'yaml.version' and 'yaml.with_libyaml'.

3.05


  • Windows binary packages were built with LibYAML trunk.
  • Fixed a bug that prevent processing a live stream of YAML documents in
    timely manner (Thanks edward(at)sweetbytes(dot)net).
  • Fixed a bug when the path in add_path_resolver contains boolean values
    (Thanks jstroud(at)mbi(dot)ucla(dot)edu).
  • Fixed loss of microsecond precision in timestamps
    (Thanks edemaine(at)mit(dot)edu).
  • Fixed loading an empty YAML stream.
  • Allowed immutable subclasses of YAMLObject.
  • Made the encoding of the unicode->str conversion explicit so that
    the conversion does not depend on the default Python encoding.
  • Forced emitting float values in a YAML compatible form.

3.04


  • Include experimental LibYAML bindings.
  • Fully support recursive structures.
  • Sort dictionary keys. Mapping node values are now represented
    as lists of pairs instead of dictionaries. No longer check
    for duplicate mapping keys as it didn't work correctly anyway.
  • Fix invalid output of single-quoted scalars in cases when a single
    quote is not escaped when preceeded by whitespaces or line breaks.
  • To make porting easier, rewrite Parser not using generators.
  • Fix handling of unexpected block mapping values.
  • Fix a bug in Representer.represent_object: copy_reg.dispatch_table
    was not correctly handled.
  • Fix a bug when a block scalar is incorrectly emitted in the simple
    key context.
  • Hold references to the objects being represented.
  • Make Representer not try to guess !!pairs when a list is represented.
  • Fix timestamp constructing and representing.
  • Fix the 'N' plain scalar being incorrectly recognized as !!bool.

3.03


  • Fix Python 2.5 compatibility issues.
  • Fix numerous bugs in the float handling.
  • Fix scanning some ill-formed documents.
  • Other minor fixes.

3.02


  • Fix win32 installer. Apparently bdist_wininst does not work well
    under Linux.
  • Fix a bug in add_path_resolver.
  • Add the yaml-highlight example. Try to run on a color terminal:
    python yaml_hl.py <any_document.yaml.

3.01


  • Initial release. The version number reflects the codename
    of the project (PyYAML 3000) and differenciates it from
    the abandoned PyYaml module.

Jinja2 -> 2.9.6

2.9.6


(bugfix release, released on April 3rd 2017)

  • Fixed custom context behavior in fast resolve mode (675)

2.9.5


(bugfix release, released on January 28th 2017)

  • Restored the original repr of the internal _GroupTuple because this
    caused issues with ansible and it was an unintended change. (654)
  • Added back support for custom contexts that override the old resolve
    method since it was hard for people to spot that this could cause a
    regression.
  • Correctly use the buffer for the else block of for loops. This caused
    invalid syntax errors to be caused on 2.x and completely wrong behavior
    on Python 3 (669)
  • Resolve an issue where the {% extends %} tag could not be used with
    async environments. (668)
  • Reduce memory footprint slightly by reducing our unicode database dump
    we use for identifier matching on Python 3 (666)
  • Fixed autoescaping not working for macros in async compilation mode. (671)

2.9.4


(bugfix release, released on January 10th 2017)

  • Solved some warnings for string literals. (646)
  • Increment the bytecode cache version which was not done due to an
    oversight before.
  • Corrected bad code generation and scoping for filtered loops. (649)
  • Resolved an issue where top-level output silencing after known extend
    blocks could generate invalid code when blocks where contained in if
    statements. (651)
  • Made the truncate.leeway default configurable to improve compatibility
    with older templates.

2.9.3


(bugfix release, released on January 8th 2017)

  • Restored the use of blocks in macros to the extend that was possible
    before. On Python 3 it would render a generator repr instead of
    the block contents. (645)
  • Set a consistent behavior for assigning of variables in inner scopes
    when the variable is also read from an outer scope. This now sets the
    intended behavior in all situations however it does not restore the
    old behavior where limited assignments to outer scopes was possible.
    For more information and a discussion see 641
  • Resolved an issue where block scoped would not take advantage of the
    new scoping rules. In some more exotic cases a variable overriden in a
    local scope would not make it into a block.
  • Change the code generation of the with statement to be in line with the
    new scoping rules. This resolves some unlikely bugs in edge cases. This
    also introduces a new internal With node that can be used by extensions.

2.9.2


(bugfix release, released on January 8th 2017)

  • Fixed a regression that caused for loops to not be able to use the same
    variable for the target as well as source iterator. (640)
  • Add support for a previously unknown behavior of macros. It used to be
    possible in some circumstances to explicitly provide a caller argument
    to macros. While badly buggy and unintended it turns out that this is a
    common case that gets copy pasted around. To not completely break backwards
    compatibility with the most common cases it's now possible to provide an
    explicit keyword argument for caller if it's given an explicit default.
    (642)

2.9.1


(bugfix release, released on January 7th 2017)

  • Resolved a regression with call block scoping for macros. Nested caller
    blocks that used the same identifiers as outer macros could refer to the
    wrong variable incorrectly.

2.9


(codename Derivation, released on January 7th 2017)

  • Change cache key definition in environment. This fixes a performance
    regression introduced in 2.8.
  • Added support for generator_stop on supported Python versions
    (Python 3.5 and later)
  • Corrected a long standing issue with operator precedence of math operations
    not being what was expected.
  • Added support for Python 3.6 async iterators through a new async mode.
  • Added policies for filter defaults and similar things.
  • urlize now sets "rel noopener" by default.
  • Support attribute fallback for old-style classes in 2.x.
  • Support toplevel set statements in extend situations.
  • Restored behavior of Cycler for Python 3 users.
  • Subtraction now follows the same behavior as other operators on undefined
    values.
  • map and friends will now give better error messages if you forgot to
    quote the parameter.
  • Depend on MarkupSafe 0.23 or higher.
  • Improved the truncate filter to support better truncation in case
    the string is barely truncated at all.
  • Change the logic for macro autoescaping to be based on the runtime
    autoescaping information at call time instead of macro define time.
  • Ported a modified version of the tojson filter from Flask to Jinja2
    and hooked it up with the new policy framework.
  • Block sets are now marked safe by default.
  • On Python 2 the asciification of ASCII strings can now be disabled with
    the compiler.ascii_str policy.
  • Tests now no longer accept an arbitrary expression as first argument but
    a restricted one. This means that you can now properly use multiple
    tests in one expression without extra parentheses. In particular you can
    now write foo is divisibleby 2 or foo is divisibleby 3
    as you would expect.
  • Greatly changed the scoping system to be more consistent with what template
    designers and developers expect. There is now no more magic difference
    between the different include and import constructs. Context is now always
    propagated the same way. The only remaining differences is the defaults
    for with context and without context.
  • The with and autoescape tags are now built-in.
  • Added the new select_autoescape function which helps configuring better
    autoescaping easier.

2.8.2


(bugfix release, unreleased)

  • Fixed a runtime error in the sandbox when attributes of async generators
    were accessed.

2.8.1


(bugfix release, released on December 29th 2016)

  • Fixed the for_qs flag for urlencode.
  • Fixed regression when applying int to non-string values.
  • SECURITY: if the sandbox mode is used format expressions are now sandboxed
    with the same rules as in Jinja. This solves various information leakage
    problems that can occur with format strings.

2.8


(codename Replacement, released on July 26th 2015)

  • Added target parameter to urlize function.
  • Added support for followsymlinks to the file system loader.
  • The truncate filter now counts the length.
  • Added equalto filter that helps with select filters.
  • Changed cache keys to use absolute file names if available
    instead of load names.
  • Fixed loop length calculation for some iterators.
  • Changed how Jinja2 enforces strings to be native strings in
    Python 2 to work when people break their default encoding.
  • Added :func:make_logging_undefined which returns an undefined
    object that logs failures into a logger.
  • If unmarshalling of cached data fails the template will be
    reloaded now.
  • Implemented a block set tag.
  • Default cache size was increased to 400 from a low 50.
  • Fixed is number test to accept long integers in all Python versions.
  • Changed is number to accept Decimal as a number.
  • Added a check for default arguments followed by non-default arguments. This
    change makes {% macro m(x, y=1, z) %}...{% endmacro %} a syntax error. The
    previous behavior for this code was broken anyway (resulting in the default
    value being applied to y).
  • Add ability to use custom subclasses of jinja2.compiler.CodeGenerator and
    jinja2.runtime.Context by adding two new attributes to the environment
    (code_generator_class and context_class) (pull request 404).
  • added support for context/environment/evalctx decorator functions on
    the finalize callback of the environment.
  • escape query strings for urlencode properly. Previously slashes were not
    escaped in that place.
  • Add 'base' parameter to 'int' filter.

2.7.3


(bugfix release, released on June 6th 2014)

  • Security issue: Corrected the security fix for the cache folder. This
    fix was provided by RedHat.

2.7.2


(bugfix release, released on January 10th 2014)

  • Prefix loader was not forwarding the locals properly to
    inner loaders. This is now fixed.
  • Security issue: Changed the default folder for the filesystem cache to be
    user specific and read and write protected on UNIX systems. See Debian bug 734747_ for more information.

.. _Debian bug 734747: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734747

2.7.1


(bugfix release, released on August 7th 2013)

  • Fixed a bug with call_filter not working properly on environment
    and context filters.
  • Fixed lack of Python 3 support for bytecode caches.
  • Reverted support for defining blocks in included templates as this
    broke existing templates for users.
  • Fixed some warnings with hashing of undefineds and nodes if Python
    is run with warnings for Python 3.
  • Added support for properly hashing undefined objects.
  • Fixed a bug with the title filter not working on already uppercase
    strings.

2.7


(codename Translation, released on May 20th 2013)

  • Choice and prefix loaders now dispatch source and template lookup
    separately in order to work in combination with module loaders as
    advertised.
  • Fixed filesizeformat.
  • Added a non-silent option for babel extraction.
  • Added urlencode filter that automatically quotes values for
    URL safe usage with utf-8 as only supported encoding. If applications
    want to change this encoding they can override the filter.
  • Added keep-trailing-newline configuration to environments and
    templates to optionally preserve the final trailing newline.
  • Accessing last on the loop context no longer causes the iterator
    to be consumed into a list.
  • Python requirement changed: 2.6, 2.7 or >= 3.3 are required now,
    supported by same source code, using the "six" compatibility library.
  • Allow contextfunction and other decorators to be applied to __call__.
  • Added support for changing from newline to different signs in the wordwrap
    filter.
  • Added support for ignoring memcache errors silently.
  • Added support for keeping the trailing newline in templates.
  • Added finer grained support for stripping whitespace on the left side
    of blocks.
  • Added map, select, reject, selectattr and rejectattr
    filters.
  • Added support for loop.depth to figure out how deep inside a recursive
    loop the code is.
  • Disabled py_compile for pypy and python 3.

2.6


(codename Convolution, released on July 24th 2011)

  • internal attributes now raise an internal attribute error now instead
    of returning an undefined. This fixes problems when passing undefined
    objects to Python semantics expecting APIs.
  • traceback support now works properly for PyPy. (Tested with 1.4)
  • implemented operator intercepting for sandboxed environments. This
    allows application developers to disable builtin operators for better
    security. (For instance limit the mathematical operators to actual
    integers instead of longs)
  • groupby filter now supports dotted notation for grouping by attributes
    of attributes.
  • scoped blocks now properly treat toplevel assignments and imports.
    Previously an import suddenly "disappeared" in a scoped block.
  • automatically detect newer Python interpreter versions before loading code
    from bytecode caches to prevent segfaults on invalid opcodes. The segfault
    in earlier Jinja2 versions here was not a Jinja2 bug but a limitation in
    the underlying Python interpreter. If you notice Jinja2 segfaulting in
    earlier versions after an upgrade of the Python interpreter you don't have
    to upgrade, it's enough to flush the bytecode cache. This just no longer
    makes this necessary, Jinja2 will automatically detect these cases now.
  • the sum filter can now sum up values by attribute. This is a backwards
    incompatible change. The argument to the filter previously was the
    optional starting index which defaults to zero. This now became the
    second argument to the function because it's rarely used.
  • like sum, sort now also makes it possible to order items by attribute.
  • like sum and sort, join now also is able to join attributes of objects
    as string.
  • the internal eval context now has a reference to the environment.
  • added a mapping test to see if an object is a dict or an object with
    a similar interface.

2.5.5


(re-release of 2.5.4 with built documentation removed for filesize.
Released on October 18th 2010)

  • built documentation is no longer part of release.

2.5.4


(bugfix release, released on October 17th 2010)

  • Fixed extensions not loading properly with overlays.
  • Work around a bug in cpython for the debugger that causes segfaults
    on 64bit big-endian architectures.

2.5.3


(bugfix release, released on October 17th 2010)

  • fixed an operator precedence error introduced in 2.5.2. Statements
    like "-foo.bar" had their implicit parentheses applied around the
    first part of the expression ("(-foo).bar") instead of the more
    correct "-(foo.bar)".

2.5.2


(bugfix release, released on August 18th 2010)

  • improved setup.py script to better work with assumptions people
    might still have from it (--with-speedups).
  • fixed a packaging error that excluded the new debug support.

2.5.1


(bugfix release, released on August 17th 2010)

  • StopIteration exceptions raised by functions called from templates
    are now intercepted and converted to undefineds. This solves a
    lot of debugging grief. (StopIteration is used internally to
    abort template execution)
  • improved performance of macro calls slightly.
  • babel extraction can now properly extract newstyle gettext calls.
  • using the variable num in newstyle gettext for something else
    than the pluralize count will no longer raise a :exc:KeyError.
  • removed builtin markup class and switched to markupsafe. For backwards
    compatibility the pure Python implementation still exists but is
    pulled from markupsafe by the Jinja2 developers. The debug support
    went into a separate feature called "debugsupport" and is disabled
    by default because it is only relevant for Python 2.4
  • fixed an issue with unary operators having the wrong precedence.

2.5


(codename Incoherence, released on May 29th 2010)

  • improved the sort filter (should have worked like this for a
    long time) by adding support for case insensitive searches.
  • fixed a bug for getattribute constant folding.
  • support for newstyle gettext translations which result in a
    nicer in-template user interface and more consistent
    catalogs. (:ref:newstyle-gettext)
  • it's now possible to register extensions after an environment
    was created.

2.4.1


(bugfix release, released on April 20th 2010)

  • fixed an error reporting bug for undefineds.

2.4


(codename Correlation, released on April 13th 2010)

  • the environment template loading functions now transparently
    pass through a template object if it was passed to it. This
    makes it possible to import or extend from a template object
    that was passed to the template.
  • added a :class:ModuleLoader that can load templates from
    precompiled sources. The environment now features a method
    to compile the templates from a configured loader into a zip
    file or folder.
  • the _speedups C extension now supports Python 3.
  • added support for autoescaping toggling sections and support
    for evaluation contexts (:ref:eval-context).
  • extensions have a priority now.

2.3.1


(bugfix release, released on February 19th 2010)

  • fixed an error reporting bug on all python versions
  • fixed an error reporting bug on Python 2.4

2.3


(3000 Pythons, released on February 10th 2010)

  • fixes issue with code generator that causes unbound variables
    to be generated if set was used in if-blocks and other small
    identifier problems.
  • include tags are now able to select between multiple templates
    and take the first that exists, if a list of templates is
    given.
  • fixed a problem with having call blocks in outer scopes that
    have an argument that is also used as local variable in an
    inner frame (360).
  • greatly improved error message reporting (339)
  • implicit tuple expressions can no longer be totally empty.
    This change makes {% if %}...{% endif %} a syntax error
    now. (364)
  • added support for translator comments if extracted via babel.
  • added with-statement extension.
  • experimental Python 3 support.

2.2.1


(bugfix release, released on September 14th 2009)

  • fixes some smaller problems for Jinja2 on Jython.

2.2


(codename Kong, released on September 13th 2009)

  • Include statements can now be marked with ignore missing to skip
    non existing templates.
  • Priority of not raised. It's now possible to write not foo in bar
    as an alias to foo not in bar like in python. Previously the grammar
    required parentheses (not (foo in bar)) which was odd.
  • Fixed a bug that caused syntax errors when defining macros or using the
    {% call %} tag inside loops.
  • Fixed a bug in the parser that made {{ foo[1, 2] }} impossible.
  • Made it possible to refer to names from outer scopes in included templates
    that were unused in the callers frame (327)
  • Fixed a bug that caused internal errors if names where used as iteration
    variable and regular variable after the loop if that variable was unused
    before the loop. (331)
  • Added support for optional scoped modifier to blocks.
  • Added support for line-comments.
  • Added the meta module.
  • Renamed (undocumented) attribute "overlay" to "overlayed" on the
    environment because it was clashing with a method of the same name.
  • speedup extension is now disabled by default.

2.1.1


(Bugfix release)

  • Fixed a translation error caused by looping over empty recursive loops.

2.1


(codename Yasuzō, released on November 23rd 2008)

  • fixed a bug with nested loops and the special loop variable. Before the
    change an inner loop overwrote the loop variable from the outer one after
    iteration.
  • fixed a bug with the i18n extension that caused the explicit pluralization
    block to look up the wrong variable.
  • fixed a limitation in the lexer that made {{ foo.0.0 }} impossible.
  • index based subscribing of variables with a constant value returns an
    undefined object now instead of raising an index error. This was a bug
    caused by eager optimizing.
  • the i18n extension looks up foo.ugettext now followed by foo.gettext
    if an translations object is installed. This makes dealing with custom
    translations classes easier.
  • fixed a confusing behavior with conditional extending. loops were partially
    executed under some conditions even though they were not part of a visible
    area.
  • added sort filter that works like dictsort but for arbitrary sequences.
  • fixed a bug with empty statements in macros.
  • implemented a bytecode cache system. (:ref:bytecode-cache)
  • the template context is now weakref-able
  • inclusions and imports "with context" forward all variables now, not only
    the initial context.
  • added a cycle helper called cycler.
  • added a joining helper called joiner.
  • added a compile_expression method to the environment that allows compiling
    of Jinja expressions into callable Python objects.
  • fixed an escaping bug in urlize

2.0


(codename jinjavitus, released on July 17th 2008)

  • the subscribing of objects (looking up attributes and items) changed from
    slightly. It's now possible to give attributes or items a higher priority
    by either using dot-notation lookup or the bracket syntax. This also
    changed the AST slightly. Subscript is gone and was replaced with
    :class:~jinja2.nodes.Getitem and :class:~jinja2.nodes.Getattr.

For more information see :ref:the implementation details <notes-on-subscriptions>.

  • added support for preprocessing and token stream filtering for extensions.
    This would allow extensions to allow simplified gettext calls in template
    data and something similar.
  • added :meth:jinja2.environment.TemplateStream.dump.
  • added missing support for implicit string literal concatenation.
    {{ "foo" "bar" }} is equivalent to {{ "foobar" }}
  • else is optional for conditional expressions. If not given it evaluates
    to false.
  • improved error reporting for undefined values by providing a position.
  • filesizeformat filter uses decimal prefixes now per default and can be
    set to binary mode with the second parameter.
  • fixed bug in finalizer

2.0rc1


(no codename, released on June 9th 2008)

  • first release of Jinja2

httplib2 -> 0.10.3

0.10.3

Fix certificate validation on Python<=2.7.8 without ssl.CertificateError
httplib2/httplib2#45

0.10.2

Just a reupload of 0.10.1, which was broken for Python3
because wheel distribution doesn't play well with our 2/3 split code base.
httplib2/httplib2#43

0.10.1

This is the first release by new httplib2 team. See post by Joe
https://bitworking.org/news/2016/03/an_update_on_httplib2

Remove VeriSign Class 3 CA from trusted certs
https://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html

Add IdenTrust DST Root CA X3
httplib2/httplib2#26

Support for specifying the SSL protocol version (Python v2)
https://github.com/jcgregorio/httplib2/issues/329

On App Engine use urlfetch's default deadline if None is passed.

Fix TypeError on AppEngine “init() got an unexpected keyword argument 'ssl_version’”
httplib2/httplib2#12

Send SNI data for SSL connections on Python 2.7.9+
Verify the server hostname if certificate validation is enabled
httplib2/httplib2#13

Add proxy_headers argument to ProxyInfo constructor
httplib2/httplib2#21

Make disable_ssl_certificate_validation work with Python 3.5.
httplib2/httplib2#15

Fix socket error handling
httplib2/httplib2@eb74685
httplib2/httplib2@e7f6e62

0.9.2

Fixes in this release:

jcgregorio/httplib2#313

Fix incorrect ResponseNotReady exceptions, retry on transient errors.

0.9.1

Fixes in this release:

jcgregorio/httplib2#296

   There was a problem with headers when a binary string is passed (like
   b&#39;Authorization&#39;).

jcgregorio/httplib2#276

   Default to doing DNS resolution through a proxy server if present.

0.9

Heartbleed

0.8

More fixes for the App Engine support.

Added a new feature that allows you to supply your own provider for the
CA_CERTS file. Just create a module named ca_certs_locater that has a method
get() that returns the file location of the CA_CERTS file.

Lots of clean up of the code formatting to make it more consistent.

0.7.7

More fixes for App Engine, now less likely to swallow important exceptions.
Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
Added GeoTrust cert
Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/

The following issues have been fixed:

229 python3 httplib2 clobbers multiple headers of same key
230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes

0.7.6

Fixes for App Engine 2.7.

0.7.5

Keys are lowercase in a Response object, regardless of how Response object is constructed.
Add control so that Authorization: headers aren't forwarded on a 3xx response by default.
Set the reason correctly when running on App Engine. Patch from Alain Vongsouvanh. Reviewed in http://codereview.appspot.com/6422051/
Fix proxy socks for SSL connections. Fixes issue 199.
You can now set httplib2.RETRIES to the number of retries before a request
is considered to fail It is set to a default of 2 to mimic the traditional
behavior of httplib2.

The following issues have been addressed:

223 HEAD requests fail calling the close() method of ResponseDict instance.
222 Can&#39;t disable cert validation in appengine
204 Credentials can leak in HTTP redirects
210 Different API between Python 2 and Python 3 version breaks wsgi_intercept
214 ValueError on malformated cache entries
204 Credentials can leak in HTTP redirects

0.7.3

ProxyInfo objects now can construct themselves from environment
variables commonly-used in Unix environments. By default, the Http
class will construct a ProxyInfo instance based on these environment
variables. To achieve the previous behavior, where environment
variables are ignored, pass proxy_info=None to Http().

The following issues have been addressed:

Issue 159: automatic detection of proxy configuration.
Issue 179: Allow unicode in proxy hostname.
Issue 194: Added support for setuptools.
Fixes for HTTP CONNECT proxies.

0.7.1

Fix failure to install cacerts.txt for 2.x installs.

0.7.0

The two major changes in this release are SSL Certificate
checking and App Engine support. By default the certificates
of an HTTPS connection are checked, but that can be disabled
via disable_ssl_certificate_validation. The second change
is that on App Engine there is a new connection object
that utilizes the urlfetch capabilities on App Engine, including
setting timeouts and validating certificates.

The following issues have been addressed:

Fixes issue 72. Always lowercase authorization header.
Fix issue 47. Redirects that become a GET should not have a body.
Fixes issue 19. Set Content-location on redirected HEAD requests
Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
Fixes issue 138. Handle unicode in headers when writing and retrieving cache entries. Who says headers have to be ASCII!
Add certificate validation. Work initially started by Christoph Kern.
Set a version number. Fixes issue 135.
Sync to latest version of socks.py
Add gzip to the user-agent, in case we are making a request to an app engine project: http://code.google.com/appengine/kb/general.htmlcompression
Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
Add default support for optimistic concurrency on PATCH requests
Fixes issue 126. IPv6 under various conditions would fail.
Fixes issue 131. Handle socket.timeout's that occur during send.
proxy support: degrade gracefully when socket.socket is unavailable

0.6.0

The following issues have been addressed:

51 - Failure to handle server legitimately closing connection before request body is fully sent
77 - Duplicated caching test
65 - Transform _normalize_headers into a method of Http class
45 - Vary header
73 - All files in Mercurial are executable
81 - Have a useful .hgignore
78 - Add release tags to the Mercurial repository
67 - HEAD requests cause next request to be retried

Mostly bug fixes, the big enhancement is the addition of proper Vary: header
handling. Thanks to Chris Dent for that change.

The other big change is the build process for distributions so that both python2 and python3
are included in the same .tar.gz/.zip file.

0.5.0

Added Python 3 support

Fixed the following bugs:

 12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
 39 - Deprecation warnings in Python 2.6
 54 - Http.request fails accessing Google account via http proxy
 56 - Block on response.read() for HEAD requests.
 57 - Timeout ignore for Python 2.6
 58 - Fixed parsing of Cache-Control: header to make it more robust

Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.

0.4.0

Added support for proxies if the Socksipy module is installed.

Fixed bug with some HEAD responses having content-length set to
zero incorrectly.

Fixed most except's to catch a specific exception.

Added 'connection_type' parameter to Http.request().

The default for 'force_exception_to_status_code' was changed to False. Defaulting
to True was causing quite a bit of confusion.

0.3.0

Calling Http.request() with a relative URI, as opposed to an absolute URI,
will now throw a specific exception.

Http() now has an additional optional parameter for the socket timeout.

Exceptions can now be forced into responses. That is, instead of
throwing an exception, a good httlib2.Response object is returned
that describe the error with an appropriate status code.

Many improvements to the file cache:

1.  The names in the cache are now much less
    opaque, which should help with debugging.
2.  The disk cache is now Apache mod_asis compatible.
3.  A Content-Location: header is supplied and stored in the
    cache which points to the original requested URI.

User supplied If-* headers now override httplib2 supplied
versions.

IRIs are now fully supported. Note that they MUST be passed in
as unicode objects.

Http.add_credentials() now takes an optional domain to restrict
the credentials to being only used on that domain.

Added Http.add_certificate() which allows setting
a key and cert for SSL connections.

Many other bugs fixed.

0.2.0

Added support for Google Auth.

Added experimental support for HMACDigest.

Added support for a pluggable caching system. Now supports
the old system of using the file system and now memcached.

Added httplib2.debuglevel which turns on debugging.

Change Response._previous to Response.previous.

Added Http.follow_all_redirects which forces
httplib2 to follow all redirects, as opposed to
following only the safe redirects. This makes the
GData protocol easier to use.

All known bugs fixed to date.

0.1.1

Fixed several bugs raised by James Antill:

  1. HEAD didn't get an Accept: header added like GET.
  2. HEAD requests did not use the cache.
  3. GET requests with Range: headers would erroneously return a full cached response.
  4. Subsequent requests to resources that had timed out would raise an exception.
    And one feature request for 'method' to default to GET.

Xavier Verges Farrero supplied what I needed to make the
library work with Python 2.3.

I added distutils based setup.py.

0.1

Initial Release

ansible -> 2.3.1.0

2.3

Major Changes

  • Documented and renamed the previously released 'single var vaulting' feature, allowing user to use vault encryption for single variables in a normal YAML vars file.
  • Allow module_utils for custom modules to be placed in site-specific directories and shipped in roles
  • On platforms that support it, use more modern system polling API instead of select in the ssh connection plugin.
    This removes one limitation on how many parallel forks are feasible on these systems.
  • Windows/WinRM supports (experimental) become method "runas" to run modules and scripts as a different user, and to transparently access network resources.
  • The WinRM connection plugin now uses pipelining when executing modules, resulting in significantly faster execution for small tasks.
  • The WinRM connection plugin can now manage Kerberos tickets automatically when ansible_winrm_transport=kerberos and ansible_user/ansible_password are specified.
  • Refactored/standardized most Windows modules, adding check-mode and diff support where possible.
  • Extended Windows module API with parameter-type support, helper functions. (i.e. Expand-Environment, Add-Warning, Add-DeprecatationWarning)
  • restructured how async works to allow it to apply to action plugins that choose to support it.

Minor Changes

  • The version and release facts for OpenBSD hosts were reversed.
    This has been changed so that version has the numeric portion and release has the name of the release.
  • removed 'package' from default squash actions as not all package managers support it and it creates errors when using loops,
    any user can add back via config options if they don't use those package managers or otherwise avoid the errors.
  • Blocks can now have a name field, to aid in playbook readability.
  • default strategy is now configurable via ansible.cfg or environment variable.
  • Added 'ansible_playbook_python' which contains 'current python executable', it can be blank in some cases in which Ansible is not invoked via the standard CLI (sys.executable limitation).
  • Added 'metadata' to modules to enable classification
  • ansible-doc now displays path to module and existing 'metadata'
  • added optional 'piped' transfer method to ssh plugin for when scp and sftp are missing, ssh plugin is also now 'smarter' when using these options
  • default controlpersist path is now a custom hash of host-port-user to avoid the socket path length errors for long hostnames
  • Various fixes for Python3 compatibility
  • Fixed issues with inventory formats not handling 'all' and 'ungrouped' in an uniform way.
  • 'service' tasks can now use async again, we had lost this capability when changed into an action plugin.
  • made any_errors_fatal inheritable from play to task and all other objects in between.
  • many small performance improvements in inventory and variable handling and in task execution.

Deprecations

  • Specifying --tags (or --skip-tags) multiple times on the command line
    currently leads to the last one overriding all the previous ones. This behaviour is deprecated.
    In the future, if you specify --tags multiple times the tags will be merged together.
    From now on, using --tags multiple times on one command line will emit a deprecation warning.
    Setting the merge_multiple_cli_tags option to True in the ansible.cfg file will enable the new behaviour.
    In 2.4, the default will be to merge and you can enable the old overwriting behaviour via the config option.
    In 2.5, multiple --tags options will be merged with no way to go back to the old behaviour.
  • Modules (scheduled for removal in 2.5)
  • ec2_vpc
  • cl_bond
  • cl_bridge
  • cl_img_install
  • cl_interface
  • cl_interface_policy
  • cl_license
  • cl_ports
  • nxos_mtu, use nxos_system instead

New: Callbacks

  • dense: minimal stdout output with fallback to default when verbose

New: lookups

  • keyring: allows getting password from the 'controller' system's keyrings

New: cache

  • pickle (uses python's own serializer)
  • yaml

New: inventory scripts

  • oVirt/RHV

New: filters

  • combinations
  • permutations
  • zip
  • zip_longest

Module Notes

  • AWS lambda: previously ignored changes that only affected one parameter. Existing deployments may have outstanding changes that this bugfix will apply.
  • oVirt/RHV: Added support for 4.1 features and the following:
  • data centers, clusters, hosts, storage domains and networks management.
  • hosts and virtual machines affinity groups and labels.
  • users, groups and permissions management.
  • Improved virtual machines and disks management.
  • Mount: Some fixes so bind mounts are not mounted each time the playbook runs.

New Modules

  • a10_server_axapi3
  • amazon:
  • aws_kms
  • cloudfront_facts
  • ec2_group_facts
  • ec2_lc_facts
  • ec2_vpc_igw_facts
  • ec2_vpc_nat_gateway_facts
  • ec2_vpc_vgw_facts
  • ecs_ecr
  • elasticache_parameter_group
  • elasticache_snapshot
  • iam_role
  • s3_sync
  • archive
  • beadm
  • bigswitch:
  • bigmon_chain
  • bigmon_policy
  • cisco
  • cisco_spark
  • cloudengine:
  • ce_command
  • cloudscale_server
  • cloudstack:
  • cs_host
  • cs_nic
  • cs_region
  • cs_role
  • cs_vpc
  • dimensiondata_network
  • eos:
  • eos_banner
  • eos_system
  • eos_user
  • f5:
  • bigip_gtm_facts
  • bigip_hostname
  • bigip_snat_pool
  • bigip_sys_global
  • foreman:
  • foreman
  • katello
  • fortios
  • fortios_config
  • gconftool2
  • google:
  • gce_eip
  • gce_snapshot
  • gcpubsub
  • gcpubsub_facts
  • hpilo:
  • hpilo_boot
  • hpilo_facts
  • hponcfg
  • icinga2_feature
  • illumos:
  • dladm_iptun
  • dladm_linkprop
  • dladm_vlan
  • ipadm_addr
  • ipadm_addrprop
  • ipadm_ifprop
  • infinidat:
  • infini_export
  • infini_export_client
  • infini_fs
  • infini_host
  • infini_pool
  • infini_vol
  • ipa:
  • ipa_group
  • ipa_hbacrule
  • ipa_host
  • ipa_hostgroup
  • ipa_role
  • ipa_sudocmd
  • ipa_sudocmdgroup
  • ipa_sudorule
  • ipa_user
  • ipinfoio_facts
  • ios:
  • ios_banner
  • ios_system
  • ios_vrf
  • iosxr_system
  • iso_extract
  • java_cert
  • jenkins_script
  • ldap:
  • ldap_attr
  • ldap_entry
  • logstash_plugin
  • mattermost
  • net_command
  • netapp:
  • sf_account_manager
  • sf_snapshot_schedule_manager
  • sf_volume_manager
  • sf_volume_access_group_manager
  • nginx_status_facts
  • nsupdate
  • omapi_host
  • openssl:
  • openssl_privatekey
  • openssl_publickey
  • openstack:
  • os_nova_host_aggregate
  • os_quota
  • openwrt_init
  • ordnance:
  • ordnance_config
  • ordnance_facts
  • ovirt:
  • ovirt_affinity_groups
  • ovirt_affinity_labels
  • ovirt_affinity_labels_facts
  • ovirt_clusters
  • ovirt_clusters_facts
  • ovirt_datacenters
  • ovirt_datacenters_facts
  • ovirt_external_providers
  • ovirt_external_providers_facts
  • ovirt_groups
  • ovirt_groups_facts
  • ovirt_host_networks
  • ovirt_host_pm
  • ovirt_hosts
  • ovirt_hosts_facts
  • ovirt_mac_pools
  • ovirt_networks
  • ovirt_networks_facts
  • ovirt_nics
  • ovirt_nics_facts
  • ovirt_permissions
  • ovirt_permissions_facts
  • ovirt_quotas
  • ovirt_quotas_facts
  • ovirt_snapshots
  • ovirt_snapshots_facts
  • ovirt_storage_domains
  • ovirt_storage_domains_facts
  • ovirt_tags
  • ovirt_tags_facts
  • ovirt_templates
  • ovirt_templates_facts
  • ovirt_users
  • ovirt_users_facts
  • ovirt_vmpools
  • ovirt_vmpools_facts
  • ovirt_vms_facts
  • pacemaker_cluster
  • packet:
  • packet_device
  • packet_sshkey
  • pamd
  • panos:
  • panos_address
  • panos_admin
  • panos_admpwd
  • panos_cert_gen_ssh
  • panos_check
  • panos_commit
  • panos_dag
  • panos_import
  • panos_interface
  • panos_lic
  • panos_loadcfg
  • panos_mgtconfig
  • panos_nat_policy
  • panos_pg
  • panos_restart
  • panos_security_policy
  • panos_service
  • postgresql_schema
  • proxmox_kvm
  • pubnub_blocks
  • pulp_repo
  • runit
  • serverless
  • set_stats
  • panos:
  • panos_security_policy
  • smartos:
  • imgadm
  • vmadm
  • sorcery
  • stacki_host
  • swupd
  • tempfile
  • tower:
  • tower_credential
  • tower_group
  • tower_host
  • tower_inventory
  • tower_job_template
  • tower_label
  • tower_organization
  • tower_project
  • tower_role
  • tower_team
  • tower_user
  • vmware:
  • vmware_guest_facts
  • vmware_guest_snapshot
  • web_infrastructure:
  • jenkins_script
  • system
  • parted
  • windows:
  • win_disk_image
  • win_dns_client
  • win_domain
  • win_domain_controller
  • win_domain_membership
  • win_find
  • win_msg
  • win_path
  • win_psexec
  • win_reg_stat
  • win_region
  • win_say
  • win_shortcut
  • win_tempfile
  • xbps
  • zfs:
  • zfs_facts
  • zpool_facts

2.3.0

2.2.1

Major Changes

  • Security fix for CVE-2016-9587 - An attacker with control over a client system being managed by Ansible and the ability to send facts back to the Ansible server could use this flaw to execute arbitrary code on the Ansible server as the user and group Ansible is running as.

Minor Changes

  • Fixes a bug where undefined variables in with_* loops would cause a task failure even if the when condition would cause the task to be skipped.
  • Fixed a bug related to roles where in certain situations a role may be run more than once despite not allowing duplicates.
  • Fixed some additional bugs related to atomic_move for modules.
  • Fixes multiple bugs related to field/attribute inheritance in nested blocks and includes, as well as task iteration logic during failures.
  • Fixed pip installing packages into virtualenvs using the system pip instead of the virtualenv pip.
  • Fixed dnf on systems with dnf-2.0.x (some changes in the API).
  • Fixed traceback with dnf install of groups.
  • Fixes a bug in which include_vars was not working with failed_when.
  • Fix for include_vars only loading files with .yml, .yaml, and .json extensions. This was only supposed to apply to loading a directory of vars files.
  • Fixes several bugs related to properly incrementing the failed count in the host statistics.
  • Fixes a bug with listening handlers which did not specify a name field.
  • Fixes a bug with the play_hosts internal variable, so that it properly reflects the current list of hosts.
  • Fixes a bug related to the v2_playbook_on_start callback method and legacy (v1) plugins.
  • Fixes an openssh related process exit race condition, related to the fact that connections using ControlPersist do not close stderr.
  • Improvements and fixes to OpenBSD fact gathering.
  • Updated make deb to use pbuilder. Use make local_deb for the previous non-pbuilder build.
  • Fixed Windows async to avoid blocking due to handle inheritance.
  • Fixed bugs in the mount module on older Linux kernels and *BSDs
  • Various minor fixes for Python 3
  • Inserted some checks for jinja2-2.9, which can cause some issues with Ansible currently.

2.2

Major Changes:

  • Added the listen feature for modules. This feature allows tasks to more easily notify multiple handlers, as well as making it easier for handlers from decoupled roles to be notified.
  • Major performance improvements.
  • Added support for binary modules
  • Added the ability to specify serial batches as a list (serial: [1, 5, 10]), which allows for so-called "canary" actions in one play.
  • Fixed 'local type' plugins and actions to have a more predictable relative path. Fixes a regression of 1.9 (PR 16805). Existing users of 2.x will need to adjust related tasks.
  • meta tasks can now use conditionals.
  • raw now returns changed: true to be consistent with shell/command/script modules. Add changed_when: false to raw tasks to restore the pre-2.2 behavior if necessary.
  • New privilege escalation become method ksu
  • Windows async: support for long-running or background tasks.
  • Windows environment: support for setting module environment vars in play/task.
  • Added a new meta option: end_play, which can be used to skip to the end of a play.
  • roles can now be included in the middle of a task list via the new include_role module, this also allows for making the role import 'loopable' and/or conditional.
  • The service module has been changed to use system specific modules if they exist and fall back to the old service module if they cannot be found or detected.
  • Add ability to specify what ssh client binary to use on the controller. This
    can be configured via ssh_executable in the ansible config file or by setting
    ansible_ssh_executable as an inventory variable if different ones are needed
    for different hosts.
  • Windows:
  • several facts were modified or renamed for consistency with their Unix counterparts, and many new facts were added. If your playbooks rely on any of the following keys, please ensure they are using the correct key names and/or values:
    • ansible_date_time.date (changed to use yyyy-mm-dd format instead of default system-locale format)
    • ansible_date_time.iso8601 (changed to UTC instead of local time)
    • ansible_distribution (now uses OS caption string, e.g.: "Microsoft Windows Server 2012 R2 Standard", version is still available on ansible_distribution_version)
    • ansible_totalmem (renamed to ansible_memtotal_mb, units changed to MB instead of bytes)
  • async: support for long-running or background tasks.
  • environment: support for setting module environment vars in play/task.
  • Tech Preview: Work has been done to get Ansible running under Python3. This work is not complete enough to depend upon in production environments but it is enough to begin testing it.
  • Most of the controller side should now work. Users should be able to run python3 /usr/bin/ansible and python3 /usr/bin/ansible-playbook and have core features of ansible work.
  • A few of the most essential modules have been audited and are known to work. Others work out of the box.
  • We are using unit and integration tests to help us port code and not regress later. Even if you are not familiar with python you can still help by contributing integration tests (just ansible roles) that exercise more of the code to make sure it continues to run on both Python2 and Python3.
  • scp_if_ssh now supports True, False and "smart". "smart" is the default and will retry failed sftp transfers with scp.
  • Network:
  • Refactored all network modules to remove duplicate code and take advantage of Ansiballz implementation
  • All functionality from *_template network modules have been combined into *_config module
  • Network *_command modules not longer allow configuration mode statements

New Modules

  • apache2_mod_proxy
  • asa
  • asa_acl
  • asa_command
  • asa_config
  • atomic
  • atomic_host
  • atomic_image
  • aws
  • cloudformation_facts
  • ec2_asg_facts
  • ec2_customer_gateway
  • ec2_lc_find
  • ec2_vpc_dhcp_options_facts
  • ec2_vpc_nacl
  • ec2_vpc_nacl_facts
  • ec2_vpc_nat_gateway
  • ec2_vpc_peer
  • ec2_vpc_vgw
  • efs
  • efs_facts
  • execute_lambda
  • iam_mfa_device_facts
  • iam_server_certificate_facts
  • kinesis_stream
  • lambda
  • lambda_alias
  • lambda_event
  • lambda_facts
  • redshift
  • redshift_subnet_group
  • s3_website
  • sts_session_token
  • cloudstack
  • cs_router
  • cs_snapshot_policy
  • dellos6
  • dellos6_command
  • dellos6_config
  • dellos6_facts
  • dellos9
  • dellos9_command
  • dellos9_config
  • dellos9_facts
  • dellos10
  • dellos10_command
  • dellos10_config
  • dellos10_facts
  • digital_ocean_block_storage
  • docker
  • docker_network
  • eos
  • eos_facts
  • exoscale:
  • exo_dns_domain
  • exo_dns_record
  • f5:
  • bigip_device_dns
  • bigip_device_ntp
  • bigip_device_sshd
  • bigip_gtm_datacenter
  • bigip_gtm_virtual_server
  • bigip_irule
  • bigip_routedomain
  • bigip_selfip
  • bigip_ssl_certificate
  • bigip_sys_db
  • bigip_vlan
  • github
  • github_key
  • github_release
  • google
  • gcdns_record
  • gcdns_zone
  • gce_mig
  • honeybadger_deployment
  • illumos
  • dladm_etherstub
  • dladm_vnic
  • flowadm
  • ipadm_if
  • ipadm_prop
  • ipmi
  • ipmi_boot
  • ipmi_power
  • ios
  • ios_facts
  • iosxr
  • iosxr_facts
  • include_role
  • jenkins
  • jenkins_job
  • jenkins_plugin
  • kibana_plugin
  • letsencrypt
  • logicmonitor
  • logicmonitor_facts
  • lxd
  • lxd_profile
  • lxd_container
  • netapp
  • netapp_e_amg
  • netapp_e_amg_role
  • netapp_e_amg_sync
  • netapp_e_auth
  • netapp_e_facts
  • netapp_e_flashcache
  • netapp_e_hostgroup
  • netapp_e_host
  • netapp_e_lun_mapping
  • netapp_e_snapshot_group
  • netapp_e_snapshot_images
  • netapp_e_snapshot_volume
  • netapp_e_storage_system
  • netapp_e_storagepool
  • netapp_e_volume
  • netapp_e_volume_copy
  • netconf_config
  • netvisor
  • pn_cluster
  • pn_ospfarea
  • pn_ospf
  • pn_show
  • pn_trunk
  • pn_vlag
  • pn_vlan
  • pn_vrouterbgp
  • pn_vrouterif
  • pn_vrouterlbif
  • pn_vrouter
  • nxos
  • nxos_aaa_server_host
  • nxos_aaa_server
  • nxos_acl_interface
  • nxos_acl
  • nxos_bgp_af
  • nxos_bgp_neighbor_af
  • nxos_bgp_neighbor
  • nxos_bgp
  • nxos_evpn_global
  • nxos_evpn_vni
  • nxos_file_copy
  • nxos_gir_profile_management
  • nxos_gir
  • nxos_hsrp
  • nxos_igmp_interface
  • nxos_igmp
  • nxos_igmp_snooping
  • nxos_install_os
  • nxos_interface_ospf
  • nxos_mtu
  • nxos_ntp_auth
  • nxos_ntp_options
  • nxos_ntp
  • nxos_ospf
  • nxos_ospf_vrf
  • nxos_overlay_global
  • nxos_pim_interface
  • nxos_pim
  • nxos_pim_rp_address
  • nxos_portchannel
  • nxos_rollback
  • nxos_smu
  • nxos_snapshot
  • nxos_snmp_community
  • nxos_snmp_contact
  • nxos_snmp_host
  • nxos_snmp_location
  • nxos_snmp_traps
  • nxos_snmp_user
  • nxos_static_route
  • nxos_udld_interface
  • nxos_udld
  • nxos_vpc_interface
  • nxos_vpc
  • nxos_vrf_af
  • nxos_vtp_domain
  • nxos_vtp_password
  • nxos_vtp_version
  • nxos_vxlan_vtep
  • nxos_vxlan_vtep_vni
  • mssql_db
  • ovh_ip_loadbalancing_backend
  • opendj_backendprop
  • openstack
  • os_keystone_service
  • os_recordset
  • os_server_group
  • os_stack
  • os_zone
  • ovirt
  • ovirt_auth
  • ovirt_disks
  • ovirt_vms
  • rhevm
  • rocketchat
  • sefcontext
  • sensu_subscription
  • smartos
  • smartos_image_facts
  • sros
  • sros_command
  • sros_config
  • sros_rollback
  • statusio_maintenance
  • systemd
  • telegram
  • univention
  • udm_dns_record
  • udm_dns_zone
  • udm_group
  • udm_share
  • udm_user
  • vmware
  • vmware_guest
  • vmware_local_user_manager
  • vmware_vmotion
  • vyos
  • vyos_command
  • vyos_config
  • vyos_facts
  • wakeonlan
  • windows
  • win_command
  • win_robocopy
  • win_shell

New Callbacks

  • foreman

Minor Changes

  • now -vvv shows exact path from which 'currently executing module' was picked up from.
  • loop_control now has a label option to allow fine grained control what gets displayed per item
  • loop_control now has a pause option to allow pausing for N seconds between loop iterations of a task.
  • New privilege escalation become method ksu
  • raw now returns changed: true to be consistent with shell/command/script modules. Add changed_when: false to raw tasks to restore the pre-2.2 behavior if necessary.
  • removed previously deprecated ';' as host list separator.
  • Only check if the default ssh client supports ControlPersist once instead of once for each host + task combination.
  • Fix a problem with the pip module updating the python pip package itself.
  • ansible_play_hosts is a new magic variable to provide a list of hosts in scope for the current play. Unlike play_hosts it is not subject to the 'serial' keyword.
  • ansible_play_batch is a new magic variable meant to substitute the current play_hosts.

For custom front ends using the API

  • ansible.parsing.vault:
  • VaultLib.is_encrypted() has been deprecated. It will be removed in 2.4.
    Use ansible.parsing.vault.is_encrypted() instead
  • VaultFile has been removed. This unfinished code was never used inside of
    Ansible. The feature it was intended to support has now been implemented
    without using this.
  • VaultAES, the older, insecure encrypted format that debuted in Ansible-1.5
    and was replaced by VaultAES256 less than a week later, now has a deprecation
    warning. It will be removed in 2.3. In the unlikely event that you
    wrote a vault file in that 1 week window and have never modified the file
    since (ansible-vault automatically re-encrypts the file using VaultAES256
    whenever it is written to but not read), run ansible-vault rekey [filename] to move to VaultAES256.

Removed Deprecated

  • ';' as host list separator.
  • with_ 'bare variable' handling, now loop items must always be templated {{ }} or they will be considered as plain strings.
  • skipping task on 'missing attribute' in loop variable, now in a loop an undefined attribute will return an error instead of skipping the task.
  • skipping on undefined variables in loop, now loops will have to define a variable or use |default to avoid errors.

Deprecations
Notice given that the following will be removed in Ansible 2.4:

  • Modules
  • eos_template
  • ios_template
  • iosxr_template
  • junos_template
  • nxos_template
  • ops_template

2.2.0

2.1.4

  • Security fix for CVE-2016-9587 - An attacker with control over a client system being managed by Ansible and the ability to send facts back to the Ansible server could use this flaw to execute arbitrary code on the Ansible server as the user and group Ansible is running as.
  • Fixed a bug with conditionals in loops, where undefined variables and other errors will defer raising the error until the conditional has been evaluated.
  • Added a version check for jinja2-2.9, which does not fully work with Ansible currently.

2.1.3

2.1.2

2.1.1

2.1

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, for more details see https://docs.ansible.com/ansible/playbooks_debugger.html
  • 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.htmlgathering 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 (b

@makkus makkus merged commit 2944e4e into master Jun 21, 2017
@makkus makkus deleted the pyup-initial-update branch October 17, 2017 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants