Skip to content

chore: bump effect and friends to latest rc - #6582

Draft
kanadgupta wants to merge 13 commits into
developfrom
kanad-2026-09-11/bump-effect
Draft

chore: bump effect and friends to latest rc#6582
kanadgupta wants to merge 13 commits into
developfrom
kanad-2026-09-11/bump-effect

Conversation

@kanadgupta

Copy link
Copy Markdown
Member

Summary

Linked issue

Closes #

  • The linked issue is open and carries the open-for-contribution label (or I'm a Supabase maintainer).

Checklist

  • The PR title follows Conventional Commits (e.g. fix(cli): …).
  • Tests added or updated for the change.
  • From the repository root, pnpm check:all passes; relevant package tests pass for every touched workspace, and pnpm types:check passes for each touched TypeScript workspace (or workspace declaring it).

kanadgupta and others added 13 commits September 11, 2026 16:47
rc.113 replaces the node-postgres driver with a native one and drops
PgClient.fromPool, which the CLI's db-connection layer uses to hand its
self-managed pg.Pool to @effect/sql-pg. Keep sql-pg on rc.112 until that
layer is migrated off the node-postgres wrapper.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
effect rc.113 requires Effect.ensuring finalizers to have a never error
channel. The rm(force: true) cleanup cannot meaningfully fail, so a
rejection becomes a defect instead of a swallowed typed error.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Flag/Argument/GlobalFlag/Primitive constructors are now capitalised
(String, Boolean, Int, Literals, ChoiceWithValue, Setting, KeyValuePair)
and Config.string/redacted became Config.String/Redacted.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Schema decoding no longer offers onExcessProperty: "preserve"; the
  deploy-body assertion keeps its strictness with "error".
- Match.valueTags no longer infers handler parameters from a data-first
  input, so the archive-problem handlers name their variant.
- FileSystem.Size is replaced by ByteSize.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Socket.runRaw and the callable writer are gone; a Socket now exposes a
scoped reader whose pull yields chunk batches and fails with a
SocketCloseError on close, plus a scoped writer object. The control
server's demultiplexing socket and the client-side framed socket expose
the same contract, and the maintenance and awaitClose clients drive the
underlying reader directly. Connection open is now signalled by reader
acquisition rather than an onOpen hook.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
SchemaAST.Union takes a UnionOptions object instead of a bare mode, and
toJsonSchemaDocument replaced additionalProperties with onExcessProperty.
The new default emits open objects, so the project schema drops its
explicit opt-in and the CLI config schema opts into "error" to keep
emitting additionalProperties: false.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Primitive._tag is typed as string, so the runtime renames Integer -> Int
and Float -> Finite slipped past the type checker and broke the docs-spec
varname mapping and completion value validation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ests

Installing vitest at the root enables knip's vitest plugin for the root
workspace, whose default test-file entries reach into every child
workspace. That re-attributed files reachable from those tests and
reported the release-notes script's dependencies and the release-plan
types as unused. The root config only aggregates projects, so the root
plugin gets no entries of its own.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… struct

Schema.Struct({}) decodes any non-null value, and effect rc.113+ renders
it faithfully as { not: { type: "null" } }, which changed the published
JSON Schema for storage.analytics.buckets and storage.vector.buckets from
rc.112's { anyOf: [object, array] }. ObjectKeyword decodes and renders
exactly that object-or-array shape, so the artifact keeps its meaning;
only the anyOf branch order differs.

The project-schema exhaustiveness guards learn the new leaf kind, and the
empty-struct sweep no longer has any expected hits.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The comment contrasted collapsed containers with structs that are empty
in the source schema. Since dec6f3e96 replaced the last empty struct with
ObjectKeyword, that case no longer exists, so the contrast is dropped.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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