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.1 - 2026-06-02]

  • Layers sharing a panel now paint in the order they were added -- each pj/lay-* call renders on top of the previous one -- instead of being reordered by position type. A pj/lay-text or pj/lay-label added after a bar now reads on top of it rather than being hidden underneath.
  • pj/lay-text and pj/lay-label accept :align-x (:left/:center/:right) and :align-y (:top/:center/:bottom) to set which part of the label sits on the data point -- e.g. :align-x :right tucks a value label inside a bar's end. Defaults :left/:center preserve the previous placement.
  • :nudge-x/:nudge-y on a categorical axis now raise a clear error pointing to :align-x/:align-y (and :jitter/:position :dodge), instead of failing with a cryptic cast error. Nudge is a data-space shift and applies only to numeric or temporal axes.

[0.3.0 - 2026-05-28]

  • pj/lay-* with different x/y columns from the existing pose now produces a two-panel composite instead of throwing.
  • When pj/lay-* would create a new panel using columns that don't exist in the data, the error now fires at the lay call with a clear message, instead of later during pj/plan or pj/plot.
  • When a layer carries its own :data but the pose's x/y columns are missing from it, the error now names where the missing column came from and suggests two fixes: rename the column to match, or set a different x/y on the layer.

[0.2.2 - 2026-05-19]

  • fix: pj/scale :y :log now works on histograms and categorical bar charts. (Closes #5) - thanks, @harold.
  • fix: SVG coordinate formatter now pins java.util.Locale/ROOT, so plots render correctly on JVMs whose default locale uses comma as the decimal separator (Czech, German, etc.). (PR #3) - thanks, @tombarys

[0.2.1 - 2026-05-09]

  • pj/scale accepts :labels paired with :breaks -- render numeric tick positions with custom text (e.g. days of the week 1-7 labelled "Mon"-"Sun" on a tile heatmap). Length must match :breaks; :labels without :breaks throws.
  • docstring updates

[0.2.0 - 2026-05-05]

  • the membrane stage now returns a PlotjeMembrane record implementing the Membrane UI protocols (IOrigin, IBounds, IChildren), so Plotje plots compose with hand-built Membrane elements. Width and height read via (membrane.ui/width m)/(height m); title rides as :plotje/title. Replaces the prior metadata-tagged-vector contract.
  • new pj/membrane? predicate

[0.1.0 - 2026-05-03]

  • initial public alpha release
  • composable five-stage pipeline: pose -> draft -> plan -> membrane -> plot
  • layer types for distributions, ranking, time series, relationships, and polar
  • composite poses with faceting and shared scales
  • SVG and PNG rendering via membrane

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