Instatic
Self-hosted visual CMS that publishes clean static pages
Alternative to: webflow, framer, wordpress, squarespace, wix
About
Versions (16)
v0.0.4
2026-06-13What’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
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