Patch Changes
-
#7156
596f3f9Thanks @tim-smart! - Terminate active multipart file streams when a parser limit is exceeded or the body ends unexpectedly, so file parts fail instead of hanging. -
#7153
9611ed4Thanks @rajanpanth! - FixDuration'sHash.symbolimplementation to hash a canonical nanoseconds form instead of the raw internalMillis/Nanosrepresentation. Two durations thatDuration.equals/Equal.equalsconsider equal (e.g.Duration.seconds(5)andDuration.nanos(5_000_000_000n)) previously hashed differently, violating the Hash/Equal contract and silently breakingHashSet/HashMaplookups keyed byDuration. -
#7166
8b91605Thanks @CDVolvik! - Import migrations through a file URL inMigrator.fromFileSystem, so absolute Windows paths are accepted by the ESM loader.Previously the directory and file name were passed to
importas a plain path. On Windows that produced a specifier such asD:\migrations\1_init.ts, which the ESM loader rejects withOnly URLs with a scheme in: file, data, and node are supported.fromFileSystemnow resolves the specifier through thePathservice, so its type widens fromLoader<FileSystem>toLoader<FileSystem | Path>. Callers that already provide an aggregate platform layer such asNodeServices.layerare unaffected; callers that provideFileSystemon its own now also need aPathlayer, and on Windows it must be a platform-aware one rather than the POSIXPath.layer. -
#7157
d901928Thanks @tim-smart! - AddChannel.mkUint8Arrayand reuse it fromStreamand multipart file collection. This also fixes quadratic buffering inFile.contentEffect, improving collection of a 16 MiB chunked upload by approximately 90x. -
#7149
b32bdefThanks @gcanti! - Require explicit handling for regular expression pattern constraints translated from JSON Schema documents, with modes to apply trusted patterns or ignore their constraints.