Version 1.6.22
  * Ignore failure to remotely fetch manifest in build check
  * Fix semantics of ROSDEP_CACHE_PATH environment variable to be
    consistent with proposed change to rosdep itself.

Version 1.6.21
  * Add override for rosdep sources cache dir 
  * Detect and warn if the rosdep cache is empty because
    'rosdep update' was never run

Version 1.6.20
  * Ignore uninstalled executables in subprojects
  * Fix parsing of nested generator expressions

Version 1.6.19
  * Allow multiple cmake_minimum_required() commands
  * Add checks for minimum required CMake version of newer commands

Version 1.6.18
  * Migrate from versioneer to setuptools_scm
  * Fix unit tests for Python 3.11
  * Add fish shell completions

Version 1.6.17
  * Recognize files created with file() command
  * Add support for genmsg
  * Update coverage configuration for nose 2
  * Make catkin_lint REUSE 3.0 compliant

Version 1.6.16
  * Handle empty XML comments correctly
  * Recognize Pybind11 CMake macros
  * Add support for NO_COLOR environment variable
  * Migrate to nose2 for unit testing

Version 1.6.15
  * Add support for elseif()

Version 1.6.14
  * Honor conditional build_type tags

Version 1.6.13
  * Honor <!-- catkin_lint: --> pragmas in launch files

Version 1.6.12
  * Evaluate $<BUILD_INTERFACE:...> expressions
  * Check test depends for test launch files

Version 1.6.11
  * PyPy is officially supported now
  * Add support for target_link_directories()
  * Add support for new keywords to various CMake commands
  * Improve handling of packages in symlinked directories
  * A few minor improvements

Version 1.6.10
  * Test suite coverage now at 100%
  * Improve CMake parser
  * Add new option --help-problem for CLI help
  * Update documentation and add man page

Version 1.6.9
  * Add support for conditional dependencies (manifest version 3)
  * New configuration file mechanism
  * A few minor bugfixes

Version 1.6.8
  * Fix message output format for paths with variables

Version 1.6.7
  * Add support for target_include_directories()
  * Add support for the new signature of target_link_libraries()
  * Fix check for dependencies with ROS messages
  * Add a special case for yaml-cpp as dependency
  * Add a few missing unit tests

Version 1.6.6
  * Add API call to register custom messages for plugins
  * Use versioneer for version number management
  * A few minor bugfixes

Version 1.6.5
  * Remove unneeded "rosunit" dependency suggestion
  * Add support for installation with private modules
  * Add new option --skip-path to exclude paths
  * More PEP8 style fixes in the source code

Version 1.6.4
  * Scan launch files for package dependencies
  * New JSON output format
  * PEP8 style fixes in the source code

Version 1.6.3
  * Update sources.cache for unit tests
  * Gracefully handle missing rosdistro package

Version 1.6.2
  * Ignore missing depends if nothing is built
  * Complain about improper inclusion of catkin packages
  * Add support for interface libraries
  * A few minor bugfixes

Version 1.6.1
  * Symlinks in package paths will no longer be resolved
  * Update list of useless buzzwords
  * Add support for new list manipulation functions
  * Add explicit support for Qt5 components
  * Rename --show-suppressed to --show-ignored for consistency

Version 1.6.0
  * Consolidated diagnostic messages and removed obsolete ones
  * Improve support for files generated at build time
  * Improve support for predefined variables (CMake or catkin)
  * Show offending location for more diagnostic messages
  * A few minor bugfixes
  * Update documentation

Version 1.5.6
  * New option --show-suppressed to show ignored messages
  * Improve checks regarding find_package()
  * Improve checks regarding string comparison operators

Version 1.5.5
  * Fix problem with relative path checks
  * Update documentation

Version 1.5.4
  * Switch to catkin_pkg implementation for package path discovery
  * Add new check if package folder matches package name
  * Allow severity overrides for reported problems
  * Add new "skip" parser directive
  * Minor bugfixes

Version 1.5.3
  * Add support for CATKIN_DEVEL_PREFIX and CATKIN_INSTALL_PREFIX
  * Fix output formatting for detailed explanations
  * Be more forgiving with empty arguments to PROPERTIES

