# Changelog

## [1.0.30] - 2026-10-11

### Added
- **Layers panel.** PDFs built in layers (sewing patterns with one layer per size, drawings, maps) now show a **Layers** button in the view toolbar. Show or hide each layer, or all at once; hidden layers are left out of the page view, thumbnails, slideshow, printing, image exports, and OCR — so you can print just one size of a pattern.
- **Remove hidden layers.** Permanently delete the hidden layers (and everything drawn on them) from the document while keeping the visible ones exactly as they look, then Save As — e.g. one file per pattern size. Undoable with Ctrl+Z. The removed content is gone from the file, not just hidden, so the result prints and displays the same in every PDF viewer.

## [1.0.29] - 2026-08-09

### Changed
- **Upgraded the app's underlying Electron engine** from a version that reached end-of-life in mid-2024 to the current supported release. This brings a much newer, security-patched browser engine under the hood — dragging and dropping PDFs into the window still works exactly as before.

## [1.0.28] - 2026-07-18

### Added
- **Select & copy text.** With the Select tool, drag across any embedded text to select it and copy with Ctrl+C — at any zoom level or view rotation.
- **Clickable links.** Web links open in your default browser (hover shows the destination URL first). Works for real embedded hyperlinks **and** plain-text URLs — PDFs with no actual links inside (common in "printed" documents) get their web addresses auto-detected and made clickable, including URLs that wrap across multiple lines. Only `http`/`https` addresses are opened, always in the system browser.

### Fixed
- **Fast page flips could leave a page half-loaded** (rendered image but no interactive layer) due to a render-cancellation race; the next render now waits for the previous one to fully stop.

## [1.0.27] - 2026-07-14

### Added
- **Scale text annotations after typing.** Select a text box and drag its corner handle to resize the font (6–144 pt) — same interaction as resizing a signature stamp.
- **Save As now offers to flatten.** When a document has annotations, Save As asks whether to **Flatten** them into the saved file (visible in any PDF viewer) or **Keep editable** in the PDF Daisy sidecar.
- **Encrypted-PDF flatten fallback.** Encrypted PDFs (many government/insurance forms) can't have annotations drawn into their pages. Flatten now detects this and offers to convert every page to an image with the annotations painted in, instead of silently doing nothing.

### Fixed
- **Flatten no longer fails silently.** Any flatten error now surfaces as a visible error dialog. Previously, flattening an encrypted PDF did nothing at all — and a following Save As wrote the *unflattened* original, so other PDF viewers showed no annotations.
- **Export as image-only PDF now includes all annotations.** It previously burned in only redaction boxes; text, arrows, highlights, freehand marks, and signature stamps were dropped from the exported images.

## [1.0.26] - 2026-06-23

### Fixed
- **Page thumbnails no longer overlap in the sidebar.** Each thumbnail now reserves its true height (including the page-number label), so pages list with even spacing regardless of page proportions.

## [1.0.25] - 2026-06-16

### Changed
- **Corrected app icon** — now the final daisy artwork (1.0.24 had shipped the wrong image); regenerated across the Windows and macOS icon sets.

## [1.0.24] - 2026-06-16

### Changed
- **New app icon** — refreshed flower artwork with rounded corners, applied across the Windows and macOS icon sets.

## [1.0.23] - 2026-06-16

### Added
- **macOS support groundwork.** Added a macOS application menu (App + Edit) so Quit, Hide, and the standard Cut/Copy/Paste/Select-All shortcuts work, plus a macOS build target.

### Fixed
- Local images and saved signatures now resolve correctly on macOS/Linux (absolute file paths were being collapsed to relative ones and failing to display).
- Printing now builds a correct cross-platform file URL.

## [1.0.22] - 2026-06-06

### Changed
- Expanded the user manual to cover the new **redaction** tools (Redact tool, Redact-all from Find, and secure image-only export), the consolidated **More** menu (Export page as PNG/JPG, Export all images, Import image folder as PDF, Export as image-only PDF), and **Ctrl + mouse-wheel zoom** about the cursor.

## [1.0.21] - 2026-06-06

### Added
- **Zoom with Ctrl + mouse wheel, centered on the pointer.** Hold Ctrl (or ⌘) and scroll the wheel to zoom in/out about wherever your cursor is — the point under the cursor stays put — in both single-page and continuous views. (Trackpad pinch works too.)

## [1.0.20] - 2026-06-06

### Fixed
- **Much smaller download.** Internal debug-log and verification files were being bundled into the app (they lived in a folder that got copied into the build), bloating it by hundreds of megabytes. They're now kept outside the packaged app entirely.
- The app's log file is reset on every launch, so it can't grow without bound over time. (Packaged builds write their log to your AppData folder.)

## [1.0.19] - 2026-06-06

### Changed
- All the export/import actions now live in a single **More** menu in the top toolbar, next to Help: **Export page as PNG/JPG**, **Export all images**, **Import image folder as PDF**, and **Export as image-only PDF**. The separate overflow (☰) menu that used to sit by the annotation tools is gone, so there's just one place to look.

