Bump version to 0.3.4

This commit is contained in:
2026-07-07 18:43:05 +02:00
parent 6386326473
commit 5f017d3b22
5 changed files with 22 additions and 9 deletions

View File

@@ -4,7 +4,7 @@
Current hosted version: <https://pdftools.add-ideas.de>
Current release: **v0.3.1Split ZIP export release**. See [`CHANGELOG.md`](CHANGELOG.md) for release notes and milestone history.
Current release branch: **v0.3.4PDF.js `toHex` browser compatibility fix**. See [`CHANGELOG.md`](CHANGELOG.md) for milestone history.
The app is a static React/Vite single-page application. There is no backend service, no server-side queue, and no server-side document storage. When hosted correctly, the server only delivers HTML, JavaScript, CSS, and static assets; PDF processing happens in the user's browser.
@@ -40,6 +40,7 @@ This makes the project especially useful for self-hosted environments, public-se
- **Thumbnail cache by page and rotation**: Rotated thumbnails are cached and only changed thumbnails need to be regenerated.
- **Stable page references**: Duplicated pages and reordered pages are tracked as workspace page references rather than only by original page number.
- **Merge choices**: Loading another PDF can replace the current document, append pages, or insert pages at a chosen position.
- **PDF.js compatibility setup**: PDF.js is configured through one shared module and a local worker wrapper so the app can polyfill `Uint8Array.prototype.toHex` before PDF.js runs in older browsers.
- **In-app help**: The app includes a Help/Tutorial dialog with keyboard shortcuts and workflow explanations.
## Current features
@@ -219,7 +220,7 @@ The app expects modern browser APIs, including:
- Canvas;
- modern JavaScript modules.
Use current versions of Chromium, Firefox, Safari, or Edge.
The app includes a small `Uint8Array.prototype.toHex` compatibility shim for PDF.js fingerprint handling in browsers that do not provide that typed-array helper natively. Use current versions of Chromium, Firefox, Safari, or Edge where possible.
## Versioning and release baseline
@@ -228,10 +229,10 @@ The application version shown in the header is defined in `src/version.ts`. The
The current development baseline is:
```text
v0.3.1Split ZIP export release
v0.3.4PDF.js toHex browser compatibility fix
```
This release preserves the browser-only workspace baseline and adds split-result ZIP downloads on top of the selection-workspace feature. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting are separated enough to support additional feature work without turning `App.tsx` back into a monolith.
This branch preserves the browser-only workspace baseline, includes the multi-file merge queue from the `0.3.2` milestone, bumps the displayed app/package version to `0.3.4`, and adds a shared PDF.js setup with a `toHex` compatibility shim for older browsers. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting are separated enough to support additional feature work without turning `App.tsx` back into a monolith.
## Project structure
@@ -248,6 +249,9 @@ src/
ReorderPanel.tsx Page grid, selection, drag/drop, copy/delete/rotate
WorkspacePanel.tsx Workspace save/load/reset and undo/redo history
pdf/
pdfJs.ts Shared pdf.js setup and worker configuration
pdfjsWorker.ts Local pdf.js worker wrapper with compatibility shim
uint8ArrayToHexPolyfill.ts Compatibility shim for PDF.js fingerprint handling
pdfService.ts pdf-lib operations: load, merge, split, export
pdfThumbnailService.ts pdf.js thumbnail rendering
pdfZipService.ts Browser-side ZIP packaging for split results
@@ -291,7 +295,7 @@ src/
### Milestone 3: Better merge and mobile handling
- [ ] Add a full multi-file merge queue.
- [x] Add a full multi-file merge queue.
- [ ] Support drag-and-drop of PDFs into the page grid at the hovered position.
- [ ] Add custom long-press drag on mobile.
- [ ] Consolidate frequently used actions into a toolbar.