| ********* | |
| Changelog | |
| ********* | |
| 2.0.2 (2025-04-08) | |
| =========== | |
| * Python versions less than 3.9 are no longer supported. (https://github.com/cpplint/cpplint/pull/334) | |
| * The false positive for indented member initializer lists in namespaces were eradicated. (https://github.com/cpplint/cpplint/pull/353) | |
| * The warning on non-const references (runtime/references) is now disabled by default pursuant to the May 2020 Google style guide update. (https://github.com/cpplint/cpplint/pull/305) | |
| 2.0.1 (2025-04-02) | |
| ================== | |
| Yet another overdue... hotfix. Sorry this took so long. | |
| * The false positive for indented function parameters in namespaces was eradicated. (https://github.com/cpplint/cpplint/pull/304) | |
| * Files that end in ".c", ".C", or ".cu" will now also automatically suppress C++-only categories. Previously, `// NO_LINT_C` was required. (https://github.com/cpplint/cpplint/pull/318) | |
| * build/include-what-you-use now recognizes c-style headers such as <stdio.h> for symbols from <cstdio>. (https://github.com/cpplint/cpplint/pull/319) | |
| * Ruff, mypy, and codespell were ran on the project to improve performance and reader comprehension thanks to @cclauss. | |
| * Tests were refactored away from unittest to improve display with pytest by @cclauss. (https://github.com/cpplint/cpplint/pull/332) | |
| * @Hs293Go fixed an embarrassing typo; the "latch" and "numbers" headers are now recognized correctly instead of "latchnumbers". (https://github.com/cpplint/cpplint/pull/300) | |
| * CLI tests were refactored through, among other things, making adding new .def's easier by migrating to a parameterized setup. (https://github.com/cpplint/cpplint/pull/317) | |
| 2.0.0 (2024-10-06) | |
| ================== | |
| A large long-overdue modernization of the codebase! | |
| * Python versions less than 3.8 are no longer supported. Python 3.12 support was added along with fixed CI for 3.7 and 3.8, courtesy of @jayvdb | |
| * As a result of all this, setup.py's lint subcommand was removed. Please run the commands directly instead. | |
| * You can now specify blocks of code that exclude linting with NOLINTBEGIN and NOLINTEND, courtesy of @n3world (https://github.com/cpplint/cpplint/pull/213) | |
| * The config filename can now be specified through `--config` thanks to @gedankenexperimenter (https://github.com/cpplint/cpplint/pull/198). Specifying a config file not under the current directory will be available in a future release. | |
| * The `--filter` option can now be only applied to a specific file or even a specific line through utilizing colons, e.g. `-filter=-whitespace:foo.h,+whitespace/braces:foo.h:418`. Courtesy of @PhilLab (https://github.com/cpplint/cpplint/pull/171) | |
| * NOLINT and NOLINTNEXTLINE comments now support a comma-separated list of categories, courtesy of @n3world (https://github.com/cpplint/cpplint/pull/220) | |
| * NOLINT and NOLINTNEXTLINE will now ignore categories known to be from clang-tidy thanks to @xatier (https://github.com/cpplint/cpplint/pull/231) | |
| * Fixed behavior with nested source repositories by @groegeorg (https://github.com/cpplint/cpplint/pull/78) | |
| * build/include-what-you-use no longer supports transitive headers from the header for the current module for parity with the style guide by @aaronliu0130 | |
| * build/include-what-you-use now supports a plethora of new functions, courtesy of @geoffviola (https://github.com/cpplint/cpplint/pull/94) | |
| * build/include-what-you-use will no longer err on similarly-named classes from other namespaces thanks to @geoffviola (https://github.com/cpplint/cpplint/pull/273) | |
| * Indented functions inside namespaces will now be correctly erred on, courtesy of @Yujinmon (https://github.com/cpplint/cpplint/pull/235) | |
| * The check for C-style casts now looks for the standard fixed-width integer typenames instead of non-standard ones (e.g. int32_t instead of int32) thanks to @nate-thirdwave (https://github.com/cpplint/cpplint/pull/282) | |
| * `[[(un)likely]]` no longer clouds readability/braces's super spy−scanning of braces, courtesy of @aaronliu0130 (https://github.com/cpplint/cpplint/pull/265) | |
| * `readability/braces` will realize that C++20 concepts require a semicolon, courtesy of @armandas (https://github.com/cpplint/cpplint/pull/288) | |
| * C++20 headers will no longer be flagged as C headers thanks to @miker2 (https://github.com/cpplint/cpplint/pull/216) | |
| * Same goes for C++23 and C23 headers, thanks to @aaronliu0130 (https://github.com/cpplint/cpplint/pull/239) | |
| * "complex.h" will be treated as the C99 header instead of the legacy C++ header by @tkruse (https://github.com/cpplint/cpplint/pull/219) | |
| * Many features not blocked in Google's style guide will no longer be erred own thanks to @aaronliu0130 | |
| * As part of this, the build/c++14 and build/c++tr1 categories were removed. | |
| * The filesystem header will now also be blocked, and the build/c++17 category has been added. | |
| * We will no longer bother you if you mark a no-arg constructor as explicit thanks to @markww (https://github.com/cpplint/cpplint/pull/227) | |
| * In the same PR, @aaronliu0130 also decreased the verbosity of nagging to mark single-arg constructors as explicit to 4, as the styleguide includes a major exception to this rule that would be very hard to detect. | |
| * Processing C++ files through stdin/piping is now fixed thanks to @aaronliu0130 (https://github.com/cpplint/cpplint/pull/289) | |
| * You can now specify the name of the CPPLINT.cfg file through `--config` as long as it is in the same directory, thanks to @gedankenexperimenter (https://github.com/cpplint/cpplint/pull/198) | |
| * The new __VA_OPT__(,) will now be recognized by the Whitespace linter as a function thanks to @elrinor (https://github.com/cpplint/cpplint/pull/237) | |
| * The check for including a source file's header file will now scan all files with the same base name. Thanks to @crogre for figuring out what code needed to be changed and @aaronliu0130 for fixing it (https://github.com/cpplint/cpplint/pull/104) | |
| * `build/class` and `build/namespaces` no longer check for whether a namespace or class has a closing brace from @geoffviola (https://github.com/cpplint/cpplint/pull/272). This should be done in a more efficient manner by a compiler or language server instead. As part of this, the `build/class` category was removed. | |
| * Fixed false positive when an if/else statement has braces everywhere but one of the closing braces before the final block is on a separate line by @aaronliu0130 (https://github.com/cpplint/cpplint/pull/265) | |
| * For header files, the check for a header guard's name will now be cached and only run once, as opposed to previously being run on every line. This results in a ~5.6% reduction in run time thanks to @matyalatte, who figured it out, and @aaronliu0130 for implementing it (https://github.com/cpplint/cpplint/pull/291) | |
| * Usages of the deprecated sre_compile were refactored by @jspricke (https://github.com/cpplint/cpplint/pull/214) | |
| * Usages of deprecated unittest aliases were refactored by @tirkarthi (https://github.com/cpplint/cpplint/pull/182), @aaronliu0130 and @jayvdb | |
| * Typos in this changelog, comments and functions were fixed by @jayvdb (https://github.com/cpplint/cpplint/pull/245), @aaronliu0130 and @tkruse | |
| * %-strings were modernized into f-strings by @aaronliu0130 | |
| 1.6.1 (2022-08-20) | |
| ================== | |
| * Fix #195 Fix post increment/decrement operator causing a false positive. | |
| * Fix #202 .hh files should not be considered system headers | |
| * Fix #207 Python2 incompatibility for loading CPPLINT.cfg file | |
| * Fix #184 NOLINT(clang-analyzer) comments should not cause warnings | |
| 1.6.0 (2022-02-19) | |
| ================== | |
| * Fix #188: "Include the directory when naming header files" also for header files with other names like "*.hpp" | |
| 1.5.5 (2021-05-20) | |
| ================== | |
| * Fix #172: Added 'size_t' to typecasts detected by CheckCStyleCast | |
| * Fixed wrong CLI help text: Each filter needs + or - | |
| * Fix #164: add elif as an exception for CheckSpacingForFunctionCall() | |
| * Fix google#346: --root option not working on Windows due to slashes in path | |
| 1.5.4 (2020-08-18) | |
| ================== | |
| * Fix google#166, Allow space before C++11 attributes | |
| 1.5.3 (2020-07-20) | |
| ================== | |
| * Fix #156: sed/gsed output parameter rejected | |
| * Fix #156: sed/gsed output without other stdout information | |
| * improvements to regression tests | |
| 1.5.2 (2020-06-24) | |
| ================== | |
| * Fix #83, output formats "sed" and "gsed" to auto-fix some issues | |
| * Fix #92, new category "build/namespaces_headers" for unnamed namespaces in header file | |
| * Sort list of files before processing | |
| * Fix #144 False positive for indent when using QT macros "signals" and "slots" | |
| * Fix #76 Parsing of class decorators that also use digits | |
| * Fix #139 Add message "Relative paths like . and .. are not allowed" | |
| 1.5.1 (2020-06-05) | |
| ================== | |
| * Revert #43 behavior change for include order from 1.5.0, and hide it behind command-line-flag `--includeorder=standardcfirst`. | |
| It turns out there is no easy objective way to tell c system headers from certain c++ library headers, and Google cpplint intentionally classifies some C++ header includes as C system header for simplicity. | |
| * Libraries considered as C system headers using --includeorder=standardcfirst now also includes linux-specific headers (glibc-devel, glibc-kernheaders, linux-libc-dev). | |
| 1.5.0 (2020-05-31) | |
| ================== | |
| * Fix #43 false positives in header include order by checking includes against a list of c headers. | |
| Since this interprets certain include lines different than before, output about header include order changes. | |
| 1.4.6 (2020-05-31) | |
| ================== | |
| * Fix #135: allow 'if constexpr' in readability/braces. | |
| * Fix runtime warning: Close files after reading contents | |
| 1.4.5 (2020-01-13) | |
| ================== | |
| * Avoid false positive for [build/include_what_you_use] in case of `foo.set<type>` and `foo->set<type>` usage. | |
| * Avoid false positive for [build/include_what_you_use] in case of `map` is user defined function | |
| * Escape backslashes in pydoc strings to get rid of DeprecationWarning. | |
| * Fix false positive "should include its header" for 3rd party headers | |
| * Add support for c++17 tuple destructuring | |
| * fix #123: Inconsistent behavior of --headers and --extensions | |
| * Fix #114: --exclude not working recursively | |
| * fix #112, identifying of copy constructors should allow combinations of volatile and const | |
| 1.4.4 (2019-02-25) | |
| ================== | |
| Another cleanup release | |
| * NOBUG: fix unit/cli tests for source release | |
| * NOBUG: reduce diff to upstream by intentionally using deprecated functions where upstream uses them | |
| * add `--version` command (https://github.com/cpplint/cpplint/issues/27) | |
| 1.4.3 (2019-02-18) | |
| ================== | |
| * Revert "Fix the `build/endif_comment` check", same as reverted in upstream | |
| 1.4.2 (2019-02-17) | |
| ================== | |
| * Cleanup release, fixes further issues with tests and source distribution | |
| 1.4.1 (2019-02-17) | |
| ================== | |
| * Cleanup release, only adds test support files to source dist | |
| 1.4.0 (2019-02-17) | |
| ================== | |
| * Incorporate cpplint updates from google (e5d807c6a0d, 2018-05-03) | |
| * Fix the `build/endif_comment` check (https://github.com/google/styleguide/pull/169) | |
| * Teach the explicit constructor check about constexpr (#56) | |
| * Changed vs7 output format (#57) | |
| * Remove presubmit check for DISALLOW_* macros (#54) | |
| * add `--quiet` flag as in upstream (https://github.com/google/styleguide/pull/293) | |
| * support `--root` argument to run in different folder (https://github.com/google/styleguide/pull/291) | |
| * Fix 16bit Unicode issue (https://github.com/google/styleguide/issues/337) | |
| 1.3.0 (2016-07-12) | |
| ================== | |
| * Incorporate cpplint updates from google (6d3a7d8a2, 2016-07-14) | |
| * Add --headers flag to choose which extensions are header files. | |
| * Add regression testing. | |
| 1.2.2 (2016-04-07) | |
| ================== | |
| * Fixes bug causing RValue detection with namespaces to fail. | |
| 1.2.1 (2016-03-19) | |
| ================== | |
| * Fixes error in setup.py. | |
| 1.2.0 (2016-03-19) | |
| ================== | |
| * Adds `.cu` and `.cuh` as supported file extensions by default. | |
| * Moves the warning "Include the directory when naming .h files" from the `build/include` category to the `build/include_subdir` category. | |
| 1.1.0 (2016-02-24) | |
| ================== | |
| * Adds quiet option to suppress non error-related output. | |
| 1.0.1 (2016-02-12) | |
| ================== | |
| * Updates PyPi README. | |
| 1.0.0 (2016-02-03) | |
| ================== | |
| * Fixes a --repository flag bug. | |
| 0.0.9 (2016-01-23) | |
| ================== | |
| * Adds the --exclude flag to exclude files from being linted. | |
| 0.0.8 (2016-01-18) | |
| ================== | |
| * Adds the --repository flag to set the location of the project root for header guard calculations. | |
| * Adds support for ``#pragma once`` as an alternative to header include guards. | |
| 0.0.7 (2016-01-07) | |
| ================== | |
| * Fixes a Windows include guard bug. | |
| * Adds escaping and more detail to JUnit XML output. | |
| 0.0.6 (2015-12-15) | |
| ================== | |
| * Adds the --recursive flag. | |
| * Adds JUnit XML output. | |
| 0.0.5 (2015-01-04) | |
| ================== | |
| * Maintenance release, undoes earlier project folder structure changes to remain as true to upstream as possible. | |
| 0.0.4 (2015-01-04) | |
| ================== | |
| * Merged with upstream revision r141 (2014-12-04) | |
| * This includes many new checks, see commit messages for details | |
| * This also reverts some renaming of files, to stay close to the original project | |
| 0.0.3 (2012-11-24) | |
| ================== | |
| * python 3 compatibility | |
| 0.0.2 (2012-11-06) | |
| ================== | |
| * fixed and extended allowed extensions | |
| 0.0.1 (2012-10-13) | |
| ================== | |
| * import from googlecode, added setup.py | |
| * imported revision r83 (2012-05-11) |