announcements 2026-10-20

On Firefox, the company logos look a bit weird, some having dark lines on the main page in dark mode.

👀 1

https://github.com/clj-kondo/clj-kondo: static analyzer and linter for Clojure code that sparks joy ✨ 2026.10.20 • NEW linter :unknown-map-key: warn on a keyword lookup of a key not present in a map. E.g. (:hots (opts)) will warn when opts returns {:host "localhost"}. • Catch up with Clojure 1.13.0-alpha9 destructuring • https://github.com/clj-kondo/clj-kondo/issues/2942: Analysis: a keyword after & in 1.13 :keys destructuring is a plain keyword. E.g. :foo in {:a/keys [& :foo]}. • Type checker: a type predicate narrows the type of a local in if-not, cond and and. E.g. (when (and (string? x) (pos? n)) (inc x)) will warn. • Type checker: merge and merge-with require a map or nil as first map argument. E.g. (merge [1 2] [3 4]) will warn. • Type checker: a :keys arg spec checks each map of a union argument. E.g. (g (if x {:id 1} {:id 2})) will warn when g requires key :id to be a string. • Type checker: a keyword lookup on a map return that may be nil includes nil. E.g. (inc (:a (f x))) with (defn f [x] (when x {:a "s"})) will warn. • https://github.com/clj-kondo/clj-kondo/issues/3002: fix Condition always true false positive for a :keys return spec with :nilable true • Type checker: fix :type-mismatch and :constant-condition false positives on maps from hook-generated code. E.g. defenterprise in metabase. • https://github.com/clj-kondo/clj-kondo/issues/2774: :warn-on-reflection also warns on Java constructor calls. E.g. (Date. x) will warn. • https://github.com/clj-kondo/clj-kondo/issues/2994: check arity of calls in protocol implementations and clojure.test/is against cached namespaces • https://github.com/clj-kondo/clj-kondo/issues/2956: fix :invalid-arity false positive for (map {}) • https://github.com/clj-kondo/clj-kondo/issues/3005: fix unresolved symbol in a self-referencing def when clojure.test is referred with :all • https://github.com/clj-kondo/clj-kondo/issues/2945: support :order-by, :having and :timeout in Datalevin and Datahike queries • https://github.com/clj-kondo/clj-kondo/issues/2947: config merging keeps the highest :min-clj-kondo-version (https://github.com/arimu1) • Hooks: a qualified symbol in hook output no longer needs a require in the calling namespace • https://github.com/clj-kondo/clj-kondo/issues/3006, https://github.com/clj-kondo/clj-kondo/issues/3014, https://github.com/clj-kondo/clj-kondo/issues/3015, https://github.com/clj-kondo/clj-kondo/issues/3016: fixes for hooks generated with :clj-kondo/macroexpand-hook: referred macros, helper namespaces, requires without alias and nested hooks (https://github.com/imrekoszo) • https://github.com/clj-kondo/clj-kondo/issues/2998: analyze Java 25 class files (https://github.com/skylightis666) • https://github.com/clj-kondo/clj-kondo/issues/2996: fix Java member analysis of a .java file with an enum in the native binary (https://github.com/skovati) • https://github.com/clj-kondo/clj-kondo/issues/2948: fix startup crash of binaries built with GraalVM 25.1+ • Bump SCI to 0.15.59

4
9
1
6
❤️ 7
✨ 19
🎉 4

https://github.com/avanelsas/bareblog BareBlog is a small set of tools to write and publish a blog. Write posts as Markdown in folders, preview the whole blog live as you save, and publish it as static pages to GitHub Pages or any web server with one command. It's built on BareDOM web components and the BareMirror runtime, hence the name. Current features: • 5 blog templates: Journal, Notebook, Magazine, Longform and Diary • Supports 8 themes and light and dark mode • Search, tags, an archive and an Atom feed • Link previews for chats and social sites • Set a logo and favicon, each with a light and a dark version • Live HTML blocks where BareDOM components can run inside a post See it live: https://avanelsas.github.io/foggy-glasses/about/ Feedback is very welcome!

2
🎉 2

https://github.com/clojure-vim/vim-jack-in now has a :ClojureREPL command for clojure-cli.repl integration #C0C5YK5PAQ0

😍 1

https://github.com/seancorfield/honeysql https://github.com/seancorfield/honeysql/releases/tag/v2.8.85 -- Turn Clojure data structures into SQL (the 85th release) Runs on Clojure 1.10+, ClojureScript, Babashka, Jolt, and let-go! • Exclude upper-case from clojure.core under let-go, where core defines that name, so requiring honey.sql no longer warns, via PR https://github.com/seancorfield/honeysql/pull/619 from https://github.com/abogoyavlensky. • Fix https://github.com/seancorfield/honeysql/issues/618 by ensuring column specifications in :insert-into, :patch-into, :replace-into, and :columns clauses are respected when formatting :values. This was a bug that was present in 2.4.1066 (three years ago) and brings the actual behavior in line with the documentation. • Change versioning scheme to MAJOR.MINOR.RELEASES. (because @lee showed me how much easier this is than using COMMITS!) • Update dev/test deps. Follow-up in #C66EM8D5H

🎉 11