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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Added `BigDecimal.sumAll` and `BigDecimal.multiplyAll` for feature parity with `Number` and `BigInt`, closes #1880.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/add-from-string-schemas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add `DateFromString`, `BigIntFromString`, `BigDecimalFromString`, `TimeZoneNamedFromString`, `TimeZoneFromString`, and `DateTimeZonedFromString` schemas, closes #1941.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/add-make-msgpack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add `RpcSerialization.makeMsgPack` for creating MessagePack serialization with custom msgpackr options. On Cloudflare Workers with `allow_eval_during_startup` (default for `compatibility_date >= 2025-06-01`), pass `{ useRecords: false }` to prevent msgpackr's JIT code generation via `new Function()`, which is blocked during request handling. Also fixes silent error swallowing in the `msgPack` decode path — non-incomplete errors are now rethrown instead of returning `[]`.
4 changes: 2 additions & 2 deletions .context/effect/.changeset/add-missing-tx-modules.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
"effect": minor
"effect": patch
---

Add transactional STM modules: TxDeferred, TxPriorityQueue, TxPubSub, TxReentrantLock, TxSubscriptionRef.

Refactor transaction model: remove `Effect.atomic`/`Effect.atomicWith`, add `Effect.withTxState`. All Tx operations now return `Effect<A, E, Transaction>` requiring explicit `Effect.transaction(...)` at boundaries.
Refactor transaction model: remove `Effect.atomic`/`Effect.atomicWith`. All Tx operations now return `Effect<A, E, Transaction>` requiring explicit `Effect.tx(...)` at boundaries.

Expose `TxPubSub.acquireSubscriber`/`releaseSubscriber` for composable transaction boundaries. Fix `TxSubscriptionRef.changes` race condition ensuring current value is delivered first.

Expand Down
5 changes: 5 additions & 0 deletions .context/effect/.changeset/add-schema-annotate-encoded.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Schema: add `annotateEncoded` function for annotating the encoded side of a schema.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/add-schema-string-encoding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Schema: add `StringFromBase64`, `StringFromBase64Url`, `StringFromHex`, and `StringFromUriComponent` schemas for decoding encoded strings into UTF-8 strings, closes #1995.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/better-apples-nail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Effect.repeat now uses effect return value when using options
5 changes: 5 additions & 0 deletions .context/effect/.changeset/better-rocks-arrive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/ai-openai": patch
---

add back openai reasoning types
5 changes: 5 additions & 0 deletions .context/effect/.changeset/bright-canyons-clean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

add support for deferred responses in rpc
5 changes: 5 additions & 0 deletions .context/effect/.changeset/bumpy-boxes-teach.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Rename Atom's `Context` type to `AtomContext`
2 changes: 1 addition & 1 deletion .context/effect/.changeset/calm-squids-hug.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"effect": patch
---

add ServiceMap.Key type, used a base for ServiceMap.Service and ServiceMap.Reference
add Context.Key type, used a base for Context.Service and Context.Reference
5 changes: 5 additions & 0 deletions .context/effect/.changeset/clear-spies-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/platform-browser": patch
---

improve idb support for compound indexes
5 changes: 5 additions & 0 deletions .context/effect/.changeset/cli-help-choices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Append concrete choice values to CLI flag help descriptions so generated help shows valid command-line inputs.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/cute-heads-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

catch defects when building Entity handlers
5 changes: 5 additions & 0 deletions .context/effect/.changeset/cyan-loops-grow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/platform-browser": patch
---

improve idb transaction api
5 changes: 5 additions & 0 deletions .context/effect/.changeset/early-donuts-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

fix cache constructor inference by moving the lookup option
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Improve unstable HttpApi runtime failures for missing server middleware and missing group implementations.

- HttpApiBuilder.applyMiddleware now resolves middleware services via ServiceMap.getUnsafe, so missing middleware fails with a clear "Service not found: <middleware>" error instead of an opaque is not a function TypeError.
- HttpApiBuilder.applyMiddleware now resolves middleware services via Context.getUnsafe, so missing middleware fails with a clear "Service not found: <middleware>" error instead of an opaque is not a function TypeError.
- HttpApiBuilder.layer now reports missing groups with actionable context (group identifier, service key, suggested HttpApiBuilder.group(...) call, and available group keys).
- Added regression tests in packages/platform-node/test/HttpApi.test.ts covering:
- addHttpApi + API-level middleware applied across merged groups
Expand Down
2 changes: 1 addition & 1 deletion .context/effect/.changeset/eff-706-servicemap-mutate.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
"@effect/opentelemetry": patch
---