Version 1.5.2
  * More bugfixes

Version 1.5.1
  * Fix a few corner cases which have been missed by the 1.5.0 release

Version 1.5.0
  * API changes in LintInfo object
  * Remove CMAKE_MODULE_PATH fromm critical variables list
  * Introduce new pragmas "ignore_once" and "report"
  * Add support for generated files via configure_file or add_custom_command
  * Improve file path handling

Version 1.4.21
  * Improve handling of static libraries
  * Return appropriate error code if no input given
  * Fix regression bug with bash completion

Version 1.4.20
  * Fix regression bug in subdirectory handling
  * Make catkin_lint executable with `python -m catkin_lint`

Version 1.4.19
  * Set values for project version variables
  * Properly keep track of current project subdirectory
  * Add color to terminal output

Version 1.4.18
  * Fix insufficient exception handling on corrupted cache

Version 1.4.17
  * Fix erroneous missing depend error if a package uses its own plugin
  * Add support for dynamic_reconfigure scripts

Version 1.4.16
  * Fix typo in catkin_install_python() command

Version 1.4.15
  * Clean up check for cmake_minimum_required()
  * Add support for catkin_install_python() command

Version 1.4.14
  * Do not complain about setting a default for CMAKE_BUILD_TYPE
  * Handle argument parse errors in a more transparent way

Version 1.4.13
  * Handle roswtf plugin special case
  * Check if installed directories actually exist
  * Fix conditional logic check
  * Improved performance

Version 1.4.12
  * Detect if scripts are installed with install(DIRECTORY)

Version 1.4.11
  * Revert check if dependency tags in package.xml are sorted

Version 1.4.10
  * Check if dependency tags in package.xml are sorted
  * Add exceptions to check for uninstalled executable scripts
  * Improved test coverage

Version 1.4.9
  * Improved test coverage
  * Improved documentation
  * Check for uninstalled executable scripts

Version 1.4.8
  * Fix regression bug in --pkg option

Version 1.4.7
  * Fix workspace overlay bug
  * Reformat source code for better PEP8 compliance
  * Warn about Eigen module being deprecated in favor of Eigen3

Version 1.4.6
  * Fix parser bug with escaped characters

Version 1.4.5
  * Make -W1 the new default diagnostic level
  * Implement policy checks on variables and conditions
  * Full coverage for unit tests
  * Bugfixes

Version 1.4.4

  * New option --resolve-env to resolve $ENV{} references from OS environment
  * Add missing unit tests for sorted lists

Version 1.4.3

  * Promote uninstalled target notices to warning
  * Demote unconfigured build errors to warnings if there are no build targets
  * Fix diagnostic about test dependenceis which are also run dependencies

Version 1.4.2

  * Fix off-by-one error in check for sorted lists

Version 1.4.1

  * Check for sorted lists
  * Bugfixes

Version 1.4.0

  * Add rosdistro support and refactor rosdep integration
  * Improved cache
  * Bugfixes and code cleanup

Version 1.3.11

  * Fix wrong column count (exposed by indentation check)
  * Fix indentation check
  * Add XML schema to XML output

Version 1.3.10

  * Improve handling of message_runtime in package format 2
  * Check for sensible indentation

Version 1.3.9

  * Improve handling of tests and their dependencies

Version 1.3.8

  * Fix cache corruption with relative paths
  * Check for unknown packages where catkin packages are required

Version 1.3.7

  * Entry point for integration with catkin_tools
  * New command line option --skip-pkg
  * Minor bugfixes and code cleanup

Version 1.3.6

  * Support for #catkin_lint pragma comments
  * New command line option --package-path
  * Support for package format 2

Version 1.3.5

  * Preliminary checks for Indigo compatibility
  * Experimental manifest cache to speed up execution
  * Let the user ignore specific messages via command line switch
  * Minor bugfixes

Version 1.3.4

  * Downgrade upper-case command warning to notice
  * Fix message about missing build includes
  * Warn about ambiguous include paths

Version 1.3.3

  * Bugfix for incorrect file install destination
  * Check if packages in find_package() need to be REQUIRED
  * Check that command names are lower-case as recommended
  * Minor code cleanup