## [1.0.18] - 2026-06-06

### Added
- **Redaction.** A new **Redact** tool in the annotation toolbar draws an opaque black box over anything you want hidden. In **Find**, a **Redact all** button blacks out every match of a search term at once. While any redaction exists, a red banner reminds you the boxes aren't secure on their own.
- **Export as image-only PDF** (More menu) — rasterizes every page so redactions **permanently remove** the underlying text (it can no longer be selected, copied, or extracted) instead of merely covering it. All text becomes images, and your original file is left untouched.

## [1.0.17] - 2026-06-06

### Added
- **Import image folder as PDF** (More menu) — choose a folder of PNG/JPG images and PDF Daisy builds a new PDF with one image per page, opened in a new tab.

## [1.0.16] - 2026-06-06

### Added
- **Export page as PNG/JPG** (new **More** menu, next to Help) — save the current page, or every page, as image files at your chosen format.

## [1.0.15] - 2026-06-01

### Changed
- **Long PDFs now scroll without bogging down.** Continuous mode and the page-thumbnail sidebar only render the pages currently in (or near) your view; pages that scroll out of view release their canvas memory immediately. A 50-page PDF goes from rendering all 50 pages at once to about 10 total canvases in flight; a 500-page PDF is the same handful. Opening, scrolling, zooming, and rotating big documents stay responsive instead of stalling.
- **The page counter in the toolbar now follows your scroll position** in continuous mode, so "Page X/N" tracks what you're actually looking at instead of only updating when you click a thumbnail or hit Next/Prev. Next/Prev no longer snap-scrolls when the next page is already on screen.

## [1.0.14] - 2026-05-31

### Added
- The **Set as default…** flow now opens a short walkthrough PDF as a new tab and dismisses the Preferences panel so the steps to finish the change in Windows Settings are in front of you, not hidden behind a modal.

## [1.0.13] - 2026-05-31

### Changed
- **Set as default…** now opens Windows Settings directly on PDF Daisy's per-app default page (`ms-settings:defaultapps?registeredAppUser=PDF Daisy`) where `.pdf` is already listed, and pops up a short PDF walkthrough as a new tab so you have the steps in front of you while Settings is in the foreground. Apps can't invoke the proper "Set default app for .pdf files" dialog directly — Windows 10/11 removed that API for unpackaged apps.

## [1.0.12] - 2026-05-31

### Fixed
- **Set as default…** now actually launches the picker dialog. The placeholder PDF used to drive the dialog moved out of `userData` (a path with a space) into the OS temp directory, sidestepping a quoting issue that was making the dialog silently no-op on some installs.

## [1.0.11] - 2026-05-31

### Changed
- **Set as default…** now opens the direct **"How do you want to open this file?"** picker dialog instead of taking you through Windows Settings — pick PDF Daisy from the list, check **"Always use this app to open .pdf files"**, click OK, done.

## [1.0.10] - 2026-05-31

### Fixed
- **Set as default PDF app** now actually works. PDF Daisy now appears in Windows' file-type chooser for `.pdf` after registering (the `Applications\PDF Daisy.exe\SupportedTypes\.pdf` registry key was missing), and the **Set as default…** button now opens Settings directly on PDF Daisy's per-app default page with `.pdf` already listed — no typing required.

## [1.0.9] - 2026-05-31

### Added
- **Set PDF Daisy as your default PDF app** from Preferences. A new "Default application" section shows whether PDF Daisy is currently the default for `.pdf`; the button registers PDF Daisy as a `.pdf` handler and opens Windows Settings → Default apps so you can confirm the switch.

## [1.0.8] - 2026-05-30

### Added
- **Full undo for annotation edits.** Ctrl+Z now reverses every annotation change — create, move, resize, recolor, delete, and the color picker's **Apply to all** — alongside the existing page-operations undo. Undoing the only edit since open / save returns the Save button to clean.
- **Redo** (Ctrl+Shift+Z or Ctrl+Y, plus a Redo button next to Undo in the Pages sidebar). Making a new edit clears the redo stack.

### Changed
- New **orange daisy** app icon — visible in the taskbar, title bar, and Windows Explorer.

### Fixed
- The welcome-screen logo, the About dialog's hero image, and offline OCR no longer fail to load in the packaged Windows build (they were broken by leading-slash asset paths that worked only against the dev server).

## [1.0.7] - 2026-05-29

### Added
- **Highlight** annotation tool — drag a translucent marker swipe over text or any area, with its own default color so it doesn't trip over your arrow / rectangle color.
- **Signature stamp** — draw a signature once (or import a PNG/JPEG), save it to your signature library, then click to drop it on any page. Stamps are resizable with locked aspect ratio and flatten cleanly into the PDF.
- **User manual** and **Support** (Discord) links in the About dialog.

### Changed
- The default theme is now **Light**. Existing installs keep whatever you'd already chosen — only fresh installs see the new default.
- Updated About copyright to © 2026 Chipp Walters, Altuit Inc.

