Liking cljdoc? Tell your friends :D

Change Log

All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.

[Unreleased]

[0.3.0] - 2026-11-04

Changed

  • Dependency profiles bind columns to tables (alias, table-name and CTE qualifiers; single-table scopes are exact; bare references in multi-table scopes resolve against the schema when exactly one in-scope table declares them), so a shared column name changing on the wrong table no longer re-runs a query; CTE name subtraction is lexical, not global.
  • DDL re-derives every profile and re-runs every query on the next flush even with no pending row events, and re-derived profiles persist instead of being recomputed per flush.

Fixed

  • Table functions (e.g. json_each) no longer vanish from dependency extraction.
  • Five defects found by the new stress oracle: DDL invalidating a query's SQL no longer kills the flush (retention holds); finalize no longer throws on dropped tables; VIRTUAL generated columns read as nil in the hook instead of NPE; declared-case schemas match normalized profiles; views invalidate via alias translation and underlying-table wildcards.
  • Unknown-row update events degrade to coarse matching instead of "no change" (a silent miss).

Removed

  • intel macOS from the supported platform list.

Added

  • next.jdbc adapter (ebifriedrice.rsqlite.jdbc/data-source): a javax.sql.DataSource over the engine's own connection - next.jdbc writes share the preupdate-hooked connection, so reactive queries re-run with full column-level precision.

[0.2.0] - 2026-11-04

Changed

  • Native library builds uniformly with CMake + Ninja on every platform (mingw-w64 gcc on Windows); the upstream GNUmakefile and msys2 are gone. Windows is a fully tested CI platform now.
  • Releases run only from the release branch, whose tip must carry an exact vX.Y.Z tag.
  • CI cost discipline: concurrency groups cancel superseded runs; push CI runs on main only.

Fixed

  • Extracted libraries land in a stable content-addressed cache (one virus-scan per library version instead of per JVM launch).
  • Flushes serialize per engine, fixing a race where a scheduled flush and sync! could interleave on one prepared statement.
  • Savepoint ROLLBACK TO restores pending invalidations; failed re-evaluation keeps the last published result and retries.

Added

  • Reactive query engine over SQLite's preupdate hook: connect, q!, exec!, transact!, sync!, unq!, close!.
  • Reactive query engine over SQLite's preupdate hook: connect, q!, exec!, transact!, sync!, unq!, close!.
  • Dependency extraction blending an instaparse SELECT grammar with EXPLAIN QUERY PLAN; column-granular invalidation with table-granular degradation.
  • JVM backend on the bundled official org.sqlite.jni binding (SQLite 3.54.1), natives embedded per-platform in the published jar.
  • ClojureScript backend on @sqlite.org/sqlite-wasm; consumer supplies the initialized module.
  • Transaction-scoped invalidation with savepoint checkpointing, post-commit off-writer evaluation, result diffing before delivery, and failed-evaluation retention.
  • Multi-platform CI and tag-driven releases to Clojars and GitHub Releases.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close