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

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