Current changes can now be accessed from `github releases `_.
4.3.0 - Released 2020-08-17
===========================
Major Changes:
* Require Python 3.6 or newer (#775) @ssbarnea
* Require Ansible 2.8 or newer (#721) @ssbarnea
* LRU Cache for frequently called functions (#891) @ragne
* Change documentation website to RTD (#875) @ssbarnea
* Add rules for verifying the existence of imported and included files (#691) @jlusiardi
* Add a new rule for detecting nested jinja mustache syntax (#686) @europ
Minor Changes:
* Refactored import_playbook tests (#951) @ssbarnea
* Added MissingFilePermissionsRule (#943) @ssbarnea
* Enable github actions parsable format (#926) @ssbarnea
* Add linter branding for docs (#914) @ssbarnea
* Assure we do not produce duplicated matches (#912) @ssbarnea
* Enable annotations on failed tests (#910) @ssbarnea
* Refactor `_taskshandlers_children` complexity (#903) @webknjaz
* Make import sections consistent (#897) @ssbarnea
* Allow backticks in shell commands (#894) @turettn
* Add ansible210 testing (#888) @ssbarnea
* Enable isort (#887) @ssbarnea
* Combine MatchError into Match (#884) @ssbarnea
* Improve MatchError class (#881) @ssbarnea
* Expose package version (#867) @ssbarnea
* Replace custom theme with sphinx-ansible-theme (#856) @ssbarnea
* Improve unjinja function (#853) @ssbarnea
* Refactor MetaMainHasInfoRule (#846) @ssato
* Remove dependency on ansible.utils.color (#833) @ssbarnea
* Moved exit codes to constants (#821) @ssbarnea
* Document module dependencies (#817) @ssbarnea
* Refactor Runner out of __init__ (#816) @ssbarnea
* Added reproducer for become in blocks (#793) @ssbarnea
* Convert failed to find required 'name' key in include_role into a match (#781) @ssbarnea
* Fix exclude_paths from get_playbooks_and_roles (#774) @ssbarnea
* Update ComparisonToEmptyStringRule.py (#770) @vbotka
* Remove bin/ansible-lint script (#762) @ssbarnea
* Fix logging configuration (#757) @ssbarnea
* Allow returning line number in matchplay (#756) @albinvass
* Update cli output on README (#754) @ssbarnea
* Migrate some test to pytest (#740) @cans
* Use python logging (#732) @ssbarnea
* Make config loading failures visible (#726) @ssbarnea
* Add a test that fails with `AttributeError` on malformed `import_tasks` file content (#720) @mdaniel
* Consistent relative path display (#692) @cans
Bugfixes:
* E501: Add become_user and become inheritance (#964) @Tompage1994
* Add missing hosts to test files (#952) @ssbarnea
* E208: Improve MissingFilePermissionsRule detection (#949) @ssbarnea
* Make pre-commit hook use auto-detect mode (#932) @ssbarnea
* Fix severity formatter wrong use of color (#919) @ssbarnea
* Avoid displaying Null with missing filenames (#918) @ssbarnea
* Include contributing inside docs (#905) @ssbarnea
* Fix spelling mistakes in documentation (#901) @MorganGeek
* Avoid failure with playbooks having tasks key a null value (#899) @ssbarnea
* Fix `MatchError` comparison fallback implementation (#896) @webknjaz
* Avoid sorting failure with matches without an id (#879) @ssbarnea
* Fix broken always_run rule on Ansible 2.10 (#878) @ssbarnea
* Allow null config file (#814) @ssbarnea
* Fixed the search method when the file path not exists (#807) @cahlchang
* Restore playbook auto-detection (#767) @ssbarnea
* Gracefully process a missing git binary when falling-back to pure-python discovery (#738) @anryko
* Resurrect support for editable mode installs (#722) @webknjaz
* Avoid exception from 505 rule (#709) @ssbarnea
4.2.0 - Released 2019-12-04
===========================
Features:
- Enable ansible-lint to auto-detect roles/playbooks `#615 `_
- Normalize displayed file paths `#620 `_
Bugfixes:
- Fix role detection to include tasks/main.yml `#631 `_
- Fix pre-commit hooks `#612 `_
- Ensure variable syntax before matching in VariableHasSpacesRule `#535 `_
- Fix false positive with multiline template in UsingBareVariablesIsDeprecatedRule `#251 `_
- Fix role metadata checks when they include unexpected types `#533 `_ `#513 `_
- Support inline rule skipping inside a block `#528 `_
- Look for noqa skips in handlers, pre_tasks, and post_tasks `#520 `_
- Fix skipping when using import_playbook `#517 `_
- Fix parsing inline args for import_role and include_role `#511 `_
- Fix syntax proposed by 104 to not fail 206 `#501 `_
- Fix VariableHasSpacesRule false positive for whitespace control chars in vars `#500 `_
Docs/Misc:
- Disable docs build on macos with py38 `#630 `_
- Update dependencies and CI to supported versions of ansible `#530 `_
- Declare support for Python 3.8 `#601 `_
Dev/Contributor:
- Enable flake-docstrings to check for pep257 `#621 `_
- Remove code related to unsupported ansible versions before 2.4 `#622 `_
- Replace nosetests with pytest `#604 `_
- Support newer setuptools and require 34.0.0 or later `#591 `_ `#600 `_
- Added SSL proxy variables to tox passenv `#593 `_
- Have RunFromText test helper use named files for playbooks `#519 `_
- Fully depend on Pip having PEP 517 implementation `#607 `_
- Fixed metadata and travis deployment `#598 `_
4.1.0 - Released 11-Feb-2019
============================
- Support skipping specific rule(s) for a specific task `#460 `_
- Lint all yaml in tasks/ and handlers/ regardless of import or include `#462 `_
- New rule: shell task uses pipeline without pipefail `#199 `_
- Remove rule 405 checking for retry on package modules `#465 `_
- Limit env var check to command, not shell `#477 `_
- Extend max line length rule from 120 to 160 `#474 `_
- Do not flag octal file mode permission when it is a string `#480 `_
- Check ANSIBLE_ROLES_PATH before basedir `#478 `_
- Fix crash on indexing empty cmd arguments `#473 `_
- Handle argv syntax for the command module `#424 `_
- Add another possible license default with SPDX `#472 `_
- Ignore comments for line-based rules `#453 `_
- Allow config skip_list to have rule number id not in quotes `#463 `_
4.0.1 - Released 04-Jan-2019
============================
Bugfix release
- Allow install with python35 and add to tox testing `#452 `_
- Fix 503 UseHandlerRatherThanWhenChangedRule attempt to iterate on bool `#455 `_
- Improve regex on rule 602 `#454 `_
- Refactor RoleRelativePathRule, fix keyerror `#446 `_
- Rule 405 now ignore case of 'yum: list=package' `#444 `_
- Allow jinja escaping in variables `#440 `_
4.0.0 - Released 18-Dec-2018
============================
* New documentation site `docs.ansible.com/ansible-lint `_
* Additional default rules for ansible-lint, listed in `docsite default rules `_
* Fixed running with role path containing single or multiple dirs #390
* Fixed double sudo rule output #393
* Severity property added to rules to be used by Galaxy #379
* Packaging: consistency and automation #389
* Updated rule TrailingWhitespaceRule.py to remove carriage return char #323
* Allow snake_case module names for rules #82
* Suggest tempfile module instead of mktemp command #422
* Update tox to run with only supported ansible versions #406
* GitHub repository edits: move to ansible org, add CODE_OF_CONDUCT, add ROADMAP, label edits
3.5.1
=====
Use ``yaml.safe_load`` for loading the configuration file
3.5.0
=====
* New ids and tags, add doc generator. Old tag names remain backwardly compatible (awcrosby)
* Add more package formats to PackageIsNotLatestRule (simon04)
* Improve handling of meta/main.yml dependencies (MatrixCrawler)
* Correctly handle role argument trailing slash (zoredache)
* Handle ``include_task`` and ``import_task`` (zeot)
* Add a new rule to detect jinja in when clauses (greg-hellings)
* Suggest ``replace`` as another alternative to ``sed`` (inponomarev)
* YAML syntax highlighting for false positives (gundalow)
3.4.23
======
Fix bug with using comma-separated ``skip_list`` arguments
3.4.22
======
* Allow ``include_role`` and ``import_role`` (willthames)
* Support arbitrary number of exclude flags (KellerFuchs)
* Fix task has name check for empty name fields (ekeih)
* Allow vault encrypted variables in YAML files (mozz)
* Octal permission check improvements - readability, test
coverage and bug fixes (willthames)
* Fix very weird bug with line numbers in some test environments (kouk)
* Python 3 fixes for octal literals in tests (willthames)