Skip to content

Commit 88dce30

Browse files
ABCrimsonclaude
andcommitted
release: v0.10.1
- Fix VitePress docs deployment (dead links, GitHub URLs, copyright) - Update all GitHub Actions to latest versions (checkout v6, setup-node v6, cache v5, upload-artifact v7, download-artifact v8, upload-pages-artifact v4, action-gh-release v2.5.0) - Add detailed CHANGELOG following Keep a Changelog format See CHANGELOG.md for full details. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5004868 commit 88dce30

2 files changed

Lines changed: 68 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,72 @@
11
# Changelog
22

3-
## 0.1.0 (2026-02-25)
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.10.1] - 2026-02-27
9+
10+
### Fixed
11+
- **VitePress docs deployment**: Added `ignoreDeadLinks` for `/api/` paths to fix dead link errors caused by TypeDoc-generated pages and `cleanUrls` mode
12+
- **VitePress config**: Updated GitHub repository URLs from placeholder to `ABCrimson/modern-pdf-lib`
13+
- **VitePress config**: Corrected copyright year to 2026
14+
15+
### Changed
16+
- **GitHub Actions**: Updated all action versions to latest releases:
17+
- `actions/checkout` v4 → v6 (Node.js 24 runtime, improved credential persistence)
18+
- `actions/setup-node` v4 → v6 (Node.js 24 runtime, npm-only auto-caching)
19+
- `actions/cache` v4 → v5 (Node.js 24 runtime)
20+
- `actions/upload-artifact` v4 → v7 (direct upload support, ESM migration)
21+
- `actions/download-artifact` v4 → v8 (enforced hash verification, ESM migration)
22+
- `actions/upload-pages-artifact` v3 → v4 (runtime alignment)
23+
- `softprops/action-gh-release` v2 → v2.5.0 (bug fixes)
24+
25+
## [0.10.0] - 2026-02-27
26+
27+
### Changed
28+
- **Node.js requirement**: Bumped minimum from 22 to 25.7 to support native `Uint8Array.toHex()`, `fromHex()`, `toBase64()`, and `fromBase64()` APIs used throughout the codebase
29+
30+
### Fixed
31+
- **CI peer dependency conflict**: Added `--legacy-peer-deps` to `npm ci` in all workflow jobs — resolves `tsdown@0.21.0-beta.2` requiring `typescript@^5.0.0` while we use TypeScript 6.0
32+
- **WASM build**: Made WASM compilation non-blocking (`continue-on-error: true`) in the release workflow since WASM modules are optional with pure-JS fallbacks
33+
34+
### Infrastructure
35+
- **npm trusted publishing**: Switched from `NPM_TOKEN` secret to OIDC-based trusted publishing — no secrets to manage, GitHub Actions authenticates directly with npm via OpenID Connect
36+
- **npm provenance**: Added explicit `id-token: write` permission on the publish job for cryptographic provenance attestation
37+
- **Bundle path fix**: Corrected `ci.yml` bundle-size check to reference `dist/index.mjs` instead of the non-existent `dist/index.js`
38+
39+
## [0.9.0] - 2026-02-27
40+
41+
First public release on npm as `modern-pdf-lib`.
42+
43+
### Changed
44+
- **Renamed** from `modern-pdf` to `modern-pdf-lib` (v0.9.0)
45+
- **Package exports**: Fixed conditional exports to use correct `.mjs`/`.d.mts`/`.d.cts` extensions matching tsdown output
46+
- **Package size**: Reduced from 1.3 MB to 589 KB by excluding source map files from the published tarball
47+
- **ESNext modernization**: Replaced manual implementations with native APIs:
48+
- `Uint8Array.toHex()` / `Uint8Array.fromHex()` for hex conversions
49+
- `Uint8Array.toBase64()` / `Uint8Array.fromBase64()` for Base64
50+
- `Map.groupBy()` for grouping operations
51+
- `TextDecoder('latin1')` for Latin-1 decoding
52+
- `concatBytes()` utility for Uint8Array concatenation
53+
- Iterator helpers (`.keys().toArray()`, `.values().toArray()`)
54+
55+
### Added
56+
- **README**: Comprehensive, visually striking README with dark/light mode badges, feature comparison table (18 rows vs pdf-lib), collapsible API examples, runtime table, WASM acceleration table
57+
- **`prepublishOnly` script**: Runs typecheck + tests + build before every publish
58+
- **Repository metadata**: Added `homepage`, `bugs`, and corrected `repository` URLs in package.json
59+
- **GitHub release**: Created v0.9.0 release with release notes
60+
61+
### Fixed
62+
- **TypeScript strict mode errors**:
63+
- `accessibilityChecker.ts`: Fixed `noUncheckedIndexedAccess` errors with `Map.groupBy` by extracting array elements to local variables
64+
- `pdfDocument.ts`: Fixed `exactOptionalPropertyTypes` error by adding `| undefined` to optional property type
65+
- **Test assertions**: Updated 3 tests to use generic `.toThrow()` instead of regex patterns that didn't match native API error messages
66+
67+
## [0.1.0] - 2026-02-25
68+
69+
Initial development release.
470

571
### Features
672
- **PDF Creation**: Full document creation with text, fonts (standard 14 + TrueType), images (PNG/JPEG), shapes, colors, opacity

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "modern-pdf-lib",
3-
"version": "0.10.0",
3+
"version": "0.10.1",
44
"description": "A modern, WASM-accelerated PDF creation engine for every JavaScript runtime",
55
"type": "module",
66
"exports": {

0 commit comments

Comments
 (0)