Skip to content

build(deps)!: develop against Effect 4.1.2 - #39

Draft
relsunkaev wants to merge 4 commits into
mainfrom
feat/effect-4.1.2
Draft

relsunkaev wants to merge 4 commits into
mainfrom
feat/effect-4.1.2

Conversation

@relsunkaev

@relsunkaev relsunkaev commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Develop against Effect 4.1.2. 15 files changed; local gates and all seven CI jobs pass. Draft awaiting merge approval; no release or merge.

Why

Problem: development still used Effect 4.0, while 4.1 moved the Crypto API.

  • Keep development dependencies aligned at 4.1.2.
  • Make the database package's new minimum explicit.
  • Preserve the query builder's older minimum with executable proof.

Key Changes

Dependency upgrade:

  • Pin workspace Effect and Platform/SQL packages to 4.1.2.
  • Require Effect >=4.1.2 <4.2.0 for effect-db.
  • Allow Effect >=4.0.0 <4.2.0 for effect-qb.

Native crypto migration:

  • Use the Effect digest service for migration checksums.
  • Provide the native Node digest implementation for CLI and Promise APIs.
  • Remove unused crypto requirements from source discovery.
  • Keep checksum format and line-ending normalization unchanged.

Compatibility proof:

  • Test packed packages against the exact development version.
  • Independently install effect-qb with Effect 4.0.0, compile public type fixtures, and execute the Node SQLite smoke.
  • Document the different development and consumer requirements.

Risks & Testing Needed

Breaking change: effect-db drops Effect 4.0 support.
→ Effect-based migration readers now need Digest.Digest from effect/crypto; provide NodeCrypto.layerDigest alongside platform services.

Unchanged: CLI and Promise APIs provide the services automatically. effect-qb keeps its 4.0 minimum.

Not tested locally: Node 22 and 26.
→ All Node 22/24/26 verification and integration CI jobs passed on 5186197.

Verification note: an overlapping local package rebuild invalidated the first integration run. A serialized rerun passed all 197 tests without a product workaround.

Build status: all seven CI jobs passed; local build, 741 tests, types, packed consumers, layout checks, and 197 integration tests passed on Node 24.22.1.

Test Plan

bun install --frozen-lockfile
bun run build
bun test --coverage
bun run test:types
bun run test:pack
bun run test:integration

Rollback

gh pr close 39

Before merge, closing this draft leaves main and published packages unchanged.
After merge, revert the upgrade PR before another release.

Migrate migration hashing to Digest and provide the Node digest layer at runtime assembly. Keep the checksum encoding and line-ending normalization unchanged.

BREAKING CHANGE: effect-db requires Effect >=4.1.2 <4.2.0. Effect-based migration readers now require Digest.Digest from effect/crypto rather than Crypto.Crypto; provide NodeCrypto.layerDigest. The CLI and Promise APIs provide it automatically. effect-qb retains its Effect 4.0 minimum.
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