v0.0.4
CoreBunch/Instaticv0.0.4Jun 13, 2026by github-actions[bot]
AI Summary
A performance-focused release featuring inline text editing and import fidelity improvements. It standardizes container usage and optimizes hot paths across the publish pipeline.
Key Highlights
- Enable inline text editing on the canvas (double-click to edit)
- Standardize on GHCR and drop Docker Hub mirror
- Remove generated import scope classes for per-stylesheet modes
- Fix critical hot paths across publish pipeline and public serving
New Features
- Inline text editing on canvas
- Per-stylesheet import modes
Full Release Notes
## What's Changed * Standardize on GHCR; drop the unconfigured Docker Hub mirror by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/20 * Per-stylesheet import modes; remove generated import scope classes by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/15 * Fix import fidelity: rgba color tokens and import-from-anywhere by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/19 * Make var()/env() declarations engine-proof at the import boundary by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/21 * Fix plugin useCanvasNodeRect: measure real canvas nodes, not admin chrome by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/22 * perf: fix critical hot paths across publish pipeline, public serving, and editor store by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/24 * Remove AI credential authentication selector by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/30 * perf: incremental site saves; hoist runtime builds out of the publish transaction by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/27 * perf(canvas): kill per-node selector storms, per-frame DOM re-measures, and whole-site loop subscriptions by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/28 * perf(plugins): handle-based VM dispatch, native base64, and indexed content-API lookups by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/29 * Content Outlet availability + toast layering; close outlet invariant holes by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/23 * Per-module published-JS channel; migrate the form runtime onto it by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/26 * Inline text editing on the canvas (double-click to edit) by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/25 * Clean up Style-rules review pane + fix icons:sync for in-house icons by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/31 * Fix template read-only hint/open firing over editable page content by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/32 * feat(editor): user-saved layouts — save any subtree, re-insert it exactly by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/33 * fix(canvas): live mode shows the shared frame skeleton while hydrating by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/35 * Remove inconsistent panel keyboard shortcuts from the rail by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/36 * feat(canvas): open design mode at 50% zoom; pin live mode to 100% by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/34 * fix(cms): homepage swap + delete in one save no longer fails publish by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/37 * refactor(publish): one-way layering — repositories never import the publish layer by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/38 * refactor(publisher): single class-CSS emission engine for publish and canvas by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/39 * fix(media): retina screens download the WebP variants, not the multi-MB original by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/40 * refactor(explorer): one structural-row enumeration + shared dnd pointer math by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/46 * docs(agents): document PR conventions by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/50 * Add a "Not found" template target for designed 404 pages by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/52 * refactor(vc): one slot-outlet collector — export it from @core/visualComponents by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/44 * refactor(vc): split vcTreeOps out of visualComponentsSlice by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/47 * feat(editor): double-click rows to rename in explorer panels by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/49 * chore(cleanup): dead-code spring cleanup — knip reports zero unused surface by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/41 * refactor(siteImport): one adapter contract, phase-decomposed pipeline, deduped helpers by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/42 * refactor(siteImport): decompose conflict-resolution hotspots into named concerns by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/43 * feat(publisher): derive <img sizes> from the layout — remove the manual Sizes field by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/45 * fix(ai): tools inherit caller capabilities instead of ai.chat acting as a blanket read grant by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/51 * fix(editor): apply node inline styles in read-only composed canvas content by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/54 * fix(admin): redirect unknown admin URLs to the dashboard instead of a blank page by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/55 * chore(release): prepare v0.0.4 by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/56 * fix(test): make canvas breakpoint-frame tests wait on readiness instead of fixed sleeps by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/57 * refactor(canvas): mount breakpoint frames directly, drop progressive staggering by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/58 * test(canvas): render CanvasTransformLayer directly in the no-staggering test by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/59 * test: stub user-preference fetches in global setup to stop a cross-test ECONNREFUSED leak by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/60 * test: register global afterEach(cleanup) so RTL trees don't leak across files under bun by @DavidBabinec in https://github.com/CoreBunch/Instatic/pull/61 **Full Changelog**: https://github.com/CoreBunch/Instatic/compare/v0.0.3...v0.0.4