Skip to content

Releases: a11ign/screenreader-fleet

v0.13.3

Choose a tag to compare

@github-actions github-actions released this 25 Oct 08:29

Patch Changes

  • abe8af3: bootstrap-windows-worker.ps1 holds no Edge or Node version of its own: it reads edge.version, edge.msiUrl, edge.msiSha256, node.version and node.sha256.{x64,arm64} from control's pins manifest, deploy-pins.json, at C:\a11y\deploy-pins.json (or A11Y_PINS_FILE), with one A11Y_* override per value, and stops naming what to give it when it has neither (it never guesses a version). serve-bootstrap.sh takes the manifest's path as its second argument (before the optional port), refuses a file that is not the fleet's manifest, and serves it as a symlink so an upgrade's edit reaches the next box without a restart; autounattend.xml fetches it with the other files; a11y-bootstrap.service passes it. A caller that started serve-bootstrap.sh <key> <port> must now pass the manifest between them (the script says so and exits 2), an a11y-bootstrap.service installed before this must be replaced, and install media made before this must be refreshed. The irm | iex one-liner needs the manifest (or the A11Y_* values) in place first: with neither it stops at the start, before anything is installed, and says what is missing. Every pin but the Node hash is read before anything is installed, and an x64 box asks for no arm64 hash. This ends the second place the fleet's Edge and Node were written (A11-205).

v0.13.2

Choose a tag to compare

@github-actions github-actions released this 24 Oct 08:09

Patch Changes

  • 991911b: bootstrap-windows-worker.ps1 pins Edge 156.0.4314.42 (version, MSI URL and SHA-256 together), the newest Stable x64 build in Microsoft's enterprise catalogue (published 2026-10-22), so a box built from the bootstrap matches the build the fleet converges to under A11-183. It pinned 155.0.4283.45 before, a build twelve of fifteen boxes had already moved off.

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 10:00

Patch Changes

  • 5a440cc: @a11ign/screenreader-worker is pinned at 0.13.2, which publishes launcher/run-server.cmd and launcher/apply-foreground-lock-timeout.ps1. Releases 0.9.0 to 0.12.0 publish dist only, and stamp-provision-revision.ps1 throws when either hashed path is absent, so a consumer taking the fleet's own pin failed at provisioning before it wrote its stamp. src/provision-stamp.test.ts now asserts both files exist in the installed worker package.

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 09:26

Minor Changes

  • 74c6dec: engines.node is >=22.15.0, the floor of @a11ign/toolchain 0.9.0, which the fleet ships as a runtime dependencies entry (it moved there at 0.5.0). engines said >=20 while a production dependency needed >=22.15.0, so a Node 20 consumer could install a dependency whose declared engine it does not satisfy. ci.yml runs Node 22, so >=22.15.0 is the floor the repository tests; Node 20 is out of maintenance. src/engines-floor.test.ts pins that no runtime dependency's floor is above engines.node.

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 10:00

Minor Changes

  • 069411a: The package exports ./doctor, so control can import fleetAgreementLine and missingExportTargets by subpath instead of copying them. The subpath is built to dist/doctor.mjs and dist/doctor.d.ts beside the existing entries, and it is additive: the a11ign-doctor bin still runs the same file. Importing it runs nothing: the entry guard inspects argv only when doctor is the command.

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 22:18

Minor Changes

  • 7a0f8ff: src/provisioning/apply-foreground-lock-timeout.ps1 is removed from the package: the script belongs to @a11ign/screenreader-worker, which publishes it as launcher/apply-foreground-lock-timeout.ps1 (ADR 0045 cut 5, a11ign/a11ign#5148). provision-nvda-worker.ps1 now runs it from <RepoPath>\node_modules\@a11ign\screenreader-worker\launcher\ rather than as a sibling, and stamp-provision-revision.ps1 hashes that same file, so the bytes that run are the bytes the stamp describes. A consumer that read the script from node_modules/@a11ign/screenreader-fleet/src/provisioning/ must read it from the worker package's launcher/ instead, which is why this is a minor and not a patch. Two hashed files change (the worker's copy differs from the removed one in one comment line, and provision-nvda-worker.ps1 is edited), so provisionRevision moves once and a box provisioned from this release reads fleet-consistency INCONSISTENT against one provisioned before it until the fleet is re-provisioned.

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 07:43

Patch Changes

  • 3377748: stamp-provision-revision.ps1 no longer reads packages/control/layers.json to find its files. The fleet's two scripts are read from the installed node_modules/@a11ign/screenreader-fleet/, and the worker's published run-server.cmd from node_modules/@a11ign/screenreader-worker/launcher/. The two Ansible files stay under packages/control, where the core lays its pinned control layer. The two fleet scripts are byte-identical (after CRLF normalisation) to this package's own copies, so their hashes are unchanged. The launcher is not: the published run-server.cmd is what runs on the box and differs from the worker repository's source file, so provisionRevision moves once, for every box provisioned after this lands.

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 06:57

Patch Changes

  • b877378: WAKE_HINT, printed when a probe times out, names control's checkout and pnpm run fleet:wake -- <name>. It said to wake the box "from a checkout of the a11ign repo" with npm run fleet:wake, a script the core stopped carrying when its fleet scripts moved to a11ign/control (ADR 0045), so the hint sent the reader to "Missing script".

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 23:22

Minor Changes

  • 7276192: The package exports four more subpaths that control imports by relative path today: ./git-safe-env, ./protocol-guard, ./npm-cli-executable and ./code-drift (ADR 0045 rule 2, the producer half of the control cut 7b). Each is built to dist beside the twelve existing subpaths and declares its types and default. None of the four imports a package: git-safe-env and npm-cli-executable import node: built-ins only, protocol-guard and code-drift import their siblings worker-http and git-safe-env on top, so each runs from an unpacked tarball with nothing installed.

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 19:59

Minor Changes

  • 7f3f976: The package publishes guest-run and normalise-fleet as bin commands, a11ign-guest-run and a11ign-normalise-fleet, so a consumer runs them from the installed package and never from this repository's source (a11ign/a11ign#5081, ADR 0045). files gains src/guest, the .cmd the normaliser sends to each guest; the built normalise-fleet finds it as ../src/guest/ and runs the built guest-run.mjs beside it, where it ran a .ts that does not ship. Both commands' entry guards now compare the REAL path of argv[1], so a bin reached through npm's .bin symlink runs instead of loading and exiting 0. normalise-fleet also exports guestPaths(), which the pack test reads from src and from dist.