Skip to content

docs: document 0.7.0 prerelease install path; fix sidecar loader test on Node 23+ - #115

Merged
joelst merged 1 commit into
mainfrom
fix/0.7.0-prerelease-notes-and-loader
Sep 13, 2026
Merged

joelst merged 1 commit into
mainfrom
fix/0.7.0-prerelease-notes-and-loader

Conversation

@joelst

@joelst joelst commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Final 0.7.0 prep: the two mechanical items from the release review.

Release notes: how 0.7.0 is installed

0.7.0 publishes as a GitHub prerelease (release.yml hard-refuses to build it on the stable channel), so releases/latest skips it and the in-app updater will never offer it. That is intentional for an evaluation handoff, but the release notes did not say so anywhere, and releaseBody is just the static string "See CHANGELOG for details."

Adds an Installing This Prerelease section stating that the updater will not offer this build and it is installed manually from the release assets. The macOS Gatekeeper caveat was already documented directly below, so it is unchanged.

Test fix: sidecar loader on Node 23+

sidecar/foundry-sidecar.test.ts passed a bare Windows absolute path to --experimental-loader. Node rejects that:

Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node
are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs.

CI pins Node 22, which still accepts paths, so this was green in CI and deterministically red for anyone on Node 23+ (found on Node 26). Now uses pathToFileURL(loaderPath).href.

This is test scaffolding only — production code (sidecar/foundry-sidecar.js:2138, scripts/smoke-bundled-node.cjs:104) already builds file URLs correctly, and I grepped for other occurrences. Deliberately not migrating off the deprecated --experimental-loader to module.register() on release eve.

Verification

  • npm test1100/1100 pass (was 1099/1100, one deterministic failure)
  • npm run verify:markdown-links — 134 relative links across 27 files
  • node scripts/verify-release-metadata.cjs 0.7.0 --channel=evaluation — passes
  • npx changeset status --since=origin/main — passes

Note on the changeset

.changeset/docs-0.7.0-prerelease-install-note.md uses empty frontmatter, matching the four existing doc changesets on main. It satisfies the CI gate and bumps nothing, which is what we want — version files are already at 0.7.0 and verified, and changeset version must not run before the tag.

🤖 Generated with Claude Code

… on Node 23+

0.7.0 publishes as a GitHub prerelease, so `releases/latest` skips it and the
in-app updater will never offer it. That is intentional for an evaluation
handoff, but the release notes did not say so. Record that the build is
installed manually from the release assets.

Also pass a file:// URL to `--experimental-loader` in the sidecar chat-metrics
test. A bare Windows absolute path is rejected with
ERR_UNSUPPORTED_ESM_URL_SCHEME on Node 23+, so the suite failed locally on
Node 26 while staying green on CI's Node 22.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 13, 2026 21:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The only unresolved comment is a minor documentation nit; no blocking issues were identified.

Pull request overview

Documents the 0.7.0 prerelease installation path and fixes sidecar loader tests on Node 23+.

Changes:

  • Adds manual prerelease installation guidance.
  • Converts the test loader path to a file:// URL.
  • Adds a no-bump changeset.
File summaries
File Description
sidecar/foundry-sidecar.test.ts Uses pathToFileURL for Node-compatible loader invocation.
CHANGELOG.md Documents prerelease installation.
.changeset/docs-0.7.0-prerelease-install-note.md Satisfies the changeset gate without a version bump.
Review details

Suppressed comments (1)

CHANGELOG.md:22

  • The new section points readers to the macOS note, whose “Recommended one-line install” fetches releases/latest (see scripts/install-macos.sh:31-37). That endpoint intentionally skips prereleases, so following the recommended command will install the latest stable build rather than 0.7.0. Please make the macOS instructions for this prerelease explicitly manual (or add a versioned prerelease install path) instead of recommending that command.
Flint 0.7.0 is published as a GitHub prerelease, so the in-app updater will not offer it. GitHub's `releases/latest` pointer skips prereleases by design, and this build is an evaluation handoff rather than an in-place upgrade. Install it manually from the release assets: the `.msi` or `-setup.exe` on Windows, or the `.dmg` on macOS Apple Silicon (see the note below).
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are focused, consistent with release configuration, and correctly address cross-platform loader behavior.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@joelst
joelst merged commit 2556d0d into main Sep 13, 2026
11 checks passed
joelst added a commit that referenced this pull request Sep 14, 2026
…release (#116)

The README understated Flint's trust posture and pointed at a dead download
target.

- "Self-signed installers can trigger SmartScreen / Gatekeeper warnings"
  described Windows as self-signed. Windows installers carry a public-trust
  Authenticode signature issued through Azure Trusted Signing and validate
  against the Microsoft-managed root with no certificate to install. Only
  macOS is unsigned; the caveat now says so.
- "Code signing / updater keys may still be operator-configured" was stale.
  The updater pubkey and endpoint are configured and pass verify:release.
- "In-app updater tracks the latest GitHub release" is wrong for 0.7.0.
  releases/latest skips prereleases, so the updater will not offer it. Match
  the note added to CHANGELOG in #115.
- The Status link pointed at releases/latest, which 404s on the API and
  redirects to an empty releases index. Point at /releases and drop the
  "when available" hedge now that 0.7.0 ships.

Also add CI, release, platform, and license badges, and state that 0.7.0 is
the first public release.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants