Repository navigation
Quick Presenter 0.5.0
Quick Presenter 0.5.0 is an internal release focused on playback reliability, package validation, and a much stronger rendering/runtime architecture.
This note summarizes the changes since the 0.4.0 version bump at bf3df0961e3c108ccadc42694eaf755c6187e19d. There was no v0.4.0 tag in this repository, so that merge commit is used as the comparison base.
Highlights
- Rendering work now runs behind clearer controller and scheduler boundaries instead of being coupled tightly to the UI thread.
- Presentation playback is more resilient when the current page render misses or fails: the audience window keeps the last good slide where possible.
- Render caching, preload behavior, thumbnail loading, and cache budget enforcement were tightened for large or memory-heavy decks.
- Packaged artifacts are now produced and validated for macOS, Windows x64, and Ubuntu x64 from the tagged
Build Binariesworkflow. - PDFium loading and download verification were hardened, including clean extraction documentation and checksum-oriented safeguards.
Playback and Rendering Reliability
- Moved PDF rendering work off the UI thread and introduced explicit render worker cancellation boundaries (#162, #179).
- Added render scheduler backpressure so stale or excessive render work is bounded instead of growing unbounded (#180).
- Hardened render cache budget enforcement, including behavior for oversized visible pages (#182).
- Windowed the thumbnail model for large PDFs to avoid expanding thumbnail state across an entire large document (#183).
- Kept the audience slide on the last good rendered slide when the current render is missing or fails (#177).
- Committed new PDF sessions only after the initial render is ready, reducing visible broken intermediate states (#160).
Internal Structure
- Split the former large main wiring into clearer controller boundaries for app state, session flow, rendering, view sync, and window control (#163).
- Refactored PDFium document lifetime ownership and documented the worker/threading boundary (#146, #184).
- Improved test and coverage boundaries around rendering-heavy logic (#185).
Packaging and Release Engineering
- Added Ubuntu
.debpackaging and validation for the Linux x64 artifact (#142). - Added Windows MSIX layout validation and optional Windows artifact signing (#138, #141).
- Pinned WiX Toolset to 5.0.2 for reproducible Windows package builds (#137).
- Optimized package-related CI triggers and updated GitHub Actions for the Node 24 runtime (#136, #148).
- Added release usage documentation and expanded packaging notes (#143, #186, #188).
PDFium and Startup Robustness
- Hardened PDFium loading and fetch verification (#164).
- Documented clean PDFium extraction and release-oriented PDFium fetch requirements (#186).
- All attached artifacts bundle PDFium
151.0.7891.0.
Presenter UX and Platform Details
- Added CLI help output for startup arguments (#166).
- Added ergonomic first/last slide shortcuts (#145).
- Improved macOS native window handle usage for slide window sizing and fullscreen-related behavior (#169).
- Documented PDF authoring tool expectations and speaker-note compatibility scope (#167).
- Hardened recent-file storage behavior and documented privacy implications (#165).
Artifacts
Use the packaged artifact for your platform:
- macOS:
Quick.Presenter.dmg - Windows x64:
Quick.Presenter.msi - Ubuntu x64:
quick-presenter_0.5.0_amd64.deb
Quick.Presenter.msix is attached for Windows package-layout validation. Prefer the MSI unless this release note or a tester instruction explicitly asks for MSIX validation.
Validation
Tagged build:
The tagged build passed:
- macOS app bundle staging, DMG creation, DMG verification, and packaged smoke test.
- Windows executable icon verification, MSI build/verification, MSIX build/verification, artifact signing/verification, and packaged smoke test.
- Ubuntu desktop metadata verification, Debian package build/verification, and packaged smoke test.
Additional local checks on downloaded artifacts:
- macOS DMG checksum verification passed with
hdiutil verify. - macOS DMG was signed, notarized, stapled, and accepted by Gatekeeper with
source=Notarized Developer ID. - Mounted macOS app bundle,
qp, and bundled PDFium dylib passedcodesign --verify --deep --strict. - macOS packaged smoke mode succeeded from both the downloaded
.appand the app mounted from the DMG. - Smoke-open checks passed with
tests/fixtures/marp-speaker-notes.pdfanddocs/samples/quick-presenter-demo.pdf. - Ubuntu
.debmetadata reportsPackage: quick-presenter,Version: 0.5.0, andArchitecture: amd64. - Windows MSIX manifest reports
Version="0.5.0.0"andProcessorArchitecture="x64". - Windows MSI installation and basic presenter/slide-window playback were manually confirmed on a Windows machine.
SHA256
b21126a22258a713ca5f3b1f98bcb24f193e1222702cf54d0db578327285ac8a Quick.Presenter.dmg
a46263349b660302fc2499cb749fbb84cd34d1511d85db8122c1aceb9169a934 Quick.Presenter.msi
1b7d41db2c86c1c116d6557a289d3d4829bb056f8ae4d1f5be627afe6f0c63f5 Quick.Presenter.msix
9bbac671ba6ddd055f61de5b657d86a32e27ff1866b7a0bb660139751a09ff34 quick-presenter_0.5.0_amd64.deb
Known Notes
- macOS
Quick.Presenter.dmghas been replaced with a signed, notarized, and stapled Developer ID disk image. - Windows MSI installation and basic presenter/slide-window playback were manually confirmed. A non-blocking Windows packaging bug where an extra black console window appears at launch is tracked in #193.
- Ubuntu real-machine GUI installation/playback is out of scope for this internal release; CI package verification and packaged smoke tests passed for the
.deb. - The artifact
README.txtstill contains older wording that says full installer or disk image packaging is out of scope. That wording is stale for 0.5.0; use the packaged artifacts listed above.
Full Change List
- #188 Prepare 0.5.0 internal release
- #186 Document clean PDFium extraction
- #185 Improve render coverage boundaries
- #184 Document PDFium worker threading boundary
- #183 Window thumbnail model for large PDFs
- #182 Harden render cache budget enforcement
- #180 Add render scheduler backpressure
- #179 Add render worker cancellation boundaries
- #177 Keep audience slide on current render misses
- #169 Use stable macOS window handles
- #167 Document PDF authoring tools
- #166 Support CLI help output
- #165 Harden recent-file storage and privacy docs
- #164 Harden PDFium loading and fetch verification
- #163 Split main into controller boundaries
- #162 Move PDF rendering work off the UI thread
- #161 Bound render cache and lazy-load thumbnails
- #160 Commit PDF session after initial render
- #159 Document Codex PR labeling
- #148 Optimize CI package build triggers
- #146 Refactor PDFium document lifetime ownership
- #145 Add ergonomic first and last slide shortcuts
- #143 Document release usage and refine key help
- #142 Add Ubuntu Debian package artifact
- #141 Add optional Windows artifact signing
- #140 Fix unused window title warnings
- #138 Add unsigned Windows MSIX CI packaging
- #137 Pin WiX Toolset to 5.0.2
- #136 Update GitHub Actions for Node 24