Skip to content

chore(oj): bump the default dev server to oj 0.2.49 from git upstream - #372

Merged
mikn merged 1 commit into
mainfrom
mikn/bump-oj-0.2.46
Oct 28, 2026
Merged

mikn merged 1 commit into
mainfrom
mikn/bump-oj-0.2.46

Conversation

@mikn

@mikn mikn commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

The default dev server is stuck at oj 0.2.44 and cannot move by crates.io: the 0.2.47 publish failed part-way on 2026-10-27, so dev users miss five releases of TanStack Start fixes.

  • What: the default oj dev server moves to 0.2.49, built from oj's git tag v0.2.49; oj/Cargo.lock pins all seventeen oj crates to its commit 8b72c5adb2e9.
  • Goal: keeps the default dev server current with oj without waiting on crates.io publishes.
  • Evidence: every oj patch applies to that checkout through rules_rs's patch step; CI builds and tests oj from it.
  • Risk/rollback: dev server only; fetching oj now needs git and github.com, pinned by commit id rather than a content digest. Revert the commit.
  • Merges next: consumers bump their rules_typescript pin to this commit.

Change

  • rules_rs fetches one oj checkout at the locked sha; the tag in oj/Cargo.toml never reaches the build. notify gives way to oj's oj_notify fork; V8, deno_core, Cranelift and tokio keep their pins.
  • The oj crates share that checkout, so their patches name paths from the repository root and all use -p1; deno_napi and deno_runtime reuse two of them with -p3.
  • oj-server-pre-resolve-id.patch is re-cut onto 0.2.49's single plugin host: the ssr environment is a container of the dev host, so one this.resolve fallback serves both, keyed by the asking environment.
  • oj-cache-start-bundle-stable-key.patch is re-cut onto the memoized bundle persist; oj-server-ssr-css-url.patch drops the stylesheet hunk oj now ships.

Upstream changes picked up

  • 0.2.47: one plugin host for every Start dev environment; vite.config evaluated once.
  • 0.2.48: --debug[=scope] replaces OJ_BOOT_PHASES, OJ_DEBUG_MEM and OJ_DEBUG_HOOK_GATE; Start stylesheets link in Vite's order.
  • 0.2.49: oj returns memory the npm rolldown binding frees.

Observed in production: no; found when the 0.2.47 crates.io publish failed. Gain: not measured here; oj's changelog reports the footprint numbers.

🤖 Generated with Claude Code

@mikn
mikn force-pushed the mikn/bump-oj-0.2.46 branch from a104bb2 to fb1009b Compare October 28, 2026 10:39
@mikn mikn changed the title chore(oj): bump the default dev server to oj 0.2.46 chore(oj): bump the default dev server to oj 0.2.49 from git upstream Oct 28, 2026
The default dev server was five oj releases behind, and 0.2.47 reached
crates.io only in part, so a crates.io pin could not move past 0.2.46.
0.2.47 runs TanStack Start dev on one plugin host for every environment
and evaluates vite.config once; 0.2.48 moves debug output to --debug,
links Start stylesheets in Vite's order and shares FSEvents streams;
0.2.49 returns the memory the npm rolldown binding frees.

The five direct oj crates come from the oj repository at tag v0.2.49,
and oj/Cargo.lock pins all seventeen oj crates to its commit
8b72c5adb2e9, so rules_rs fetches one checkout at that sha. oj_notify
replaces notify; V8, deno_core, Cranelift and tokio keep their pins.

The oj crates share that checkout, so their patches now name paths from
the repository root and all apply with -p1. The oj crate annotations
drop their version key. deno_napi and deno_runtime reuse the oj patches
with -p3.

oj-server-pre-resolve-id.patch is re-cut onto 0.2.49's single plugin
host: the ssr environment is a container of the dev host, so one
this.resolve fallback answers for both and the host passes the asking
environment (ssr, client or optimize). 0.2.49 passes scan through
ctx.resolve itself, so those two hunks are dropped.
oj-cache-start-bundle-stable-key.patch is re-cut onto 0.2.47's
memoized persist. oj-server-ssr-css-url.patch drops the plugin-loaded
stylesheet hunk 0.2.46 ships; oj-start-host-query-resolve-id.patch and
the deno and napi patches carry over, re-rooted.

Fetching oj now needs git and access to github.com, and the pin is the
commit id rather than a content digest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mikn
mikn force-pushed the mikn/bump-oj-0.2.46 branch from fb1009b to b7fae10 Compare October 28, 2026 10:40
@mikn
mikn merged commit d33d3e6 into main Oct 28, 2026
17 checks passed
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.

1 participant