Skip to content

Latest commit

 

History

History
1512 lines (823 loc) · 124 KB

File metadata and controls

1512 lines (823 loc) · 124 KB

Changelog

2.4.0 (2026-08-18)

Features

Bug Fixes

  • defer project admission until selection validation (0329a27)
  • give the project switcher the toolbar's own chrome (#1475) (6378160)
  • preserve sidebar focus with expanded toolbar (6492535)
  • stop repeating the project name in the title bar (#1474) (a621921)

2.3.5 (2026-08-15)

Bug Fixes

  • release: skip incomplete previous releases (#1468) (2bfb191)

2.3.4 (2026-08-14)

Bug Fixes

  • release: publish the smoke feed port without reverse DNS (#1466) (44add88)

2.3.3 (2026-08-14)

Bug Fixes

2.3.2 (2026-08-13)

Bug Fixes

  • ci: canonicalize SourceKit-LSP toolchain paths (#1454) (1a09ac8)
  • make descriptor path recovery sanitizer-safe (#1451) (a52b384)
  • suspend background project editor services (#1447) (1279ef8)
  • terminal: wire Quick Terminal agents into detection and Agent Inbox (#1449) (ef54da3)

Documentation

2.3.1 (2026-08-12)

Bug Fixes

  • disambiguate concurrent agent inbox sessions (#1434) (e968e4c)
  • keep CPU-flat agent waits non-actionable (#1428) (69b8564)
  • keep terminal destination routing current (#1431) (ab3103f)
  • preserve agent generation during start uncertainty (#1430) (055a97e)
  • reopen background projects before inbox recovery (#1426) (66a7992)
  • restore configured cursor after terminal reset (#1435) (87dccb8)
  • retain agent ownership through foreground children (#1427) (f15faf6)
  • scope agent activity to project terminals (#1433) (7b1dd53)

2.3.0 (2026-08-11)

Features

Bug Fixes

  • sidebar: prevent flicker during deep tree refresh (#1415) (70d0d6b)

2.2.2 (2026-08-10)

Bug Fixes

  • keep terminal work alive on window close (#1412) (057b328)
  • recover Open Folder ownership with active agents (#1410) (60b9b83)

2.2.1 (2026-08-10)

Bug Fixes

Performance Improvements

  • editor: move format-on-save off main actor (#1398) (1f6ba70)

2.2.0 (2026-08-10)

Features

Bug Fixes

  • agent: close Pine 2.0 workflow regressions (#1368) (9a5e035)
  • agent: polish native Pine 2.0 UX (#1373) (8c37907)
  • help: add native task-based search and contextual help (#1381) (da92717)
  • marketing: hide terminal screenshot fixture (#1378) (8e63a90)
  • marketing: stabilize terminal screenshot prompt (#1376) (77a5c9a)

2.1.1 (2026-08-09)

Bug Fixes

  • agent: surface background agent work via Dock badge, guard, and foreground banners (#1360) (463355d)
  • aggregate quit confirmation across projects (#1363) (1729579)
  • make application quit bounded, atomic, and user-visible (#1364) (15c1296)

2.1.0 (2026-08-07)

Features

  • agent: add Agent Inbox toolbar button with attention badge (#1337) (#1353) (4320b16)
  • terminal: add "Digital Rain" phosphor-green theme (#1351) (fc42dd1)

Bug Fixes

  • terminal: authorize bulk close and quit by stable agent identity (#1356) (dbc4058)

2.0.1 (2026-08-05)

Bug Fixes

  • agent: add CPU-time hysteresis to stop waiting-input flip-flop (#1341) (d177c94)
  • agent: Agent Inbox window polish — focus ring, duplicate title, RU label (#1340) (e5e02b2)
  • agent: stabilize Agent Inbox row order against polling-driven timestamps (#1342) (675a7ac), closes #1336
  • editor: wait for dialog owner before Open Folder panel (#1344) (#1345) (7cec7aa)
  • terminal: close-tab confirmation robustness for agent tabs (#1343) (9ec88a2)

Documentation

2.0.0 (2026-08-04)

Features

Miscellaneous

1.38.1 (2026-07-31)

Bug Fixes

1.38.0 (2026-07-31)

Features

  • agent: complete keyboard, detail, and localization flows (#1264) (4ca043c)
  • macos: restore native File and Window menu semantics (#1262) (f5bdf3f)
  • nav: replace document-modal sheets with command overlays (#1258) (764ba95)
  • settings: adopt immediate-apply LSP configuration (#1255) (c3b381c)
  • settings: consolidate existing global preferences (#1267) (1ba3d80)
  • sidebar: add Finder-style keyboard and VoiceOver navigation (#1257) (9cc8106)
  • tabs: add visual global MRU switcher (#1261) (cb6ec14)
  • tasks: surface execution progress, output, and failures (#1269) (9e5ef94)
  • terminal: add selectable terminal themes with light/dark pairs (#1259) (3eb8623)
  • terminal: complete Quick Terminal settings and project context (#1265) (0a7c00c)
  • updates: embed the Sparkle update flow in Pine (#1268) (750c9ff)
  • workspace: start new projects in a focused terminal (#1256) (251c739)

Bug Fixes

  • agent-history: make verified undo reachable and close preview TOCTOU (#1279) (2710275)
  • agent: integrate verified undo review into Agent History (#1263) (329f412)
  • git: harden command process lifecycle (#1280) (19d891f)
  • i18n: complete localization catalog coverage (#1285) (f4f71d8)
  • localize consolidated settings (#1287) (37b481b)
  • lsp: wire Problems panel into editor chrome (#1260) (f93dc3d)
  • macos: finish native File and Window menu semantics (#1283) (6ea758f)
  • macos: restore Open Folder menu routing (#1289) (827de7c)
  • settings: restore terminal and Quick Terminal controls (#1278) (0e077ae)
  • sidebar: preserve position during keyboard navigation (#1293) (866ccdf)
  • tabs: wire and harden the visual global MRU switcher (#1282) (eb012ca)
  • updates: keep a single standard Sparkle runtime (#1281) (b9da0ac)
  • ux: make toast notifications nonblocking and accessible (#1254) (211a5ae)

Code Refactoring

  • macos: scope document dialogs to their project window (#1266) (4e6a45d)

Documentation

  • help: expand Pine Help Book into task-based documentation (#1253) (0bdfd40)
  • install: use one-command Homebrew cask installation (#1252) (42b5dcc)
  • record native sidebar navigation flow (#1294) (9c2c622)

1.37.1 (2026-07-27)

Bug Fixes

Documentation

1.37.0 (2026-07-27)

Features

Bug Fixes

  • restore native sidebar keyboard focus (#1228) (25f1187)
  • terminal: prevent black panes after terminal reparent (#1230) (24b424b)

1.36.0 (2026-07-26)

Features

  • agent: add opt-in read-only context handoff (34b195d)
  • agent: add opt-in read-only context handoff (30953ed)
  • agent: add secure provenance event store (3e05bda)
  • agent: add secure provenance event store (585d016)
  • agent: add trusted event provenance envelope (#1204) (f714704)
  • agent: add verified patch core (32e58d8)
  • agent: add verified patch engine (ef2817b)
  • agent: filter Activity Panel by attribution evidence (#933) (#1220) (96169a8)
  • agent: session staleness tracking (#933) (#1218) (eec518f)
  • agent: verified diff preview UI for Agent History (#933) (#1219) (d6e2cc1)
  • editor: complete structural intelligence providers (39519e0)
  • editor: LSP-first structural folding (8d3a618)
  • editor: LSP-first structural folding (2e8ad65), closes #1008
  • extensibility: add command palette foundation (34ebb93)
  • extensibility: complete command palette and registry (a954b6d)
  • extensibility: complete command palette and registry (#1117) (b21d5ed)
  • extensibility: keybinding override suppression, config reload, and error UI (#1117 slice) (#1203) (99c4236)
  • tabs: complete unified interaction restoration (#1210) (cea2560)
  • tabs: transient preview tabs and MRU switcher (#1202) (406ad62)

Bug Fixes

  • agent: bound verified patch planning (31160dc)
  • agent: cap patch revalidation work (6b51f09)
  • agent: checked undo engine for verified Agent History entries (#1183) (5cc6d75)
  • agent: harden patch mapping and version chains (eeb4365)
  • agent: harden session liveness polling (#1224) (684bb86)
  • agent: harden verified checked undo (#1183) (241ef53)
  • agent: harden verified patch boundaries (e858c7d)
  • agent: harden verified patch preparation (a88fb76)
  • agent: keep ambiguous activity unattributed (#1208) (3ba521e)
  • agent: make prepared undo previews byte- and mode-truthful (#1223) (e95796a)
  • concurrency: clear residual Xcode warnings (#1212) (8714697)
  • editor: complete structural folding fallbacks (184601c)
  • editor: make LSP folding revision-safe (66c8285)
  • isolation: align structural providers with MainActor default (4caa81c)
  • localization: make symbol labels locale-deterministic (bc1983c)

1.35.0 (2026-07-24)

Features

Bug Fixes

  • avoid synchronous main hops in syntax highlighting (#1184) (577ec84)
  • disable unsafe heuristic agent history undo (#1187) (5cc0334)
  • extensibility: validate configuration reloads atomically (#1192) (a23b644)
  • lsp: harden streaming transport framing (#1188) (349e071)
  • tabs: bound destination focus retries (#1190) (56e1a19)

Code Refactoring

  • agent: define verified undo authority contract (#1194) (7f35e69)

Documentation

1.34.0 (2026-07-22)

Features

Bug Fixes

  • editor: unify the editor canvas background (#1166) (c61d3ef)
  • preserve tab state across pane interactions (#1170) (5e4a936)

1.33.4 (2026-07-22)

Bug Fixes

1.33.3 (2026-07-21)

Bug Fixes

  • editor: compile notification observers with Xcode 27 (d900b6a)
  • editor: restore Python declaration highlighting (#1144) (3d3d615)
  • lsp: parse bare code action commands (#1142) (8839537)
  • lsp: reject invalid workspace edit ranges (#1154) (a119185)
  • tasks: close dangerous command validator bypasses (#1155) (b9d8fdd)
  • terminal: improve light ANSI palette contrast (#1153) (322f598)
  • terminal: recover blank tab after delayed first output (2246ee7)

1.33.2 (2026-07-15)

Bug Fixes

1.33.1 (2026-07-14)

Bug Fixes

  • terminal: bump SwiftTerm to 1.14.0 to fix Metal cursor + TUI scroll artifacts (#1125) (d2ac2ba)

1.33.0 (2026-07-14)

Features

  • agent: per-tab status glyphs + global attention indicator (#1120) (b8bcd8f)
  • terminal: global hotkey drop-down (quick) terminal (#1121) (e73eb05)
  • terminal: opt into SwiftTerm Metal renderer to eliminate black-screen class (#1118) (06c6d38)
  • terminal: OSC 8 hyperlinks + file:// reveal-in-Finder (#1122) (e5ab3ea)
  • terminal: zoom-to-fullscreen pane toggle (#1123) (6010012)

1.32.4 (2026-07-10)

Bug Fixes

  • terminal: stop clearing layer.contents outside forceFullRedraw in appearance apply (#1109) (4bdf3e3)

1.32.3 (2026-07-10)

Bug Fixes

  • sidebar: preserve loaded children across tree refresh (#1104) (b77d33d)

1.32.2 (2026-07-09)

Bug Fixes

  • terminal: recover terminal backing store on occlusion/hide/minimize (#1101) (2badccd)

1.32.1 (2026-07-06)

Bug Fixes

  • prevent sidebar flicker during deep expansion (#1098) (8d45848)

1.32.0 (2026-07-05)

Features

Bug Fixes

  • add security validation layer to UserTaskRunner (#1088) (#1089) (ebf14f2)
  • agent: detect interpreter-wrapped agent CLIs (node/python/bun/…) (#1078) (51deafb)
  • i18n: add localizations for a11y labels, Go-to-Line, and Problems panel (#1093) (b7a70d5)
  • i18n: add missing localizations for Tasks, Agent Activity, and rename-error (#1092) (2b7d54c)
  • terminal: fix root cause of black screen — setNeedsDisplay race condition (#1094) (#1095) (bdce6b1)

1.31.2 (2026-06-29)

Bug Fixes

  • agent: break MainActor-isolated timer handler causing crash on project open (#1069) (d129fb9)

1.31.1 (2026-06-29)

Bug Fixes

  • agent: boot detection coordinator on first terminal creation (#1064) (29ae9c4)
  • editor: break save-path reentrancy causing macOS exclusivity abort (#1066) (#1067) (dae439c)

1.31.0 (2026-06-25)

Features

  • agent: add agent status summary to status bar (#1055) (4899973)

Bug Fixes

  • editor: break fold-observer reentrancy causing macOS exclusivity abort (#1056) (#1057) (80a35a7)
  • editor: break menu-save reentrancy causing macOS exclusivity abort (#1058) (#1059) (837ffa5)

Documentation

  • require green CI before merge (branch protection) (#1062) (26222c2)

1.30.1 (2026-06-24)

Bug Fixes

Miscellaneous

1.30.0 (2026-06-23)

Features

  • agent: add AgentDetector for process-name detection (#1036) (08c0b63)
  • agent: show agent badge and color coding on terminal tabs (#1048) (bb90df7)

Bug Fixes

  • checkout main in screenshots workflow to avoid detached HEAD (#1037) (fbf656e)
  • editor: break @Observable reentrancy causing macOS 27 exclusivity abort (#1047) (c2334e4)
  • sidebar: force tree re-render after external refresh (#1043) (7bd80bd)

Code Refactoring

Miscellaneous

  • build: align macOS deployment target to 26.0 (#1040) (266795f)
  • ignore .pi agent artifacts and group agent ignores (#1033) (4165087)

1.29.0 (2026-06-20)

Features

  • perf: Instruments template + OSSignposter tracing + input-latency rig (#1023) (eef658b), closes #1005

Bug Fixes

  • ci: repair screenshots.yml + add failure notification (#1019) (66e430a)
  • concurrency: cancel outstanding highlight work in Coordinator.deinit (#1016) (e48bd84), closes #1007
  • perf: move shallow loadTree off main thread in refreshFileTree (#1022) (ff17ec9)
  • split-pane: route commands through active pane + fix TabManager leak (#1024) (c0bd8da)

Documentation

  • sync AGENTS.md drift (debounce, snapshot count, thresholds) (#1017) (6af03d5), closes #1004

Miscellaneous

1.28.1 (2026-06-18)

Bug Fixes

  • terminal: accumulate residual delta for alternate-screen arrow-key scroll (#991) (508bb1f)
  • terminal: flush residual delta on scroll gesture phase boundaries (#992) (53020ec)
  • terminal: pixel-precise mouse forwarding for TUI scroll (#989) (9c1d8d2)

Documentation

  • document milestone-driven subagent orchestration workflow (#993) (50f7885)
  • move CLAUDE.md to AGENTS.md and document maintainer workflow (#988) (0e358c8)

1.28.0 (2026-06-17)

Features

  • git: add branch switch command (#977) (65ab725)
  • terminal: make file:line references clickable in terminal output (#949) (#983) (7be53ba)

Bug Fixes

  • keyboard: make global shortcuts independent of keyboard layout (#981) (94b7e53)
  • terminal: confirm before stopping foreground processes (#970) (#982) (a66f89e)

Code Refactoring

  • tabs: split TabManager.swift (900 LOC) into focused modules (#961) (76cbea3)

Documentation

  • correct branch protection rules (no up-to-date gate, no merge queue) (#987) (8c724b0)

1.27.2 (2026-06-11)

Miscellaneous

1.27.1 (2026-06-09)

Bug Fixes

  • terminal: dampen scrollback scroll speed to prevent runaway momentum (#965) (e4167e6)

Code Refactoring

  • config: remove dead code, extract shared logic, fix race condition (#959) (13dcb39)

Documentation

  • trim CLAUDE.md — remove duplication, add missing CI details (#964) (34be3ef)

Miscellaneous

  • deps: bump Sparkle 2.9.2 → 2.9.3, swift-argument-parser 1.7.1 → 1.8.2 (#963) (2261747)

1.27.0 (2026-06-06)

Features

  • editor: Shell script format-on-save via shfmt (#855) (85023a5)
  • syntax: improve Python grammar — f-strings, prefixes, builtins, exceptions (#958) (0324c39)

Bug Fixes

  • syntax: thin out facade, fix encapsulation, break circular dependency (#955) (#960) (4a9cd51)

Code Refactoring

  • config: split ConfigValidator.swift (798 LOC) into per-language files (522e894)
  • git: split GitStatusProvider.swift (959 LOC) into focused modules (#946) (8f9dac0)
  • introduce AlertTemplate builder to deduplicate NSAlert boilerplate (8055bed)
  • syntax: split SyntaxHighlighter.swift (1266 LOC) into 5 focused modules + facade (61fab81)

1.26.3 (2026-06-01)

Bug Fixes

  • ci: screenshot extraction via xcresulttool get test-results (#939) (dca495b)

1.26.2 (2026-05-27)

Bug Fixes

  • terminal: auto-focus terminal after Cmd+T (#941) (d7ded33)

Documentation

1.26.1 (2026-05-24)

Bug Fixes

  • editor: cursor jumps to wrong position after pressing Enter (#935) (a946eac)
  • editor: eliminate syntax highlighting flicker on Enter (#863) (#936) (aeba6de)

1.26.0 (2026-05-24)

Features

  • editor: YAML format-on-save via prettier (#929) (215a64d)
  • terminal: light theme for system light appearance (#931) (#932) (e80a2d3)

1.25.8 (2026-05-19)

Miscellaneous

1.25.7 (2026-05-13)

Miscellaneous

1.25.6 (2026-05-08)

Bug Fixes

  • terminal: redraw and SIGWINCH on re-parent for TUI alternate screen (#923) (05b3717)

1.25.5 (2026-05-04)

Bug Fixes

  • terminal: start PTY and redraw when adding second tab in same pane (#921) (db58615)

Code Refactoring

  • remove ProcessRunning protocol, force defaults, contentPreparedForSave overload (#902) (#907) (249bdcf)

Documentation

  • update CLAUDE.md with recent features and fixes (#875) (729ba15)

1.25.4 (2026-05-04)

Bug Fixes

  • terminal: auto-scroll scrollback when dragging selection past view bounds (#915) (#916) (37078b7)

1.25.3 (2026-04-28)

Bug Fixes

  • editor: align blank-line indent guides (#893) (f249226)

Code Refactoring

  • add runOnBackground helper, migrate withCheckedContinuation call-sites (#898) (#908) (16b078d)
  • extract UITimings constants for delays and debounces (#899) (#906) (de5b36d)

Miscellaneous

  • remove dead notifications and unused accessibility IDs (#896) (#905) (54ea351)

1.25.2 (2026-04-27)

Bug Fixes

  • editor: align indent guides with pixel-snapped font metrics (#878) (42c1474)

1.25.1 (2026-04-24)

Bug Fixes

  • sidebar: suppress progress indicator flicker during incremental file tree refresh (#877) (#879) (d526722)
  • workspace: clean up ProgressTracker operations on cancelled loads (#882) (e3c5156)

1.25.0 (2026-04-21)

Features

  • editor: external formatter infrastructure (#860) (8d4dab4)
  • editor: HCL/Terraform format-on-save with OpenTofu fallback (#869) (9a0f900)

Bug Fixes

  • editor: dispatch ExternalFileFormatter to background queue (#874) (1159ede)
  • terminal: force needsDisplay after re-parenting to prevent blank terminal (#871) (579a37a)

1.24.0 (2026-04-18)

Features

  • editor: wire SmartListContinuation into GutterTextView.insertNewline (#856) (e390c46)

Bug Fixes

  • editor: refresh syntax highlighting after format-on-save (#859) (830e98f)
  • enable PinePerformanceTests in scheme to fix nightly CI (#850) (66aaf9b)
  • use suggestedHumanReadableName for screenshot manifest parsing (#849) (3e1f25f)

Code Refactoring

  • workspace: rewrite loadDirectoryContentsAsync on pure Swift Concurrency (#841) (5f70ae7)

1.23.2 (2026-04-17)

Bug Fixes

  • workspace: restore external file change detection and sidebar refresh (#840) (24921cf), closes #838 #839

Miscellaneous

  • update Xcode project settings for Xcode 26.4 (#845) (fa4c0e0)

1.23.1 (2026-04-14)

Bug Fixes

  • terminal: normalize embedded terminal env (#834) (1bd8f4c)
  • test: replace polling with CheckedContinuation in LayoutStabilityTests (#824) (015a3fb)

1.23.0 (2026-04-13)

Features

  • editor: nested syntax highlighting inside fenced code blocks (#813) (e2f80ac)

Bug Fixes

  • terminal: use One Dark background for proper TUI contrast (#819) (4c640e4)
  • test: increase LayoutStabilityTests timeout to 60s for CI (#821) (#822) (78e307a)

1.22.0 (2026-04-13)

Features

  • editor: insert final newline on save (#799) (5cc2f5d)
  • terminal: add terminal theme picker with 6 built-in palettes (#817) (b165ae2)

Bug Fixes

  • editor: constrain diagnostic icon to fixed rect to prevent overlap (#811) (528997d)
  • editor: force diff gutter refresh via diffVersion counter (#810) (39df7ab)
  • test: resolve flaky LayoutStabilityTests on CI (#818) (7996d3f)

1.21.0 (2026-04-10)

Features

  • editor: add SmartListContinuation pure logic (#803) (c74bf85)
  • grammar: add setext headings, image links, nested emphasis to markdown (#786) (8a71f7c)

Bug Fixes

  • editor: diagnostic gutter icon hover/click regression (#784) (87840cb)
  • editor: guard SyntaxHighlighter against nil attribute values and concurrent access (#801) (fb46272), closes #790
  • editor: restore git diff gutter updates in split panes (#782) (609773b)
  • grammar: scan full text for multiline rules (fenced code interiors) (#789) (5584225)
  • sidebar: refresh tree promptly for changes from built-in terminal (#774) (#777) (0485df3)

Code Refactoring

  • app: split PineApp.swift into menu commands and notifications (#785) (2ea3bc3)
  • editor: split CodeEditorView.swift into focused files (#797) (370c91c)

1.20.1 (2026-04-09)

Bug Fixes

  • sidebar: align file-leaf icons with folder icons via chevron-width spacer (#770) (770fe2f)
  • sidebar: flatten file tree alignment by removing chevron (#778) (1690758)
  • sidebar: unify vertical rhythm across nesting levels (#766) (e69c5d6)
  • terminal: match Terminal.app Basic palette for TUI parity (#768) (7b091bc)

1.20.0 (2026-04-07)

Features

  • sidebar: rename files and folders with Enter key (#742) (97bfc98)

Bug Fixes

  • ci: unblock screenshots workflow blocked by gitignored asset paths (#760) (3e96b96)

1.19.0 (2026-04-07)

Features

Bug Fixes

  • grammars: unify dict key scope across Python, Ruby, JSON, YAML (#745) (2f96059)
  • sidebar: align inline rename row with siblings (#748) (8733b36)
  • terminal: restore readable bright-black for zsh autosuggestions (#754) (748ddc5)

1.18.3 (2026-04-07)

Bug Fixes

  • ci: make Detect Changes fail-safe on unreachable base SHA (#752) (3e38e3a), closes #751
  • ci: repair screenshots workflow (Swift 6 race + xcresult extraction) (#746) (b6f29e1)
  • git: stop status indicator flicker on rapid updates (#744) (f150928), closes #738
  • grammar: markdown syntax highlighting hierarchy (#735) (79a2959)
  • reload editor content on external file change (#734) (#743) (a6afebf)
  • terminal: align SwiftTerm ANSI palette with macOS system colors (#741) (e2faef3), closes #733

Code Refactoring

1.18.2 (2026-04-06)

Bug Fixes

  • concurrency: nonisolated InlineDiffProvider + CI guard for background queues (#719) (576e150)
  • diagnostic icons show explanation via tooltip and popover (#679) (#720) (3a22964)

1.18.1 (2026-04-06)

Bug Fixes

  • prune empty editor leaf when surrounded by terminals (#725) (856a7c8)

1.18.0 (2026-04-06)

Features

  • cross-type center drop creates auto-split pane (#714) (#715) (32b254b)
  • drag files from sidebar to open in specific editor pane (#709) (48a5cf3)
  • root-level drop zones for full-width/height pane splits (#713) (9ff1755)
  • split panes with terminal integration (#543) (#707) (d04be74)
  • terminal tab drag-and-drop reorder and cross-pane move (#711) (859a813)

Bug Fixes

  • clear stale pane drop-zone overlays after sidebar drag (#710) (#716) (00409ac)

Miscellaneous

  • update SwiftTerm to fix windowCommand crash (#717) (08323c4)

1.17.0 (2026-03-31)

Features

  • add file icons for Terraform, Helm, Vagrant, and DevOps tooling (#702) (44fb658)

1.16.1 (2026-03-31)

Bug Fixes

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

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)

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)

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)

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)

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

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

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)

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)

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)

1.9.2 (2026-03-22)

Bug Fixes

  • align line number baseline with editor text baseline (#395) (99e7d58)

1.9.1 (2026-03-22)

Bug Fixes

  • allow gitignored folders to be expanded in sidebar (#393) (f2c0d94)

1.9.0 (2026-03-22)

Features

  • add creator story section to landing page with i18n (#371) (b0fd2bc), closes #344
  • find in terminal (Cmd+F) (#372) (62a8a69)
  • i18n: add missing translations for 14 strings across 7 languages (#367) (4b99ba6), closes #327

Bug Fixes

  • editor find bar overlaps line numbers (#387) (cf6d395)
  • tests: add isSelected accessibility trait to active editor tab (#378) (f9134e6)

Code Refactoring

  • tests: replace sleep() with expectation-based waiting in UI tests (#370) (d2476ba)

1.8.0 (2026-03-21)

Features

Bug Fixes

  • ci: grant write permissions to Claude CI workflows (#356) (760f020)
  • correct upside-down branch icon in git blame annotations (#359) (c04c40f)
  • i18n: fix translation bugs in zh-Hans, de, and ru (#352) (b2b9652)
  • i18n: remove orphaned xcstrings keys that break Xcode 26 build (#355) (8b69059)
  • prevent line number gutter from overlapping native find bar (#354) (878bd62)
  • prevent Xcode from modifying Localizable.xcstrings on build (#350) (c6a7b38)

Documentation

  • add MIT license (#366) (3362374)
  • update CLAUDE.md to reflect current architecture and features (#353) (42df37a)

1.7.0 (2026-03-21)

Features

  • add auto-save files after delay (#329) (1bde1d9)
  • add code folding for collapsible regions (#276) (#287) (9583dcd)
  • add dedicated Terraform syntax highlighting grammar (#286) (a88925b)
  • add find & replace in editor via native macOS find bar (#341) (c49b729)
  • add git blame view with toggle via View menu (#288) (db303a0)
  • show line/column, indentation, line ending and file size in status bar (#339) (43330eb)

Bug Fixes

  • replace List with ScrollView+LazyVStack in welcome recent projects (#285) (faca3c1)
  • resolve corrupted rendering and multi-region fold issues (#291) (#321) (0c1ddee)
  • resolve performance regression in code folding (#320) (1a722d2)

Performance Improvements

  • cache line number offsets for O(log n) lookups (#326) (24c578a)
  • make file tree loading async and incremental (#325) (4a3d0ca)
  • make git operations async to unblock main thread (#319) (846fd01)
  • make syntax highlighting async and incremental (#322) (95e38c4)

1.6.1 (2026-03-20)

Bug Fixes

  • show gitignored directories in sidebar with dimmed appearance (#282) (b5fa8ab)

1.6.0 (2026-03-20)

Features

Bug Fixes

  • add SF Symbol icons to all menu items for consistent alignment (#269) (f21d688)
  • resolve session restore UI test flaky on CI (#272) (691308e)
  • scope all session metadata to project root files only (#270) (42ac8bd)

1.5.1 (2026-03-20)

Bug Fixes

  • add bottom inset to editor so last line is not clipped (#264) (b21a5d7)
  • remove contentMargins that clips first item in Welcome recent projects list (#263) (1b58c22), closes #207

1.5.0 (2026-03-19)

Features

  • add 18 syntax grammars, pattern-based filename matching, and CSS-in-HTML highlighting (#239) (6d47261)
  • add global project search (Cmd+Shift+F) (#226) (2482421)
  • replace sidebar segmented picker with native .searchable (#246) (598162a)
  • support block comments (Cmd+/) for HTML, CSS, Markdown, and SQL (#238) (d047755)

Bug Fixes

  • copy ignoredPaths from background git provider (#211) (e9dfb30)
  • place comment character at column 0, preserving indentation after it (#255) (da68b3b)
  • prevent cursor jumping to end of file after deleting a character (#253) (75531bb), closes #250
  • prevent deadlock by disabling undo registration during syntax highlighting (#254) (32a1283)
  • run git refresh asynchronously to prevent SIGSEGV on folder delete (#213) (96ad0cc)

Performance Improvements

Miscellaneous

  • update localizations for new UI strings (#241) (65aa881)

1.4.0 (2026-03-18)

Features

  • add lightbox for landing page screenshots (#202) (97f3665)
  • show recent projects in Dock context menu (#206) (7d2d845)

Bug Fixes

  • propagate untracked status to files and subdirectories inside untracked dirs (#205) (ea75208)
  • update Homebrew tap with versioned DMG filename (#198) (29fced4)

Performance Improvements

  • fix editor scroll lag on large files (#203) (d4a1435)

1.3.0 (2026-03-18)

Features

  • show formatted changelog in Sparkle update dialog (#194) (f12de06)

Bug Fixes

  • rename DMG file before upload to match appcast URL (#192) (a752e09)

Documentation

  • update README and landing page for v1.1.0 (#186) (9b9b5b6)
  • update screenshots for macOS 26 Liquid Glass UI (#193) (18bdcee)

1.2.1 (2026-03-18)

Bug Fixes

  • show abbreviated path (~/) in Welcome recent projects (#185) (2e24b80)

1.2.0 (2026-03-18)

Features

Bug Fixes

  • prevent file tree symlink traversal outside project root and break cycles (#183) (c93b86a)

1.1.0 (2026-03-17)

Features

  • add C and C++ syntax highlighting grammars (#156) (03743e8), closes #70
  • add Cmd+T shortcut for new terminal tab (#175) (3582aa7)
  • add minimap to code editor (#171) (4a43512)
  • add SQL syntax highlighting grammar (#177) (9349efa)
  • add toggle line comment with Cmd+/ (#178) (3c68f20)
  • bracket matching and highlight (#176) (b726adf)
  • editor font size zoom (Cmd+Plus/Minus) (#180) (22e41d6)
  • large file warning before opening (#179) (9bcf5b7)
  • persist terminal sessions across window close and app restart (#173) (e0e9374)

Bug Fixes

  • restrict Markdown preview links to safe URL schemes (#174) (26eed10), closes #167

1.0.0 (2026-03-17)

⚠ BREAKING CHANGES

  • prepare for 1.0.0 release (#137)

Miscellaneous

0.12.8 (2026-03-17)

Features

  • rewrite landing page and README for "fast, minimal, native" positioning (#153) (965d8fb)

0.12.7 (2026-03-17)

Bug Fixes

  • add missing localizations for menu.togglePreview (#148) (fadb9f0)
  • implement Xcode-style branch switching (#145) (e25fc24)
  • reset top content margins on Welcome recent projects list (#114) (#151) (959710f)
  • show file save errors in UI instead of console (#150) (ebfbcf0)

0.12.6 (2026-03-16)

Features

  • add duplicate action for directories in sidebar (#140) (eb435f7)

Bug Fixes

  • show line number for trailing empty line (#142) (30120a2), closes #128
  • show text content for files with unrecognized extensions (#144) (35f6eb7), closes #143

0.12.5 (2026-03-15)

Features

  • add native Markdown preview with source/preview/split modes (#56) (#136) (f0c008f)
  • add Quick Look preview for non-text files (#135) (4823424)

Bug Fixes

  • improve YAML syntax highlighting for nested keys, block scalars, and tags (#132) (455c7f3), closes #129
  • sync sidebar selection after session restore (#127) (8192a14)

Miscellaneous

  • upgrade actions/checkout from v4 to v6 (Node.js 24) (#133) (5b37356), closes #122

0.12.4 (2026-03-15)

Bug Fixes

  • increase default window size and sidebar width (#124) (79600b5)

0.12.3 (2026-03-15)

Bug Fixes

  • close button closes window instead of tabs one by one (#111) (9ad8f4c)
  • ensure Welcome window always reappears after closing project window (#121) (4a7f000)
  • highlight active file in sidebar file tree (#118) (a1ba1ae), closes #115

Documentation

0.12.2 (2026-03-14)

Features

  • add Release Please for automated versioning and changelog (79fa83f)

Bug Fixes

  • address review remarks in manager tests (bbf0acb)
  • use PAT token in release-please and handle existing releases (ad2abae)

Miscellaneous

  • fix review remarks for release-please setup (45fc987)
  • main: release 0.12.1 (5a49267)
  • main: release 0.12.1 (aca8151)

0.12.1 (2026-03-14)

Features

  • add Release Please for automated versioning and changelog (79fa83f)

Miscellaneous

  • fix review remarks for release-please setup (45fc987)