github Effect-TS/effect-smol effect@4.0.0-beta.32

Patch Changes

  • #1717 bf8fff8 Thanks @gcanti! - Schema: add OptionFromOptionalNullOr schema, closes #1707.

  • #1722 1af3ef3 Thanks @tim-smart! - Fix RpcSerialization.json decode so JSON array payloads are not wrapped in an extra outer array.

  • #1725 27fea0f Thanks @tim-smart! - 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: " 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
      • missing middleware service diagnostics
      • missing addHttpApi group layer diagnostics
  • #1727 2ad6c1b Thanks @tim-smart! - Make all built-in HttpApiError classes implement HttpServerRespondable, so they can be returned directly from plain HTTP server handlers outside of HttpApi.

  • #1739 398ac3e Thanks @tim-smart! - Use predicate-based dual dispatch for Stream.merge so data-last calls with optional options are handled correctly.

  • #1741 51fe22f Thanks @tim-smart! - Add Layer.tap, Layer.tapError, and Layer.tapCause APIs for effectful observation of layer success and failure without changing layer outputs.

  • #1740 4605db6 Thanks @tim-smart! - Refactor call sites with multiple ServiceMap mutations to use ServiceMap.mutate for batched updates.

  • #1750 f4de1b0 Thanks @gcanti! - Improve unstable AI structured output handling for empty tool params and add Tool.EmptyParams, closes #1749.

  • #1525 60214f2 Thanks @tim-smart! - use Option instead of undefined | A

  • #1747 c4b8b0f Thanks @tim-smart! - seperate scheduler dispatch from yield decisions

  • #1729 6d9393a Thanks @tim-smart! - add ServiceMap.mutate

  • #1753 6de4efe Thanks @tim-smart! - Add dtslint coverage for Stream.catchIf to lock in predicate and refinement inference behavior in both data-first and data-last forms.

  • #1716 4f969d1 Thanks @gcanti! - Remove unused effect/NullOr module.

  • #1721 6cc67c8 Thanks @IMax153! - Correct the type of the schema parameter accepted by the fileSchema methods in the CLI to be Schema.Decoder<A>

  • #1709 8531a22 Thanks @mikearnaldi! - Add module-level helpers for Semaphore, Latch, and extracted PartitionedSemaphore operations.

  • #1752 b226760 Thanks @tim-smart! - simplify SubscriptionRef

  • #1743 47a51ab Thanks @tim-smart! - default ws close codes to 1001 in case they are undefined

  • #1728 1521d02 Thanks @tim-smart! - add graceful shutdown to http servers

Don't miss a new effect-smol release

NewReleases is sending notifications on new releases.