Refactor call sites with multiple `ServiceMap` mutations to use `ServiceMap.mutate` for batched updates.
Refactor call sites with multiple `Context` mutations to use `Context.mutate` for batched updates.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `MutableList.appendAll` / `appendAllUnsafe` so empty arrays are treated as a no-op instead of leaving behind an empty internal bucket.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eff-777-schema-make-effect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add `schema.makeEffect(input, options?)` to `Schema.Bottom` and schema-backed classes, matching the existing constructor behavior exposed by `makeUnsafe` / `makeOption` while returning an `Effect` failure with `Schema.SchemaError`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Update the unstable HTTP middleware logger to annotate only the request path in `http.url` instead of including the full URL (query / fragment), and add a regression test.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eff-779-keyvaluestore-layer-sql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add `KeyValueStore.layerSql` to back key-value storage with a SQL database via `SqlClient`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eff-780-layer-unify.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `Unify.unify` so Layer unions merge correctly, and add type tests covering Layer unification.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `Stream.toQueue` types and implementation to return a `Queue.Dequeue` in both overloads and delegate to `Channel.toQueueArray`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eff-782-httpapi-status-literals.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add support for common HTTP status string literals in `HttpApiSchema.status` (for example, `HttpApiSchema.status("Created")` resolves to status code `201`).
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eighty-swans-scream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

add HttpApiSchemaError for determining where a schema error originates from
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eleven-apes-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/ai-openai": patch
---

Add a new `OpenAiClientGenerated` module that exposes the generated OpenAI client as a dedicated context service with `make`, `layer`, and `layerConfig` constructors. This provides a compatibility path for direct generated-client access while preserving existing auth, base URL, header, and `OpenAiConfig.transformClient` wiring.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/empty-gifts-beg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

process schema properties / elements concurrently
5 changes: 5 additions & 0 deletions .context/effect/.changeset/empty-http-rpc-client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fail RpcClient HTTP requests when the server response contains no RPC messages instead of leaving requests pending.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/eventlog-unencrypted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Add EventLogServerUnencrypted module
24 changes: 24 additions & 0 deletions .context/effect/.changeset/expand-schema-filter-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
"effect": patch
---

Schema: expand `FilterOutput` and add `FilterIssue` for richer filter failures.

The return type of a `Schema.makeFilter` predicate now supports two additional shapes:

- `{ path, issue }` where `issue` is `string | SchemaIssue.Issue` (previously only `{ path, message: string }` was accepted). The `issue` arm lets you attach a fully-formed `Issue` at a nested path without manually constructing a `Pointer`.
- `ReadonlyArray<Schema.FilterIssue>` to report several failures at once. An empty array is success, a single-element array is equivalent to returning that element, and multi-entry arrays are grouped into an `Issue.Composite`. This removes the need to import `SchemaIssue` and hand-build a `Composite` for multi-field validators.

The single-failure shapes (`undefined`, `true`, `false`, `string`, `SchemaIssue.Issue`) are unchanged.

**Breaking**: the object shape renamed from `{ path, message }` to `{ path, issue }`. Call sites that used the old shape must rename the field; the migration is mechanical.

```ts
// before
Schema.makeFilter((o) => ({ path: ["a"], message: "bad" }))

// after
Schema.makeFilter((o) => ({ path: ["a"], issue: "bad" }))
```

Also renamed `{ path, message }` to `{ path, issue }` in the accepted return type of `SchemaGetter.checkEffect`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fair-forks-shake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix unstable CLI boolean flags so `Flag.optional(Flag.boolean(...))` returns `Option.none()` when omitted, and support canonical `--no-<flag>` negation for boolean flags.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fair-pandas-prove.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Changed socket close handling so all close codes are treated as errors by default unless `closeCodeIsError` is overridden.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fancy-glasses-grow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/platform-browser": patch
---

add IndexedDb modules
2 changes: 1 addition & 1 deletion .context/effect/.changeset/few-mirrors-pull.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Make CLI global settings directly yieldable and simplify built-in names.

`GlobalFlag.setting` now takes `{ flag, defaultValue }` and returns a setting that is a `ServiceMap.Reference`, so handlers and `Command.provide*` effects can `yield*` global setting values directly.
`GlobalFlag.setting` now takes `{ flag, defaultValue }` and returns a setting that is a `Context.Reference`, so handlers and `Command.provide*` effects can `yield*` global setting values directly.

Built-in settings keep internal behavior in `runWith` (for example, `--log-level` still configures `References.MinimumLogLevel`) while also being readable as values.

Expand Down
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fiery-jokes-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

fix Entity.keepAlive
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fiery-mammals-call.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

ensure tagged enum \_tag is correctly set
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fine-walls-decide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/platform-node-shared": patch
---

don't remove SIGINT listener until fiber exit
5 changes: 5 additions & 0 deletions .context/effect/.changeset/five-parents-relax.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/platform-browser": patch
---

