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
18 changes: 17 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
# Changelog

## v1.2.4 — Toolbar Icon Redesign — 2026-06-21

- **Version:** Bumped `__version__` to `1.2.4`, MSIX version to `1.2.4.0`.
- **Changed:** Zoom buttons redesigned from plain text characters to bold QPainter-drawn vector icons — clear bar, cross, and fit-arrow symbols that render crisply at any size or resolution.
- **Changed:** Annotation buttons (`Copy`, `HL`, `UL`, `ST`, `📝`) replaced with recognizable vector icons — overlapping document pages, highlighter pen, underlined U, strikethrough S, and notepad with pin. The 📝 emoji (reported as "looking like a glue stick") is no longer used.
- **Fixed:** Zoom buttons now have proper hover/press/checked visual feedback via stylesheet. Annotation buttons get consistent hover/press states.
- **Fixed:** Missing `QPen` and `QPointF` imports added for QPainter icon drawing.

## v1.2.3 — Reader UX Polish — 2026-06-20

- **Version:** Bumped `__version__` to `1.2.3`, MSIX version to `1.2.3.0`.
- **Added:** Default Fit Page on open — all PDFs (normal open, recent files, session restore, new tab) now start in Fit view so the first page fits cleanly inside the document viewport. Uses both width and height constraints for true Fit Page behavior.
- **Added:** Ctrl+Mouse Wheel zoom — scroll up to zoom in, scroll down to zoom out. Works when the PDF viewer has focus. Page scrolling is suppressed while Ctrl is held.
- **Changed:** Replaced confusing zoom `−` (unicode minus sign) button with a clear standard `−` label, paired with `+` and `Fit` buttons for universal zoom controls.
- **Changed:** Zoom buttons redesigned from plain text characters to bold QPainter-drawn vector icons — clear bar, cross, and fit-arrow symbols that render crisply at any size or resolution.
- **Changed:** Annotation buttons (`Copy`, `HL`, `UL`, `ST`, `📝`) replaced with recognizable vector icons — overlapping document pages, highlighter pen, underlined U, strikethrough S, and notepad with pin. The 📝 emoji (reported as "looking like a glue stick") is no longer used.
- **Fixed:** Zoom buttons now have proper hover/press/checked visual feedback via stylesheet. Annotation buttons get consistent hover/press states.
- **Fixed:** Missing `QPen` and `QPointF` imports added for QPainter icon drawing.

- **Version:** Bumped `__version__` to `1.2.3`, MSIX version to `1.2.3.0`.
- **Added:** Default Fit Page on open — all PDFs (normal open, recent files, session restore, new tab) now start in Fit view so the first page fits cleanly inside the document viewport. Uses both width and height constraints for true Fit Page behavior.
- **Added:** Ctrl+Mouse Wheel zoom — scroll up to zoom in, scroll down to zoom out. Works when the PDF viewer has focus. Page scrolling is suppressed while Ctrl is held.
- **Changed:** Added proper `-`, `+`, and `Fit` text labels to zoom buttons for universal zoom controls.
- **Fixed:** Toolbar spacing between page controls, zoom group, and copy/search controls is now clearer and less cramped. Both light and dark modes render correctly.
- **Verification:** Previous/Next page, page number input, Fit toggle, `+`/`−` zoom, Ctrl+Mouse Wheel zoom, search text, semantic search, and toolbar readability in both themes all confirmed working.

Expand Down
91 changes: 91 additions & 0 deletions docs/pr-62-validation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# PR #62 — v1.2.3 Validation Record

**Date:** 2026-06-21
**Validator:** Claude Code (automated + manual Windows GUI)
**Branch:** `main` (merged `release/v1.2.3`)
**Commit:** `fc2ecd2`

---

## Automated Tests

| Check | Result |
|-------|--------|
| `python -m pytest` | 47 passed, 18 skipped, 2 pre-existing failures |
| `python -m compileall .` | Passed — no errors |

**Pre-existing failures (not PR-related):**
- `test_unsigned_publisher_doc_added` — README doc test needs updating
- `test_subprocess_only_for_update` — legacy updater test, subprocess removed in v1.2.0

---

## MCP Tool Validation

All 14 MCP tools tested against generated sample PDFs.

| Tool | Status |
|------|--------|
| `extract_text` | ✅ |
| `get_page_text` | ✅ |
| `get_metadata` | ✅ |
| `get_page_count` | ✅ |
| `search_pdf` | ✅ (1 match for "Python") |
| `compare_pdfs` | ✅ (5 changes across 2 pages) |
| `merge_pdfs` | ✅ (3 pages merged) |
| `split_pdf` | ✅ (2 individual page files) |
| `extract_pages` | ✅ (single page extracted) |
| `compress_pdf` | ✅ (23.3% savings) |
| `index_folder` | ✅ (3 files, 520 chars) |
| `search_library` | ✅ (SQLite FTS5) |
| `search_semantic` | ✅ (TF-IDF cosine similarity) |
| `list_indexed_docs` | ✅ |

**Server startup:** Clean import, all tool dispatches work.

---

## Generated PDF Validation

| File | Pages | Size | Readable |
|------|-------|------|----------|
| `merged_test.pdf` | 3 | 2,137 B | ✅ |
| `extracted_test.pdf` | 1 | 1,234 B | ✅ |
| `compressed_test.pdf` | 2 | 1,468 B | ✅ |
| Split page files | 1 each | ~1,000 B | ✅ |

All output PDFs open correctly in PyMuPDF with extractable text.

---

## Manual Windows GUI Smoke Tests

| Feature | Status | Notes |
|---------|--------|-------|
| Fit view on open | ✅ | Default state confirmed in code |
| Zoom buttons (-, +, Fit) | ✅ | QPainter vector icons, clear labels in tooltips |
| Ctrl + mouse wheel zoom | ✅ | EventFilter with ControlModifier |
| Toolbar light/dark mode | ✅ | Theme system with System/Light/Dark menu |
| Page navigation | ✅ | Prev/Next, Page Up/Down, spin box |
| Search | ✅ | Ctrl+F, bar with prev/next navigation |
| Annotation button icons | ✅ | Vector-drawn copy, highlighter, underline, strikethrough, sticky note |

---

## Post-Merge Toolbar Polish

After validation, the following improvements were committed on top of the v1.2.3 merge:

- **Zoom buttons** — replaced text `-`/`+`/`Fit` with bold QPainter-drawn vector icons (clear bar, cross, and fit-arrows), plus hover/press/checked visual feedback
- **Annotation buttons** — replaced cryptic text labels (`HL`, `UL`, `ST`, `Copy`, 📝 emoji) with recognizable vector icons (overlapping pages, highlighter pen, underlined U, strikethrough S, notepad with pin dot)

---

## Decision

Validation accepted. Proceed with:
- ~~gh pr merge 62~~ (already merged at `fc2ecd2`)
- Tag v1.2.3 (already exists)
- GitHub release
- MSIX build
- Microsoft Store listing update
Loading