PluMCP: Clojure/ClojureScript library for building https://modelcontextprotocol.io Clients and Servers Version 0.2.0-beta1 is released to Clojars. This release plugs MCP feature-gap in implementation and improves API ergonomics. Highlights since https://clojurians.slack.com/archives/C015AL9QYH1/p1771430573738599 • Repo: https://github.com/plumce/plumcp • Docs: https://plumce.github.io/plumcp-docs/ (Does not cover 0.2.0 yet) • Client ◦ Handle Notification: Cancellation/Progress/Log message/List-changed ◦ Cache primitives list ◦ Re-fetch list on list-changed ◦ Heartbeat mechanism to keep pinging server ◦ SSL Context in CLJ (JVM) HTTP client ◦ HTTPS proxy/SSL config in CLJS (Node, Bun) HTTP client ◦ [BREAKING] Deprecate/Move async client API fns to another ns • Server ◦ Cache primitives list (roots) ◦ List-changed, and re-fetch on list-changed Please share feedback/comments/followup in #plumcp or in thread.
https://github.com/babashka/babashka: Native, fast starting Clojure interpreter for scripting
1.12.216 (2026-03-02)
• Add clojure.java.javadoc namespace with javadoc available in REPL https://github.com/babashka/babashka/issues/1933
• Fix (doc var), (doc set!) and other special forms https://github.com/babashka/babashka/issues/1932
• Support (source inc) and (source babashka.fs/exists?) for built-in vars https://github.com/babashka/babashka/issues/1935
• Support BABASHKA_REPL_HISTORY env var for configurable REPL history location https://github.com/babashka/babashka/issues/1930
• Fix deftype and defrecord inside non-top-level forms (e.g. let, testing) https://github.com/babashka/babashka/issues/1936
• Support rebel-readline as external REPL provider
• Add proxy support for Completer, Highlighter, ParsedLine, Writer, Reader
• Add clojure.repl/special-doc and clojure.repl/set-break-handler!
• Add clojure.main/repl-read
• Add org.jline.reader.Buffer to class allowlist
• Add :inherit mechanism for reflection config to inherit interface methods
• start-repl! bypasses jline when custom :read is provided
• Add java.lang.reflect.Constructor, java.lang.reflect.Executable, java.util.stream.Collectors, java.lang.StackOverflowError, clojure.lang.IType, java.util.Comparator (reify)
• Add JLine classes for rebel-readline compatibility: Highlighter, LineReader$Option, Attributes$InputFlag, Attributes$LocalFlag
• Hide redundant (keyword) description in REPL completions
• SCI: add proxy-super, proxy-call-with-super, update-proxy and proxy-mappings
• SCI: fix .sym on user-defined vars returning qualified symbol instead of unqualified
• SCI: add .ns and .sym field access on vars for compliment compatibility
• SCI: ns-aliases now returns identical namespace objects as find-ns
• SCI: alias now accepts namespace objects in addition to symbols
• SCI: copy-var and copy-var* now preserve :private metadata
• SCI: private vars are no longer included in ns-refers
• SCI: fix .sym on user-defined vars returning qualified symbol instead of unqualified
• SCI: def now replaces var metadata instead of merging, matching Clojure semantics
• SCI: deftype and defrecord no longer create vars for the type name, matching Clojure. (resolve 'Foo) returns a sci.lang.Type, #'Foo throws "Unable to resolve var".
• SCI: deftype and defrecord now macroexpand to deftype*, matching JVM Clojure, enabling code walkers like riddley
• SCI: case now macroexpands to JVM-compatible case* format, enabling tools like riddley and cloverage
• SCI: fix .getName on custom types to return fully qualified name, matching Class.getName()
• SCI: fix incorrect type hint causing method resolution failure when hint doesn't match runtime class
• SCI: fix NPE in resolve when called at runtime (e.g. inside macro body during code walking)
• SCI: fix .method on class objects routing to static instead of instance method path
• SCI: macroexpand-1 now expands (ClassName. args) to (new ClassName args) and (.method ClassName) wraps class targets in identity, matching JVM Clojure
• SCI: store current analysis context during macro invocation, enabling tools like riddley
• Add clerk and cloverage to lib tests
• Add ref-max-history, ref-min-history, ref-history-count
• Add java.lang.reflect.Member getName and getDeclaringClass to reflection config
• Add java.lang.reflect.Method getParameterCount and java.lang.reflect.Modifier toString to reflection config
• https://github.com/babashka/babashka/issues/1939: Disable JLine backslash escaping/shell history commands (https://github.com/bobisageek)
• Fix nREPL server test using "localhost" instead of "127.0.0.1"
• Bump rewrite-clj