allow customizing idb durability
5 changes: 5 additions & 0 deletions .context/effect/.changeset/five-worms-rhyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

fix eventlog skipping entries
11 changes: 11 additions & 0 deletions .context/effect/.changeset/fix-1917.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"effect": patch
---

Simplify and align the default-value APIs.

`Schema.withConstructorDefault` now accepts an `Effect<T>` instead of `(o: Option<undefined>) => Option<T> | Effect<Option<T>>`.

`Schema.withDecodingDefault` / `Schema.withDecodingDefaultKey` now accept an `Effect<T>` instead of `() => T`, enabling effectful defaults.

`SchemaGetter.withDefault` follows the same change, accepting `Effect<T>` instead of `() => T`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-1927.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Reuse existing references when duplicate identifiers have the same representation, closes #1927.
7 changes: 7 additions & 0 deletions .context/effect/.changeset/fix-1940.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"effect": patch
---

Fix `ErrorClass` and `TaggedErrorClass` `toString` to match native `Error` output format (e.g. `E: my message` instead of `E({"message":"my message"})`), closes #1940.

Also fix prototype properties (e.g. `name`) being lost after `.extend()`.
7 changes: 7 additions & 0 deletions .context/effect/.changeset/fix-1947.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"effect": patch
---

Add `Schema.resolveAnnotationsKey` API to retrieve the context (key-level) annotations from a schema, closes #1947.

Also rename `Schema.resolveInto` to `Schema.resolveAnnotations`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-2002.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `Stream.splitLines` to correctly handle standalone `\r` as a line terminator and flush the final unterminated line when the stream ends, closes #2002.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-2012.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Schema: add withDecodingDefaultTypeKey / withDecodingDefaultType, closes #2012
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-2015.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Schema: allow `Class` constructors to accept `void` when all fields are optional, closes #2015.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-ai-text-toolkit-typing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix AI text method toolkit typing to support generic handler toolkits, preserve toolkit union inference, and keep response part narrowing by tool name.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `HttpIncomingMessage.schemaBodyJson` to forward parse options via the `parseOptions` annotation key.
7 changes: 7 additions & 0 deletions .context/effect/.changeset/fix-is-json-dag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"effect": patch
---

Fix `SchemaAST.isJson` rejecting DAGs as cycles, closes #2021.

The previous implementation marked every visited object in a single `seen` set and never removed it, so any value that referenced the same object through two different paths (a DAG, e.g. `{ x: shared, y: shared }`) was treated as a cycle and returned `false`. Cycle detection now tracks only the current recursion path (popping on exit) and memoizes fully validated subtrees, so DAGs are accepted while true cycles are still rejected.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

SchemaRepresentation: support `anyOf`/`oneOf` with sibling keywords in `fromJsonSchemaMultiDocument`
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/openapi-generator": patch
---

Support `application/x-www-form-urlencoded` request bodies in `httpclient` output format. Previously, form-urlencoded request bodies were silently dropped, producing operations with no payload parameter. The generator now emits `HttpClientRequest.bodyUrlParams` for these endpoints, matching the existing pattern for `multipart/form-data` (`bodyFormData`) and `application/json` (`bodyJsonUnsafe`). The `httpapi` format was already handling this content type correctly.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

`Number.remainder`: fix incorrect results for small floats in scientific notation (e.g. `1e-7`).
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-rpc-json-id-edges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix JSON-RPC serialization for `id` values that are falsey but valid, including `0` and `""`, while still mapping `null` to Effect's internal notification sentinel.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fix-stream-grouped-within-flush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix `Stream.groupedWithin` dropping partial batches when the upstream ends or goes idle.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/flat-chicken-remain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Fix AI structured output schema generation for `Schema.Class` and `Schema.ErrorClass` by resolving top-level `$ref` entries before passing JSON Schema to providers and default codec transformers.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/fluffy-pumas-push.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

disable sql traces for EventLog, RunnerStorage
7 changes: 7 additions & 0 deletions .context/effect/.changeset/forty-rings-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@effect/ai-openai": patch
---

Refactor `OpenAiClient` to the handwritten minimal-schema path so `client` now exposes the configured `HttpClient`, `createResponse` / `createResponseStream` / `createEmbedding` use `OpenAiSchema` request-response types, and websocket mode no longer depends on generated-client internals.

Also migrate OpenAI language and embedding model request-response typing to `OpenAiSchema` and make embedding decoding explicitly reject non-vector (string/base64) payloads with `InvalidOutputError`.
5 changes: 5 additions & 0 deletions .context/effect/.changeset/forty-signs-stay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

add rpc ConnectionHooks
Loading
Loading