Warning, /sdk/clazy/Changelog is written in an unsupported language. File is not indexed.

0001 # Changelog
0002 
0003 * v1.11 (January 21st 2022)
0004     - New Checks:
0005       - use-arrow-operator-instead-of-data
0006       - use-static-qregularexpression
0007       - unexpected-flag-enumerator-value
0008       - Removed inefficient-qlist check (Fixed in Qt6)
0009 
0010 * v1.10 (July 20th 2021)
0011    - Requires C++17
0012    - Fixed a -Wclazy-lambda-in-connect false-positive
0013    - Fixed crash in copyable-polymorphic when PCH was enabled
0014 
0015 * v1.9 (Jan 10th, 2021)
0016     - Fixed clazy slowdown introduced in 1.8. I can be up to 4x faster now.
0017     - range-loop was split in range-loop-detach and range-loop-reference
0018     - Fixed -Wclazy-connect-non-signal false positives
0019 
0020 
0021 * v1.8 (November 22nd, 2020)
0022     - New Checks:
0023       - qt6-qhash-signature
0024       - qt6-header-fixes
0025       - qt6-deprecated-api-fixes
0026       - use-chrono-in-qtimer
0027       - fixit for missing-qobject-macro
0028 
0029 
0030 * v1.7 (June 29th, 2020)
0031   - New Checks:
0032     - overloaded signal
0033     - invalid JNI signatures
0034     - qstring-comparison-to-implicit-char
0035     - qt6-qlatin1string-to-u
0036   - connect-non-signal: Fix case where it didn't find the pmf
0037   - qstring-arg warns when using QLatin1String::arg(int), as it casts to QChar
0038   - Building clazy itself is 30% faster
0039   - heap-allocated-small-trivial-type: less false-positives
0040 
0041 
0042 * v1.6 (October 12, 2019)
0043   - New Checks:
0044     - heap-allocated-small-trivial-type
0045     - signal-with-return-value
0046     - qproperty-type-mismatch, contributed by Jean-Michaƫl Celerier
0047   - Removed level3. Moved all level3 checks to manual level. Doesn't make sense to enable all of them.
0048   Each one must be carefully considered.
0049   - Fixed regressions with LLVM 9.0
0050   - Minimum LLVM was bumped to 5.0
0051   - Fixit infrastructure was overhauled
0052   - Clazy no longer rewrites files directly, to avoid races when parallel invocations change the same header.
0053   - Clazy now exports a yaml file with the replacements, to be applied with clang-apply-replacements. 
0054   The same way other clang tooling does it.
0055   - The way to enable code rewrite is now: -Xclang -plugin-arg-clazy -Xclang export-fixes for clang
0056   or -export-fixes=somefile.yaml for clazy-standalone
0057   - All other fixit arguments and fixit env variables were removed
0058   - Thanks to Christian Gagneraud for contributing the fixit yaml exporter!
0059 
0060 
0061 * v1.5 (January 31st, 2019)
0062   - New Checks:
0063       - ifndef-define-typo
0064       - lowercase-qml-type-name
0065       - qrequiredresult-candidates
0066   - New Fixits:
0067       - range-loop now supports adding missing refs or const-ref
0068       - range-loop now supports adding qAsConst()
0069       - function-args-by-ref now adding missing refs or const-ref (experimental)
0070       - Introduced CLAZY_FIXIT_SUFFIX env variable
0071   - Removed support for the obscure -DCLAZY_BUILD_UTILS_LIB to simplify the CMakeLists.txt
0072   - Renamed the clazy plugin from ClangLazy.so to ClazyPlugin.so
0073   - fully-qualified-moc-types now warns for slot/invokable return values too.
0074   They need to be fully qualified for QML.
0075   - Fixed a crash (clang assert) in raw-environment-function
0076 
0077 
0078 * v1.4 (September 23rd, 2018)
0079   - New Checks:
0080       - connect-by-name
0081       - skipped-base-method
0082       - qstring-varargs
0083       - fully-qualified-moc-types
0084       - qt-keywords, with fixit included
0085       - qhash-with-char-pointer-key
0086       - wrong-qevent-cast
0087       - static-pmf
0088       - raw-environment-function
0089       - empty-qstringliteral
0090   - auto-unexpected-qstringbuilder now also warns for lambdas returning QStringBuilder
0091   - performance optimizations
0092   - Added -header-filter=<regex> option to clazy-standalone. Only headers matching the regexp will
0093   have warnings, besides the .cpp file from the translation unit, which is never filtered out.
0094   - Added -ignore-dirs=<regex> option to clazy-standalone, and its CLAZY_IGNORE_DIRS env variable equivalent.
0095   - Added CLAZY_HEADER_FILTER env variable which adds above functionality to both clazy and clazy-standalone
0096   - unused-non-trivial-variable got unused-non-trivial-variable-no-whitelist option
0097   - unused-non-trivial-variable got user-blacklist and user-whitelist support
0098   - container-inside-loop is now a manual check instead of level2
0099   - HiddenLevel was renamed to ManualLevel
0100   - connect-3arg-lambda now warns when passing a lambda to QTimer::singleShot() or QMenu::addAction()
0101   without a context object
0102   - old-style-connect warns for QMenu::addAction() and QMessageBox::open() too now
0103 
0104 
0105 * v1.3 (November 26th, 2017)
0106   - New checks:
0107       - thread-with-slots
0108       - connect-3arg-lambda
0109       - qproperty-without-notify
0110       - virtual-signal
0111       - overridden-signal
0112       - qhash-namespace
0113       - const-signal-or-slot
0114       - lambda-unique-connection
0115   - missing-qobject-macro is now a level2 check, instead of level1. Because, people can omit Q_OBJECT intentionally.
0116   - Added -only-qt option, which will make clazy bailout early on non-Qt files.
0117   For this purpose, the definition of a Qt file is whenever -DQT_CORE_LIB is passed,
0118   which is usually the case in most build systems.
0119   - Added -qt-developer option, when building Qt with clazy it will honour specific guidelines for Qt,
0120   which are not many right now but the list will grow.
0121 
0122 
0123 * v1.2 (July 8th, 2017)
0124   - clazy-standalone executable. Allows to run clazy against a JSON compilation database
0125     instead of as a plugin. clang-tidy doesn't support loading external modules (https://bugs.llvm.org/show_bug.cgi?id=32739)
0126     so this is a good workaround.
0127   - qt-compat mode. Allows to disable Qt5 specific checks by passing -Xclang -plugin-arg-clazy -Xclang qt4-compat
0128   - New checks:
0129       - install-event-filter
0130       - qcolor-from-literal
0131       - strict-iterators
0132       - connect-not-normalized
0133   - returning-data-from-temporary now checks for temporary QByteArrays casting to char* when returned
0134   - returning-data-from-temporary now checks for assignment too, not only return statements
0135   - unused-non-trivial-variable now warns for unused QList, QVector and many more types
0136   - ASTMatchers based checks are now supported
0137   - clang 3.7 was dropped due to ASTMatchers source incompatibilities.
0138   - Use clazy v1.1 for clang >= 3.6 support
0139   - clazylib.so no longer gets built by default, only the plugin (ClangLazy.so)
0140     gets built. Pass -DCLAZY_BUILD_UTILS_LIB=ON to enable the utils library if
0141     you're developing tools using clazy's convenience functions, which you're
0142     probably not.
0143   - CLAZY_INSTALL_NO_HEADERS option was removed. Either install the utils library
0144     and headers or nothing at all. By default nothing is installed, except
0145     the plugin and man pages.
0146 
0147 
0148 * v1.1 (February 20th, 2017)
0149 
0150   - macOS and Windows support
0151   - New checks:
0152       - child-event-qobject-cast
0153       - ctor-missing-parent-argument
0154       - returning-data-from-temporary
0155       - qt-macros
0156       - base-class-event
0157       - connect-non-signal
0158       - incorrect-emit
0159       - tr-non-literal
0160   - Fixes against :
0161     - clang 4.0
0162     - Qt 5.9
0163   - 60% performance improvement
0164   - Fixed many false positives
0165 
0166 
0167 * v1.0 (September 12th, 2016)
0168   - (...)
0169 
0170 
0171 * v0.0.1 (June 10th, 2015)
0172   - (...)