## [1.0.6] - 2026-05-27

### Changed
- The Print dialog is now streamlined to a **preview + Mirror** option, then hands off to the **system print dialog** where you choose the printer, paper size, orientation, scale, copies, and page range.

### Fixed
- Printing now outputs at the document's **true size** — pick **Actual size** in the system dialog — and a landscape page no longer scales wrong and spills onto a second sheet.

### Added
- **Find in document (Ctrl+F):** search bar with match count and next/previous, highlighting matches on the page. Works on regular PDFs and on scanned pages you've OCR'd.
- **Mirror horizontally** option in the Print panel — flips each page left-to-right for iron-on / heat-transfer printing; the preview shows the mirrored result.
- **Preferences** dialog (Settings button) with a **theme picker** — Light, Dark, or follow the System setting.

### Changed
- The entire interface now uses a themeable color system, so it adapts between light and dark themes.

### Added
- Annotations and OCR are now saved beside the PDF in a companion `.pdfdaisy.json` file and restored automatically when you reopen it — so your markup and recognized text persist without altering the original PDF.
- The Save button now turns **yellow** whenever there are unsaved changes (annotations or OCR), matching the tab's unsaved dot.
- In the OCR panel, **click a word to locate it** — the word is highlighted both in the panel and on the page.
- The startup screen now shows the PDF Daisy logo.

### Changed
- **Save no longer flattens your annotations.** They stay editable across save and reopen; use the **Flatten** button when you want to permanently bake them into the page. Saving annotation/OCR-only changes no longer rewrites or prompts to overwrite the PDF.
- OCR results now **accumulate** across runs (OCR-ing more pages adds to what you already have) and the OCR panel shows the page's text without cluttering the page with word boxes.
- Closing the OCR panel just hides it (your results are kept); a new trash button deletes the OCR layer when you actually want it gone.
- All confirmations (save/overwrite, flatten, delete pages, rotate, apply-color, delete OCR) now use the app's themed dialog instead of the OS popup.

### Fixed
- Opening a PDF that changed outside the app now warns that its saved annotations/OCR are outdated, instead of silently mismatching.

### Added
- **Arrow** and **text** annotation tools, with a **color picker** (16 presets + hex) for setting the annotation color; pick a color to recolor the selected mark, or "Apply to all" to recolor every annotation in the document.
- Right-click an arrow to change its size (Small / Medium / Large).
- **Full-screen slideshow** presentation mode (toolbar button or F5; Esc to exit) with annotations shown.
- **OCR (offline)** — recognize text on this page, a page range, or the whole document, with a progress dialog. A docked review panel shows recognized words page-by-page (low-confidence words flagged) and exports the text to a `.txt` file. Runs locally with no network.

### Changed
- The app now always opens to the startup screen and no longer auto-reopens the last PDF.

### Fixed
- Text annotations no longer vanish when you click away to finish them: clicking anywhere on the page (any page, in continuous scroll) now commits the open text box. Enter still inserts a new line.

### Added
- Redesigned startup screen: logo, **Open File** button, recent files, and a click-outside / drag-and-drop hint.
- **Flatten annotations** button in the annotation toolbar (bakes annotations in permanently; undoable with Ctrl+Z).
- Image export now shows a **progress bar** and offers an **Open folder** button when finished.

### Changed
- Page **tabs now sit below the toolbar**, and the overflow (☰) menu moved next to the annotation tools (it now holds **Export all images**).
- Documents now open in **continuous scroll** by default.
- Export and flatten now use the app's themed dialogs.
- App version is shown consistently in the footer and About dialog from a single source (`package.json`).
- Trimmed developer-only files (sample PDF, placeholder) from the packaged build.

### Fixed
- Fixed a crash when exporting images from large, image-heavy PDFs (export now streams one image at a time).

### Removed
- Removed the developer fiducial alignment overlay.

## [1.0.1] - 2026-05-26

### Added
- **Page operations** in the Pages sidebar: delete, reorder (drag-and-drop or move up/down), rotate (permanent ±90°), extract selected pages to a new tab, and merge another PDF. Multi-select pages with click / Ctrl-click / Shift-click.
- **Undo (Ctrl+Z)** for page operations — reverses the last delete, reorder, rotate, merge, or flatten, restoring affected annotations.
- **Hamburger menu (☰)** in the toolbar with Open, Save As, Print, Flatten annotations, Export all images, and About.
- **Flatten annotations** command — permanently bakes annotations into the document on demand (undoable).
- **Export all images** — saves every embedded image in a PDF to a folder you choose, one PNG per image.
- **Drag and drop** PDF files onto the window to open them (multiple files open in multiple tabs), with a drop overlay.
- User manual at `docs/pdf-daisy-user-manual.md`.

### Fixed
- Closing a tab or editing pages no longer risks tearing down the shared PDF rendering worker (which could blank other tabs); document resources are now released safely.

### Changed
- Rotating a page that has annotations now flattens those annotations first (with a confirmation), since annotations are stored upright.
