Bump version to 0.3.4
This commit is contained in:
@@ -4,6 +4,15 @@ All notable changes to `pdf-tools` are documented here.
|
||||
|
||||
The project follows a pragmatic versioning scheme while the app is still below `1.0.0`: minor versions mark coherent user-facing milestones; patch versions mark fixes and small improvements.
|
||||
|
||||
## 0.3.4 — PDF.js browser compatibility fix
|
||||
|
||||
### Changed
|
||||
|
||||
- Centralized PDF.js setup in a shared module so thumbnail rendering and page preview use the same legacy PDF.js build and worker configuration.
|
||||
- Added a local PDF.js worker wrapper that installs a `Uint8Array.prototype.toHex` compatibility shim before PDF.js worker code runs.
|
||||
- Added the same `toHex` compatibility shim in the main app bundle for browsers that do not provide it natively.
|
||||
- Bumped the app/package version to `0.3.4`.
|
||||
|
||||
## 0.3.2 — Multi-file merge queue release
|
||||
|
||||
### Added
|
||||
|
||||
14
README.md
14
README.md
@@ -4,7 +4,7 @@
|
||||
|
||||
Current hosted version: <https://pdftools.add-ideas.de>
|
||||
|
||||
Current release: **v0.3.1 — Split ZIP export release**. See [`CHANGELOG.md`](CHANGELOG.md) for release notes and milestone history.
|
||||
Current release branch: **v0.3.4 — PDF.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.1 — Split ZIP export release
|
||||
v0.3.4 — PDF.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.
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "pdf-tools",
|
||||
"version": "0.3.2",
|
||||
"version": "0.3.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "pdf-tools",
|
||||
"version": "0.3.2",
|
||||
"version": "0.3.4",
|
||||
"dependencies": {
|
||||
"fflate": "^0.8.3",
|
||||
"pdf-lib": "^1.17.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "pdf-tools",
|
||||
"version": "0.3.2",
|
||||
"version": "0.3.4",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1 +1 @@
|
||||
export const APP_VERSION = '0.3.2';
|
||||
export const APP_VERSION = '0.3.4';
|
||||
|
||||
Reference in New Issue
Block a user