Version 1.3.2

  * Additional coding style checks
  * Bugfix for nested loop parsing
  * Install exception for example programs

Version 1.3.1

  * Fix copy&paste bug in bash completion
  * Check for missing COMPONENTS keyword
  * Refine pkg-config check

Version 1.3.0

  * New CMake parser
  * Support macros
  * Support variable scopes
  * Check for pkg-config calls
  * Check for environment variable usage
  * Check for global variables
  * Various bugfixes

Version 1.2.6

  * Bump minimum Python version to 2.7
  * Make path handling OS agnostic
  * More unit tests
  * Minor bugfixes

Version 1.2.5

  * Warn about subprojects
  * Support for add_subdirectory() commands
  * Support for multi-line strings
  * Add common path functions to LintInfo

Version 1.2.4

  * Parser support for escaped characters
  * Add option to run additional lint checks
  * Parser support for include()
  * Fix improper handling of Windows EOL
  * Build check for existing source files
  * Move debian folder to its own branch

Version 1.2.3

  * Allow parentheses in command arguments
  * Allow catkin as run_depend or test_depend
  * Use relative imports
  * Special handling for catkin itself
  * Include file name in error message if parsing fails
  * Let setup.py install bash auto completion code

Version 1.2.2

  * Provide explicit sort order for lint messages

Version 1.2.1

  * Move include path check to correct unit
  * More unit tests for build checks
  * Add more unit tests for build checks
  * Add missing files to setup manifest
  * Check for find_package() of message dependencies
  * Add XML output format
  * Link to author in README
  * Convert README to rst markup

Version 1.2.0

  * Make package downloadable by easy_install
  * Major rewrite

Version 1.1.13

  * Support for ROS packages with non-catkin build type

Version 1.1.12

  * Update documentation
  * Check for invalid dependencies

Version 1.1.11

  * Fix regression bug if --pkg is not used
  * Label all diagnostics as errors in strict mode

Version 1.1.10

  * Add --pkg option to check packages by name

Version 1.1.9

  * Remove trailing whitespace
  * New regex for message packages
  * Check for CMAKE_BUILD_TYPE modifications
  * Refactor buzzword list
  * Make CATKIN_ variables critical
  * Relax test exception for installed binaries
  * Fix typo

Version 1.1.8

  * Improve name collision check

Version 1.1.7

  * Revert lib suffix check

Version 1.1.6

  * Improve target name collision check
  * Remove debug 'raise' which was left in accidentally
  * Make include check more robust
  * Reword a few diagnostic messages
  * Check for redundant test depends
  * Check for redundant lib prefixes and suffixes

Version 1.1.5

  * Check include paths

Version 1.1.4

  * Be more precise about ignored diagnostics

Version 1.1.3

  * Reword include_directories() warning
  * Distinguish between warnings and notices

Version 1.1.2

  * Be more strict about include paths
  * Check if exported libraries are actually libraries
  * Check for include()s which should use find_package()
  * Add support for upper-case prefix in find_package()

Version 1.1.1

  * Read version directly from module
  * Fix packaging bug

Version 1.1.0

  * Refactor source code
  * Add explanation to diagnostic messages
  * Fix python installation path

Version 1.0.8

  * Improve check of special variables
  * Fix rosbuild_compat_fkie usage check
  * Use better substitute values for includes and libs

Version 1.0.7

  * Do not warn twice about not installed export libraries

Version 1.0.6

  * Relax package version check
  * Reword warnings and add more filler words
  * Skip macro() and function() definitions
  * Use os.pathsep instead of hardcoded colon
  * Check output names of targets

Version 1.0.5

  * Add support for rosrepo

Version 1.0.4

  * Check package descriptions for typical filler words
  * Forbid unset() of critical variables
  * Refine header installation test
  * Tweak filler word list

Version 1.0.3

  * Reword rosbuild_compat_fkie warning
  * Check plugin exports
  * Warn about uninstalled executables

Version 1.0.2

  * Fix typo
  * Treat check_catkin_pkg() exceptions as lint errors
  * Add bash shell completion code

Version 1.0.1

  * Support find_path() and find_library() for catkin_package() depends

Version 1.0.0

  * Initial public release

