# Changelog ## 2025-10-20 - 4.0.1 - fix(tests) Fix tests and documentation: adjust test server routes and expectations, add timeout/fallback routes, and refresh README - Update tests to expect 500 on /apiroute1 instead of 429 - Remove an invalid fallback (apiroute4) from test fallback list and add explicit always-fails route for fallback testing - Add /slow route to support reliable timeout tests and change timeout test to target /slow with a short timeout - Adjust fallback test to target the newly added always-fails route and assert response.ok and response.status - Add additional assertions in tests to ensure correct response properties are present - Remove migration-v4.md (cleanup of legacy migration guide) and substantially refresh README with comprehensive v4 documentation and examples ## 2025-10-20 - 4.0.0 - feat: Web request client with caching, retries, interceptors Implemented a comprehensive web request system providing caching strategies, request/response interception, retries with backoff, deduplication and timeout handling. Designed for fetch-compatible integration and convenient HTTP helpers. - Added cache strategies: NetworkFirst, CacheFirst, StaleWhileRevalidate, NetworkOnly, CacheOnly. - Introduced InterceptorManager to manage request, response and error interceptors (global and per-request). - Developed RetryManager with customizable retry/backoff strategies. - Implemented RequestDeduplicator to prevent simultaneous identical requests. - Created timeout utilities for aborting/timing out requests. - Enhanced WebrequestClient to support global interceptors, caching, retry logic and convenience methods. - Added convenience methods for common HTTP verbs (GET, POST, PUT, DELETE) with JSON handling. - Exposed a fetch-compatible webrequest function for seamless integration. - Defined core types for caching, retry options, interceptors and web request configurations. ## 2024-05-29 - 3.0.0..3.0.37 - maintenance Series of patch and minor releases across the 3.0.x line focused on internal fixes, TypeScript configuration and packaging metadata updates. No major API additions; primarily stabilization and build/config tweaks. - Numerous "fix(core): update" patches addressing internal issues and small bugfixes across many 3.0.x releases. - Updated TypeScript configuration (tsconfig) to improve build/typing behavior. - Updated packaging metadata (npmextra.json) including githost adjustments. - Regular maintenance bumps (3.0.0 through 3.0.37) to keep the 3.x line stable. ## 2022-03-16 - 2.0.16 - BREAKING CHANGE(core): switch to ESM Breaking change: project switched module format to ESM. - Migrated package/module resolution to ESM (breaking change for consumers). - This release concludes the 2.0.x line with the module format change; follow-up 2.0.x releases prior to this were maintenance updates. ## 2022-03-16 - 2.0.0..2.0.15 - maintenance Patch/minor releases in the 2.0.x series focused on fixes and incremental improvements. - Multiple "fix(core): update" commits for internal bugfixes and stability. - No additional breaking API changes aside from the ESM migration in 2.0.16. ## 2019-06-04 - 1.0.8 - BREAKING CHANGE(core): prepare for binary file support Breaking change: preparation for future support of binary files. - Introduced change(s) to enable future binary file support (may affect downstream consumers). - This marks the tip of the 1.0.x line with a forward-looking compatibility change. ## 2019-02-15 - 1.0.6 - feat: support request body Added support for sending request bodies. - Now supports request bodies for applicable HTTP methods (improves POST/PUT usage). - Followed by several small fixes and minor bumps in the 1.0.x series. ## 2018-11-30..2019-06-04 - 1.0.1..1.0.5, 1.0.7 - maintenance Minor fixes and releases in the 1.0.x series. - Multiple small "fix(core): update" commits across 1.0.1–1.0.7. - General stabilization and incremental improvements prior to the 1.0.8 breaking change.