Releases: clj-kondo/clj-kondo
Releases · clj-kondo/clj-kondo
v2025.07.28
v2025.07.26
What's Changed
- Fix #2555: false positive with str/replace + partial by @borkdude in #2556
- Fix #2560: NEW :locking-suspicious-lock linter by @borkdude in #2561
- #2560: add numbers to locking check by @borkdude in #2562
- Add support to s/defprotocol from prismatic schema by @emerson-matos in #2565
- Fix #2566: expand :condition-always-true checks by @borkdude in #2569
- Fix #2571: false positive unresolved symbol with macroexpand hook + ignore by @borkdude in #2572
- localized memoize by @borkdude in #2573
- Get rid of caching by @borkdude in #2574
- Fix #2519: unresolved-protocol-method by @borkdude in #2576
- Fix #2575: false positive type mismatch with nested keyword call and str by @borkdude in #2577
- Fix #2568: support :deprecated-namespace for .cljc namespaces by @borkdude in #2578
New Contributors
- @emerson-matos made their first contribution in #2565
Full Changelog: v2025.06.05...v2025.07.26
v2025.06.05
What's Changed
- docs: linters: fix typo in code example by @lread in #2523
- Fix #2524: support redundant ignore on missing protocol method by @borkdude in #2525
- Fix #2522: support config-in-ns on missing-protocol-method by @borkdude in #2526
- Fix #2536: false positive with whitespace flag after percent sign by @borkdude in #2539
- Fix #2535: false positive :missing-protocol-method when using alias by @borkdude in #2540
- Fix #2534: make
:redundant-ignore
aware of.cljc
by @borkdude in #2542 - Fix #2218: use ReentrantLock to coordinate writes to cache directory by @borkdude in #2543
- Fixes #2531: add more info to unresolved-namespace finding by @borkdude in #2544
- Fix unresolved-namespace :name data by @ericdallo in #2545
- Fix #2541: :discouraged-java-method by @borkdude in #2548
- Fix #2533: report inline def under fn and defmethod by @borkdude in #2549
- Fix #2521: support :langs option in :discouraged-var linter by @borkdude in #2550
- #2529: add :ns to &env in :macroexpand-hook macros when executing in CLJS by @borkdude in #2551
- Fix #2547: make redundant-fn-wrapper report only for all cljc branches by @borkdude in #2552
Full Changelog: v2025.04.07...v2025.06.05
v2025.04.07
What's Changed
- Fix #2493: reduce image size by @borkdude in #2494
- Fix #2496: Malformed deftype form results in NPE by @borkdude in #2497
- Fix empty alias call by @NoahTheDuke in #2500
- Fix #2492: report unsupported escape characters in strings by @borkdude in #2501
- Fix #2502: add end location to invalid symbol by @borkdude in #2503
- Upgrade GraalVM to 24 by @borkdude in #2504
- Document special cases of var-usages location info by @sheluchin in #2505
- Bump datalog parser by @borkdude in #2507
- Move Windows build from Appveyor to Github Actions by @borkdude in #2508
- Fix #1292: missing protocol method linter by @borkdude in #2513
- Fix #2512: allow vars ending with . according to analyzer by @borkdude in #2514
- Fix #2511: fix multiple parse errors caused by incomplete forms by @borkdude in #2515
- Fix #2516: add --repro flag to ignore home config by @borkdude in #2517
- Bump built-in cache by @borkdude in #2518
Full Changelog: v2025.02.20...v2025.04.07
v2025.02.20
What's Changed
- Fix #2465, :discouraged-var linter with fixed arities by @borkdude in #2468
- Fix #2467: add :exclude option for redundant-ignore by @borkdude in #2470
- Fix #2277: prefer array class symbol in defprotocol by @borkdude in #2471
- Fix #2466: false positive with tagged literal in macroexpand hook by @borkdude in #2478
- Fix #2475: add :do-template linter by @imrekoszo in #2476
- Fix #2473: :unknown-ns-option linter by @borkdude in #2479
- Fix #2463: false positive when min-clj-kondo-version is specified by @imrekoszo in #2480
- linux static build more ram by @borkdude in #2485
- Fix #2464: set min-clj-kondo-version finding location when applicable by @imrekoszo in #2481
- Fix #2472: unresolved symbol by @borkdude in #2486
- Fix #90: upgrade graalvm by @borkdude in #2488
- Fix #2490: restore unofficial support for ignore hints via metadata by @borkdude in #2491
- Add
quote-node
andquote-node?
to hooks API by @camsaul in #2489
Full Changelog: v2025.01.16...v2025.02.20
v2025.01.16
What's Changed
- docs: minor: update linters.md: new default levels by @lread in #2430
- Document :cljc config option by @NoahTheDuke in #2436
- Fix #2433: false positive redundant ignore with hook by @borkdude in #2437
- Fix #2431: only apply redundant-nested-call linter for nested exprs by @borkdude in #2438
- Include if-not in :condition-always-true linter by @tomdl89 in #2434
- Help devs without the cli at hand by adding cli help option output to docs by @grahamcarlyle in #2442
- Fix #2439: uneval applies to next form which may depend on reader features by @borkdude in #2443
- Include if-let etc in :condition-always-true linter by @tomdl89 in #2441
- Fix :keyword-binding linter example by @tomdl89 in #2445
- Fix #2446: false positive redundant ignore by @borkdude in #2447
- Fix #2448: redundant nested call in hook gen'ed code by @borkdude in #2449
- Add printf to vars linted by analyze-format by @tomdl89 in #2453
- If nil return by @tomdl89 in #2452
- Fix #2424: combination of config-in-ns and discouraged-namespace by @borkdude in #2454
- Fix #2457: :equals-float linter by @borkdude in #2461
- Fix #2219: allow arity config for :discouraged-var by @borkdude in #2462
New Contributors
- @grahamcarlyle made their first contribution in #2442
Full Changelog: v2024.11.14...v2025.01.16
v2024.11.14
v2024.11.14
v2024.09.27
What's Changed
Full Changelog: v2024.09.26...v2024.09.27
v2024.09.26
What's Changed
- Update built-in cache by @borkdude in #2385
- Fix #2386: fix regression introduced in #2364 in letfn by @borkdude in #2387
- Fix #2389: expose hooks-api/callstack by @borkdude in #2390
- Fix #2392: don't skip jars that were analyzed with --skip-lint by @borkdude in #2393
- Fix #2395: enum constant call warnings by @borkdude in #2396
- Fix #2394 add option to enable require sorting with case sensitivity by @Deraen in #2399
- Fix #2400: deftype/record constructor can be used with Type/new by @borkdude in #2401
- Fix #2366: new linter:
:redundant-ignore
by @borkdude in #2402 - Fix #2384: recognize gen/fmap in cljs.spec.gen.alpha by @borkdude in #2403
Full Changelog: v2024.08.29...v2024.09.26
v2024.08.29
What's Changed
- Fix #2362: turn min-version warning into lint warning by @borkdude in #2363
- New linter: :destructured-or-binding-of-same-map by @borkdude in #2365
- Fix #2303, support array class notation of Clojure 1.12 by @borkdude in #2367
- Fix #1603: support Java classes in :analyze-call hook by @borkdude in #2368
- Fix #2369: false positive unused value in quoted list by @borkdude in #2370
- New linter: :schema-misplaced-return by @borkdude in #2377
- Metabase logo by @borkdude in #2381
- Fix #2364: performance: code that analyzed fn arity is ran twice by @borkdude in #2382
- Fix #2355: support self-require + :as-alias by @borkdude in #2383
Full Changelog: v2024.08.01...v2024.08.29