Skip to content

Releases: rse/specbook

SpecBook 1.4.2

Choose a tag to compare

@rse rse released this 09 Oct 19:54
release version 1.4.2

SpecBook 1.4.1

Choose a tag to compare

@rse rse released this 08 Oct 21:19

1.4.1 (2026-10-08)

  • IMPROVEMENT [code]: Create Project Configuration on Initialization
    specbook init now persists the effective config and basedir into a new .specbook.yaml
    in the working directory, unless one already applies.

  • IMPROVEMENT [code]: Seed Title Properties on Initialization
    specbook init now seeds the META: Title artifact with the properties the exports interpret
    (LOGO, TITLE, ..., PAPER-SIZE), each with its rendering default, as far as configured.

  • IMPROVEMENT [spec]: Optional Artifact Contents in the Standard Schema
    The properties and child object kinds of all artifacts are now optional, so a freshly
    initialized specification (specbook init) already lints cleanly instead of failing.

  • IMPROVEMENT [code]: Diagram Center Label Falls Back on Absent Property
    A synthetic diagram center whose source lacks the property now takes its label or the
    name of the source object, instead of failing the diagram.

  • UPDATE [infr]: Upgrade NPM Dependencies
    The NPM dependencies were updated.

SpecBook 1.4.0

Choose a tag to compare

@rse rse released this 04 Oct 16:35

