Skip to content

Releases: batonogov/pine

v1.16.1

31 Mar 10:36
e78e1eb

Choose a tag to compare

1.16.1 (2026-03-31)

Bug Fixes

  • resolve ConfigValidator SIGTRAP crash (#700) (018e6cc)

v1.16.0

31 Mar 08:49
5c4668a

Choose a tag to compare

1.16.0 (2026-03-31)

Features

  • enable Swift 6 language mode for Pine app target (#657) (3d5d26d)

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

30 Mar 16:27
2d6a970

Choose a tag to compare

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

  • lazy syntax highlighting for visible viewport only (#640) (91af3aa)

Documentation

  • rewrite README with marketing story and feature overview (#607) (9b3b714)

Miscellaneous

  • exclude CodeEditorView.swift from coverage threshold (#668) (02289b8)

v1.14.0

28 Mar 16:18
065a896

Choose a tag to compare

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

27 Mar 13:53
9608886

Choose a tag to compare

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

26 Mar 06:39
05e92a4

Choose a tag to compare

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

25 Mar 07:06
73eade5

Choose a tag to compare

1.12.0 (2026-03-25)

Features

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

24 Mar 18:54
1693d34

Choose a tag to compare

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

  • replace serial syntax highlighting queue with concurrent OperationQueue (#400) (#521) (0db386e)

Code Refactoring

  • extract magic numbers into named constants (#499) (a02e1e7), closes #464
  • standardize animations and transitions across UI flows (#506) (#510) (6a55877)

v1.10.1

24 Mar 01:18
82ca8ee

Choose a tag to compare

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)

Performance Improvements

  • optimize scrolling for 120Hz ProMotion displays (#447) (0ea7706)

v1.10.0

23 Mar 13:44
75b39a8

Choose a tag to compare

1.10.0 (2026-03-23)

Features

Bug Fixes

  • re-highlight syntax after external file changes (#451) (5ab6c0b)
  • reset cosmetic xcstrings changes after build (#434) (61c7bcb)