Releases: qltysh/qlty
Releases 路 qltysh/qlty
Release list
Release v0.645.0
Immutable
release. Only release title and notes can be modified.
New
- Expose
properties.thresholdandproperties.actualon all eight maintainability smells in both native JSON and SARIF output, so consumers no longer need to parse messages for measurements and can read values beyond the configured threshold (#2851)
Improved
- Compute repository cache state once per run instead of per invocation, making
qlty checkup to 4x faster on large repositories with per-file linters such as gitleaks (#2856)
Fixed
- Exclude arithmetic, bitwise, and comparison operators from cyclomatic complexity, which previously inflated scores by counting non-branching operators as extra paths (#2852)
- Include active check filters in issue cache keys, preventing a filtered check from caching an empty result that a later unfiltered check would incorrectly reuse (#2837)
Release v0.644.0
Immutable
release. Only release title and notes can be modified.
Fixed
- Bump redocly from 2.32.2 to 2.41.0, which patches CVE-2026-63325 (arbitrary code execution via Arazzo
$fakerexpressions) and CVE-2026-63225 (path traversal in thesplitcommand) (#2847) - Fix shfmt reporting unparseable shell files as clean; files it cannot parse now surface a plugin error instead of silently passing with zero findings (#2847)
Release v0.643.0
Immutable
release. Only release title and notes can be modified.
New
- Add maintainability analysis for Elixir, including complexity metrics (cyclomatic, cognitive, function/class/field counts, LCOM4), structure smells, and duplication detection (#2843)
Release v0.642.0
Immutable
release. Only release title and notes can be modified.
Fixed
- Bump PHP_CodeSniffer from 3.10.3 to 3.13.6, which patches GHSA-hmqg-cxww-wqhq and restores installs that Composer now blocks on the vulnerable pin (#2839)
- Bump haml-lint from 0.69.0 to 0.77.0, fixing a
Cannot handle Haml versionfailure when fresh installs resolve Haml 7.3.x (#2839)
Release v0.641.0
Immutable
release. Only release title and notes can be modified.
Release v0.640.0
Immutable
release. Only release title and notes can be modified.
- Add a
pre-releasechannel to the release promotion workflow, so new releases auto-promote topre-releaseand promotion tolatestbecomes a deliberate step (#2832)
Release v0.639.0
Immutable
release. Only release title and notes can be modified.
Fixed
- Honor
package-lock.jsonwhen installing node-based linters frompackage_file, so the locked versions are respected instead of npm resolving the latest versions matching thepackage.jsonsemver ranges (#2829) - Honor
composer.lockwhen installing PHP linters frompackage_file, so the locked versions are respected instead ofcomposer updatere-resolving to the latest matching versions (#2830)
Release v0.638.0
Immutable
release. Only release title and notes can be modified.
Improved
- Bump the managed Node runtime from 21.7.3 to 22.23.1 LTS, so plugins that require even-numbered LTS Node lines (such as eslint 10, knip 6, oxlint 1.x, and prisma 7) install their native dependencies correctly (#2827)
Release v0.637.0
Immutable
release. Only release title and notes can be modified.
Improved
- Merge a
[[plugins.definitions.X.drivers.Y.version]]block in qlty.toml into a source's versioned driver entry with the sameversion_matcher, allowing per-version driver field overrides instead of being silently unreachable (#2823)
Fixed
- Apply user-configured driver fields (such as
prepare_script) to version-matched drivers for plugins with versioned drivers (eslint, stylelint, knip, golangci-lint, trufflehog, radarlint-*), instead of silently discarding them at plan time (#2822)
Release v0.636.0
Immutable
release. Only release title and notes can be modified.
Improved
- Classify npm
EUNSUPPORTEDPROTOCOLfailures caused byworkspace:/catalog:dependencies with a clear message explaining that pnpm/yarn workspace protocols are not supported (#2819) - Surface the full error cause chain in install error details so failures without command output (such as package-file staging errors) are no longer reported with empty details (#2819)