Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/cli-contract-safe-integer-bounds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@systemfsoftware/stryker-js-cli-contract": major
---

Regenerate the stream schema on effect 4.1.0, which writes the safe-integer range onto every integer and non-negative integer field (`minimum` 0 and `maximum` 9007199254740991, or both bounds for signed integers). A consumer that validates a stream line against the published document now refuses an integer beyond 2^53 - 1, which the previous document admitted.

The run stream moves to schema version 9.0, because the contract version law counts the narrower integer fields as a breaking stream change.
11 changes: 11 additions & 0 deletions .changeset/effect-4-1-crypto-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@systemfsoftware/stryker-js": patch
"@systemfsoftware/stryker-js-vitest-runner": patch
"@systemfsoftware/stryker-js-typescript-checker": patch
"@systemfsoftware/stryker-js-instrumenter": patch
"@systemfsoftware/stryker-js-plugin-interface": patch
"@systemfsoftware/stryker-js-plugin-runtime": patch
"@systemfsoftware/stryker-js-html-reporter": patch
---

Build on effect 4.1.0. effect 4.1.0 removed the `effect/Crypto` module, which the published stryker-js and stryker-js-vitest-runner imported, so a mutation run on effect 4.1.0 failed with ERR_MODULE_NOT_FOUND. Both packages now take random identifiers from `effect/crypto/SecureRandom` (`NodeCrypto.layerSecureRandom`), and the effect peer range is now `^4.1.0`: `effect/crypto/*` does not exist in 4.0.x. Schema classes are branded as @effect/tsgo 0.63.0 requires, the MCP server registers its toolkit through the stdio transport's `registrations` option with a middleware that provides the engine services to each request, and file identity in the case-sensitivity probe is a bigint, as effect 4.1.0 reports it.
13 changes: 13 additions & 0 deletions .changeset/effect-4-1-dev-toolchain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
"@systemfsoftware/oxlint-ignorer-config": none
"@systemfsoftware/stryker-framework-interface": none
"@systemfsoftware/stryker-ignorer-angular": none
"@systemfsoftware/stryker-ignorer-effect-schema-declarations": none
"@systemfsoftware/stryker-ignorer-in-source-vitest-block": none
"@systemfsoftware/stryker-ignorer-interface": none
"@systemfsoftware/stryker-ignorer-kit": none
"@systemfsoftware/stryker-js-angular": none
"@systemfsoftware/stryker-js-svelte": none
---

Build and lint with effect 4.1.0 and @effect/tsgo 0.63.0; the published code is unchanged.
2 changes: 1 addition & 1 deletion packages/stryker-js-cli-contract/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ pnpm add @systemfsoftware/stryker-js-cli-contract

The package groups its exports into namespaces. `RunEvent` holds the machine
stream: the `RunEvent` union of every event kind the CLI emits, each event's
class, two newline-delimited JSON codecs, and `StreamSchemaVersion` (`8.0`, the
class, two newline-delimited JSON codecs, and `StreamSchemaVersion` (`9.0`, the
version the stream declares). `RunEventWireLine` reads one line. `RunEventWireText`
reads a whole stdout: it skips blank and whitespace-only lines, and it refuses the
first other line that is not an event, at that line's 0-based position.
Expand Down
Loading
Loading