Releases: batonogov/pine
Releases · batonogov/pine
v1.16.1
v1.16.0
1.16.0 (2026-03-31)
Features
Bug Fixes
- allow docs-only PRs to pass required CI checks (#656) (#682) (87beb8c)
- improve inline diff rendering — remove strikethrough, yellow markers (#678) (#681) (6e94088)
- move git fetch operations to non-MainActor GitFetcher enum (#613) (#683) (2e2feaa)
- remove broken accept/revert buttons from gutter (#690) (2e6b87e)
- remove phantom overlay for modified lines (#681) (#685) (4a674d3)
- stabilize gutter width and add diagnostic tooltips (#677, #679) (#680) (6f8e74e)
v1.15.0
1.15.0 (2026-03-30)
Features
- add file type icon colors in sidebar, tab bar, and quick open (#644) (61106a0)
- add inline config validation for YAML, Terraform, shell scripts, and Dockerfiles (#314) (#627) (85ddb19)
- add tab context menu with close, copy path, reveal actions (#634) (#641) (9f5bfa9)
- add toast notifications for live file reload (#312) (#628) (3077b22)
- add validation diagnostic icons in editor gutter (#648) (#658) (7845636)
- inline diff review with Accept/Revert for AI agent changes (#313) (#632) (2982e9b)
- migrate Pine app target to Swift 6 and tighten concurrency (#626) (d4789fc)
- prepare codebase for Swift 6 strict concurrency (#574) (#625) (56d0cf8)
- send selected code to terminal via Cmd+Shift+Enter (#311) (#630) (c89e27d)
- show inline diff on gutter click instead of always visible (#672) (#676) (0aa4c31)
Bug Fixes
- add built-in validators so diagnostic icons appear without external tools (#663) (#666) (454e6fb)
- add visual before/after comparison for inline diff review (#664) (09ef5da)
- capture editedRange via NSTextStorageDelegate for incremental highlighting (#655) (bb452b2)
- improve config validator accuracy and add fallback (#663) (#667) (cfeef3a)
- make screenshot extraction work on macOS 26 with fallback strategies (#622) (af2d0b5)
- prevent blank terminal by deferring PTY start until non-zero size (#662) (f6f1fef)
- prevent diagnostic icon from overlapping line numbers in gutter (#669) (#670) (84199e4)
- prevent EXC_BAD_ACCESS crash on Cmd+Z by deferring syntax highlighting during undo (#650) (#653) (1ca7864)
- prevent stale highlight from overwriting colors after newline insertion (#665) (f2f0b7b)
- trigger highlighting for session-restored tabs (#671) (#674) (06edb9b)
- work around QuickLookUI crash on macOS 26 (#675) (7de8b75)
Performance Improvements
Documentation
Miscellaneous
v1.14.0
1.14.0 (2026-03-28)
Features
- add clickable line endings indicator with LF/CRLF conversion (#277) (#615) (960b16a)
- auto-update screenshots in assets/ via UI tests (#608) (17d180f)
- migrate PineUITests target to Swift 6 mode (#614) (2980094), closes #578
Bug Fixes
- disable code signing in screenshot script for CI runners (#621) (76f4f8d)
- guard against nil previewItem in QLPreviewView to prevent crash (#618) (#619) (1d7ea4b)
- make About panel tests locale-independent (#576) (#604) (94ba892)
- redesign screenshot tests with XCTAttachment and CI automation (#289) (#620) (0a8100a)
- stabilize flaky debounceCoalescesRapidUpdates test on CI (#603) (c226405)
v1.13.1
1.13.1 (2026-03-27)
Bug Fixes
- align indent guides correctly for tab-indented files (#587) (#601) (c0a194b)
- correct match highlighting in project search results (#575) (#598) (e4baa3e)
- eliminate scroll position jump when switching editor tabs (#595) (#599) (174f660)
- prevent editor tabs from overlapping with long file names (#596) (c8c43cb)
- remove broken Unicode branch icon from toolbar subtitle (#594) (#597) (3ef4e46)
v1.13.0
1.13.0 (2026-03-26)
Features
- add pane tree data model for flexible split layout (#569) (7fcd478)
- add symbol navigation for quick jump to functions and classes (#306) (#573) (26129d3)
- convert scroll to arrow keys for TUI apps on alternate screen (#567) (4e562fb)
- pass editor context to terminal via environment variables (#571) (7f2904b)
Bug Fixes
- add missing Symbol Navigator localizations for all 9 languages (#582) (#583) (92dc833)
- auto-focus terminal on new tab creation and tab switch (#558) (#560) (129d121)
- make terminal view first responder on mouse click in scroll interceptor (#565) (6fe111a)
- move context file from project root to Application Support (#590) (#592) (089ac4b)
- prevent minimap viewport jump when adding lines at end of file (#586) (#591) (2c82454)
- prevent syntax highlighting from disappearing after initial display (#556) (#562) (f8cc976)
- rename DocumentSymbol/SymbolKind to resolve type ambiguity with swift-markdown (#588) (#589) (21e1f67)
- use scroll interceptor overlay to forward mouse events to TUI apps (#561) (e85d0ec)
Code Refactoring
v1.12.0
1.12.0 (2026-03-25)
Features
- add Helm and Jinja2 grammars, enrich Groovy/HCL/Nginx grammars (#318) (#540) (bf17977)
- add tab pinning support (#334) (#548) (cb31cc2)
- breadcrumb path bar above editor (#335) (#536) (cf4b180)
- CLI tool pine command to open files from terminal (#419) (#535) (15529c6)
- highlight matching brackets at cursor (#338) (#537) (c48bd69)
- improve drag & drop tab reorder with visual feedback and spring animations (#538) (e88005d), closes #279
- register file type associations for Open With in Finder (#421) (#534) (a86591d)
- word wrap toggle (Option+Z) (#416) (#533) (a818313)
Bug Fixes
- add docs workflow to unblock docs-only PRs (#552) (#553) (ccf4c82)
- forward mouse scroll events to TUI apps in terminal (#524) (#544) (a2dc514)
- group create+rename into single undo step via beginUndoGrouping (#527) (#545) (6246528)
- use getpwuid to detect user's default shell instead of $SHELL (#550) (54f1e61)
Miscellaneous
v1.11.0
1.11.0 (2026-03-24)
Features
- About Pine window with version, build, and credits (#414) (#515) (bf74939)
- add defensive coding — depth limits, iteration guards, assertions (#501) (4725c10), closes #474
- add keyboard tab navigation (Cmd+1..9, Ctrl+Tab) and first responder flow (#518) (a3d062f)
- data migration system for UserDefaults schema changes (#471) (#505) (f90b7ce)
- drag & drop files and folders to open in Pine (#420) (#523) (441ee4f)
- progress indicators for long operations (#470) (#500) (9355a8e)
- remove project from recent list via context menu (#301) (#514) (494601d)
- restore scroll position, cursor, and fold state per tab (#468) (#495) (2ca4ee5)
- search in recent projects list on Welcome screen (#300) (#513) (93266e3)
- undo support for file operations (#469) (#502) (e9bb73a)
- unified logging with os_log / Logger (#466) (#492) (5a9ff1d)
- update Welcome screen tagline to "A code editor that belongs on your Mac." (#520) (9a043cf), closes #519
Bug Fixes
- add NSLock synchronization to SyntaxHighlighter (#462) (#489) (b4aac12)
- auto-scroll sidebar to newly created file (#528) (#530) (9b488d4)
- eliminate layout jitter during project load, sidebar refresh, and tab switching (#509) (#517) (3cea969)
- eliminate syntax highlight flash on tab switch (#529) (#531) (91d6062)
- new files not appearing in sidebar until manual interaction (#439) (#493) (b2e572d)
- prevent .js and .ts files from being treated as binary (#479) (#490) (10c8c2e)
- prevent QuickOpenProvider from indexing files outside project root via symlinks (#486) (#491) (fa68b74)
- Quick Open index goes stale after file tree changes (#477) (#494) (c7db89a)
- replace class LoadContext with struct to prevent use-after-free (#405) (#504) (c555705)
- replace silent try? with proper error logging (#463) (#496) (ee07336)
- use static methods in FileOperationUndoManager to prevent use-after-free (#525) (#526) (f84048c)
Performance Improvements
Code Refactoring
v1.10.1
1.10.1 (2026-03-24)
Bug Fixes
- editor tab bar overflows without scroll or collapse when many tabs open (#453) (f846d58)
- prevent infinite loops in Finder-style copy URL generation (#484) (ab253a5)
- repair PineTests target dependencies for clean builds (#480) (737dbaf)
- replace force cast with safe cast and add defer for FileHandle (#461) (#485) (80d9cd3)
- resolve Swift 6 concurrency warnings in GitStatusProvider and ProjectSearchProvider (#481) (fe9f678)
- scope NotificationCenter observers to specific scroll views (#487) (a8245cb)
- show correct file content when switching editor tabs (#455) (#456) (64cbd3c)