Releases: moureau-dev/newstack
Releases · moureau-dev/newstack
Release list
Newstack v0.0.43
Changelog
[0.0.43] — 2026-04-10
Fixed
- SSG missing routes inside function component wrappers —
discoverRoutesnow expands function components (e.g.<Layout>) and handles Fragment array returns during traversal, so routes declared as children of a wrapper are discovered and their pages are generated at build time.
Full Changelog: newstack-v0.0.42...newstack-v0.0.43
Newstack v0.0.42
Changelog
[0.0.42] — 2026-04-10
Added
<head>JSX injection — components can now render<head>blocks directly in JSX to inject scripts, meta tags, links, etc. intodocument.head. Works on both server (SSR) and client (route changes). Head content is scoped per component, cleaned up when the component stops rendering it, and cached to avoid unnecessary DOM churn on re-renders.
export class Page extends Newstack {
render() {
return (
<>
<head>
<script src="https://cdn.example.com/lib.js" />
<meta name="theme-color" content="#101010" />
</head>
<div>...page content...</div>
</>
);
}
}
**Full Changelog**: https://github.com/moureau-dev/newstack/compare/newstack-v0.0.41-retrigger...newstack-v0.0.42newstack-v0.0.41-retrigger: Support custom port via NEWSTACK_PORT env var
Pass NEWSTACK_PORT to the hono serve call so the dev/SPA server can be started on a different port without changing code. HMR works without changes since it connects back on the same origin the page loaded from.
Newstack v0.0.41
Changelog
[0.0.41] — 2026-04-10
Added
- Configurable port — set
NEWSTACK_PORT=4000to start the server on a custom port. Works for both SSR dev server and SPA dev server. HMR is unaffected since the client connects back on the same origin. Falls back to the default (3000) when unset.
Full Changelog: create-newstack-app-v0.0.24...newstack-v0.0.41
Newstack v0.0.40
Changelog
[0.0.39] — 2026-04-10
Fixed
- Navigation throttle warning —
patchLinkswas called on everyrenderRoute, stacking a newdocumentclick listener on each navigation. After a few route changes the browser's flood protection kicked in (Throttling navigation to prevent the browser from hanging). Moved tostart()so the delegated listener is registered exactly once for the lifetime of the app.
Full Changelog: create-newstack-app-v0.0.24...newstack-v0.0.40
Newstack v0.0.39
Changelog
[0.0.39] — 2026-04-10
Added
eventon context — event handlers using theon*={this.method}shorthand now receive the triggering DOM event ascontext.event, so it can be destructured directly:onclick({ event }) { console.log(event.target) }. The second parameter still works for backwards compatibility.
Full Changelog: newstack-v0.0.38...newstack-v0.0.39
Newstack v0.0.38
Changelog
[0.0.38] — 2026-04-10
Fixed
- Dynamically rendered links not intercepted —
patchLinkswas usingquerySelectorAll("a")at render time, so any<a>tags added to the DOM later (via reactive state changes, timeouts, etc.) were never patched and would trigger full page reloads instead of client-side navigation. Replaced with a single delegatedclicklistener ondocumentusing.closest("a"), which covers all anchors regardless of when they were inserted and correctly handles clicks on child elements inside an anchor.
Full Changelog: newstack-v0.0.37...newstack-v0.0.38
Newstack v0.0.37
Changelog
[0.0.37] — 2026-04-10
Fixed
- Reactivity broken by context auto-inject — the proxy
gethandler was wrappingconstructorand other static-property-bearing functions, returning a plain arrow function with no.hash. This causedcomponentElements.get()to always miss andupdateComponentto silently bail on every state change, effectively killing all reactivity. The wrapper now skipsconstructorand any function already carrying a.hashproperty, and only injects context when the caller explicitly passes a plain object as the first argument.
Full Changelog: newstack-v0.0.36...newstack-v0.0.37
Newstack v0.0.36
Changelog
[0.0.36] — 2026-04-10
Fixed
target="_blank"links not opening —patchLinkswas callinge.preventDefault()unconditionally on every<a>tag. It now skips interception for external URLs,target="_blank/_parent/_top", hash links,mailto:, andtel:hrefs, letting the browser handle them normally.
Full Changelog: newstack-v0.0.35...newstack-v0.0.36
Newstack v0.0.35
Changelog
[0.0.35] — 2026-04-10
Fixed
- Function components not traversed during visible-hash setup —
setupDefaultVisibleHashesnow calls function components (e.g.Layout) during traversal and handles array returns (Fragment), so class components inside them are correctly marked visible and rendered during SSR. - SSG route discovery missing routes inside function component wrappers —
discoverRoutesin the build manager now expands function components, so routes declared as children of a<Layout>wrapper are discovered and their pages are generated.
Full Changelog: newstack-v0.0.34...newstack-v0.0.35