Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# v0.13.0 Feb 26th, 2026

## Changelog

### Features

- Added comprehensive encoding and decoding functions for multiple formats:
- **Base64 Encoding/Decoding**: `encodeAsBase64()` and `decodeBase64()` with native fallbacks and ES5 polyfill support
- **URL-Safe Base64**: `encodeAsBase64Url()` and `decodeBase64Url()` for safe Base64 encoding in URLs (replaces `+` with `-`, `/` with `_`, removes padding)
- **Hexadecimal Encoding/Decoding**: `encodeAsHex()` and `decodeHex()` for hex string conversion
- **URI Encoding/Decoding**: `encodeAsUri()` and `decodeUri()` for URL component encoding
- All encoding functions include internal polyfills (`_encodeBase64Polyfill`, `_decodeBase64Polyfill`) for ES5 environment compatibility
- Consistent handling of null/undefined values across all encoding functions

- Enhanced `createCustomError()` with `superArgsFn` parameter:
- New optional `superArgsFn` parameter allows custom transformation of constructor arguments before passing to base class
- Enables support for different argument orders and subsetting arguments passed to the base class constructor
- Useful for creating custom error subclasses with different constructor signatures than their base classes
- Example: HTTP error with `(statusCode, message)` signature can map to base `Error(message)` constructor

### Performance Improvements

- Improved performance of worker test execution
- Optimized test runner for faster execution in web worker environments

# v0.12.6 Feb 2nd, 2026

## Changelog
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ npm install @nevware21/ts-utils --save

**Recommended Version Specification:**
```json
"@nevware21/ts-utils": ">= 0.12.6 < 2.x"
"@nevware21/ts-utils": ">= 0.13.0 < 2.x"
```

> Note: v0.x and v1.x maintain ES5 compatibility. Future v2.x releases will update the baseline to newer ECMAScript versions.
Expand Down
2 changes: 1 addition & 1 deletion lib/package.json
Original file line number Diff line number Diff line change
@@ -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.12.6",
"version": "0.13.0",
"homepage": "https://github.com/nevware21/ts-utils",
"license": "MIT",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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.12.6",
"version": "0.13.0",
"homepage": "https://github.com/nevware21/ts-utils",
"license": "MIT",
"author": {
Expand Down