Releases: StevenACZ/PeekOCR
ποΈ PeekOCR v1.8.1 - Light Mode Permission Polish
π‘ Light Mode Permission Polish Β· π‘οΈ Guided Setup Refinement
This patch release polishes the permission guidance introduced in v1.8.0 so every onboarding surface stays readable and calm in both Light Mode and Dark Mode.
π‘ Light/Dark permission guidance
- Permission guidance surfaces now render cleanly in Light Mode and Dark Mode.
- The floating System Settings assistant now uses adaptive AppKit colors instead of dark-only material assumptions.
- The draggable PeekOCR app card resolves dynamic system colors against the active macOS appearance.
- The missing-permissions requirements window, menu bar reminder, and Settings permission rows now use contrast-aware fills and borders.
- The requirements window activation button has improved contrast across permission accent colors.
π οΈ Technical Highlights
- Added shared
PermissionAppearancehelpers for AppKit permission overlays. - Kept the permission UI docs and project guide aligned with the adaptive appearance behavior.
- Version bumped to
1.8.1with build5.
π¦ Installation
- Download
PeekOCR-v1.8.1.dmg - Open the DMG
- Drag PeekOCR to Applications
- First launch: right-click Open (not double-click) to bypass Gatekeeper, then confirm
- If needed, use the in-app permission flow to enable Screen Recording and Accessibility
π» Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Full changelog: v1.8.0...v1.8.1
ποΈ PeekOCR v1.8.0 - Guided Permission Onboarding
π‘οΈ Guided Permission Onboarding Β· β Live Status Feedback
This release makes PeekOCR feel much more polished the first time you install it: permissions are now explained through explicit in-app UI, guided System Settings navigation, and live visual feedback instead of launch-time interruptions.
π‘οΈ Guided permission onboarding
- PeekOCR no longer interrupts users with permission prompts on launch.
- Missing permissions now surface through explicit UI: the menu bar reminder banner, Settings activation rows, or the dedicated Missing Permissions window when capture is blocked.
- Activating a permission opens the correct System Settings pane and shows a floating helper aligned with the settings window.
- Capture attempts that need Screen Recording now stop cleanly and route through onboarding instead of failing silently.
β Live permission status
- The Missing Permissions window now keeps a fixed size and always shows both required permissions: Screen Recording and Accessibility.
- Mixed states are now clear: if one permission is already active, it stays visible with a green success state instead of disappearing and shifting the layout.
- The requirements window stays open while setup continues, so users can return from System Settings and immediately see updated status.
- Accessibility-backed hotkeys refresh when the app becomes active again after the permission is enabled.
β¨ UX polish
- Refined the missing-permissions preview/runtime layout so the window matches the shipped build more closely.
- Cleaned up extra window chrome and border artifacts in the onboarding preview path.
- Updated onboarding copy and docs to match the final user-facing behavior.
π¦ Installation
- Download
PeekOCR-v1.8.0.dmg - Open the DMG
- Drag PeekOCR to Applications
- First launch: right-click Open (not double-click) to bypass Gatekeeper, then confirm
- If needed, use the in-app permission flow to enable Screen Recording and Accessibility
π» Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Full changelog: v1.7.0...v1.8.0
ποΈ PeekOCR v1.7.0 - Multi-Display, Capture Sound & Clip Editor Refresh
π₯οΈ Multi-Display Β· π Capture Sound Β· β¨ Clip Editor Refresh
This release brings overlays to every connected display, adds an optional shutter sound for captures, and redesigns the GIF/Video clip editor for a cleaner, more focused workflow.
π₯οΈ Multi-display overlays
ββ§5(annotated screenshot) andββ§6(GIF recording) overlays now span every connected display β start a selection from any monitor, not just the main one.- The first mousedown claims the session and dismisses sibling overlays on other displays.
- Fixed overlays landing off-screen on secondary displays when macOS has "Displays have separate Spaces" enabled.
π Capture sound
- Optional shutter sound after successful screenshots, plus the clip editor's frame-capture button.
- Toggle and volume slider under Settings β General β Sonido, with a test button.
- Clip exports (GIF/MP4) stay silent by design β the editor workflow is quiet on completion.
- OCR captures do not fire the sound.
β¨ Clip editor redesign (ββ§6)
- The GIF β Video picker now lives inline next to the "ExportaciΓ³n" title β one less section in the sidebar.
- Settings grouped into three homogeneous cards: Calidad, Salida, EstimaciΓ³n.
- FPS for video exports is now an informative row inside the Calidad card (it's not user-editable for video), so the real decisions β ResoluciΓ³n and Codec β read first.
- Timeline trim uses the system accent color with tick marks and a visible playhead dot β no more dominant yellow bar.
- Preview canvas is a solid black with a subtle vignette instead of the old hardcoded gradient, so the trimmer never competes with the real video.
- Playback controls use frame-step SF Symbols (
backward.frame.fill/forward.frame.fill) with shortcut hints, and the export button is promoted to the large control size withEnteras default action. - The "Frame guardado" toast is now a compact chip matching the timeline chip style; slides in from the bottom edge.
π οΈ Technical Highlights
- New
DisplayEnumeratorutility wrappingCGGetActiveDisplayListwith mirror-set filtering. - New
CaptureSoundServicesingleton (lazyAVAudioPlayer, fire-and-forget playback) andSoundSettingsObservableObjectbacked byUserDefaults. GifClipSidebarViewconsolidates its card styling through a reusablecardSection(title:content:)helper.- Fixed
NSWindow(contentRect:...:screen:)doubling the content origin on non-primary displays by switching to the 4-parameter init + explicitsetFrame(screen.frame, display: false). - Removed a hard-coded local path from a SwiftUI
#Previewscaffold.
π¦ Installation
- Download
PeekOCR-v1.7.0.dmg - Open the DMG
- Drag PeekOCR to Applications
- First launch: right-click Open (not double-click) to bypass Gatekeeper, then confirm
- Grant Accessibility and Screen Recording permissions if prompted
π» Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Full changelog: v1.6.0...v1.7.0
ποΈ PeekOCR v1.6.0 - Live Annotation Overlay
βοΈ Live Annotation Overlay
This release replaces the old ββ§5 post-capture annotation editor with a much faster live overlay workflow.
β¨ What's New
-
Live pre-capture annotations for
ββ§5- Drag to select the capture region
- Move or resize the selection before exporting
- Add arrows, text, and highlight boxes directly on the live screen overlay
- Press
Enterto export the final annotated screenshot
-
Inline editing and manipulation
- Move existing arrows, text, and highlights without leaving the overlay
- Resize highlight boxes individually
- Double-click text to edit it
- Contextual cursor behavior for drawing, moving, resizing, and editing
-
Safer, smoother annotation UX
- Outside clicks no longer accidentally create extra text or arrows
- Changing tools clears stale selection state correctly
βZundoes the last live overlay annotation change
π§ Settings Integration
- Live overlay arrows and highlights now respect the configured default stroke width from Settings
- Live text uses the configured default font size
- Preview and exported output now stay visually aligned with the annotation defaults
π οΈ Technical Highlights
- New
LiveAnnotationOverlayWindowControllerfor the full-screen pre-capture session - New
LiveAnnotationRenderershared by the overlay preview and final exported image - New lightweight
LiveAnnotationmodel for live overlay interactions - Direct rect capture finalization in
NativeScreenCaptureService - Legacy post-capture editor path kept only for compatibility/testing
π¦ Installation
- Download
PeekOCR-v1.6.0.dmg - Open the DMG
- Drag PeekOCR to Applications
- Run PeekOCR from Applications
- Grant Accessibility and Screen Recording permissions if prompted
π» Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
β¨οΈ Default Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| β§ Space | Capture text (OCR) |
| ββ§4 | Capture screenshot |
| ββ§5 | Live annotated screenshot |
| ββ§6 | Capture GIF clip |
π DMG SHA-256
27dc37b14085e96a36d02eedfbbc67ea42a44b8723453f62a362bc437a01b030
v1.5.1 - Permission Persistence Fix
What's New
Permission Persistence Fix
- Root cause: PeekOCR was using ad-hoc code signing, causing macOS TCC to lose track of granted permissions after every reboot
- Fix: App is now signed with Apple Development certificate (Team ID:
NXT93S55FY), so Screen Recording and Accessibility permissions persist across reboots - Added
PeekOCR.entitlementsfor proper entitlements declaration
Improved Permission Handling
- Use modern
CGPreflightScreenCaptureAccess()API for reliable screen capture permission checks (replaces unreliableCGWindowListCopyWindowInfo) - Request Screen Capture permission proactively at app launch
- Permission status in Settings now auto-refreshes every 2 seconds
Post-Update Note
After installing this version, you may need to re-grant permissions once:
- Go to System Settings > Privacy & Security > Screen Recording
- Remove PeekOCR from the list if present
- Relaunch PeekOCR β it will prompt for permissions
- Grant permissions β they will now persist across reboots
Installation
- Download
PeekOCR-v1.5.1.dmg - Open the DMG file
- Drag PeekOCR to your Applications folder
- Open PeekOCR from Applications
- Grant necessary permissions (Accessibility & Screen Recording)
System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Default Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| β§ Space | Capture text (OCR) |
| ββ§4 | Capture screenshot |
| ββ§5 | Capture with annotations |
| ββ§6 | Capture GIF clip |
v1.5.0 - Frame Capture + UX Polish
What's New
Frame Capture in Clip Editor
- Added a Capture Frame button in the GIF/Video clip editor playback controls
- Save the current frame as an image using your configured screenshot format (PNG/JPG/TIFF/HEIC) and quality
- Frame captures are saved in the same output directory configured in Settings
Export + Build Stability
- Updated video export internals to modern async AVFoundation loading where applicable
- Fixed sendable/deprecation warning paths in clip video export flow
- Stabilized release build pipeline for packaging/distribution
Settings UX Polish
- Fixed slider layout in Capturas and Clips tabs so controls use full row width consistently
- Improved visual alignment for min/max slider indicators
Installation
- Download
PeekOCR-v1.5.0.dmg - Open the DMG file
- Drag PeekOCR to your Applications folder
- Open PeekOCR from Applications
- Grant necessary permissions (Accessibility & Screen Recording)
System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Default Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| β§ Space | Capture text (OCR) |
| ββ§4 | Capture screenshot |
| ββ§5 | Capture with annotations |
| ββ§6 | Capture GIF clip |
v1.4.0 - Clip Export GIF/Video
What's New
Clip Export (GIF + Video)
- Export recorded clips as GIF (Baja / AI Debug / Alta) or MP4 Video (H.264 or HEVC, 720pβ4K, no audio)
- AI Debug profile uses 1 FPS for easier frame-by-frame debugging
- Export overlay now shows loading + success confirmation
Recording UX
- Recording HUD is shown outside the captured region (wonβt appear in the output)
- Clear blue border highlight during recording
Settings
- New Clip settings tab for max recording duration (3β60s) and default export preferences
Installation
- Download
PeekOCR-v1.4.0.dmg - Open the DMG file
- Drag PeekOCR to your Applications folder
- Open PeekOCR from Applications
- Grant necessary permissions (Accessibility & Screen Recording)
System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Default Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| β§ Space | Capture text (OCR) |
| ββ§4 | Capture screenshot |
| ββ§5 | Capture with annotations |
| ββ§6 | Capture GIF clip |
v1.3.0 - GIF Clip Capture
What's New
GIF Clip Capture
- New GIF Clip capture mode (record up to 10s) with an interactive region selector
- Post-recording editor with timeline trimming, preview playback, and frame-by-frame stepping
- Export to an optimized GIF with configurable quality, FPS, and max size
Installation
- Download
PeekOCR-v1.3.0.dmg - Open the DMG file
- Drag PeekOCR to your Applications folder
- Open PeekOCR from Applications
- Grant necessary permissions (Accessibility & Screen Recording)
System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Default Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| β§ Space | Capture text (OCR) |
| ββ§4 | Capture screenshot |
| ββ§5 | Capture with annotations |
| ββ§6 | Capture GIF clip |
v1.2.0 - Annotation Editor Improvements
What's New
Annotation Editor Enhancements
- Text Resizing: You can now resize text annotations by dragging the selection handles (font size range: 8-72pt)
- Wider Toolbar: Increased toolbar width to prevent text wrapping in Spanish UI
- Auto-save Text: Text annotations are now automatically saved when clicking outside or switching tools
- Settings Integration: Stroke width and font size from Settings are now properly applied when opening the editor
Settings Improvements
- Removed misleading "50%" label from the image scale slider for clearer visual feedback
Installation
- Download
PeekOCR-v1.2.0.dmg - Open the DMG file
- Drag PeekOCR to your Applications folder
- Open PeekOCR from Applications
- Grant necessary permissions (Accessibility & Screen Recording)
System Requirements
- macOS 14.0 (Sonoma) or later
- Apple Silicon or Intel Mac
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| ββ§1 | Capture text (OCR) |
| ββ§2 | Capture screenshot |
| ββ§5 | Capture with annotations |
PeekOCR v1.1.0 - Modular Architecture Refactor
What's New in v1.1.0
This release focuses on code quality and maintainability through a major architectural refactor. The codebase has been reorganized into a modular, component-based architecture following Single Responsibility Principle.
ποΈ Architecture Improvements
- 52% reduction in code complexity across major files
- 35+ new modular components for better code organization
- Comprehensive documentation added in
docs/folder
π New Project Structure
Models/
βββ Annotations/ β Data types (Annotation, AnnotationTool, ResizeHandle)
βββ State/ β State managers (UndoRedoManager, SelectionManager)
Services/
βββ Screenshot/ β Image processing (Scaling, Encoding)
βββ Annotation/ β Window management (Factory, Geometry)
βββ HotKey/ β Hotkey configuration
Views/
βββ Annotation/
β βββ Canvas/ β Drawing components
β βββ Editor/ β Editor components
β βββ Toolbar/ β Toolbar components
βββ MenuBar/ β Menu bar components
βββ Settings/Sections/ β Modular form sections
βββ Components/ β Reusable UI components
βββ Helpers/ β Hit testing, transforms
π File Size Reductions
| File | Before | After | Reduction |
|---|---|---|---|
| AnnotationState.swift | 527 | 258 | -51% |
| AnnotationCanvasView.swift | 412 | 182 | -56% |
| AnnotationEditorView.swift | 387 | 125 | -68% |
| ScreenshotSettingsTab.swift | 246 | 36 | -85% |
| ScreenshotService.swift | 207 | 93 | -55% |
π New Documentation
docs/ARCHITECTURE.md- Layer diagram, data flow, patternsdocs/COMPONENTS.md- Reusable UI components catalogdocs/MODELS.md- Data models and state managersdocs/SERVICES.md- Service classes documentationdocs/VIEWS.md- View hierarchy and modules
β¨ Component Highlights
New Reusable Components:
UndoRedoManager<T>- Generic undo/redo with configurable historySelectionManager- Annotation selection and drag stateImageScalingService- High-quality image scalingImageEncodingService- Multi-format encoding (PNG, JPEG, HEIC, TIFF)AnnotationWindowFactory- Window creation and configurationHitTestEngine- Collision detection for annotationsAnnotationTransformer- Move/resize operations
New Settings Sections:
- Modular form sections for Settings tabs
- Easy to reuse and maintain
π§ Technical Details
- 50 files changed
- 3,625 insertions, 1,905 deletions
- All features remain fully functional
- No breaking changes to user experience
π¦ Installation
- Download
PeekOCR.dmg - Open the DMG file
- Drag PeekOCR to Applications
- Launch from Applications or Spotlight
βοΈ System Requirements
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Full Changelog: v1.0.0...v1.1.0