Releases: flyingrobots/bijou
v5.0.0
What's Changed
- Prepare v5.0.0 release branch by @flyingrobots in #65
Full Changelog: v4.4.1...v5.0.0
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 5.0.0
If npm failed, fix the publish workflow and re-run this workflow
with workflow_dispatch against the same tag.
v4.4.1
What's Changed
- Release v4.4.1 by @flyingrobots in #64
Full Changelog: v4.4.0...v4.4.1
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 4.4.1
If npm failed, fix the publish workflow and re-run this workflow
with workflow_dispatch against the same tag.
v4.4.0
What's Changed
- release: v4.4.0 — data visualization toolkit by @flyingrobots in #63
Full Changelog: v4.3.0...v4.4.0
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 4.4.0
If npm failed, fix the publish workflow and re-run this workflow
with workflow_dispatch against the same tag.
v4.2.0
What's Changed
- feat(runtime): RE-007 migrate framed shell onto runtime engine seams by @flyingrobots in #60
Full Changelog: v4.1.0...v4.2.0
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 4.2.0
If npm failed, fix the publish workflow and re-run this workflow
with workflow_dispatch against the same tag.
v4.1.0
What's Changed
- docs: tighten DOGFOOD and source-of-truth docs by @flyingrobots in #57
- chore: patch dependency security alerts by @flyingrobots in #58
- [codex] Make DOGFOOD the canonical docs surface for 4.1.0 by @flyingrobots in #59
Full Changelog: v4.0.0...v4.1.0
Registry publish summary
- npm:
failure
Dist-tag: latest
Version: 4.1.0
If npm failed, fix the publish workflow and re-run this workflow
with workflow_dispatch against the same tag.
v4.0.0
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 4.0.0
What's Changed
- feat: add notification history center by @flyingrobots in #53
- feat: prepare v4 pure-surface release by @flyingrobots in #55
Full Changelog: v3.1.0...v4.0.0
v3.0.0
Registry publish summary
- npm:
failure
Dist-tag: latest
Version: 3.0.0
If npm failed, re-run only that job from Actions.
What's Changed
- feat: finalize Bijou v3.0.0 for release by @flyingrobots in #40
- feat: Bijou v3.0.0 Core Engine Evolution by @flyingrobots in #38
- feat: Bijou CSS Engine and Background Worker Runtime by @flyingrobots in #39
Full Changelog: v2.1.0...v3.0.0
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 3.0.0
If npm failed, re-run only that job from Actions.
What's Changed
- feat: finalize Bijou v3.0.0 for release by @flyingrobots in #40
- feat: Bijou v3.0.0 Core Engine Evolution by @flyingrobots in #38
- feat: Bijou CSS Engine and Background Worker Runtime by @flyingrobots in #39
Full Changelog: v2.1.0...v3.0.0
v2.1.0
✨ Features
- Transition shader system expansion (bijou-tui) — Added 9 new built-in transition shaders:
radial,diamond,spiral,blinds,curtain,pixelate,typewriter,glitch, andstatic. Added shader factories for parameterized variants (wipe(direction),radial(originX, originY),blinds(count, direction), etc.) and composable combinators (reverse(),chain(),overlay()). Addedframecounter toTransitionCellfor temporal effects (glitch, static). AddedcharRole('decoration'|'marker') toTransitionResultso combinators can distinguish ambient noise from positional indicators. All 16 named transitions available via theBuiltinTransitionunion andTRANSITION_SHADERSregistry.
🐛 Fixes
- Zero-dimension guard in
renderTransition— Early-returns whenwidth <= 0orheight <= 0, preventingNaN/Infinityfrom division-by-zero in shaders called with degenerate dimensions. - Removed unused
_frameKeysparameter fromapplyFrameAction— Dead parameter left after palette logic was extracted; removed from signature and all call sites. - Explicit
charRole: 'decoration'on char-emitting shaders —matrixShader,scrambleShader,pixelate(),glitch(), andtvStatic()now explicitly declare their char overrides as decorations for self-documenting combinator behavior. overlay()combinator JSDoc — Documented OR semantics ofshowNext(composite reveals if either shader reveals).createEventBusJSDoc — Documented that command rejections are silent by default.- Fixed branch name in
COMPLETED.md— v2.0.0 entry now correctly referencesfeat/tui-shader-transitions.
Full Changelog: https://github.com/flyingrobots/bijou/blob/main/docs/CHANGELOG.md
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 2.1.0
If npm failed, re-run only that job from Actions.
What's Changed
- feat(bijou-tui): transition shader system expansion by @flyingrobots in #37
Full Changelog: v1.8.0...v2.1.0
v1.8.0
✨ Features
- Custom fill characters (bijou) —
box()andheaderBox()acceptfillCharoption for custom padding/fill characters. constrain()component (bijou) — Content truncation with configurablemaxWidth,maxHeight, andellipsis.- Note field (bijou) —
note({ message, title? })display-only form field, compatible withgroup()/wizard(). - Timer / Stopwatch (bijou) — Static
timer(ms)and livecreateTimer()/createStopwatch()with start/pause/resume/stop. - Dynamic wizard forms (bijou) —
WizardStepgainstransformandbranchfor runtime field replacement and conditional step injection. cursorGuard()+withHiddenCursor()(bijou) — Reference-counted cursor visibility guard for nested live components.- Panel minimize/maximize/dock (bijou-tui) —
ctrl+mfold/unfold,ctrl+fmaximize/restore,ctrl+shift+arrowreorder panes. - Layout presets + session restore (bijou-tui) —
serializeLayoutState()/restoreLayoutState()with preset helpers.
🐛 Bug Fixes
- Timer cursor not restored on natural completion
- Timer double-start leaks interval handle
- Timer
elapsed()returns stale value between ticks - Timer
pause()/stop()snapshot stale elapsed - Timer
start()while paused stays frozen - Timer
onCompletefires before cursor restore constrain()ANSI-safe truncation detection and height+width combo- Grid dock operations were no-ops
timer()negative ms withshowMs
♻️ Refactors
- Timer state machine: discriminated union replaces 6 loose mutable variables
- DRY shared ANSI constants, form scroll/navigation, cursor lifecycle via CursorGuard
- Deprecated
detectOutputMode(),detectColorScheme(),isNoColor()no-arg forms - Deprecated
getTheme(),resolveTheme(),styled(),styledStatus()freestanding functions
🧪 Tests
- 110 new tests (2022 total across 109 test files)
See the full changelog: https://github.com/flyingrobots/bijou/blob/main/docs/CHANGELOG.md
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 1.8.0
If npm failed, re-run only that job from Actions.
What's Changed
- feat: v1.8.0 — The Big One by @flyingrobots in #36
Full Changelog: v1.7.0...v1.8.0
v1.7.0 — Test Fortress
✨ Features
- Multiselect
defaultValues(bijou) — NewdefaultValuesoption onmultiselect()pre-selects items when the form first renders in interactive mode. Items render with filled checkboxes (◉) and can be toggled off with Space.
🧪 Tests
- Spec-vs-impl corrections — Resolved 3 mismatches between ROADMAP acceptance criteria and actual implementation:
mockIO().question()exhaustion returns''(not throws), CI+TTY detects as'static'(not'rich'), Ctrl+C semantics documented per-form. - Node.js adapter tests (bijou-node) —
nodeIO(): write, writeError, readFile, readDir (with trailing/on dirs), joinPath, setInterval firing/dispose.chalkStyle(): bgRgb, bgHex, styled bg field, noColor mode for bg methods. - Multiselect defaultValues tests — Pre-selected items render checked, can be toggled off.
- Property-based fuzz suites (fast-check) — Forms: arbitrary strings, control characters, long input, numeric edge cases, malformed comma lists, rapid repeated calls. Environment detection: 500+ random env×TTY combos, BIJOU_ACCESSIBLE priority invariant, NO_COLOR invariant. DTCG: random theme round-trip, hex preservation, modifier subset preservation, deeply nested reference chains, edge-case hex values.
🔧 Infrastructure
- Git hooks (repo) —
scripts/hooks/pre-commitruns lint + lockfile consistency check (npm ls --all).scripts/hooks/pre-pushruns the full test suite. Wired viacore.hooksPath scripts/hooks. Catches lockfile drift before it reaches CI. - CodeRabbit path exclusions (repo) —
.coderabbit.yamlexcludes planning/task files from review to reduce false positives.
📝 Documentation
- ROADMAP — Test coverage spec sections corrected. Xyph migration moved to COMPLETED.
See the full changelog: docs/CHANGELOG.md
Registry publish summary
- npm:
success
Dist-tag: latest
Version: 1.7.0
If npm failed, re-run only that job from Actions.
What's Changed
- feat: v1.7.0 Test Fortress by @flyingrobots in #35
Full Changelog: v1.6.0...v1.7.0