From 813da525e7e5e591e450f23ba814eae21e2b9b60 Mon Sep 17 00:00:00 2001 From: Nev Date: Sat, 18 Jul 2026 15:33:08 -0700 Subject: [PATCH] [Release] Increase version to 0.16.0 --- CHANGELOG.md | 24 +++++++++++++++++++++++- README.md | 2 +- lib/package.json | 2 +- package.json | 2 +- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bb6b7a0..55489000 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,35 @@ ### Features -- feat(errors): expose `isOwnInstance` to `createCustomError`'s `constructCb` and skip redundant stack captures +### Bug Fixes + +# v0.16.0 July 18th, 2026 + +## Changelog + +### Features + +- [#587](https://github.com/nevware21/ts-utils/pull/587) feat(errors): expose `isOwnInstance` to `createCustomError`'s `constructCb` and skip redundant stack captures - `constructCb` now receives a 3rd argument, `isOwnInstance`, which is `true` when the class is the leaf-most type actually being instantiated and `false` when its constructor is only running as a base-class step for a subclass further down an inheritance chain - The internal `Error.captureStackTrace` call is now gated by the same check, so it only fires once per instance (at the leaf-most class) instead of redundantly at every level of a chain - Lets custom error hierarchies with their own per-level stack-capture logic skip that work except at the leaf +- [#589](https://github.com/nevware21/ts-utils/pull/589) feat(errors): bind `constructCb`'s `this` to the new instance via `fnCall` + - `constructCb` is now invoked with `this` bound to the constructed instance (the same value also passed as the `self` argument), so non-arrow callbacks can use `this.prop = ...` instead of requiring the `self` argument + - `constructCb`'s type signature now declares an explicit `this: any` parameter; existing callbacks (arrow functions, or plain functions that don't declare `this`) remain unaffected ### Bug Fixes +- [#588](https://github.com/nevware21/ts-utils/pull/588) `npm run package` failed with `ERR_REQUIRE_ESM` after `magic-string` moved to an ESM-only release (v1.0.0) + - `lib/rollup.config.js`'s PURE-annotation normalization plugin now loads `magic-string` via a dynamic `import()` inside `renderChunk` instead of a static import, since `--bundleConfigAsCjs` rewrites static imports to `require()`, which throws on Node versions without `require(esm)` support (eg. Node 18) + - Added `skipLibCheck` to the main build and test `tsconfig`s (`lib/tsconfig.base.json` and `lib/test/tsconfig.*.json`) to stop external `@types/node` type errors (`IteratorObject`, `BuiltinIteratorReturn`, etc., introduced by the `@types/node` v26 bump) from leaking into the build and test compiles +- [#585](https://github.com/nevware21/ts-utils/pull/585) Add `skipLibCheck` to the TypeDoc compiler options to fix the same `@types/node` v26 type errors when generating docs + +### Repository Improvements + +- [#582](https://github.com/nevware21/ts-utils/pull/582) CI: switch Puppeteer loading to ESM `import()` in Karma configs (Puppeteer is ESM-only), pin Size tests to run only on Node 22, and make Codecov upload non-blocking + +[Full Changelog](https://github.com/nevware21/ts-utils/compare/v0.15.0...v0.16.0) + # v0.15.0 May 29th, 2026 ## Changelog diff --git a/README.md b/README.md index 34a77dad..9fa567b3 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ npm install @nevware21/ts-utils --save **Recommended Version Specification:** ```json -"@nevware21/ts-utils": ">= 0.15.0 < 2.x" +"@nevware21/ts-utils": ">= 0.16.0 < 2.x" ``` > Note: v0.x and v1.x maintain ES5 compatibility. Future v2.x releases will update the baseline to newer ECMAScript versions. diff --git a/lib/package.json b/lib/package.json index d6fd2a6f..b6f57410 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,7 +1,7 @@ { "name": "@nevware21/ts-utils", "description": "Comprehensive TypeScript/JavaScript utility library with cross-environment support (Node.js, browser, web worker) providing helper functions, polyfills (ES5-ES2023), type checking utilities, and optimized implementations for better minification and code readability", - "version": "0.15.0", + "version": "0.16.0", "homepage": "https://github.com/nevware21/ts-utils", "license": "MIT", "author": { diff --git a/package.json b/package.json index 4e2fea7a..e49f10bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@nevware21/ts-utils", "description": "Comprehensive TypeScript/JavaScript utility library with cross-environment support (Node.js, browser, web worker) providing helper functions, polyfills (ES5-ES2023), type checking utilities, and optimized implementations for better minification and code readability", - "version": "0.15.0", + "version": "0.16.0", "homepage": "https://github.com/nevware21/ts-utils", "license": "MIT", "author": {