Skip to content

Releases: msjurset/stash-mac

v1.11.7

Choose a tag to compare

@msjurset msjurset released this 19 Oct 19:31

Features

  • Add User Guide (docs/USER_GUIDE.md), Practical Cookbook (docs/COOKBOOK.md), and automated annotated screenshot suite with clean companion views.
  • Add AI failover services for title/tag generation.

Bug Fixes

  • Fix CI builds by wrapping makeSuggestion in #if canImport(FoundationModels) and enabling Swift 5 language mode with bare slash regex literals.

v1.11.6

Choose a tag to compare

@msjurset msjurset released this 08 Aug 20:15

Bug Fixes

  • Gemini Model 404 Fix: Defaulted model selection to gemini-3.5-flash and added automatic mapping for gemini-3.1-flash to prevent 404 endpoint errors.
  • Ask Gemini Enter Key: Passed onSubmit into FilterField initializer so pressing Enter submits follow-up prompts in Notes.
  • Inline Title Editing: Updated FilterField's updateNSView to check active field editor state (currentEditor()), fixing single-keystroke editing interruption.
  • Prompt Alignment: Unified default identification prompt across platforms with detailed confusion-species and key visual feature instructions.

v1.11.5

Choose a tag to compare

@msjurset msjurset released this 06 Aug 01:49

Features & Improvements

  • Vim-Aware Notes Field: Replaced separate view/edit modes with unified inline VimAwareEditor for seamless interaction.
  • Precision Hit-Testing: Native character bounding-box hit testing distinguishes double-clicks on words (word selection) from double-clicks on padding/whitespace (launches popover editor).
  • Full-Frame Focus: Overrode hitTest and scroll-view height tiling so single-clicking anywhere inside the field immediately focuses, places the cursor, and expands the view to 150px.
  • Click-Off Dismissal: Integrated .onClickOutside monitor to save edits and collapse the Notes field upon clicking away.
  • Clean Styling: Standardized background fill to match app design tokens.

v1.11.4: Fix inline edit double-click focus regression

Choose a tag to compare

@msjurset msjurset released this 03 Jul 19:17
  • Swallowed unmatched leftMouseUp events on double click in ClickCatcher to prevent text field editing abortion
  • Assigned explicit SwiftUI IDs to InlineEditField instances to prevent destruction and recreation during unrelated hover state redraws

v1.11.3: Fix scroll beachball regression

Choose a tag to compare

@msjurset msjurset released this 03 Jul 19:11
  • Restored crucial silence rendering optimization in CompositeWaveformView
  • Extended silence rendering optimization to WaveformTrackView
  • Fixed hover flicker during scrolling by debouncing mouseExited events in HoverTrackingView

v1.11.2

Choose a tag to compare

@msjurset msjurset released this 03 Jul 19:02

v1.11.2

Bug Fixes

  • XRay Audio Scroll Beachball: Fixed a severe CPU saturation hang caused by HoverTrackingView recreating its internal NSTrackingArea 60 times a second during active scrolling. It now relies fully on AppKit's native .inVisibleRect geometry synchronization.

v1.11.1

Choose a tag to compare

@msjurset msjurset released this 03 Jul 18:48

v1.11.1

Bug Fixes

  • XRay Audio Waveform Stability: Replaced SwiftUI's native .onContinuousHover with a custom HoverTrackingView overlay to prevent internal tracking area corruption and infinite loops when mounting and unmounting text fields over the waveform.
  • Waveform Performance Optimization: Dramatically reduced CPU math and Path allocation overhead when rendering wide zoomed waveforms by increasing the drawing stride. This eliminates the "beachball" hangs caused by hovering over dense tracks.
  • Track Name Editor Closing: Fixed an issue where the inline edit field for track names would instantly dismiss itself due to a zero-bounds hit-test check triggering the click-outside monitor inappropriately.

v1.11.0

Choose a tag to compare

@msjurset msjurset released this 03 Jul 17:34

Features

  • Add non-destructive remixing and auto-select primary mix on X-Ray load
  • Add inline help summaries and contextual help buttons to Remix Options
  • Add inline caption editing for X-Ray tracks via double-click

Improvements

  • Optimize audio alignment and envelope extraction using Accelerate vDSP vector operations
  • Optimize X-Ray composite waveform rendering with batch drawing, precomputed amplitudes, and GPU acceleration
  • Optimize main thread performance by decoupling hover state and leveraging SwiftUI native event coalescing

Bug Fixes

  • Fix beachball/hang on main thread during XRay scrolling by fixing layout loops and eliminating dictionary caching logic
  • Fix integer/double overflow crashes when converting to AVAudioFrameCount
  • Fix crash in loadPCM due to Double-to-UInt32 conversion
  • Fix crash in InlineEditField
  • Ignore mouse down events with clickCount > 1 in InlineEditField click-outside monitor

Release v1.10.0

Choose a tag to compare

@msjurset msjurset released this 26 Jun 13:22

Features

  • Rule Template Editor: Embedded new YAML highlighter, code completion provider, and vim-aware text editor wrapper (VimAwareCodeEditor) for rule templates.
  • Settings Budgeting & Paid Tier Preferences: Added UI configurations in Gemini Settings view for paid tier budgeting limits, usage thresholds, and active model providers.
  • X-Ray Audio View: Enhanced multi-track audio mix view with magnifier lens, zoom controls, loop points, playback controls, and track selection.
  • Location Map Popover: Upgraded maps popover to show additional points from attached media files.

Improvements

  • Markdown Blocks Parser: Support for parsing block elements like rules, headers, lists, tables, and code blocks with backticks.
  • Custom Text Editors: Suppressed predictive text, inline prediction, and autofill popup interfaces on Sequoia.

Bug Fixes

  • Layout & selection freeze: Resolved a 100% CPU main thread hang when switching detail selections by keying ItemDetailView with .id(item.id).
  • Dirty edit saves: Prevented popover text editor from saving to newly selected item ID during transition.

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 05 May 21:05

Full Changelog: v1.7.0...v1.8.0