Skip to content

v0.3.1 — Hotfix: workspace deps + landing polish

Choose a tag to compare

@aagarwal1012 aagarwal1012 released this 05 May 20:45
· 94 commits to main since this release
bd68f5e

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 publish lockfile-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):

  1. The version-packages script now chains bun install --lockfile-only after changeset version, so the version PR commits a refreshed lockfile.
  2. release.yml runs 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-b that produced a stray horizontal hairline below the terminal demo.
  • Page rails: promoted z-index from 0 to 10 so rails render above the hero BeamsBackground gradients (previously the bottom radial fade obscured rails inside the hero).
  • Navbar: scoped the bottom border to its inner max-w-7xl column 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 new divider prop, default true). 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


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.1 with correctly resolved cross-package dependencies ("@dualmark/core": "0.3.1").

License

Apache 2.0. See LICENSE and NOTICE.