All notable changes to Neon Vision Editor are documented in this file.
The format follows Keep a Changelog. Versions use semantic versioning with prerelease tags.
- None.
- None.
- Native diff workflows are now available for comparing the current tab against disk and comparing two open tabs.
- iPhone and iPad toolbar/help surfaces are more discoverable, with a dedicated Toolbar Help entry and scrollable compact toolbars.
- Markdown Preview export is more reliable, including complete paginated PDF output and flexible one-page exports with tighter margins.
- Project sidebar actions on iPhone now open the expected file/folder pickers and keep new-file prompts stable.
- Markdown, plain-text extension handling, themes, and support-purchase messaging are more accurate across platforms.
- Added a native side-by-side diff view with change navigation, accessible hunk summaries, Compare with Disk, and Compare Open Tabs entry points.
- Added a full Toolbar Help section that explains toolbar symbols, groups actions by workflow, adapts to iPhone/iPad/macOS widths, and is reachable from the toolbar, macOS Help menu, and menu-bar extra.
- Expanded iPhone/iPad toolbar coverage so commonly used and previously overflow-only actions are visible in the scrollable toolbar, with Toolbar Help pinned next to Settings on iPad.
- Updated the Welcome Tour with the latest major features and a live support-purchase card that avoids premature App Store price-unavailable states.
- Added
.bakplain-text support and improved.zshrc/dotfile loading behavior. - Improved Markdown language detection and Markdown syntax highlighting for task lists, tables, reference links, front matter, images, autolinks, block quotes, thematic breaks, comments, and metadata-style lines.
- Added the
AMOLED Neoneditor theme and tuned several neon/raw theme string colors for clearer contrast. - Improved Markdown Preview typography on iPad and PDF export behavior for paginated and single-page output.
- Fixed iOS Save File behavior so saving an existing file no longer behaves like Save As.
- Fixed iPhone project-sidebar toolbar buttons so Open File/Open Folder actions present the expected picker dialogs.
- Fixed iPhone project-sidebar new-file creation so the filename dialog no longer disappears immediately and the new tab is created.
- Fixed iPhone diff-view header sizing so Compare Local vs Disk labels wrap less aggressively on compact widths.
- Fixed Code Snapshot on iPhone to default to Wrap layout for new composer sessions.
- Fixed support-page and Welcome Tour support pricing so primary actions do not show
Unavailablebefore StoreKit availability has been checked. - Fixed one-page Markdown PDF export so a single page uses tighter margins and a flexible page length based on content.
- Fixed paginated Markdown PDF export so all pages include their full captured text content.
- Fixed Settings window close behavior on macOS.
- Fixed translucent-window line-number/theme readability regressions.
- #33
Roadmap: Native side-by-side diff view - #70
[A11Y]: Define keyboard and VoiceOver behavior for diff navigation - #71
[Feature]: Compare two open tabs in a native diff view - #72
[Feature]: Compare current tab against on-disk version - #83
[Feature]: Change Translucent Window setting makes line numbers hard to read - #84
[Bug]: Close Settings window - #85
[Bug]: .bak ext. not supported?? - #86
[Bug]: .zshrc content not showing - #87
[Bug]: Save File acts like Save As on iOS - #88
Add .bak extension support as plain text
- None.
- None.
- Find-in-files now supports selective project-wide replace with explicit preview and cancellation controls.
- Navigation and edit workflows are faster with direct
Go to LineandGo to Symbolcommands. - macOS sidebar and tour overlays are more comfortable and consistent for daily keyboard/mouse use.
- Project sidebar disclosure controls now align better with file rows and are easier to recognize.
- Added selective project-wide replace from
Find in Fileswith match selection controls (Select All,Select None), apply, and cancel. - Added
Go to LineandGo to Symbolentry points for faster in-document navigation. - Improved Code Snapshot composer layout on macOS so settings controls track the snapshot composition width more tightly.
- Added support for opening
.cifand.mciffiles as plain-text documents. - Added a configurable project-sidebar disclosure symbol style (
Chevron,Triangle,Caret,Plus/Minus) in sidebar/global settings.
- Fixed macOS sidebar disclosure spacing so project disclosure controls are no longer pinned too close to the left edge.
- Fixed project sidebar row alignment so folder/file content columns line up consistently.
- Fixed project sidebar nested-file spacing for improved readability in expanded folders.
- Fixed macOS caret disclosure rendering by mapping to supported SF Symbols.
- Fixed macOS welcome-tour presentation so the tour window opens centered relative to the host editor window.
- Fixed Code Snapshot settings container default width so it no longer spans the full available sheet width on macOS.
- #73
[Feature]: Add project-wide replace with preview - #74
[Feature]: Add Go to Symbol for the current document - #75
[Feature]: Add Go to Line command - #76
[A11Y]: Add left padding and larger hit area for project disclosure controls - #82
[Feature]: Editor to open CIF files (Crystallographic Information File) or mcif
- None.
- None.
- The project sidebar is now more complete for day-to-day file management with better structure controls and direct item actions.
- Markdown Preview toolbar controls are cleaner and more discoverable with dedicated export/style actions plus localized labels.
- Added project sidebar item actions for creating files/folders, plus rename, duplicate, and delete flows.
- Refined project sidebar visual hierarchy and interaction density for clearer navigation in large trees.
- Added a dedicated Markdown Preview style toolbar button and consolidated export options into toolbar menus that appear only when preview is active.
- Expanded localization coverage for new Markdown Preview toolbar strings (including Simplified Chinese additions).
- Fixed missing localization coverage for newly introduced Markdown Preview toolbar labels/help text.
- Fixed Markdown Preview toolbar/menu availability so controls appear only in Markdown Preview mode.
- #77
[UI]: Refine project sidebar layout and visual hierarchy - #78
[Feature]: Add rename, delete, and duplicate actions for project items
- None.
- None.
- Remote workflows are clearer on every active surface, with better tab/session state, safer conflict recovery, and more complete iPhone/iPad remote-session support.
- Search,
Find in Files, andFind & Replaceare much more mature across macOS, iPhone, and iPad, with stronger keyboard flow, clearer match visibility, better sizing, and cleaner panel layouts. - Markdown Preview is more polished on all platforms with stronger live-preview readability, full-window themed preview rendering, and clearer export/share feedback.
- iPad editor chrome is more consistent, including tighter toolbar overflow behavior and better default sizing for the project-structure sidebar.
- German localization is more complete, especially in Settings and the recently polished search/preview surfaces.
- Completed the
0.6.0remote-workflow line with clearer remote tab/document/session state, broker failure clarity, explicit compare-before-reload conflict handling, and safer unsupported-file handling in the remote browser. - Expanded search and navigation maturity with stronger
Quick Openranking, clearer search-source/status messaging, groupedFind in Filesresults, direct toolbar entry points, and improved Return/selection behavior. - Added more cross-platform keyboard parity on iPad, including sidebar shortcuts, Settings tab navigation, and result-list arrow-key movement in search panels.
- Polished Markdown Preview with clearer export affordances, full-window live preview rendering, larger preview typography, and lightweight copy/export status messaging.
- Continued cross-platform UI refinement for
Find & Replace,Find in Files, project sidebar defaults, toolbar overflow placement, and theme selection visibility.
- Fixed Settings tab selection unexpectedly jumping back to
General. - Fixed German localization gaps in Settings
General, remote flows, search panels, and Markdown Preview controls. - Fixed theme selection and editor-selection contrast, including aligned selection color behavior for
Neon Glowand stronger selection emphasis across built-in themes. - Fixed
Find & ReplaceandFind in Filesusability regressions across macOS, iPhone, and iPad, including close behavior, live match visibility, result counts, clear actions, panel sizing, button readability, and dark-mode contrast. - Fixed iPad toolbar crowding by moving
Close All Tabsinto the overflow menu and tightening overflow placement inside the glass toolbar. - Fixed iPad project-structure sidebar default width so the localized title no longer clips on first presentation.
- None.
- None.
- iPhone project-sidebar controls are visible again after the duplicate title/header was removed.
- Added a small iOS hotfix release for the project-sidebar header regression introduced during the
0.5.8sidebar cleanup.
- Fixed iPhone project-sidebar header actions so
Open Folder,Open File, refresh, and the sidebar menu remain visible even when the duplicate inlineProject Structuretitle is hidden.
- None.
- None.
- Huge files now reach first content faster through deferred, chunked installation instead of a single blocking editor handoff.
- Large-file sessions stay more responsive while the rest of the document is installed in the background.
- Large-file status is clearer while deferred loading is active, with visible session affordances for the active open mode.
- Remote workflows can now be started from the Mac, attached from iPhone and iPad, and used to browse, open, edit, and explicitly save supported remote text files through the Mac-hosted broker.
- Markdown preview export controls and the project sidebar now use a denser, more polished layout across macOS, iPhone, and iPad.
- Added the
0.5.8release line for incremental loading of huge files, centered on the deferred/chunked open path tracked in#28. - Expanded the large-file open flow with a lightweight preparation state before the full editor content is installed.
- Completed the large-file session controls so
Standard,Deferred, andPlain Textmodes remain available when performance mode is active. - Added a Mac-hosted remote session broker with SSH-key startup, attach codes for iPhone/iPad clients, a remote browser, remote open, explicit remote save, and remote revision-token conflict protection.
- Added clearer Remote settings guidance for local Mac SSH targets, attach-code usage, and the split between the Mac SSH owner and iPhone/iPad broker clients.
- Polished the project sidebar and Markdown preview chrome across platforms with tighter spacing, cleaner separators, and more consistent export-control placement.
- Fixed huge-file first paint stalls by avoiding a single full-text install on initial open.
- Fixed large-file session handoff so caret and editing state remain stable while chunks continue installing.
- Fixed deferred large-file completion so the final editor content still matches the source file exactly after background installation finishes.
- Fixed the macOS Settings crash caused by presenting the Remote tab without injecting the active
EditorViewModel. - Fixed stale remote status/help text that still referred to earlier phase-limited transport behavior after broker attach, remote browser, remote open, and explicit save were already implemented.
- Fixed project sidebar chrome and spacing issues across macOS and iPad, including duplicate dividers, over-rounded panel edges, and overly loose disclosure spacing.
- None.
- None.
- Markdown preview on iPhone now uses a cleaner stacked layout and presents PDF export from the active preview flow.
- Markdown preview controls on macOS and iPad now use a more centered, balanced layout with direct export/share/copy actions.
- Appearance handling is more consistent when macOS follows the system light/dark setting, including Settings and editor window surfaces.
- iPad editor surfaces now avoid stray white seams and mismatched panel backgrounds around sidebars, split panes, and markdown preview.
- App Store support-purchase messaging is safer for review and restricted environments where in-app purchases are unavailable.
- Project indexing and iPad Vim-mode wiring are more complete for the
Quick Open,Find in Files, and keyboard-first editing flows introduced around the0.5.6line.
- Completed the project-file index snapshot flow so project refreshes can reuse unchanged entries while continuing to feed
Quick OpenandFind in Files. - Completed iPad Vim-mode integration with a dedicated Settings toggle, shared persistence, and visible mode-state reporting on iPad.
- Expanded the Code Snapshot composer with a
Customlayout mode, better cross-platform sizing behavior, and cleaner control grouping.
- Fixed iPhone Markdown preview layout so title, controls, and export action read cleanly in a centered vertical flow.
- Fixed iPhone Markdown PDF export so the file exporter is presented from the active preview sheet instead of silently failing behind it.
- Fixed macOS and iPad Markdown preview control layout so template, PDF mode, and actions sit in a centered, platform-appropriate grouping.
- Fixed Code Snapshot spacing, preview sizing defaults, iPhone overflow, and iPad/macOS width behavior across
Fit,Wrap,Readable, andCustom. - Fixed macOS appearance switching so editor, sidebar, header, and Settings surfaces stay synchronized when the app follows the system mode.
- Fixed iPad editor chrome so split-pane dividers, project sidebar containers, and related surfaces no longer flash unintended white backgrounds.
- Fixed support-purchase messaging so unavailable StoreKit environments no longer blame App Store login or Screen Time during App Review-style sessions.
- None.
- None.
- Safe Mode now recovers from repeated failed launches without getting stuck on every normal restart.
- Large project folders now get a background file index that feeds
Quick OpenandFind in Filesinstead of relying only on live folder scans. - Markdown documents can now be exported directly from preview as PDF in both paginated and one-page formats.
- Theme formatting and Settings polish now apply immediately, with better localization and an iPad hardware-keyboard Vim MVP.
- Added Safe Mode startup recovery with repeated-failure detection, blank-document launch fallback, a dedicated startup explanation, and a
Normal Next Launchrecovery action. - Added a background project file index for larger folders and wired it into
Quick Open,Find in Files, and project refresh flows. - Added Markdown preview PDF export with paginated and one-page output modes.
- Added an iPad hardware-keyboard Vim MVP with core normal-mode navigation/editing commands and shared mode-state reporting.
- Added theme formatting controls for bold keywords, italic comments, underlined links, and bold Markdown headings across active themes.
- Fixed Safe Mode so a successful launch clears recovery state and normal restarts no longer re-enter Safe Mode unnecessarily.
- Fixed Markdown PDF export clipping so long preview content is captured more reliably across page transitions and document endings.
- Fixed theme-formatting updates so editor styling refreshes immediately without requiring a theme switch.
- Fixed the editor font-size regression introduced by theme-formatting changes by restoring the base font before applying emphasis overrides.
- Fixed duplicated Settings tab headings, icon/title alignment, and formatting-card placement to reduce scrolling and keep the Designs tab denser.
- Fixed German Settings localization gaps and converted previously hard-coded diagnostics strings to localizable text.
- None.
- None.
- Stabilized first-open rendering from the project sidebar so file content and syntax highlighting appear on first click without requiring tab switches.
- Hardened startup/session behavior so
Reopen Last Sessionreliably wins over conflicting blank-document startup states. - Refined large-file activation and loading placeholders to avoid misclassifying smaller files as large-file sessions.
- Added Share Shot (
Code Snapshot) creation flow with toolbar + selection-context actions (camera.viewfinder) and a styled share/export composer. - Added TeX/LaTeX language support with syntax highlighting and extension-aware language mapping.
- Fixed a session-restore regression where previously open files could appear empty on first sidebar click until changing tabs.
- Fixed highlight scheduling during document-state transitions (
switch,finish load, external edits) on macOS, iOS, and iPadOS. - Fixed startup-default conflicts by aligning defaults and runtime startup gating between
Reopen Last SessionandOpen with Blank Document. - Fixed macOS shutdown persistence timing by saving session/draft snapshots on
willResignActiveandwillTerminate. - Fixed line-number ruler refresh timing to reduce layout churn/flicker and avoid draw-time retile side effects.
- Fixed horizontal viewport carry-over during document transitions so left-edge content no longer opens clipped.
- None.
- None.
- Large files now open through a deferred, chunked install path instead of a single blocking first paint.
- Large-file sessions can switch between
Standard,Deferred, andPlain Textmodes directly in the editor UI. - Status and large-file chrome are clearer, with line counts, session indicators, and better release-state visibility.
- Added a dedicated large-file open mode with deferred first paint, chunked text installation, and an optional plain-text session mode for ultra-large documents.
- Fixed large-file responsiveness regressions across project-sidebar reopen, tab switching, line-number visibility, status metrics, and large-file editor rendering stability.
- None.
- None.
- Added a new high-readability colorful light theme preset:
Prism Daylight(also selectable while app appearance is set to dark). - Added double-click-to-close behavior for tabs on macOS tab strips.
- Added split editor settings sections (
Basics/Behavior) to reduce scrolling in the Editor tab.
- Improved custom theme vibrancy by applying the vivid neon syntax profile to
Custom, so syntax colors remain bright and saturated. - Improved Cyber Lime readability in light mode by reducing overly bright green token intensity and switching to a blue cursor accent.
- Improved toolbar symbol color options on macOS with clearer separation between
Dark GrayandBlack, plus near-white rendering in dark mode for both options. - Improved translucent macOS toolbar consistency by enforcing
0.8opacity for toolbar surfaces in translucency mode.
- Fixed toolbar-symbol contrast edge cases in dark mode where gray/black variants could appear too similar.
- Notarized release published via
scripts/release_all.sh v0.5.3 notarized.
- Added editor performance presets in Settings (
Balanced,Large Files,Battery) with shared runtime mapping. - Added configurable project navigator placement (
Left/Right) for project-structure sidebar layout. - Added richer updater diagnostics details in Settings: staged update summary, last install-attempt summary, and recent sanitized log snippet.
- Added CSV/TSV table mode with a
Table/Textswitch, lazy row rendering, and background parsing for larger datasets. - Added an in-app
Editor Helpsheet that lists core editor actions and keyboard shortcuts. - Added a dedicated
Support Neon Vision Editor…entry to the macOSHelpmenu for direct support-dialog access.
- Improved iOS/iPadOS large-file responsiveness by lowering automatic large-file thresholds and applying preset-based tuning.
- Improved project-sidebar open flow by short-circuiting redundant opens when the selected file is already active.
- Fixed missing diagnostics reset workflow by adding a dedicated
Clear Diagnosticsaction that also clears file-open timing snapshots. - Fixed macOS editor-window top-bar jumping when toggling the toolbar translucency control by keeping chrome flags stable.
- Fixed CSV/TSV mode header transparency so the mode bar now uses a solid standard window background.
- Fixed settings-window translucency consistency on macOS so title/tab and content regions render as one unified surface.
- Fixed cross-platform updater diagnostics compilation by adding a non-macOS bundle-version reader fallback.
- Fixed macOS system
Helpmenu fallback ("no help available") by replacing it with working in-app help actions.
- Added bulk
Close All Tabsactions to toolbar surfaces (macOS, iOS, iPadOS), including a confirmation step before closing. - Added project-structure quick actions to expand all folders or collapse all folders in one step.
- Added six vivid neon syntax themes with distinct color profiles:
Neon Voltage,Laserwave,Cyber Lime,Plasma Storm,Inferno Neon, andUltraviolet Flux. - Added a lock-safe cross-platform build matrix helper script (
scripts/ci/build_platform_matrix.sh) to run macOS + iOS Simulator + iPad Simulator builds sequentially. - Added iPhone Markdown preview as a bottom sheet with toolbar toggle and resizable detents for Apple-guideline-compliant height control.
- Added unsupported-file safety handling across project sidebar, open/import flows, and user-facing unsupported-file alerts instead of crash paths.
- Added a project-sidebar switch to show only supported files (enabled by default).
- Added SVG (
.svg) editor file support with XML language mapping and syntax-highlighting path reuse.
- Improved Markdown preview stability by preserving relative scroll position during preview refreshes.
- Improved Markdown preview behavior for very large files by using a safe plain-text fallback with explicit status messaging instead of full HTML conversion.
- Improved neon syntax vibrancy consistency by extending the raw-neon adjustment profile to additional high-intensity neon themes.
- Improved contributor guidance with a documented lock-safe platform build verification command in
README.md. - Improved iPhone markdown preview sheet header density by using inline navigation-title mode to align title height with the
Done/Fertigaction row.
- Fixed diagnostics export safety by redacting token-like updater status fragments before copying.
- Fixed Markdown regression coverage with new tests for Claude-style mixed-content Markdown and code-fence matching behavior.
- Fixed accidental destructive tab-bulk-close behavior by requiring explicit user confirmation before closing all tabs.
- Fixed missing localization for new close-all confirmation/actions by adding English and German strings.
- Added updater staging hardening with retry/fallback behavior and staged-bundle integrity checks.
- Added explicit accessibility labels/hints for key toolbar actions and updater log/progress controls.
- Added a 0.5.0 quality roadmap milestone with focused issues for updater reliability, accessibility, and release gating.
- Improved CSV handling by enabling fast syntax profile earlier and for long-line CSV files to reduce freeze risk.
- Improved settings-window presentation on macOS by enforcing hidden title text in the titlebar.
- Improved README roadmap clarity with direct 0.5.0 milestone and issue links.
- Fixed updater staging resilience when
dittofails by retrying and falling back safely to copy-based staging. - Fixed release preflight to fail on unresolved placeholder entries and stale README download metrics.
- Fixed inconsistent reappearance of the macOS settings tab title in the upper-left window title area.
- iPhone editor now shows a floating Liquid Glass status pill with live caret and word metrics.
- Added a searchable Language picker (
Cmd+Shift+L) on macOS, iOS, and iPadOS.
- Language picker behavior is now consistent: compact toolbar labels with full language names in selection lists.
- iOS/iPad settings cards were visually simplified by removing accent stripe lines across tabs.
- Wrapped-line numbering on iOS/iPad now uses sticky logical line numbers instead of repeating on every visual wrap row.
- Floating status pill word counts stay in sync with live editor content while typing.
- Added performance instrumentation for startup first-paint/first-keystroke and file-open latency in debug builds.
- Added iPad hardware-keyboard shortcut bridging for New Tab, Open, Save, Find, Find in Files, and Command Palette.
- Added local runtime reliability monitoring with previous-run crash bucketing and main-thread stall watchdog logging in debug.
- Improved command palette behavior with fuzzy matching, command entries, and recent-selection ranking.
- Improved large-file responsiveness by forcing throttle mode during load/import and reevaluating after idle.
- Improved project-wide search on macOS via ripgrep-backed Find in Files with fallback scanning.
- Improved iPad toolbar usability with larger minimum touch targets for promoted actions.
- Fixed iPad keyboard shortcut implementation to avoid deprecated UIKit key-command initializer usage.
- Fixed startup restore flow to recover unsaved draft checkpoints before blank-document startup mode.
- Fixed command/find panels with explicit accessibility labels, hints, and initial focus behavior.
- Added native macOS
SettingsLinkwiring for the menu bar entry so it opens the Settings scene through the system path.
- Improved macOS command integration by preserving the system app-settings command group and standard Settings routing behavior.
- Improved project-folder last-session restoration reliability by keeping security-scoped folder access active before rebuilding the sidebar tree.
- Fixed non-standard Settings shortcut mapping by restoring the macOS standard
Cmd+,behavior. - Fixed startup behavior when "Open with Blank Document" is enabled so launch always opens exactly one empty document.
- Added an AI Activity Log on macOS with a dedicated diagnostics window and menu entry to inspect startup/provider events.
- Added centralized macOS app command wiring for settings, AI diagnostics, updater, editor actions, and window-level command routing.
- Added a full Flux/command-pattern redesign completed in a parallel session.
- Improved release automation resiliency in
scripts/release_all.shwith fail-fastghauth checks, workflow/runner prechecks, stricter workflow status handling, and retryable asset verification. - Improved settings startup behavior to preserve user-selected tabs/preferences and avoid redundant refresh work when opening Settings.
- Improved Settings responsiveness by moving font discovery off the main thread and reducing unnecessary window configurator reapplication churn.
- Improved Swift 6 readiness with a full concurrency hardening audit completed beyond this patch scope.
- Fixed startup preference regressions that previously re-disabled completion and other editor behaviors on every launch.
- Fixed settings invocation edge cases on macOS by removing duplicate keyboard interception and avoiding double signaling when system Settings handling succeeds.
- Fixed release flow false-success scenarios by requiring notarized workflow success (
gh run watch --exit-status) and surfacing failed-job logs immediately.
- Added a native macOS Markdown preview web view with template presets (Default, Docs, Article, Compact) and toolbar access.
- Added richer Markdown-to-HTML rendering for headings, lists, blockquotes, code fences, links, and inline formatting in preview mode.
- Improved Markdown code-block typography/spacing in preview so fenced blocks render with tighter, editor-like line density.
- Improved editor-to-binding synchronization safeguards while the text view has focus to prevent stale-state overwrites during active interaction.
- Fixed cursor/caret jump regressions where selection could unexpectedly snap to a much earlier position after paste/update timing races.
- Fixed cursor stability during click placement/editing across Markdown and other text files by preserving live editor state during view updates.
- Added explicit English (
en) and German (de) support strings for the Support/IAP settings surface to keep release copy consistent across locales. - Added support-price freshness state with a visible “Last updated” timestamp in Support settings after successful App Store product refreshes.
- Improved updater version normalization so release tags with suffix metadata (for example
+build,(build 123), or prefixed release labels) are compared using the semantic core version. - Improved Support settings refresh UX with a loading spinner on the “Retry App Store” action and clearer status messaging when price data is temporarily unavailable.
- Fixed updater detection for same-version releases where build numbers differ, ensuring higher build updates are still detected correctly.
- Fixed release automation safety when tags already exist by validating both local and remote tag targets against
HEADbefore proceeding without--retag.
- Added faster large-file loading safeguards to keep full-content attachment reliable across repeated opens.
- Added cross-platform
Save As…command wiring so renamed saves are accessible from toolbar/menu flows on macOS, iOS, and iPadOS.
- Improved large HTML/CSV editing responsiveness by reducing expensive full-buffer sanitization and update-path overhead.
- Improved macOS Settings UX with smoother tab-to-tab size transitions and tighter dynamic window sizing.
- Improved iOS/iPadOS toolbar language picker sizing so compact labels remain single-line and avoid clipping.
- Improved iPadOS toolbar responsiveness by rebalancing promoted actions vs
...overflow based on live window width. - Improved iPadOS toolbar overflow stability to prevent temporary clipping/jitter of the
...menu during interaction.
- Fixed an intermittent large-file regression where only an initial preview-sized portion (around ~500 lines) remained visible after reopen.
- Fixed iPadOS narrow-window tab overlap with window controls by increasing/adjusting tab strip leading clearance.
- Fixed macOS welcome/start screen presentation so it opens centered and remains draggable as a regular window.
- Fixed iPadOS top chrome spacing regression by restoring toolbar placement behavior to the pre-centering baseline.
- Consolidated iOS/iPadOS toolbar polish shipped after
v0.4.26, including language token fitting, overflow action promotion, and menu stability under narrow multitasking layouts. - Consolidated macOS first-launch UI behavior fixes shipped after
v0.4.26, including welcome-window positioning and drag behavior consistency.
- Added compact iOS/iPadOS toolbar language labels and tightened picker widths to free toolbar space on smaller screens.
- Improved iPad toolbar density/alignment so more actions are visible before overflow and controls start further left.
- Improved macOS translucent chrome consistency between toolbar, tab strip, and project-sidebar header surfaces.
- Fixed macOS project-sidebar top/header transparency bleed when unified translucent toolbar backgrounds are enabled.
- Added cross-platform bracket helper insertion controls: keyboard accessory helper on iOS/iPadOS and a toggleable helper bar on macOS.
- Added a dedicated macOS toolbar toggle to show/hide the bracket helper bar on demand.
- Improved settings/navigation polish across iOS, iPadOS, and macOS, including tab defaults and visual consistency for support-focused flows.
- Improved release automation reliability for
v0.4.26by validating and aligning versioning/preflight flow with current project state.
- Fixed iOS/iPadOS build regression in
NeonSettingsView(some Viewopaque return inference failure). - Fixed post-rebase project-tree compile break on macOS by restoring refresh-generation state wiring and compatible node construction.
- Fixed toolbar/theme consistency regressions that reintroduced pink-accent styling in iOS settings paths.
- Added completion/signpost instrumentation (
os_signpost) for inline completion, syntax highlighting, and file save paths to support performance profiling.
- Improved inline code completion responsiveness with trigger-aware scheduling, adaptive debounce, and short-lived context caching.
- Improved editor rendering performance with coalesced highlight refreshes and reduced heavy-feature work on very large documents.
- Fixed redundant save writes by skipping unchanged file content saves via content fingerprinting.
- Fixed macOS syntax-highlighting churn during typing by limiting many highlight passes to local edited regions when safe.
- Added Lua as a selectable editor language with filename/extension detection and syntax highlighting token support.
- Improved iOS settings readability by increasing section contrast so grouped settings remain distinct from the background.
- Improved iOS top toolbar action order by placing Open File first for faster access.
- Fixed iOS toolbar overflow behavior to keep a single working three-dot overflow menu and preserve hidden actions.
- Added optional support-purchase content to Welcome Tour page 2, including live StoreKit price and direct purchase action.
- Improved welcome-tour flow by moving Toolbar Map to the final page and updating toolbar shortcut hints for iPad hardware keyboards.
- Improved Settings editor-layout readability by left-aligning Editor tab section headers, controls, and helper text into a consistent single-column layout.
- Fixed Settings support UI to remove restore-purchase actions where restore flow is not supported in current settings workflow.
- Fixed Refresh Price behavior to re-evaluate StoreKit availability before refreshing product metadata.
- Fixed font chooser instability by removing the macOS
NSFontPanelbridge path and using the in-settings font list selector flow.
- Added shared syntax-regex compilation cache to reuse
NSRegularExpressioninstances across highlight passes on macOS and iOS.
- Improved large-document editor responsiveness by avoiding full syntax-regex reprocessing on caret-only moves and updating only transient line/bracket/scope decorations.
- Improved iOS line-number gutter performance by caching line-count driven rendering and avoiding full gutter text rebuilds when the line count is unchanged.
- Fixed macOS line-number ruler hot-path overhead by replacing per-draw line-number scans with cached UTF-16 line-start indexing and O(log n) lookup.
- Added curated popular editor themes: Dracula, One Dark Pro, Nord, Tokyo Night, and Gruvbox.
- Improved macOS self-hosted updater flow to download and verify releases in-app, then stage installation for background apply on app close/restart.
- Improved updater platform/channel safety by enforcing install actions only for direct-distribution macOS builds (never iOS/App Store).
- Fixed Main Thread Checker violations in
EditorTextViewby ensuringNSTextView.stringandselectedRangesnapshot reads occur on the main thread. - Fixed Neon Glow theme token mapping to match intended palette readability (dark gray comments, exact
#003EFFstring blue).
- Added iOS editor paste fallback handling that forces safe plain-text insertion when rich pasteboard content is unavailable or unreliable.
- Improved syntax token readability across themes with appearance-aware color tuning (darker vibrant tokens in Light mode, brighter tokens in Dark mode), with extra tuning for Neon Glow.
- Fixed iOS paste reliability regressions in the editor input view.
- Fixed line-number gutter/text overlap on large files by making gutter width dynamic based on visible digit count on both iOS and macOS.
- Added adaptive theme background normalization so selected themes follow appearance mode (light in Light mode, dark in Dark/System-dark mode) without changing theme identity.
- Improved cross-platform editor readability by enforcing mode-aware base/background contrast for all built-in themes, including Neon Glow.
- Fixed macOS line-number ruler behavior where line numbers could disappear near end-of-document when scrolling to the bottom.
- Fixed iOS line-number gutter sync at bottom scroll positions by clamping gutter content offset to valid bounds.
- Added iOS/macOS regression coverage in the editor refresh path so syntax highlighting remains stable across toolbar/menu and focus transitions.
- Improved editor rendering consistency by preventing view-update color assignments from overriding attributed syntax token colors.
- Fixed iOS issue where opening the toolbar
...menu could temporarily drop syntax highlighting. - Fixed macOS issue where moving focus away from the editor/window could temporarily drop syntax highlighting.
- Added translucency-toggle highlight refresh wiring so editor recoloring is explicitly re-triggered when window translucency changes.
- Improved syntax-highlighting stability during appearance/translucency transitions by forcing an immediate refresh instead of waiting for unrelated edits.
- Fixed a macOS editor bug where toggling translucent window mode could temporarily hide syntax highlighting until another action (for example changing font size) forced a rehighlight.
- Added a release-doc synchronization gate to
release_all.shviaprepare_release_docs.py --checkso releases fail fast when docs are stale. - Added a delegate-based updater download service that reports live progress into the update dialog.
- Improved updater install flow to stay user-driven/manual after verification, with Finder handoff instead of in-place app replacement.
- Improved editor appearance switching so base text colors are enforced immediately on light/dark mode changes across macOS and iOS.
- Fixed light-mode editor base text color to consistently use dark text across themes.
- Fixed dark-mode editor base text color to consistently use light text across themes.
- Fixed updater dialog post-download actions to show manual install choices (
Show in Finder/View Releases) with accurate progress and phase updates.
- Fixed the editor
Highlight Current Linebehavior on macOS so previous line background highlights are cleared and only the active line remains highlighted.
- Added centralized theme canonicalization with an explicit
Customoption in settings so legacy/case-variant values resolve consistently across launches. - Added a fallback GitHub Releases URL path in the updater dialog so
View Releasesalways opens, even when no latest-release payload is cached. - Added keychain-state restore/cleanup steps to notarized release workflows (and workflow templates) to prevent user keychain list/default/login mutations after signing jobs.
- Improved macOS translucent-window rendering by enforcing unified toolbar style and full-size content behavior when translucency is enabled.
- Improved cross-platform theme application so iOS/macOS editor text + syntax colors respect the selected settings theme in both translucent and non-translucent modes.
- Improved iOS settings/action tint parity to use blue accent coloring consistent with macOS.
- Fixed updater release-source validation regression that could block manual update checks in local/Xcode runs.
- Fixed toolbar/titlebar visual mismatch where toolbar areas rendered too opaque/white when translucency was enabled.
- Fixed settings theme-selection drift by normalizing persisted theme values and applying canonical names on read/write.
- Added
scripts/run_selfhosted_notarized_release.shhelper to trigger/watch the self-hosted notarized release workflow and verify uploaded assets.
- Hardened updater repository-source validation to accept both
github.com/{owner}/{repo}and GitHub REST API paths (api.github.com/repos/{owner}/{repo}). - Improved updater behavior in local Xcode/DerivedData runs by disabling automatic install/relaunch in development runtime.
- Fixed update dialog failures caused by over-strict GitHub release-source path validation.
- Fixed startup reliability by removing eager Keychain token reads/migration on launch paths and treating missing-keychain datastore statuses as non-fatal token-missing cases.
- Fixed local debug key handling by using
UserDefaultsfallback inDEBUGbuilds to avoid blockingSecItemCopyMatchingbehavior during local runs.
scripts/release_all.shnow acceptsnotarizedas a positional alias, soscripts/release_all.sh v0.4.12 notarizedworks directly.
- Hosted notarized release workflow now enforces Xcode 17+ to preserve the Tahoe light/dark
AppIcon.iconpipeline. - Release asset verification now runs in strict iconstack mode to ensure published assets contain
AppIcon.iconstack.
- Removed Xcode 16 fallback icon-copy path that could produce Sequoia/non-light-dark icon payloads in release assets.
- ExpressionEngine language support in the editor language set.
- Plain text drag-and-drop support so dropped string content opens correctly in the editor.
- Release/docs metadata with TestFlight beta link surfaced in project documentation and download guidance.
- Release pipeline compatibility for hosted environments with Xcode 16 fallback handling.
- Notarized release publishing now hard-fails when icon payload validation fails, preventing bad assets from being published.
- macOS Settings sizing now enforces a taller default window to avoid clipped controls.
- Release gate in
scripts/release_all.shnow waits for a successfulPre-release CIrun on the pushed commit before triggering notarization.
- Hosted notarized workflow now allows an explicit Xcode 16+ fallback path when Xcode 17 is unavailable on GitHub-hosted runners.
- Settings window responsiveness on macOS by deferring/caching editor font list loading.
- Reduced settings-open latency by removing forced full-window redraw calls during appearance application.
- Pre-release CI workflow on
main/PR with critical runtime checks, docs validation, and icon payload verification. - Release dry-run workflow and local
scripts/release_dry_run.shcommand for pre-tag validation. - Release runtime policy test suite (
ReleaseRuntimePolicyTests) covering settings-tab routing, theme mapping, find-next cursor behavior, and subscription button state logic.
- Unified release automation in
scripts/release_all.shto run preflight checks before tagging and to verify uploaded release assets after notarized publish. - README changelog summary automation now keeps release summaries version-sorted and limited to the latest three entries.
- Notarized workflows now include compatibility fallbacks so older tags without
scripts/ci/*can still be rebuilt and published.
- Fixed macOS toolbar Settings (gear) button path to open the Settings scene reliably via SwiftUI
openSettings. - Hardened release workflows with post-publish verification and rollback behavior (delete bad asset and mark release draft on verification failure).
- Extended release automation coverage for the next tag cycle, including synchronized README/changelog/welcome-tour release content updates.
- macOS settings parity with iOS by wiring the
Open in Tabspreference into live window tabbing behavior. - Welcome Tour release highlights are now aligned with distribution content for current App Store/TestFlight-facing builds.
- Release workflow environment compatibility by removing hard
rgdependency from docs validation steps. - Release pipeline guard failures caused by placeholder release notes (
TODO) in the tag section.
- Indentation-based scope detection fallback for Python/YAML to render scoped-region and guide markers when bracket-only matching is not sufficient.
- Release workflow compatibility fallback for doc validation (
grep-based checks), so release jobs no longer depend onrgbeing preinstalled on runners.
- Scope/bracket highlighting stability by dropping stale asynchronous highlight passes and applying only the latest generation.
- Visibility of matched bracket tokens and scope guide markers for easier detection on iOS and macOS.
- Settings window opening/persistence path now uses the native Settings scene behavior, avoiding custom frame persistence conflicts.
- iOS appearance override handling for light/dark/system now applies consistently across app windows/scenes.
- Self-hosted notarized release workflow for macOS (
release-notarized-selfhosted.yml) targeting macOS runners with Xcode 17+. - Automated icon payload preflight in notarized release pipelines to block publishing assets with missing AppIcon renditions.
- Release automation wiring so
scripts/release_all.sh --notarizedtriggers the self-hosted notarized workflow.
- Release tooling robustness in
release_all.sh/release_prep.shfor optional arguments and end-to-end docs flow. - Welcome Tour release page automation now derives the first card from the selected changelog section during release prep.
- Notarized workflow now validates toolchain requirements for icon-composer-based app icon assets.
- Support purchase testing bypass is now hidden in distributed release builds (kept only for debug/simulator testing paths).
- Replaced deprecated receipt URL usage in support purchase gating with StoreKit transaction environment checks.
- Restored release icon source mapping to
AppIcon.icon(dark/light icon pipeline) instead of using the fallback iOS icon set in release builds.
- Optional support purchase flow (StoreKit 2) with a dedicated Settings -> Support tab.
- Local StoreKit testing file (
SupportOptional.storekit) and App Store review notes (docs/AppStoreReviewNotes.md). - New cross-platform theme settings panel and iOS app icon asset catalog set.
- Settings architecture cleanup: editor options consolidated into Settings dialog/sheet and aligned with toolbar actions.
- Language detection and syntax highlighting stability for newly opened tabs and ongoing edits.
- Sequoia/Tahoe compatibility guards and cross-platform settings presentation behavior.
- Consolidated macOS app icon source to a single
Resources/AppIcon.iconcatalog (removed duplicateAssets.xcassets/AppIcon.icon).
- iOS build break caused by missing settings sheet state binding in
ContentView. - Find panel behavior (
Cmd+F, initial focus, Enter-to-find-next) and highlight-current-line setting application. - Line number ruler rendering overlap/flicker issues from previous fragment enumeration logic.
- Editor text sanitization paths around paste/tab/open flows to reduce injected visible whitespace glyph artifacts.
- Prevented reintroduced whitespace/control glyph artifacts (
U+2581,U+2400–U+243F) during typing/paste by hardening sanitizer checks in editor update paths. - macOS line-number gutter redraw/background mismatch so the ruler keeps the same window/editor tone without white striping.
- Inline code completion ghost text with Tab-to-accept behavior.
- Starter templates for all languages and a toolbar insert button.
- Welcome tour release highlights and a full toolbar/shortcut guide.
- Language detection tests and a standalone test target.
- Document-type registration so
.plist,.sh, and general text files open directly in the editor on macOS and iOS/iPadOS. - Release Assistant helper app plus scripted workflow for uploading
v0.4.4-beta.
- Language detection coverage and heuristics, including C and C# recognition.
- Toolbar Map card in the welcome tour now wraps the button grid inside a taller inner frame to keep the cards inside the border.
- Language picker behavior to lock the selected language and prevent unwanted resets.
- Syntax highlighting for COBOL, Dotenv, Proto, GraphQL, reStructuredText, and Nginx.
- Language picker/menu entries for the new languages.
- Sample fixtures for manual verification of detection and highlighting.
- macOS document-type registration for supported file extensions.
- Extension and dotfile language detection for
.cob,.cbl,.cobol,.env*,.proto,.graphql,.gql,.rst, and.conf. - Opening files from Finder/Open With now reuses the active window when available.
- Syntax highlighting profiles for Vim (
.vim), Log (.log), and Jupyter Notebook JSON (.ipynb). - Language picker/menu entries for
vim,log, andipynbacross toolbar and app command menus.
- Extension and dotfile language detection for
.vim,.log,.ipynb, and.vimrc. - Header-file default mapping by treating
.hascppfor more practical C/C++ highlighting.
- Scoped toolbar and menu commands to the active window to avoid cross-window side effects.
- Routed command actions to the focused window's
EditorViewModelin multi-window workflows. - Unified state persistence for Brain Dump mode and translucent window background toggles.
- Removed duplicate
Cmd+Fshortcut binding conflict between toolbar and command menu. - Stabilized command/event handling across macOS and iOS builds.
- Prepared App Store security and distribution readiness for the
v0.4.1-betarelease. - Added release/distribution documentation and checklist updates for submission flow.
- Improved editor UX across macOS, iOS, and iPadOS layouts.
- Refined cross-platform editor behavior and UI polish for the first beta line.
- Updated README content and presentation.
- Refactored the editor architecture by splitting
ContentViewinto focused files/extensions.
- Right-side project structure sidebar with recursive folder tree browsing.
- Dedicated blank-window flow with isolated editor state.
- Enhanced find/replace controls (regex, case-sensitive, replace-all status).
- Markdown highlighting over-coloring edge cases.
- Window/sidebar translucency consistency and post-refactor access-control issues.
- Line number ruler scrolling and update behavior.
- Translucency rendering conflicts in line-number drawing.
- Established the
v0.3.xalpha release line. - Consolidated docs/release presentation updates and baseline packaging cleanup for the next iteration.
- Improved Apple Foundation Models integration and streaming reliability.
- Added stronger availability checks and fallback behavior for model completion.
- Fixed streaming delta handling and optional-unwrapping issues in Apple FM output flow.
- Re-tag of the Apple Foundation Models integration/stability update line.
- No functional differences documented from
v0.2.9-alphacontent.
- Improved Apple Foundation Models integration and health-check behavior.
- Added synchronous and streaming completion APIs with graceful fallback.
- Fixed stream content delta computation and robustness in partial-response handling.
- Added Grok and Gemini provider support for inline code completion.
- Fixed exhaustive switch coverage in AI client factory/provider routing.
- Packaged and uploaded the next alpha iteration for distribution.
- Delayed hover popovers to reduce accidental toolbar popups.
- Improved auto language detection after drag-and-drop editor input.
- Integrated upstream/mainline changes as part of alpha iteration merge.
- Improved line numbering behavior for more consistent rendering.
- Added syntax highlighting support for Bash and Zsh.
- Added a function to open multiple files at once.
- Fixed line number rendering issues during scrolling and in larger files.
- Added automatic language selection using the Apple FM model.
- Updated toolbar layout and implemented AI selector support.
- Updated UI with sidebar/layout fixes.
- Fixed language selector behavior for syntax highlighting.
- Improved focus behavior for text view interactions.

