v0.3.1 — Hotfix: workspace deps + landing polish
v0.3.1 — Hotfix: workspace dep resolution + landing visual polish
Patch release fixing one critical packaging bug introduced upstream by bun publish and one set of landing-page visual inconsistencies.
Strongly recommended upgrade for anyone on 0.3.0 — fresh installs of 0.3.0 resolve mismatched workspace versions due to a
bun publishlockfile-metadata bug.
Critical: stale @dualmark/core pin in 0.3.0 tarballs
@dualmark/cli@0.3.0, @dualmark/astro@0.3.0, @dualmark/cloudflare@0.3.0, and @dualmark/converters@0.3.0 were published with a stale @dualmark/core dependency pin of "0.2.1" instead of "0.3.0". Running bun add @dualmark/cli@0.3.0 in a fresh project resolves @dualmark/core@0.2.1 alongside it — a mixed-version install. APIs are byte-equivalent across 0.2.1 and 0.3.0 so it does not crash, but the dependency graph is incorrect.
Root cause (full RCA): bun publish reads workspace dependency versions from bun.lock metadata cached at the last install time, not from the current packages/*/package.json files. When changeset version bumps versions but does not regenerate the lockfile, bun publish rewrites workspace:* deps to the previous version. bun install --frozen-lockfile does NOT detect this drift. Tracked upstream as oven-sh/bun#20477 (PR #26797 still open as of bun 1.3.5).
Two-layer fix (defense in depth):
- The
version-packagesscript now chainsbun install --lockfile-onlyafterchangeset version, so the version PR commits a refreshed lockfile. release.ymlruns the same command after checkout/setup as a self-healing safety net for tagged releases.
Verification: bun pm pack on packages/cli with the refreshed lockfile correctly emits "@dualmark/core": "0.3.1" in the packed package.json.
Landing-page visual polish
- Hero: removed full-viewport
border-bthat produced a stray horizontal hairline below the terminal demo. - Page rails: promoted z-index from
0to10so rails render above the heroBeamsBackgroundgradients (previously the bottom radial fade obscured rails inside the hero). - Navbar: scoped the bottom border to its inner
max-w-7xlcolumn so it terminates at the rails instead of running full-viewport. - Section dividers: shared
<Section>component now renders a top hairline between the rails (via newdividerprop, defaulttrue). Every landing-page section transition has a clean ┬ intersection at both rail crossings, giving the page consistent vertical rhythm.
No package source-code changes; landing fixes affect apps/docs/ only.
Commits in this release
fix(landing): rails framing — z-index, scoped borders, section dividersfix(release): refresh bun.lock workspace metadata before publishchore: refresh bun.lock workspace metadata to 0.3.0chore: changeset for 0.3.1 — workspace dep resolution hotfix + landing polishchore: version packages (#3)
Migration
- From 0.3.0:
bun update @dualmark/*(or your equivalent). No code changes required. Strongly recommended. - From 0.2.x: see the v0.3.0 changelog for the relicense + identity changes; this 0.3.1 release rolls those forward with the dep fix.
Verified
- 266 tests pass across 5 packages
- typecheck 10/10 green
- All 5 packages publish at
0.3.1with correctly resolved cross-package dependencies ("@dualmark/core": "0.3.1").
License
Apache 2.0. See LICENSE and NOTICE.