1.4.0 (2026-10-04)

  • IMPROVEMENT [code]: Lined Instead of Striped Property Tables
    The property tables drop their row stripes for a tinted key column, a transparent value column,
    and thin grey row lines, and attach seamlessly to the cell borders inside compact tables.

  • IMPROVEMENT [code]: Fixed-Width Name Column of the Object Tables
    The name column of the concise/compact tables and the key column of the property tables take
    a fixed 20%, so all tables align, while the property columns share the remaining 80%.

  • IMPROVEMENT [code]: Sub-Headers in the Compact Object Format
    The content cell of a compact table leads its diagram, properties, and description with the
    sub-headers "Diagram", "Properties", and "Description", styled like the chunk headers.

  • FEATURE [code]: Compact Object Format
    The new format type compact renders a table whose single content cell holds the hub diagram,
    properties, and description; used for COMPONENT, PREMISE, TERM, and PERMISSION.

  • FEATURE [spec]: Code Patterns Artifact in the Standard Schema
    The new ARCH: Code Patterns artifact (after Design Decisions) records CODE-PATTERN objects
    showing as a listing how a recurring concern is coded (APPLIES-TO, REALIZES, DECIDED-BY).

  • REFACTORING [spec]: Dialog Pattern Kind Renamed to DIALOG-PATTERN
    The PATTERN kind of UXUI: Dialog Patterns is now DIALOG-PATTERN (headings and [[...]]
    references alike), which frees the name for the code patterns and reads unambiguously.

  • FEATURE [code]: Syntax-Highlighted Code Listings
    Fenced code blocks and embedded source files (#lines=, #mark=) render via Shiki with line
    numbers and themed keywords/literals/comments in DejaVu Sans Mono, and fold, maximize, omit.

  • FEATURE [code]: Embedded Mermaid and D2 Diagrams
    Fenced mermaid/mmd/d2 blocks and embedded .mmd/.mermaid/.d2 files are rendered
    as themed diagrams, which fold, maximize, and omit (-O diagram:code) like Gradia ones.

  • FEATURE [code]: Embedded PDF Pages
    Embedded .pdf files (#page=<n> selecting the page) are converted to vector SVG with lazily
    loaded pdfjs-dist/@napi-rs/canvas and then treated exactly like embedded SVG images.

  • IMPROVEMENT [code]: Embedded Images Fold and Maximize
    Embedded SVG/PNG/JPEG/WebP images (except the title page logo) fold, maximize, and omit
    (-O diagram:image) in the HTML/PDF export exactly like the embedded diagrams.

  • FEATURE [code]: Dark Theme Treatment of Embeddings
    The dark fragment parameter of images and PDF pages selects invert, none, or auto
    (the default, detecting light pages with dark ink) as their treatment on the dark theme.

  • BUGFIX [code]: Rationale Ends with Its Paragraph
    The blocks following a , BECAUSE paragraph ended up inside the rationale and lost their
    embeddings and diagrams, and now form the new description elaboration instead.

  • BUGFIX [code]: Self-Adapting SVG Images Follow the Document Theme
    An SVG image with light-dark() colors followed the system color scheme instead of the
    document theme, as the HTML export now sets color-scheme on every image on screen.

SpecBook 1.3.2

Choose a tag to compare

@rse rse released this 29 Sep 16:35

1.3.2 (2026-09-29)

  • UPDATE [infr]: Upgrade NPM Dependencies
    The NPM dependencies were updated.

SpecBook 1.3.1

Choose a tag to compare

@rse rse released this 22 Sep 22:18

1.3.1 (2026-09-22)

  • BUGFIX [code]: Git Exclude Rules Matched Exactly like Git
    A trailing /** no longer excludes the directory itself, [!...] classes, core.ignoreCase,
    and leading/escaped trailing whitespace are honored, and core.excludesFile is expanded by Git.

  • BUGFIX [code]: References Inside Diagrams and Automata Resolved Completely
    The diagram derivation matched [[...]] on the raw instead of the plain property text, and the
    automaton checks took only the first reference of an edge, so edges and transitions got lost.

  • BUGFIX [code]: Artifact and Configuration Inputs Handled Robustly
    A UTF-8 byte order mark no longer hides the frontmatter, C:\... artifact paths are rejected,
    -c std embeds the standard configuration, and inaccessible directories count as absent.

  • BUGFIX [code]: Title Object Properties Rendered Consistently
    An empty SUBTITLE/AUTHOR/VERSION/LOGO counts as absent (the fallback logo included), and
    an absent TITLE falls back onto "Specification" instead of the name of the title object.

  • BUGFIX [code]: PDF Decoration Accent and Browser Resolution
    The dark accent of the brand bar and headers used spread index 24 instead of the 22 of the
    HTML, and a failed browser lookup was memoized for the process lifetime of the MCP service.

  • BUGFIX [code]: Client-Side Scripts of the HTML Export
    The popup title regex lost its \s, a stale search outlived a live preview body swap, the fold
    chevron of a search-hidden diagram floated, and the theme switch clobbered maximized.

  • BUGFIX [code]: -O text:long Aligned with the Client-Side Cell Folding
    A cell is cut only when it exceeds the maxCellHeight excess (both sides sharing one pair of
    threshold constants), and a cut behind a task list checkbox no longer emits </input>.

  • BUGFIX [code]: Watch Mode and Preview Robustness
    An edit during the initial export is no longer lost, a failing observe start releases the bound
    port, and usage errors are reported before the browser is probed or the port is bound.

  • IMPROVEMENT [code]: Clearer Diagnostics for Themes, Nested Blocks, and Image Optimizations
    Invalid THEME-TONE/THEME-STYLE values fail up-front naming the property, block content
    nested into list items yields nested <type> ... ignored, and a failed Sharp/SVGO run a notice.

  • IMPROVEMENT [code]: Consistent Option Parsing across --verbose, --compress, and --port
    --compress accepts the boolean words of --verbose (SPECBOOK_COMPRESS=yes), and --port
    rejects hexadecimal, exponent, and padded forms like the other numeric options.

  • IMPROVEMENT [code]: Search Filters the Table of Contents in a Single Layout Pass
    The visibility reads and the hiding writes of the entries are batched instead of interleaved,
    which forced a synchronous re-layout per heading on every search run.

  • REFACTOR [code]: Internal Structure of the Diagram Derivation, Renderers, and API Types
    The derivation context travels as one DiagramContext, over-long functions are split below
    the 100-line mark, and ExportRequest/WatchRequest name the API option shapes.

  • CLEANUP [code]: Stylus Mixins, Type-Safe Choice Parsing, and Minor Consistency Fixes
    The brand bar tabs and circle icons share tab()/icon() mixins, the choice parsers narrow
    via find, and misleading names, redundant checks, and the formatting are corrected throughout.

SpecBook 1.3.0

Choose a tag to compare

@rse rse released this 20 Sep 10:39

1.3.0 (2026-09-20)

  • BUGFIX [infr]: fix version

SpecBook 1.2.16

Choose a tag to compare

@rse rse released this 20 Sep 10:38
release version 1.2.16

SpecBook 1.2.15

Choose a tag to compare

@rse rse released this 18 Sep 19:56

1.2.15 (2026-09-18)

  • BUGFIX [code]: Search Filter Also Covers the Abstract on the Title Page
    The client-side search of the HTML export now filters and highlights the paragraphs of the
    title page abstract, which previously stayed fully visible during a search.

  • IMPROVEMENT [code]: Filter Icon and Telling Placeholder for the Search Filter
    The search tab of the HTML export now shows a funnel icon instead of a magnifying glass, and
    its input field the placeholder "Filter... (fuzzy matched keywords)".

SpecBook 1.2.14

Choose a tag to compare

@rse rse released this 18 Sep 19:33

1.2.14 (2026-09-18)

  • IMPROVEMENT [code]: Description of the Title Object Rendered as the Abstract
    The description of META: Title closes the title page of the HTML/PDF export below the
    Modified date as the abstract: justified, with the follow-up paragraphs indented.

  • IMPROVEMENT [othr]: Synced the Broadcast Sample with Its Application's Initial-Activation Rules
    The broadcast sample now derives the first channel and resource as active on creation and
    unlinks retained user statistics from their users on event finish.

  • UPDATE [infr]: Upgrade NPM Dependencies
    The dependencies fastify and @fastify/websocket and the development dependency
    @types/node are upgraded to their latest patch releases.

SpecBook 1.2.13

Choose a tag to compare

@rse rse released this 14 Sep 19:19

1.2.13 (2026-09-14)

  • IMPROVEMENT [spec]: Back-Referencing Object Kinds as Hub Diagram Inputs
    The hub diagrams of the standard schema configuration now include the later object kinds
    referencing them (e.g. LIFECYCLE onto ENTITY), so the back-links render as inputs.

  • IMPROVEMENT [spec]: Wider RELATION Table in the Data Model
    The RELATION objects of the standard schema configuration now allow 5 table columns, so
    name, TARGET, KIND, ARITY, and description render as one compact table.

  • IMPROVEMENT [code]: Clarified the Aggregation Wording of the Data Model RELATION.KIND
    The aggregation kind of a RELATION now notes its shared part-of target as merely
    optional, not implied, matching how the plain association kind already read.

  • CHANGE [spec]: Capitalized Enumeration Values in the Standard Schema
    The lowercase values of THEME-STYLE, GENDER, PROFICIENCY, and the relation KIND
    are now capitalized (Dark, Male, Novice, Association, ...) like all other ones.