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 - (...)