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

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