<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Clazy</title><link>https://apps.kde.org/el/clazy/</link><description> Το Clazy είναι ένα πρόσθετο μεταγλωττιστή clang το οποίο στέλνει προειδοποιήσεις σχετικές με τις βέλτιστες πρακτικές σε Qt.</description><generator>Hugo -- gohugo.io</generator><language>el</language><atom:link href="https://apps.kde.org/el/clazy/index.xml" rel="self" type="application/rss+xml"/><item><title>Release 1.17 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.17</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.17</guid><description><p>This release fixes the following bugs:</p><ul><li>Fix non-pod-static check emitting warning for each entry of a container</li><li>Fix use-arrow-operator-instead-of-data emitting false positive when value is casted</li><li>Do not whitelist QVariant for detaching-temporary. QVariant::toString will provide a QString that is not detached</li><li>detaching-temporary properly checks conditions when more than two method calls are chained</li><li>Fixits for detaching-temporary/detaching-member are more reliable with fixit ranges for operator calls</li><li>When using QT_NAMESPACE, clazy properly handles Qt classes being in this specific namespace</li><li>Fix wrong replacement method for QMap::operator[]</li><li>Make project compile with LLVM22. qhash-namespace, fully-qualified-moc-types, old-style-connect tests are fixed</li><li>Adjust readlock-detaching check to work properly with Qt 6.11 changes</li><li>Move qstring-ref to manuallevel since it is not compatible with Qt6</li></ul><p>This release adds the following feature:</p><ul><li>New checks: - compare-member-check: Checks whether comparison operators do not use all member variables of a class.</li></ul><p>C++20 is now required for compilation</p><p>qt6-\* porting checks are removed</p></description></item><item><title>Release 1.16 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.16</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.16</guid><description><p>This release fixes the following bugs:</p><ul><li>unused-result-check: Fix crash when method decleration can not be resolved</li><li>use-chrono-in-qtimer: Fix crash when using precompiled headers</li><li>qt6-qhash-signature: Adapt check to use more proper logic for casts and fix crash in edgecases</li><li>Ensure that clang21 works properly with clazy and produces same line/letter number as before (mismatches with operator calls)</li><li>non-pod-global-static: Fix false positive with Q_IMPORT_PLUGIN in Qt-6.10</li></ul><p>This release adds the following features:</p><ul><li>Clazy can finally be integrated into clang-tidy - one command to rule</li><li>them all! All checks can be enabled using "clazy-&lt;checkname&gt;". For example:</li><li>`clazy-qstring-arg,clazy-qfileinfo-exists`, enabling all checks using</li><li>`clazy-*` will also enable manual checks. It is recommended to be more granular.</li><li>The plugin can be loaded using `-load=ClazyClangTidy.so`, for this, the plugin</li><li>must be in the LD_LIBRARY_PATH. Otherwise, an absolute path may be specified.</li><li>isempty-vs-count now provides fixits for all scenarios. Also, cases where</li><li>the length is compared using "== 0", "&lt; 1", "&gt; 0" are now reported and have fixits.</li><li>qt6-\* Porting checks are considered deprecated now and will be removed in the next release of clazy</li><li>detaching-temporary and detaching-member checks provide fixits for methods that have const coutnerparts</li><li>NOLINT/NOLINTNEXTLINE/NOLINTBEGIN/NOLINTEND all work in clazy now as</li><li>expected. Individual clazy checks can be disabled when using a "clazy-"</li><li>prefix. For example "NOLINTNEXTLINE(clazy-qfileinfo-exists, clazy-qstring-arg)"</li></ul></description></item><item><title>Release 1.15 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.15</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.15</guid><description><p>This release fixes the following bugs:</p><ul><li>install-event-filter: Fix crash when there is no child at the given depth. BUG: 464372</li><li>fully-qualified-moc-types: Fix enum/enum class not being evaluated. BUG: 423780</li><li>Fixed crash in qstring-comparison-to-implicit-char. BUG: 502458</li><li>Fixed crash when fully-qualified-moc-types encounters signals with expressions like "std::bitset&lt;int(8)&gt;"</li><li>Fixed crash in qvariant-template-instantiation</li></ul><p>This release adds the following features:</p><ul><li>New checks:</li><li>readlock-detaching</li><li>Update minimum Clang/LLVM to 19</li><li>`clazy-standalone --version` contains git version ( output of `git describe`) if it is not a tagged commit</li><li>Added missing methods to checks for detaching temporary/member lists or maps</li></ul></description></item><item><title>Release 1.14 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.14</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.14</guid><description><p>Clazy warnings for the following line can be disabled, for example: clazy:exclude-next-line=check1,check2</p><p>Support for compilation against Clang 20</p><p>increase verbosity of some warning messages</p><p>checks `function-args-by-value` and `function-args-by-ref`: add function name and parameter name to warning message</p><p>checks `unused-non-trivial-variable` and `non-pod-global-static`: add variable name to warning message</p><p>This release adds the following features:</p><ul><li>New checks:</li><li>qbytearray-conversion-to-c-style</li></ul></description></item><item><title>Release 1.13 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.13</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.13</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>used-qunused-variable</li></ul><p>This release fixes the following bugs:</p><ul><li>qstring-arg check provides a fix-it</li><li>Fixed unused-non-trivial-variable to not warn when [[maybe_unused]] set</li><li>Fixed qstring-arg for upcoming Qt 6.9</li><li>Fixed fully-qualified-moc-types false positive for const modifiers of generic arguments</li><li>Silence false positive non-pod-global-static warning for QML module initialization</li><li>Fix function-args-by-value false positive that would cause compile error</li><li>in copy constructors, assignment operators and equal checks</li><li>False positives for `Q_EMIT(someSignal())` are now fixed</li></ul></description></item><item><title>Release 1.12 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.12</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.12</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>qt-keyword-emit</li><li>sanitize-inline-keyword</li></ul></description></item><item><title>Release 1.11 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.11</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.11</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>use-arrow-operator-instead-of-data</li><li>use-static-qregularexpression</li><li>unexpected-flag-enumerator-value</li><li>Removed inefficient-qlist check (Fixed in Qt6)</li></ul></description></item><item><title>Release 1.10 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.10</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.10</guid><description><p>This release fixes the following bugs:</p><ul><li>Requires C++17</li><li>Bugfixes:</li><li>Fixed a -Wclazy-lambda-in-connect false-positive</li><li>Fixed crash in copyable-polymorphic when PCH was enabled</li></ul></description></item><item><title>Release 1.9 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.9</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.9</guid><description><p>This release fixes the following bugs:</p><ul><li>Fixed clazy slowdown introduced in 1.8. I can be up to 4x faster now.</li><li>range-loop was split in range-loop-detach and range-loop-reference</li><li>Fixed -Wclazy-connect-non-signal false positives</li></ul></description></item><item><title>Release 1.8 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.8</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.8</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>qt6-qhash-signature</li><li>qt6-header-fixes</li><li>qt6-deprecated-api-fixes</li><li>use-chrono-in-qtimer</li><li>fixit for missing-qobject-macro</li></ul></description></item><item><title>Release 1.7 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.7</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.7</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>overloaded signal</li><li>invalid JNI signatures</li><li>qstring-comparison-to-implicit-char</li><li>qt6-qlatin1string-to-u</li><li>heap-allocated-small-trivial-type: less false-positives</li></ul><p>This release fixes the following bugs:</p><ul><li>connect-non-signal: Fix case where it didn't find the pmf</li><li>qstring-arg warns when using QLatin1String::arg(int), as it casts to QChar</li></ul><p>Building clazy itself is 30% faster</p></description></item><item><title>Release 1.6 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.6</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.6</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>heap-allocated-small-trivial-type</li><li>signal-with-return-value</li><li>qproperty-type-mismatch, contributed by Jean-Michaël Celerier</li></ul><p>Removed level3. Moved all level3 checks to manual level. Doesn't make sense to enable all of them.</p><p>Each one must be carefully considered.</p><p>Minimum LLVM was bumped to 5.0</p><p>Clazy no longer rewrites files directly, to avoid races when parallel invocations change the same header.</p><p>Clazy now exports a yaml file with the replacements, to be applied with clang-apply-replacements.</p><p>The same way other clang tooling does it.</p><p>The way to enable code rewrite is now: -Xclang -plugin-arg-clazy -Xclang export-fixes for clang</p><p>or -export-fixes=somefile.yaml for clazy-standalone</p><p>All other fixit arguments and fixit env variables were removed</p><p>Thanks to Christian Gagneraud for contributing the fixit yaml exporter!</p><p>This release fixes the following bugs:</p><ul><li>Fixed regressions with LLVM 9.0</li><li>Fixit infrastructure was overhauled</li></ul></description></item><item><title>Release 1.5 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.5</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.5</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>ifndef-define-typo</li><li>lowercase-qml-type-name</li><li>qrequiredresult-candidates</li><li>New Fixits:</li><li>range-loop now supports adding missing refs or const-ref</li><li>range-loop now supports adding qAsConst()</li><li>function-args-by-ref now adding missing refs or const-ref (experimental)</li><li>Introduced CLAZY_FIXIT_SUFFIX env variable</li></ul><p>Removed support for the obscure -DCLAZY_BUILD_UTILS_LIB to simplify the CMakeLists.txt</p><p>Renamed the clazy plugin from ClangLazy.so to ClazyPlugin.so</p><p>fully-qualified-moc-types now warns for slot/invokable return values too. They need to be fully qualified for QML.</p><p>This release fixes the following bug:</p><ul><li>Fixed a crash (clang assert) in raw-environment-function</li></ul></description></item><item><title>Release 1.4 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.4</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.4</guid><description><p>This release adds the following features:</p><ul><li>New Checks:</li><li>connect-by-name</li><li>skipped-base-method</li><li>qstring-varargs</li><li>fully-qualified-moc-types</li><li>qt-keywords, with fixit included</li><li>qhash-with-char-pointer-key</li><li>wrong-qevent-cast</li><li>static-pmf</li><li>raw-environment-function</li><li>empty-qstringliteral</li><li>auto-unexpected-qstringbuilder now also warns for lambdas returning QStringBuilder</li></ul><p>performance optimizations</p><p>Added -header-filter=&lt;regex&gt; option to clazy-standalone. Only headers matching the regexp will</p><p>have warnings, besides the .cpp file from the translation unit, which is never filtered out.</p><p>Added -ignore-dirs=&lt;regex&gt; option to clazy-standalone, and its CLAZY_IGNORE_DIRS env variable equivalent.</p><p>Added CLAZY_HEADER_FILTER env variable which adds above functionality to both clazy and clazy-standalone</p><p>unused-non-trivial-variable got unused-non-trivial-variable-no-whitelist option</p><p>unused-non-trivial-variable got user-blacklist and user-whitelist support</p><p>container-inside-loop is now a manual check instead of level2</p><p>HiddenLevel was renamed to ManualLevel</p><p>connect-3arg-lambda now warns when passing a lambda to QTimer::singleShot() or QMenu::addAction()</p><p>without a context object</p><p>old-style-connect warns for QMenu::addAction() and QMessageBox::open() too now</p></description></item><item><title>Release 1.3 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.3</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.3</guid><description><p>This release adds the following features:</p><ul><li>New checks:</li><li>thread-with-slots</li><li>connect-3arg-lambda</li><li>qproperty-without-notify</li><li>virtual-signal</li><li>overridden-signal</li><li>qhash-namespace</li><li>const-signal-or-slot</li><li>lambda-unique-connection</li></ul><p>missing-qobject-macro is now a level2 check, instead of level1. Because, people can omit Q_OBJECT intentionally.</p><p>Added -only-qt option, which will make clazy bailout early on non-Qt files. For this purpose, the definition of a Qt file is whenever -DQT_CORE_LIB is passed, which is usually the case in most build systems.</p><p>Added -qt-developer option, when building Qt with clazy it will honour specific guidelines for Qt, which are not many right now but the list will grow.</p></description></item><item><title>Release 1.2 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.2</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.2</guid><description><p>This release adds the following features:</p><ul><li>New checks:</li><li>install-event-filter</li><li>qcolor-from-literal</li><li>strict-iterators</li><li>connect-not-normalized</li></ul><p>This release fixes the following bugs:</p><ul><li>clazy-standalone executable. Allows to run clazy against a JSON compilation database instead of as a plugin. clang-tidy doesn't support loading external modules (https://github.com/llvm/llvm-project/issues/32086) so this is a good workaround.</li><li>qt-compat mode. Allows to disable Qt5 specific checks by passing -Xclang -plugin-arg-clazy -Xclang qt4-compat</li><li>returning-data-from-temporary now checks for temporary QByteArrays casting to char* when returned</li><li>returning-data-from-temporary now checks for assignment too, not only return statements</li><li>unused-non-trivial-variable now warns for unused QList, QVector and many more types</li><li>ASTMatchers based checks are now supported</li><li>clang 3.7 was dropped due to ASTMatchers source incompatibilities.</li><li>Use clazy v1.1 for clang &gt;= 3.6 support</li><li>clazylib.so no longer gets built by default, only the plugin (ClangLazy.so) gets built. Pass -DCLAZY_BUILD_UTILS_LIB=ON to enable the utils library if you're developing tools using clazy's convenience functions, which you're probably not.</li><li>CLAZY_INSTALL_NO_HEADERS option was removed. Either install the utils library and headers or nothing at all. By default nothing is installed, except the plugin and man pages.</li></ul></description></item><item><title>Release 1.1 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.1</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.1</guid><description><p>This release adds the following features:</p><ul><li>macOS and Windows support</li><li>New checks:</li><li>child-event-qobject-cast</li><li>ctor-missing-parent-argument</li><li>returning-data-from-temporary</li><li>qt-macros</li><li>base-class-event</li><li>connect-non-signal</li><li>incorrect-emit</li><li>tr-non-literal</li><li>Fixes against:</li><li>clang 4.0</li><li>Qt 5.9</li><li>Notes:</li><li>60% performance improvement</li><li>Fixed many false positives</li></ul></description></item><item><title>Release 1.0 of Clazy</title><link>https://apps.kde.org/el/clazy/#1.0</link><pubDate/><guid>https://apps.kde.org/el/clazy/#1.0</guid><description><p>We released a new version of Clazy!</p></description></item><item><title>Release 0.0.1 of Clazy</title><link>https://apps.kde.org/el/clazy/#0.0.1</link><pubDate/><guid>https://apps.kde.org/el/clazy/#0.0.1</guid><description>
First release</description></item></channel></rss>