Sayid 0.4 is a revived release of the long-neglected omniscient debugger for Clojure. Rather than using breakpoints, Sayid records every function call's arguments, return values, timing, and call tree so developers can inspect execution history after the fact. The release brings new artifact coordinates (mx.cider/sayid), renamed namespaces, a reworked nREPL API that returns structured data instead of pre-rendered text, and a rebuilt Emacs UI with foldable trees, source jumping, and CIDER inspector integration. The motivation came from CIDER 2.0 work, where the author realized Sayid's approach was superior to anything he could build into the built-in tracer. Breaking changes were made deliberately since the bundled Emacs client was effectively the only consumer.
Nguồn: https://metaredux.com/posts/2026/07/01/sayid-redux.html. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
A deep-dive into Piggieback, the nREPL middleware that enables ClojureScript evaluation over a standard nREPL server. The author explains how Piggieback hijacks nREPL sessions to reroute eval messages to a JavaScript runtime (Node, browser, etc.) via ClojureScript's IJavaScriptEnv protocol, without requiring any client-side changes. Key internals covered include session-based dispatch, the DelegatingReplEnv trick to prevent premature teardown, how the compiler environment is stashed for use by tools like cider-nrepl, and the two distinct code paths for REPL setup vs. steady-state evaluation. The post also covers known limitations (one Node REPL per JVM, no interrupt support, multi-form eval), contrasts Piggieback's approach with shadow-cljs, and summarizes recent 0.6.x/0.7.0 bug fixes and refactoring work done as part of the CIDER 2.0 effort.
CIDER, the Clojure interactive development environment for Emacs, is getting a major version bump to 2.0. Key additions include transient-based discoverable keymaps, a unified foldable tree-view widget across all browsers, built-in cross-reference/call-graph functionality (reducing need for clj-refactor.el or clojure-lsp), a revamped debugging toolbox with inline macro stepping and a dedicated trace buffer, ClojureScript test and macroexpansion fixes, async Eldoc, and numerous quality-of-life improvements. The snapshot is available on MELPA now, with the official release expected in a week or two. The author credits AI agents for helping prototype ideas faster, while noting design decisions remain his own.
MrAnderson 0.6 is released, a Clojure dependency inlining tool used by cider-nrepl to bundle private copies of dependencies that can't clash with user project dependencies. The release fixes several long-standing bugs including incorrect handling of records vs. namespace references (dash vs. underscore munging), over-eager import rewriting, mixed imports of deftype-generated and real Java classes, skipped import rewrites, broken load statement path rewriting, and a critical bug that could delete project sources. The release also adds a Leiningen-free entry point (mranderson.core/inline-deps) enabling use with tools.build, and improves test coverage for the Java class repackaging subsystem.