Skip to content

Releases: sitewright-cms/sitewright

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 01:51

What's Changed

  • fix: seven defects from ten neutral clone agents on 0.8.0 by @sbuchweitz in #775

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 01:20
ff2b3a7

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 22:18
0e16dea

What's Changed

  • feat(css): a 3px underline offset as a site-wide default by @sbuchweitz in #771
  • feat: agent-friction hardening from the ost-noack clone (0.7.0) by @sbuchweitz in #772

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 00:15
abfecc2

What's Changed

  • fix(ci): stop the recurring red builds — one shared gate, de-flake render-pool, refresh action pins by @sbuchweitz in #756
  • feat(editor): the empty SPA state is a real card with a gradient/ripple CTA by @sbuchweitz in #757
  • fix(api): make project slug renames atomic, and let projects holding agent grants be purged by @sbuchweitz in #758
  • fix(api): entries always move with their dataset — close the last path that could orphan a row by @sbuchweitz in #759
  • feat(tailwind): sw-border-beam — a rotating "lighthouse" border in the brand primary by @sbuchweitz in #760
  • fix(api): move entry history with a dataset rename; add a read-only integrity report by @sbuchweitz in #761
  • feat(tailwind): border beam defaults to the hero look — 8px, no track by @sbuchweitz in #762
  • feat(api,editor): "Check database integrity" — a whole-database sweep with opt-in repairs by @sbuchweitz in #764
  • fix(api,editor): open the agent-fleet lane, raise the flail ceiling, plug a timer leak by @sbuchweitz in #765
  • fix(api): the raised agent rate limit needs a VERIFIED key, not the word "Bearer" by @sbuchweitz in #766
  • feat(slider): smaller hero arrows, double-caret arrows everywhere, roomier captions, loop by default by @sbuchweitz in #767
  • fix(slider): widen the gradient caption STRIP too, not just the .sw-caption pill by @sbuchweitz in #768
  • fix(slider): centre the figcaption caption strip too — both caption shapes, one default by @sbuchweitz in #769
  • fix: close the 21 clone-friction items found cloning business.na (0.6.0) by @sbuchweitz in #770

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 07:13
7f1310e

