# Changelog ## 1.0.4 - 2026-09-28 - Pin verified Stackline maintenance forks under the existing dependency import names; see `DEPENDENCY_UPDATES.md`. - Preserve the package API, supported runtimes, upstream comparison tests, and original licenses. ## [1.0.3] - 2026-09-28 - Organize package documentation, preserve API and migration examples, and add Stackline community links. - Improve package discovery keywords with precise domain terms and `stackline`. - Pin GitHub Actions release tooling and require an explicit missing-version response before publication. All notable changes to this project will be documented in this file. ## [1.0.2] - 2026-08-30 ### Fixed - Restored the complete `loader-utils@2.0.4` contract, including export order and the original `isUrlRequest`, `urlToRequest`, hashing, interpolation and option-parsing semantics required by real Webpack 4 loaders. - Replaced the mixed `2.0.4`/`3.3.1` behavior from the Verdaccio-only `1.0.1` preflight after downstream `resolve-url-loader` tests exposed an incompatible non-file URL classification. - Preserved `2.0.4` custom-base hash output without `big.js` through a native encoder verified across algorithms, bases and truncation lengths. ### Security - Ported the linear-time URL and hash hardening from the later upstream line without changing the `2.0.4` public outputs. - Recursively ignores `__proto__`, `prototype` and `constructor` in parsed and object-form loader options. - Pins the complete production closure to maintained leaf packages `emojis-list@3.0.0` and `json5@2.2.3`, with exact license checks and zero known npm audit findings. ### Compatibility - Added exhaustive differential tests against an independently installed `loader-utils@2.0.4` and downstream Webpack 4/5 release gates. - Retains CommonJS, dynamic ESM import, published deep imports, Node.js 12.13+ and TypeScript 3.9 declarations. ## [1.0.1] - 2026-08-30 ### Added - Restored the `loader-utils@2.0.4` helper APIs required by Webpack 4 loader paths while preserving the `3.3.1` current API behavior. - Added differential coverage against both upstream baselines. - Added recursive unsafe-key filtering for `__proto__`, `prototype` and `constructor` in query parsing. - Pinned `json5@2.2.3`, documented current maintenance evidence, shipped its complete MIT license and verified the exact one-package production closure. ### Changed - Raised the Stackline package version after the Verdaccio-only `1.0.0` preflight artifact exposed the missing Webpack 4 compatibility path. ## [1.0.0] - 2026-08-30 ### Added - First Stackline release based on `loader-utils@3.3.1`. - Warning-free direct and legacy-name installation gates with recursive dependency and npm advisory verification. - TypeScript declarations tested with TypeScript 3.9 and current TypeScript. - Differential compatibility, security, ESM and package-boundary tests. - Public maintenance, migration, compatibility, provenance and security documentation. ### Preserved - The complete upstream CommonJS API, behavior, deep imports, Node.js 12.13 floor, source history and MIT attribution. ### [3.3.1](https://github.com/webpack/loader-utils/compare/v3.3.0...v3.3.1) (2024-06-05) ### Bug Fixes * base64safe regex ([3b2d3b1](https://github.com/webpack/loader-utils/commit/3b2d3b1379b644aeefbbe859c0baeadd0b732710)) ## [3.3.0](https://github.com/webpack/loader-utils/compare/v3.2.2...v3.3.0) (2024-06-04) ### Features * add digestType 'base64safe' ([#259](https://github.com/webpack/loader-utils/issues/259)) ([af15793](https://github.com/webpack/loader-utils/commit/af157934abb1ee172cffd015acbabb065f0e1dbf)) ### [3.2.2](https://github.com/webpack/loader-utils/compare/v3.2.1...v3.2.2) (2024-05-29) ### Bug Fixes * unreachable code for directories ([128f945](https://github.com/webpack/loader-utils/commit/128f945e8f66d0ad7d69cdf568a8aa8bce40633a)) ### [3.2.1](https://github.com/webpack/loader-utils/compare/v3.2.0...v3.2.1) (2022-11-11) ### Bug Fixes * ReDoS problem ([#224](https://github.com/webpack/loader-utils/issues/224)) ([d2d752d](https://github.com/webpack/loader-utils/commit/d2d752d59629daee38f34b24307221349c490eb1)) ## [3.2.0](https://github.com/webpack/loader-utils/compare/v3.1.3...v3.2.0) (2021-11-11) ### Features * hash uniformity for base digests ([451858b](https://github.com/webpack/loader-utils/commit/451858b0bb33911d52d2f03a6470fd2b86493b84)) ### [3.1.3](https://github.com/webpack/loader-utils/compare/v3.1.2...v3.1.3) (2021-11-04) ### Bug Fixes * crash with md4 hash ([#198](https://github.com/webpack/loader-utils/issues/198)) ([ef084d4](https://github.com/webpack/loader-utils/commit/ef084d43ba29ebf3c3c0ea0939a5c58adad0bba2)) ### [3.1.2](https://github.com/webpack/loader-utils/compare/v3.1.1...v3.1.2) (2021-11-04) ### Bug Fixes * bug with unicode characters ([#196](https://github.com/webpack/loader-utils/issues/196)) ([0426405](https://github.com/webpack/loader-utils/commit/04264056f951514955af7302510631f942276eec)) ### [3.1.1](https://github.com/webpack/loader-utils/compare/v3.1.0...v3.1.1) (2021-11-04) ### Bug Fixes * base64 and unicode characters ([02b1f3f](https://github.com/webpack/loader-utils/commit/02b1f3fe6d718870b5ee7abc64519a1b2b5b8531)) ## [3.1.0](https://github.com/webpack/loader-utils/compare/v3.0.0...v3.1.0) (2021-10-29) ### Features * added `md4` (wasm version) and `md4-native` (`crypto` module version) algorithms ([cbf9d1d](https://github.com/webpack/loader-utils/commit/cbf9d1dac866be50971d294c3baacda45527fb8e)) ## [3.0.0](https://github.com/webpack/loader-utils/compare/v2.0.0...v3.0.0) (2021-10-20) ### ⚠ BREAKING CHANGES * minimum supported Node.js version is `12.13.0` ([93a87ce](https://github.com/webpack/loader-utils/commit/93a87cefd41cc69de0bc1f9099f7d753ed8cd557)) * use `xxhash64` by default for `[hash]`/`[contenthash]` and `getHashDigest` API * `[emoji]` was removed without replacements, please use custom function if you need this * removed `getOptions` in favor `loaderContext.getOptions` (`loaderContext` is `this` inside loader function), note - special query parameters like `?something=true` is not supported anymore, if you need this please do it on `loader` side, but we strongly recommend avoid it, as alternative you can use `?something=1` and handle `1` as `true` * removed `getRemainingRequest` in favor `loaderContext.remainingRequest` (`loaderContext` is `this` inside loader function) * removed `getCurrentRequest` in favor `loaderContext.currentRequest` (`loaderContext` is `this` inside loader function) * removed `parseString` in favor `JSON.parse` * removed `parseQuery` in favor `new URLSearchParams(loaderContext.resourceQuery.slice(1))` where `loaderContext` is `this` in loader function * removed `stringifyRequest` in favor `JSON.stringify(loaderContext.utils.contextify(loaderContext.context || loaderContext.rootContext, request))` (`loaderContext` is `this` inside loader function), also it will be cachable and faster * `isUrlRequest` ignores only absolute URLs and `#hash` requests, `data URI` and root relative request are handled as requestable due webpack v5 support them ### Bug Fixes * allowed the `interpolateName` API works without options ([862ea7d](https://github.com/webpack/loader-utils/commit/862ea7d1d0226558f2750bec36da02492d1e516d)) ## [2.0.0](https://github.com/webpack/loader-utils/compare/v1.4.0...v2.0.0) (2020-03-17) ### ⚠ BREAKING CHANGES * minimum required `Node.js` version is `8.9.0` ([#166](https://github.com/webpack/loader-utils/issues/166)) ([c937e8c](https://github.com/webpack/loader-utils/commit/c937e8c77231b42018be616b784a6b45eac86f8a)) * the `getOptions` method returns empty object on empty query ([#167](https://github.com/webpack/loader-utils/issues/167)) ([b595cfb](https://github.com/webpack/loader-utils/commit/b595cfba022d3f04f3d310dd570b0253e461605b)) * Use `md4` by default # [1.4.0](https://github.com/webpack/loader-utils/compare/v1.3.0...v1.4.0) (2020-02-19) ### Features * the `resourceQuery` is passed to the `interpolateName` method ([#163](https://github.com/webpack/loader-utils/issues/163)) ([cd0e428](https://github.com/webpack/loader-utils/commit/cd0e428)) # [1.3.0](https://github.com/webpack/loader-utils/compare/v1.2.3...v1.3.0) (2020-02-19) ### Features * support the `[query]` template for the `interpolatedName` method ([#162](https://github.com/webpack/loader-utils/issues/162)) ([469eeba](https://github.com/webpack/loader-utils/commit/469eeba)) ## [1.2.3](https://github.com/webpack/loader-utils/compare/v1.2.2...v1.2.3) (2018-12-27) ### Bug Fixes * **interpolateName:** don't interpolated `hashType` without `hash` or `contenthash` ([#140](https://github.com/webpack/loader-utils/issues/140)) ([3528fd9](https://github.com/webpack/loader-utils/commit/3528fd9)) ## [1.2.2](https://github.com/webpack/loader-utils/compare/v1.2.1...v1.2.2) (2018-12-27) ### Bug Fixes * fixed a hash type extracting in interpolateName ([#137](https://github.com/webpack/loader-utils/issues/137)) ([f8a71f4](https://github.com/webpack/loader-utils/commit/f8a71f4)) ## [1.2.1](https://github.com/webpack/loader-utils/compare/v1.2.0...v1.2.1) (2018-12-25) ### Bug Fixes * **isUrlRequest:** better handle absolute urls and non standards ([#134](https://github.com/webpack/loader-utils/issues/134)) ([aca43da](https://github.com/webpack/loader-utils/commit/aca43da)) ### Reverts * PR [#79](https://github.com/webpack/loader-utils/issues/79) ([#135](https://github.com/webpack/loader-utils/issues/135)) ([73d350a](https://github.com/webpack/loader-utils/commit/73d350a)) # [1.2.0](https://github.com/webpack/loader-utils/compare/v1.1.0...v1.2.0) (2018-12-24) ### Features * **interpolateName:** support `[contenthash]` ### Fixes * **urlToRequest:** empty urls are not rewritten to relative requests * **urlToRequest:** don't rewrite absolute urls * **isUrlRequest:** ignore all url with `extension` (like `moz-extension:`, `ms-browser-extension:` and etc) * **isUrlRequest:** ignore `about:blank` * **interpolateName:** failing explicitly when ran out of emoji * **interpolateName:** `[hash]` token regex in interpolate string to capture any hash algorithm name * **interpolateName:** parse string for emoji count before use # [1.1.0](https://github.com/webpack/loader-utils/compare/v1.0.4...v1.1.0) (2017-03-16) ### Features * **automatic-release:** Generation of automatic release ([7484d13](https://github.com/webpack/loader-utils/commit/7484d13)) * **parseQuery:** export parseQuery ([ddf64e4](https://github.com/webpack/loader-utils/commit/ddf64e4))