mirror of
https://github.com/h3pdesign/Neon-Vision-Editor
synced 2026-04-21 13:27:16 +00:00
23 KiB
23 KiB
Changelog
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.
[v0.4.28] - 2026-02-20
Added
- TODO
Improved
- TODO
Fixed
- TODO
[v0.4.27] - 2026-02-19
Added
- Added compact iOS/iPadOS toolbar language labels and tightened picker widths to free toolbar space on smaller screens.
Improved
- 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
- Fixed macOS project-sidebar top/header transparency bleed when unified translucent toolbar backgrounds are enabled.
[v0.4.26] - 2026-02-19
Added
- 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
- 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
- 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.
[v0.4.25] - 2026-02-18
Added
- Added completion/signpost instrumentation (
os_signpost) for inline completion, syntax highlighting, and file save paths to support performance profiling.
Improved
- 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
- 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.
[v0.4.24] - 2026-02-18
Added
- Added Lua as a selectable editor language with filename/extension detection and syntax highlighting token support.
Improved
- 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
- Fixed iOS toolbar overflow behavior to keep a single working three-dot overflow menu and preserve hidden actions.
[v0.4.23] - 2026-02-16
Added
- Added optional support-purchase content to Welcome Tour page 2, including live StoreKit price and direct purchase action.
Improved
- 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
- 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.
[v0.4.22] - 2026-02-16
Added
- Added shared syntax-regex compilation cache to reuse
NSRegularExpressioninstances across highlight passes on macOS and iOS.
Improved
- 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
- 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.
[v0.4.21] - 2026-02-16
Added
- Added curated popular editor themes: Dracula, One Dark Pro, Nord, Tokyo Night, and Gruvbox.
Improved
- 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
- 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).
[v0.4.20] - 2026-02-16
Added
- Added iOS editor paste fallback handling that forces safe plain-text insertion when rich pasteboard content is unavailable or unreliable.
Improved
- 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
- 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.
[v0.4.19] - 2026-02-16
Added
- 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
- Improved cross-platform editor readability by enforcing mode-aware base/background contrast for all built-in themes, including Neon Glow.
Fixed
- 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.
[v0.4.18] - 2026-02-15
Added
- Added iOS/macOS regression coverage in the editor refresh path so syntax highlighting remains stable across toolbar/menu and focus transitions.
Improved
- Improved editor rendering consistency by preventing view-update color assignments from overriding attributed syntax token colors.
Fixed
- 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.
[v0.4.17] - 2026-02-15
Added
- Added translucency-toggle highlight refresh wiring so editor recoloring is explicitly re-triggered when window translucency changes.
Improved
- Improved syntax-highlighting stability during appearance/translucency transitions by forcing an immediate refresh instead of waiting for unrelated edits.
Fixed
- 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.
[v0.4.16] - 2026-02-14
Added
- 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
- 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
- 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.
[v0.4.15] - 2026-02-14
Fixed
- Fixed the editor
Highlight Current Linebehavior on macOS so previous line background highlights are cleared and only the active line remains highlighted.
[v0.4.14] - 2026-02-14
Added
- 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
- 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
- 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.
[v0.4.13] - 2026-02-14
Added
- Added
scripts/run_selfhosted_notarized_release.shhelper to trigger/watch the self-hosted notarized release workflow and verify uploaded assets.
Improved
- 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
- 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.
[v0.4.12] - 2026-02-14
Added
scripts/release_all.shnow acceptsnotarizedas a positional alias, soscripts/release_all.sh v0.4.12 notarizedworks directly.
Improved
- 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.
Fixed
- Removed Xcode 16 fallback icon-copy path that could produce Sequoia/non-light-dark icon payloads in release assets.
[v0.4.11] - 2026-02-13
Added
- ExpressionEngine language support in the editor language set.
- Plain text drag-and-drop support so dropped string content opens correctly in the editor.
Improved
- 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.
Fixed
- 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.
[v0.4.10] - 2026-02-13
Added
- Release gate in
scripts/release_all.shnow waits for a successfulPre-release CIrun on the pushed commit before triggering notarization.
Improved
- 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.
Fixed
- Reduced settings-open latency by removing forced full-window redraw calls during appearance application.
[v0.4.9] - 2026-02-13
Added
- 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.
Improved
- 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
- 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).
[v0.4.8] - 2026-02-12
Added
- Extended release automation coverage for the next tag cycle, including synchronized README/changelog/welcome-tour release content updates.
Improved
- 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.
Fixed
- 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.
[v0.4.7] - 2026-02-12
Added
- 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.
Improved
- 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.
Fixed
- 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.
[v0.4.6] - 2026-02-12
Added
- 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.
Improved
- 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.
Fixed
- 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.
[v0.4.5] - 2026-02-11
Added
- 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.
Improved
- 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).
Fixed
- 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.
[v0.4.4-beta] - 2026-02-09
Added
- 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.
Improved
- 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.
Fixed
- Language picker behavior to lock the selected language and prevent unwanted resets.
[v0.4.3-beta] - 2026-02-08
Added
- 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.
Improved
- 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.
[v0.4.2-beta] - 2026-02-08
Added
- 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.
Improved
- Extension and dotfile language detection for
.vim,.log,.ipynb, and.vimrc. - Header-file default mapping by treating
.hascppfor more practical C/C++ highlighting.
Fixed
- 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.
[v0.4.1-beta] - 2026-02-07
Improved
- Prepared App Store security and distribution readiness for the
v0.4.1-betarelease. - Added release/distribution documentation and checklist updates for submission flow.
[v0.4.0-beta] - 2026-02-07
Improved
- Improved editor UX across macOS, iOS, and iPadOS layouts.
- Refined cross-platform editor behavior and UI polish for the first beta line.
[v0.3.3-alpha] - 2026-02-06
Documentation
- Updated README content and presentation.
[v0.3.2-alpha] - 2026-02-06
Changed
- Refactored the editor architecture by splitting
ContentViewinto focused files/extensions.
Added
- 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).
Fixed
- Markdown highlighting over-coloring edge cases.
- Window/sidebar translucency consistency and post-refactor access-control issues.
[v0.3.1-alpha] - 2026-02-06
Fixed
- Line number ruler scrolling and update behavior.
- Translucency rendering conflicts in line-number drawing.
[v0.3.0-alpha] - 2026-02-06
Changed
- Established the
v0.3.xalpha release line. - Consolidated docs/release presentation updates and baseline packaging cleanup for the next iteration.
[v0.2.9-alpha] - 2026-02-05
Improved
- Improved Apple Foundation Models integration and streaming reliability.
- Added stronger availability checks and fallback behavior for model completion.
Fixed
- Fixed streaming delta handling and optional-unwrapping issues in Apple FM output flow.
[v0.2.8-1-alpha] - 2026-02-05
Notes
- Re-tag of the Apple Foundation Models integration/stability update line.
- No functional differences documented from
v0.2.9-alphacontent.
[v0.2.8-alpha] - 2026-02-05
Improved
- Improved Apple Foundation Models integration and health-check behavior.
- Added synchronous and streaming completion APIs with graceful fallback.
Fixed
- Fixed stream content delta computation and robustness in partial-response handling.
[v0.2.7-alpha] - 2026-02-04
Added
- Added Grok and Gemini provider support for inline code completion.
Fixed
- Fixed exhaustive switch coverage in AI client factory/provider routing.
[v0.2.6-alpha] - 2026-01-31
Changed
- Packaged and uploaded the next alpha iteration for distribution.
[v0.2.5-alpha] - 2026-01-25
Improved
- Delayed hover popovers to reduce accidental toolbar popups.
- Improved auto language detection after drag-and-drop editor input.
[v0.2.4-alpha] - 2026-01-25
Changed
- Integrated upstream/mainline changes as part of alpha iteration merge.
[v0.2.3-alpha] - 2026-01-23
Improved
- 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
- Fixed line number rendering issues during scrolling and in larger files.
[v0.2.2-alpha] - 2026-01-22
Enhanced
- Added automatic language selection using the Apple FM model.
- Updated toolbar layout and implemented AI selector support.
[v0.2.1-alpha] - 2026-01-21
Improved
- Updated UI with sidebar/layout fixes.
- Fixed language selector behavior for syntax highlighting.
- Improved focus behavior for text view interactions.