@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 5.27.0] ( https://github.com/SocketDev/socket-lib/releases/tag/v5.27.0 ) - 2026-05-04
9+
10+ ### Added
11+
12+ - ** 45 new ` primordials ` exports** rounding out the surface to 296 total:
13+ - ` BigIntCtor `
14+ - Math: 24 methods (Acos, Atan2, Hypot, Pow, etc.) + 8 constants (E, PI, SQRT2, etc.); ` MathF16round ` typed ` | undefined ` for ES2025
15+ - Number constants: ` EPSILON ` , ` MAX_SAFE_INTEGER ` , ` MAX_VALUE ` , ` MIN_SAFE_INTEGER ` , ` MIN_VALUE ` , ` NEGATIVE_INFINITY ` , ` POSITIVE_INFINITY `
16+ - Symbol: 10 well-knowns (` HasInstance ` , ` KeyFor ` , ` Match ` , ` Species ` , etc.); ` SymbolAsyncDispose ` / ` SymbolDispose ` typed ` | undefined ` for ES2024; prototype helpers (` Description ` , ` ToString ` , ` ValueOf ` )
17+ - Function: ` FunctionPrototypeToString `
18+ - Array (ES2023 Change Array By Copy): ` ArrayPrototypeToSpliced ` , ` ArrayPrototypeWith `
19+ - Globals: ` InfinityValue ` , ` NaNValue ` , ` globalThisRef `
20+ - Object (annex B): ` ObjectPrototype{Define,Lookup}{Getter,Setter} `
21+ - Error (V8 stack-trace API, ` | undefined ` ): ` ErrorCaptureStackTrace ` , ` ErrorPrepareStackTrace ` , ` ErrorStackTraceLimit ` (function-shaped, reads live value)
22+
23+ - ** ` smol/* ` (new exports)** — feature-detect + lazy-loaders for socket-btm's smol Node binary:
24+ - ` smol/detect ` — ` isSmol() ` : memoized boolean, mirrors ` isSeaBinary() `
25+ - ` smol/util ` — ` getSmolUtil() ` : native ` uncurryThis ` / ` applyBind ` (~ 2x faster), or ` undefined `
26+ - ` smol/primordial ` — ` getSmolPrimordial() ` : V8 Fast API typed ` Math.* ` / ` Number.is* ` (~ 30-50% faster on hot loops), or ` undefined `
27+ - ` primordials ` transparently routes through these on smol; ** zero call-site changes** , identical behavior on stock Node, smol, browsers, Deno, Bun
28+
29+ - ** ` node/* ` (new exports)** — per-builtin lazy-loaders for ` node:* ` modules. Each is ` /*@__NO_SIDE_EFFECTS__*/ ` -marked so bundlers tree-shake the ` require() ` when unused:
30+ - ` node/fs ` (` getNodeFs ` ), ` node/path ` (` getNodePath ` ), ` node/crypto ` (` getNodeCrypto ` ), ` node/http ` (` getNodeHttp ` ), ` node/https ` (` getNodeHttps ` ), ` node/os ` (` getNodeOs ` ), ` node/util ` (` getNodeUtil ` ), ` node/url ` (` getNodeUrl ` ), ` node/events ` (` getNodeEvents ` )
31+ - ` node/child-process ` (` getNodeChildProcess ` ), ` node/async-hooks ` (` getNodeAsyncHooks ` ), ` node/fs-promises ` (` getNodeFsPromises ` ), ` node/timers-promises ` (` getNodeTimersPromises ` )
32+ - Replaces ~ 30 ad-hoc copies of the same lazy-loader boilerplate previously scattered across ` http-request.ts ` , ` spawn.ts ` , ` fs.ts ` , ` crypto.ts ` , etc.
33+
834## [ 5.26.1] ( https://github.com/SocketDev/socket-lib/releases/tag/v5.26.1 ) - 2026-05-01
935
1036### Added
0 commit comments