What's Changed

  • fix(api): survive concurrent import retry — double-send crash killed the server; remove Clone-with-AI modal by @sbuchweitz in #742
  • fix(blocks): back-to-top dead in preview + scrollspy misses its own anchor target — platform-wide by @sbuchweitz in #743
  • fix(blocks,schema,editor): flush anchor rest under shrink header, data-src embeds keep CSP+consent, guides mandate platform lazy, visible dark-mode toggles by @sbuchweitz in #744
  • feat(blocks): back-to-top bottom-right (banner-aware) + modal auto-close waves ripple (delegated runtime) by @sbuchweitz in #745
  • fix(blocks): scrollspy — a nav link to a /hidden element hijacked the active state (#faq never lit) by @sbuchweitz in #746
  • feat(clone,editor): clone prefills production URL + richer project selector (favicon, live URL, sorted, wider) by @sbuchweitz in #747
  • feat(shader-bg): AUTO theme-tracking color token for animated backgrounds + simplified picker by @sbuchweitz in #748
  • feat(editor): admin-set WebGL platform background (behind the whole editor + login) by @sbuchweitz in #749
  • fix(editor): restore Speed/Intensity/interactive/overlay knobs in the animated-background picker by @sbuchweitz in #750
  • feat(editor): header shows the project favicon (scale 1.7), slug-free selector sized like the tabs by @sbuchweitz in #751
  • feat(blocks,schema): smooth scroll default + all 15 dataset field types documented for agents by @sbuchweitz in #752
  • fix(ci): remove unused within import failing the lint gate by @sbuchweitz in #753
  • fix(security): close the import-url SSRF, sanitize rich text in the editor, harden the login throttle by @sbuchweitz in #754
  • chore(release): 0.5.0 by @sbuchweitz in #755

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 21:39
da4476d

What's Changed

  • feat(textures): platform texture library — Library picker, MCP search, preview+export CSS by @sbuchweitz in #741

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 22:46
f1dde6a

What's Changed

  • feat(publish): flat _assets/ media layout in deployed sites (faster SFTP) by @sbuchweitz in #708
  • perf(deploy): drop SSH tar path + capability probe; raise SFTP connect timeout by @sbuchweitz in #709
  • feat(media): short 6-char asset IDs + flat single-folder /media layout (dual-support) by @sbuchweitz in #710
  • feat(media): boot migration — convert existing assets to flat short-id scheme by @sbuchweitz in #711
  • feat(db): upgrade-path guard — fail-fast (console + platform) on a too-old data version by @sbuchweitz in #712
  • feat(editor): full dark mode + light/dark/auto switcher + light-mode contrast fixes by @sbuchweitz in #713
  • perf(audit): representative Lighthouse scores + platform LCP/font wins by @sbuchweitz in #714
  • fix(editor): dark-mode polish — lighter raised surfaces + page-audit contrast by @sbuchweitz in #715
  • perf(build): minify platform JS/CSS bundles + gzip served sites by @sbuchweitz in #716
  • fix(build): use terser + clean-css for runtime minify (esbuild was a devDep) by @sbuchweitz in #717
  • perf(carousel): kill enhancement CLS by hiding the slider during Embla init by @sbuchweitz in #718
  • perf(publish): ship interactive-component + effect runtimes PER PAGE (per-type chunks) by @sbuchweitz in #719
  • fix(publish): rebase FLAT-scheme media urls + stop clean-css dropping @starting-style by @sbuchweitz in #720
  • feat(slider): default single-item sliders to the hero look + hero-slider HEIGHT setting by @sbuchweitz in #721
  • feat(slider): click-to-slide default on hero style + larger edge arrows by @sbuchweitz in #722
  • feat(icons): replace Lucide with Phosphor (fill default, 6 weights, name:weight syntax, aliases, search) by @sbuchweitz in #723
  • feat(icons): editor icon-library weight switcher + API previews (bundle −6.7MB); slider arrow polish by @sbuchweitz in #724
  • fix(editor): larger, aligned icon-library weight-switcher buttons by @sbuchweitz in #725
  • fix(clone-agent): fidelity-gate accuracy, capture stability, Phosphor icon weights, dataset dup guard, MCP robustness by @sbuchweitz in #726
  • fix(api): OIDC error redirects return the reply (10 unhandled ERR_HTTP_HEADERS_SENT rejections → 0) by @sbuchweitz in #727
  • feat(audit): PageSpeed-style concrete recommendations + heading-structure outline by @sbuchweitz in #728
  • feat(seed): example projects as committed export bundles + fix un-importable projects (orphaned entries) by @sbuchweitz in #729
  • feat(editor): richer WYSIWYG toolbars — colors, CI brand colors/fonts, sizes, alignment, indent, tables, links by @sbuchweitz in #730
  • feat(editor): rich-text toolbar — insert image, reliable link edit-in-place + open-in-new-tab by @sbuchweitz in #731
  • feat(editor): rich-text images — insert dialog (url/alt/width/height), inline resize, responsive default by @sbuchweitz in #732
  • feat(editor): rich-text toolbar — active-state + toggle, double-click-edit image, dialog padding by @sbuchweitz in #733
  • feat(media): copy file/image URLs + kind-aware file-type icons by @sbuchweitz in #734
  • fix(ci): unblock the pipeline — patch HIGH audit advisories + fix the masked gates by @sbuchweitz in #735
  • feat(media): File Manager polish — no h-scroll, empty-bin, embed-URL tooltips, 14px floor by @sbuchweitz in #736
  • fix(ci): patch new HIGH advisory — find-my-way HTTP/2 DoS by @sbuchweitz in #737
  • fix(ci): patch new HIGH audit advisories — postcss + @fastify/static v10 by @sbuchweitz in #738
  • feat(editor): consolidate & restyle the System Library drawer + fix animated-bg overflow by @sbuchweitz in #739
  • chore(release): v0.3.0 — example bundle refresh + version in System Settings + audit patch by @sbuchweitz in #740

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 01:40
7fae7ca

What's Changed

  • feat(api): graceful shutdown — close the DB + force-exit failsafe by @sbuchweitz in #697
  • docs: marketing rewrite of the README by @sbuchweitz in #698
  • docs(architecture): scrub Astro + correct stale layout/adapters by @sbuchweitz in #699
  • feat(forms): native in-browser validation on the Form component by @sbuchweitz in #700
  • feat(forms): server-side required/format validation for submissions by @sbuchweitz in #701
  • feat(editor): chrome polish — section headers, clickable form rows, grouped settings menu, clearer role labels by @sbuchweitz in #702
  • feat(editor): settings reorg — AI config in tabbed project modal, preview split button + share-links modal, alphabetical translations by @sbuchweitz in #703
  • feat(editor): System Settings — enlarge modal + group sections into tabs by @sbuchweitz in #704
  • feat(shop,i18n): native cart-checkout validation + grouped example footer/cookie translations by @sbuchweitz in #705
  • feat(editor): Page Audit tab in the page editor; remove the Speed & SEO sidebar by @sbuchweitz in #706
  • chore(release): 0.2.0 — editor UX + authoring-polish pass by @sbuchweitz in #707

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:53
14b07c3

What's Changed

  • Phase 0: foundations (monorepo + @sitewright/schema) by @sbuchweitz in #1
  • Phase 1: @sitewright/core (engine — tree, partials, bindings, validation) by @sbuchweitz in #2
  • Phase 1b: Astro + Tailwind renderer, block library, sample site (visible win) by @sbuchweitz in #3
  • Phase 2a: collection pages (per-entry static generation) by @sbuchweitz in #4
  • Phase 2b: @sitewright/image-pipeline (sharp → AVIF/WebP/LQIP) by @sbuchweitz in #5
  • Phase 2b-cont: image pipeline integration ( + AVIF/WebP) by @sbuchweitz in #6
  • Phase A: multi-tenant tenancy, auth, scoped projects API by @sbuchweitz in #7
  • Phase B: tenant-scoped content API + file-format export/import by @sbuchweitz in #8
  • Phase D: React editor SPA (the clickable CMS), served same-origin by the API by @sbuchweitz in #9
  • Phase D2a: visual block editor with live SSR preview by @sbuchweitz in #10
  • Phase D2b: dataset/CMS manager + block→dataset binding UI by @sbuchweitz in #11
  • Phase D2c: media manager + image picker by @sbuchweitz in #12
  • Phase C: static site publishing (single-container) by @sbuchweitz in #13
  • Phase F: zip export + FTP/FTPS/SFTP deploy targets by @sbuchweitz in #14
  • Phase F: rate limiting by @sbuchweitz in #15
  • Phase F: pull-based release check + update banner by @sbuchweitz in #16
  • Phase F: saved/encrypted deploy targets + SSRF allow-list by @sbuchweitz in #17
  • Phase F: self-contained optimized exports + BuildRunner by @sbuchweitz in #18
  • Phase F: isolated container build worker (opt-in) by @sbuchweitz in #19
  • feat(blocks,core): Phase 1 — portable links + data-driven document skeleton by @sbuchweitz in #20
  • test(api): integration harness + tenancy/publish/auth coverage by @sbuchweitz in #21
  • test(api): media-pipeline + collection-routing integration coverage by @sbuchweitz in #22
  • feat(schema,publish): Phase 2 — company corporate-identity + schema.org wiring by @sbuchweitz in #23
  • feat(schema): deploy-target remoteDir control-char hardening + security/fidelity harness coverage by @sbuchweitz in #24
  • fix(api): cascade project delete to content rows + preview/lifecycle harness coverage by @sbuchweitz in #25
  • feat(schema,publish): Phase 2 — website settings (critical CSS + custom head/footer) + partials harness by @sbuchweitz in #26
  • fix(api): on-disk cleanup on project delete + concurrent-publish harness by @sbuchweitz in #27
  • feat: Phase 3 — reusable page templates (Outlet-based layouts) + rate-limit harness by @sbuchweitz in #28
  • feat: Phase 3 — page-tree-driven auto-nav (Nav block) + binding-depth harness by @sbuchweitz in #29
  • feat(blocks): integrated icon set — Lucide inline-SVG Icon block + adapter harness by @sbuchweitz in #30
  • feat(api): Phase 5 — online AI generation (metered, agency-funded, quota-gated) by @sbuchweitz in #31
  • feat: Tailwind utility layer (className on blocks + publish/preview compilation) by @sbuchweitz in #32
  • feat(blocks): integrated brand/social icon set (simple-icons, CC0) by @sbuchweitz in #33
  • feat(blocks): Html (raw embed) block — maps/forms/video/widgets by @sbuchweitz in #34
  • feat(blocks): interactive Components + flagship Carousel (component-JS pipeline) by @sbuchweitz in #35
  • feat(blocks): Lightbox gallery + Accordion components by @sbuchweitz in #36
  • feat(editor): WYSIWYG live preview — allow-scripts sandbox + inlined component JS by @sbuchweitz in #37
  • feat(editor): true WYSIWYG live preview via a CSP:sandbox preview document by @sbuchweitz in #38
  • feat(blocks): Modal + CookieConsent components (completes the requested set) by @sbuchweitz in #39
  • feat(blocks): Tabs component (rounds out the disclosure family) by @sbuchweitz in #40
  • feat: Patterns library (fork-on-insert) + expose Components in the palette by @sbuchweitz in #41
  • feat: multilingual publishing engine (per-locale output + fallback) by @sbuchweitz in #42
  • feat(editor): locale switcher for multilingual page editing by @sbuchweitz in #43
  • feat(api): project-scoped API keys + bearer auth (CLI/MCP foundation) by @sbuchweitz in #44
  • feat(mcp): @sitewright/mcp stdio bridge for coding agents by @sbuchweitz in #45
  • feat(preview): live auto-reload preview via SSE by @sbuchweitz in #46
  • feat(api): OAuth 2.1 token-issuance core (PKCE, rotation) [C1] by @sbuchweitz in #47
  • feat(api): OAuth 2.1 endpoints — authorize + consent + token [C2] by @sbuchweitz in #48
  • feat(api): OAuth Dynamic Client Registration (RFC 7591) [C2b] by @sbuchweitz in #49
  • feat(cli): sitewright login (OAuth loopback+PKCE) + mcp/whoami/logout [C3a] by @sbuchweitz in #50
  • feat(editor): API-key management UI (project settings → access) [C3b] by @sbuchweitz in #51
  • feat: token-lifecycle polish — server-side revoke filter + bridge auto-refresh by @sbuchweitz in #52
  • feat: OAuth device authorization grant (RFC 8628) for headless CLI by @sbuchweitz in #53
  • feat(publish): sitemap.xml + robots.txt + redirect rules on export [Phase 1] by @sbuchweitz in #54
  • feat(admin): instance admin + instance settings (mail/hCaptcha/form modes) [Phase 2] by @sbuchweitz in #55
  • feat(forms): web-forms-to-email engine — block, endpoint, Mode A, inbox, MCP [Phase 3a] by @sbuchweitz in #56
  • feat(editor): forms authoring + submissions inbox UI [Phase 3b] by @sbuchweitz in #57
  • feat(forms): hCaptcha verification + widget [Phase 4] by @sbuchweitz in #58
  • feat(forms): Mode B contact.php + form-mode selection + forms hardening pass [Phase 5a] by @sbuchweitz in #59
  • feat(forms): per-project SMTP (Mode B / userSmtp) [Phase 5b] by @sbuchweitz in #60
  • feat(forms): Mode C — third-party endpoint [Phase 6] by @sbuchweitz in #61
  • feat: stock images (Openverse/Unsplash/Pexels) via MCP + editor picker by @sbuchweitz in #62
  • fix: keyless Openverse stock search (page_size must be <= 20) by @sbuchweitz in #63
  • refactor: merge brand + company into unified Corporate Identity (format v2) by @sbuchweitz in #64
  • feat: glassmorphic animated Settings editor (Corporate Identity + Website) by @sbuchweitz in #65
  • feat: page draft/published status + Page Settings editor panel by @sbuchweitz in #66
  • feat: content-route rate limits + hreflang multilingual SEO by @sbuchweitz in #67
  • feat: built-in Starter snippet library (Phase 3 — global snippet scope) by @sbuchweitz in #68
  • feat: template/partial variables ({{ company.* }} / {{ website.* }} / {{ page.* }}) by @sbuchweitz in #69
  • feat: per-node client-editable regions with server-side enforcement by @sbuchweitz in #70
  • feat: constrained client (member) restricted editor + client provisioning by @sbuchweitz in https://github.com/sitewrig...
Read more