Effect
4.0.0-beta.71
Patch Changes
-
#2252
d8ac76bThanks @tim-smart! - AddedSchedule.tap, which allows observing full schedule metadata without altering schedule inputs or outputs. -
#2261
2c3c00aThanks @gcanti! - Add JSON Schema custom annotation passthrough option, closes #2260 -
#2269
3751e7cThanks @gcanti! - Schema: reintroduce.valueonSchema.ArrayandSchema.NonEmptyArrayfor consistency with other collection wrappers (Chunk,HashSet, etc.), closes #2268. -
#2272
fc5f25bThanks @gcanti! - Clarify thatData.$is(tag)only checks the_tagfield, not the full structure, closes #2271. -
#2257
7ccced4Thanks @bwbuchanan! - Fixed thecatch*combinators silently dropping unhandled error types -
#2263
a2e1fe5Thanks @patroza! - UseWeakMapforpendingBatchesinstead ofMap, to allow GC to collect resolvers -
#2266
4a4a36bThanks @gcanti! - Fix schema arbitrary constraints for exclusive BigInt, Date, and integer number bounds. -
#2249
d350292Thanks @tim-smart! - allow encoding Redacted by default, and add option to disallow encoding -
#2276
730afb6Thanks @tim-smart! - Fix AtomRef notifications when a listener re-subscribes itself during notification. -
#2250
df1b008Thanks @tim-smart! - FixArgument.variadic(argument)so it supports direct calls without options. -
#2277
6d469d5Thanks @tim-smart! - Fix string messages and annotations being double-quoted by simple and logfmt loggers.
4.0.0-beta.70
Patch Changes
-
#2228
af7782dThanks @avallete! - AddCommand.withHiddento hide subcommands from--helpoutput, shell completions, and “did you mean?” suggestions, while keeping them fully invocable by exact name.Useful for experimental or internal subcommands that should be accepted but not advertised on the public CLI surface.
import { Command } from "effect/unstable/cli";const experimental = Command.make("experimental").pipe(Command.withHidden);const root = Command.make("mycli").pipe(Command.withSubcommands([experimental]),); -
#2244
7212d70Thanks @tim-smart! - Fix TestClock adjustment when its layer is provided to programs run without an ambient Scope.
4.0.0-beta.69
Patch Changes
-
#2227
70ea04aThanks @avallete! - AddFlag.withHidden(andParam.withHidden) to hide flags from--helpoutput and shell completions while keeping them fully parseable on the command line.Useful for experimental, internal, or deprecated flags that should be accepted but not advertised, e.g.
--experimental-foo, debug toggles, or escape hatches that are not yet committed to the public CLI surface.import { Flag } from "effect/unstable/cli";const experimental = Flag.boolean("experimental-foo").pipe(Flag.withHidden); -
#2240
d0ea8b0Thanks @tim-smart! - pass workflow parent on discard -
#2237
a57674bThanks @notkadez! - FixStream.scopedandChannel.scopedso pull effects run with the scoped resource scope. -
#2239
59aa334Thanks @tim-smart! - fix RpcWorker Protocol service key -
#2242
8f4208eThanks @tim-smart! - Accept.mjsand.mtsmigration files in SQL migrator loaders.
4.0.0-beta.68
Patch Changes
-
#2210
af8267fThanks @tim-smart! - Add Stream.broadcastN for fixed-size stream broadcasts. -
#2180
0176eafThanks @IMax153! - Add a platform-agnosticCryptoservice for cryptographic random bytes, secure random generators, UUIDv4 / UUIDv7 generation, and digest operations. UUID generation should now use theCryptoservice’srandomUUIDv4orrandomUUIDv7, which format bytes from the platformCryptoservice; UUIDv7 also uses theClockservice timestamp.Random.nextUUIDv4has been removed because the baseRandomservice is not cryptographically secure. -
#2221
f136bb7Thanks @gcanti! - ChangeSchema.assertsandSchemaParser.assertsto assert a value directly withasserts(schema, input)and removeSchema.Codec.ToAsserts. -
#2209
6f38f07Thanks @tim-smart! - Fix Channel.decodeText corrupting UTF-8 characters split across chunk boundaries. -
#2207
aec9c40Thanks @tim-smart! - rename Model.Generated to Model.GeneratedByDb
4.0.0-beta.67
Patch Changes
-
#2111
35594f8Thanks @thiagofelix! - FixEntityProxyServer.layerHttpApiusingpath.entityIdinstead ofparams.entityId -
#2201
8bddd62Thanks @sjh9714! - FixMutableList.filterandMutableList.removelength updates. -
#2181
4be4c8dThanks @zeyuri! - Fix workflow proxy RPC handlers to provide the context expected by RpcServer. -
#2177
0c9d3abThanks @mikearnaldi! - Add forked memo maps so nested layer scopes can reuse parent allocations without leaking sibling-local layers. Update@effect/vitestto fork memo maps for nestedit.layersuites, isolating sibling setup while preserving parent sharing. -
#2206
b156accThanks @tim-smart! - addavailableShardGroupsto ShardingConfig, to ensure advisory locks do not conflict -
#2184
d16c034Thanks @gcanti! - Restore support for passing schema parse options when creating decode and encode helpers, closes #2174. -
#2176
b559d68Thanks @patroza! - Allow Schema decoding defaults to require Effect services.The
Effectpassed toSchema.withDecodingDefault,Schema.withDecodingDefaultKey,Schema.withDecodingDefaultType, andSchema.withDecodingDefaultTypeKeynow accepts a contextRin its third type parameter. The required services are propagated into the resulting schema’sDecodingServices.SchemaGetter.withDefaultis widened in the same way. -
#2113
a3de5d9Thanks @patroza! - Allow Schema constructor and decoding defaults to fail withSchemaError.The
Effectpassed toSchema.withConstructorDefault,Schema.withDecodingDefault,Schema.withDecodingDefaultKey,Schema.withDecodingDefaultType, andSchema.withDecodingDefaultTypeKeynow acceptsSchemaErrorin its error channel. When a default fails, the parser unwraps the underlyingSchemaIssue.Issueand propagates it as a parse failure with the surrounding path attached. This makes it easy to use another schema’smakeEffect/decode*as the default value. -
#2172
7e6c12eThanks @gcanti! - RenameSchemaParser.makeUnsafetoSchemaParser.make.
4.0.0-beta.66
Patch Changes
-
#2161
cd7d1fbThanks @wking-io! - Fix request ID tracking in the RPC server HTTP protocol finalizer. -
#2158
19a7033Thanks @ColaFanta! - ChangeType_<>implementation, from usingExclude<F, O | M>type util tokeyof F as xx, this implementation keeps IDE provenance link. This enables clicking “Go to definition (F12)” in VSCode on an object made from Schema Struct jumps to the correct Struct field definition. -
#2153
33d26b4Thanks @Gabrola! - AllowHttpApiTest.groupsto accept an optionalbaseUrloverride while preserving the existing default of"http://localhost:3000". -
#2160
856766bThanks @tim-smart! - Remove the auto-incrementing suffix from HTTP server logger log span names. -
#2164
079c7dfThanks @tim-smart! - Add the unstable workflow DurableQueue module.
4.0.0-beta.65
Patch Changes
-
#2148
6f11454Thanks @tim-smart! - AddUniqueViolationas a new SQL error reason. Supported unique constraint violations now classify asUniqueViolationinstead of the broaderConstraintErrorreason.This covers PostgreSQL, PGlite, MySQL, MSSQL, and the shared SQLite classification used by the SQLite-family clients.
UniqueViolation.constraintcontains the best available constraint, index, or key identifier and falls back to exactly"unknown"when no reliable identifier is available.
4.0.0-beta.64
Patch Changes
- #2137
7d4877aThanks @tim-smart! - Add optional soft delete column support to SqlModel repositories and resolvers.