Skip to content

chore: 1.23.1 — pinned Node on build workers, iOS mute after SpringBoard - #4082

Merged
janicduplessis merged 2 commits into
mainfrom
chore/release-1.23.1
Oct 20, 2026
Merged

janicduplessis merged 2 commits into
mainfrom
chore/release-1.23.1

Conversation

@janicduplessis

Copy link
Copy Markdown
Collaborator

Description

The 1.23.1 version commit. It ships #4079 (the build worker runs install, prebuild, pods and xcodebuild on the Node the project pins) and #4080 (an owned iOS simulator is muted only after SpringBoard has started). #4065 and #2850 are Desktop-only and not listed.

Patch, not minor: both commits are fixes. #4079 also adds match to stim doctor --json's toolchain.projectNode, an addition RELEASE.md section 1 would call minor; it only reports the fix's own fallback, and 1.20.2 shipped a new setting in a patch.

QA: the maintainer authorized a stable release without the pre-tag QA gate on 2026-10-20, as for 1.22.0 and 1.23.0. That waives only RELEASE.md section 3. Neither fix has been through QA: the full QA round run today on main at c132bb1 (no regressions against v1.21.0) predates #4079 and #4080. docs/releases/1.23.1.md records that round, what was omitted and what ran. Exact-commit CI, tarball inspection and the Release workflow gates stay required.

Solution

  • pnpm run release:prep 1.23.1 bumps the twelve package manifests.
  • docs/releases/1.23.1.md: Fixes, QA.
  • apps/mobile/src/generated/licenses.json regenerated (only the @stim-cli/core version moves).

After publish:

Test plan

  • pnpm test: 2 failures in 2 files at load average 24 to 30, so not a local pass; CI is the gate. Rerun alone, hosted-ios-client.test.ts passed (81/81); scripts/agent-benchmark/macos-processes.test.mjs fails at sandbox-exec on this Mac, as in 1.21.0 to 1.23.0.
  • Passed locally: format:check, lint, build, typecheck, knip, release:prep --check, test:runtime, test:e2e (116/116), CLI --version = 1.23.1, --help, guide agent, apps/mobile licenses:check and format:check.
  • pnpm tarball inspection of all twelve packages: README and LICENSE in each, version 1.23.1, internal deps ^1.23.1 / 1.23.1, no workspace: range, file counts equal to 1.23.0's.
  • Not run: test:compat (needs a connected iPhone), and the QA matrix rows, by the waiver above.

Bump the twelve npm packages to 1.23.1 and add docs/releases/1.23.1.md.
@janicduplessis janicduplessis added area: mobile apps/mobile and apps/demo-server area: docs docs/ and root documents area: repo .github/, scripts/, test/, packaging/, patches/, root config labels Oct 20, 2026
@janicduplessis

Copy link
Copy Markdown
Collaborator Author

Fresh review of 3b5c291 (1.23.1 version commit).

Actionable (1):

  1. docs/releases/1.23.1.md, first Fixes bullet: "On iOS it writes that Node as NODE_BINARY in the project's .xcode.env.local" is imprecise. useXcodeNode in packages/stim-cli/src/offload/worker.ts (3b53096) writes the first node on the worker's PATH on every offloaded iOS build, not only when a pin exists. When the project pins nothing, or the worker's own node already fits the pin, that is the worker's node, not a pinned one. It also rewrites every existing export NODE_BINARY= line in the file. So an unpinned iOS project now gets its .xcode.env.local rewritten, and that is not stated. Suggested wording: "On iOS it writes the Node first on the worker's PATH (the pinned Node when one was put there) as NODE_BINARY in the project's .xcode.env.local, replacing any existing NODE_BINARY line, for every offloaded iOS build." (guide settings and website/docs/remote-machines.md from fix: run offloaded build steps on the project's pinned Node #4079 have the same loose wording; those are not part of this PR.)

Checked and correct:

Minor:

@janicduplessis

Copy link
Copy Markdown
Collaborator Author

Fresh review of 01dbb7d (1.23.1 version commit).

No actionable findings.

  • The earlier finding is fixed. The first Fixes bullet now says the worker puts an installed Node first on PATH only when its own node does not fit the pin. It also says that on every offloaded iOS build, pinned or not, the worker writes the first node on its PATH as NODE_BINARY in .xcode.env.local, replacing any existing export NODE_BINARY= line. That matches useProjectNode and useXcodeNode in packages/stim-cli/src/offload/worker.ts (3b53096).
  • Fixes #4077 and Fixes #4075 links were added; both issues exist. The matrix counts now read 41 / 11 / 30, matching node scripts/release-qa-matrix.mjs v1.23.0 on this head.
  • The change since 3b5c291 is only docs/releases/1.23.1.md. Against origin/main the diff is still twelve package.json version bumps, the notes file and apps/mobile/src/generated/licenses.json. pnpm run release:prep --check passes (12 packages at 1.23.1, 23 workspace: ranges).
  • The rest of the earlier review stands: version choice, Fixes claims versus the code, the QA section's wording about what the c132bb1 round did and did not cover, and the PR body versus the diff. No review: needs-human category applies.

CI on this head was still pending at review time; the required checks and merge gate remain the gate for merging.

@janicduplessis janicduplessis added the review: ai-approved A fresh AI review found nothing left to fix label Oct 20, 2026
@janicduplessis
janicduplessis marked this pull request as ready for review October 20, 2026 16:06
@janicduplessis janicduplessis changed the title chore: 1.23.1 chore: 1.23.1 — pinned Node on build workers, iOS mute after SpringBoard Oct 20, 2026
@janicduplessis
janicduplessis added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit 2c23f24 Oct 20, 2026
31 of 32 checks passed
@janicduplessis
janicduplessis deleted the chore/release-1.23.1 branch October 20, 2026 16:22
@janicduplessis

Copy link
Copy Markdown
Collaborator Author

Exact-commit record for 2c23f24 (squash of this PR, tagged v1.23.1):

@janicduplessis

Copy link
Copy Markdown
Collaborator Author

Post-publish check of #4079: offloaded tlon-apps builds on janics-mac-mini with npm 1.23.1 on both Macs (build 57b6091a6f886871).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs docs/ and root documents area: mobile apps/mobile and apps/demo-server area: repo .github/, scripts/, test/, packaging/, patches/, root config review: ai-approved A fresh AI review found nothing left to fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant