Skip to content

Releases: axon-editor/axon

v1.3.4

Choose a tag to compare

@github-actions github-actions released this 09 Aug 20:35

Axon v1.3.4

Axon v1.3.4 is an architecture and responsiveness release. It separates terminal
process ownership from the editor Core, introduces a shared buffer engine for
fast file reopening, limits expensive language work on very large documents,
and completes the built-in Markdown experience. It also closes reliability gaps
around managed language tools, Python environments, workspace watchers, and
multi-window command-line launches.

Terminal architecture and delivery

  • Terminal sessions now belong to a dedicated axon-pty-host process instead
    of Axon Core. Core can recover without terminating active shells or discarding
    their scrollback.
  • Packaged macOS and Linux builds use owner-only Unix sockets for PTY control,
    while Windows uses owner-scoped named pipes. High-volume output remains on a
    separately authenticated local stream.
  • Terminal tickets are bound to the renderer-approved workspace root, and
    reconnect attempts cannot reuse a session from another workspace.
  • Unexpected Core exits produce an explicit recovery choice when live terminal
    sessions are at risk instead of silently restarting underneath the user.
  • Byte delivery and xterm commit latency are measured without recording terminal
    content, making stalls diagnosable without weakening terminal privacy.
  • Detached scrollback receives coalesced viewport repainting after committed
    writes, preserving the user's reading position while keeping older output
    visible as new agent output arrives.

Files, buffers, and workspace speed

  • Workspace search prefers cancellable ripgrep JSON output, stops as soon as the
    result limit is reached, validates every result against the workspace, and
    falls back to the Go walker when ripgrep is unavailable.
  • Nested ignore files, global Git excludes, generated directories, and Python
    environments identified through pyvenv.cfg are honored without relying on
    a small hardcoded list of environment names.
  • Large files use a shared policy at 2 MiB or 20,000 lines. Axon disables costly
    whole-document services, bounds find results, and uses lightweight lazy syntax
    tokenization while retaining useful JSON and common-language coloring.
  • Semantic token merging now uses ordered linear passes instead of repeated
    overlap searches, preventing large documents from triggering quadratic work.
  • The Axon Buffer Engine adds a process-wide validated text cache, deduplicates
    concurrent reads, retains clean Monaco models within a byte budget, and
    prefetches likely files from explorer hover and pointer interaction.
  • Monaco mounts against the real path-backed model immediately, avoiding the
    empty one-line flash when reopening a cached file.
  • Native recursive watching begins before the broader watcher finishes scanning,
    so deep files created by agents appear quickly. Explorer refreshes target the
    affected expanded folder, and Git keeps one trailing refresh when events arrive
    during an active status request.

Language tools and Python projects

  • Managed archive extraction now reports continued byte progress, propagates
    cancellation through ZIP, TAR, XZ, and gzip paths, and cleans abandoned staging
    directories without blocking the active install promise.
  • Large macOS ZIP packages use validated native extraction outside Electron's
    main process with a phase-aware watchdog, preventing legitimate large entry
    flushes from being mistaken for a frozen installer.
  • Language servers warm from loaded files after installation, queue document
    synchronization while starting, flush it after initialization, and remove
    failed sessions so refresh or retry can create a clean process.
  • JVM servers receive realistic cold-start and hover budgets, while the UI keeps
    them in a starting state until initialization and workspace indexing complete.
  • Python discovery finds arbitrary environments through pyvenv.cfg, examines
    relevant nested projects with bounded traversal, and consults Poetry, Pipenv,
    uv, pyenv, Conda, active virtual environments, and the system PATH only when
    applicable.
  • Axon automatically selects a valid project environment, exposes both its folder
    and canonical interpreter, and supplies Pyright with real import and editable
    source paths.
  • Nested backend or core workspaces can discover unambiguous sibling environments
    up to three ancestor levels away, while ambiguous candidates remain a manual
    choice instead of being selected by filesystem order.

Markdown, MDX, and editor workflow

  • Markdown previews render Mermaid diagrams lazily with strict security,
    theme-aware colors, bounded graph complexity, serialized rendering, and compact
    errors that do not break the rest of the document.
  • Fenced code uses Monaco tokenization, math uses KaTeX, and previews support GFM
    footnotes, frontmatter metadata, bibliography citations, callouts, wiki links,
    and source-editing task checkboxes.
  • Source and preview scrolling stay synchronized without feedback loops. Printing
    and PDF export run through an isolated script-disabled Electron window.
  • Raw HTML and static MDX are sanitized through an allowlist that blocks scripts,
    embedded executable content, event handlers, and unsafe links.
  • Preview controls now work consistently for .md, .mdx, and .markdown.
  • axon . requests are captured before Electron readiness and routed to the
    correct renderer window. New terminals also work in secondary windows that do
    not yet have a workspace by starting from the user's home directory.
  • Save dispatch is cancelable and coalesced, preserving edits made during
    format-on-save while keeping a cached-model fallback when no editor is mounted.

Interface and extension development

  • Editor components, libraries, and tests are grouped by navigation, panes,
    surfaces, tabs, buffers, formatting, Git, language, layout, and inspection.
  • Passive borders are quieter across dark themes, including Axon Black, while
    light themes retain their authored contrast and focus borders remain distinct.
  • The native Electron background, boot splash, pre-React renderer shell, and
    Windows titlebar overlay use the saved theme palette from a tiny startup cache.
    Startup remains opaque and lightweight.
  • The project documentation now reflects the PTY host and current editor
    architecture, with working examples for themes, language metadata, snippets,
    runtime commands, terminals, debugging, indexing, and disposal.

Included commits

  • 209d5de through e5fcba6 protect terminals, bind workspace ownership, add
    latency diagnostics, isolate the PTY host, and secure its control channel.
  • 5c29d44 and f041b94 add cancellable, project-aware workspace search.
  • c1cfcac, 8b6b3df, and 517af11 stabilize language-tool extraction and
    activation.
  • d193145, 03c6016, 3f4d880, and 0c8c4f0 complete Python environment
    discovery, selection, import resolution, and nested-workspace handling.
  • fd730b9, efcc9e3, and c19380a improve large-document performance and add
    the Axon Buffer Engine.
  • 4507417 keeps explorer and Git state current during external writes.
  • 0e810fe, b636689, and 3903a2e complete Markdown rendering and terminal
    scrollback repainting.
  • fa7c721 restores MDX preview and multi-window command-line workflows.
  • 34457a9, 8868d8d, and 607c527 organize the editor, soften dark borders,
    and make startup theme aware.

v1.3.3

Choose a tag to compare

@github-actions github-actions released this 03 Aug 00:09

Axon v1.3.3

Axon v1.3.3 strengthens the editor's live feedback loop. Terminal output and
scrollback remain stable during long agent sessions, syntax colors and explorer
updates appear sooner, and files outside the workspace can participate safely
in normal editor and language workflows.

Terminal and performance

  • Sustained agent streams preserve earlier rendered lines while the user reads
    scrollback or follows live output.
  • Terminal rendering remains responsive under large output bursts and across
    multiple Axon windows.
  • Syntax painting no longer waits up to 650 ms for a cold language server.
    TextMate colors paint first and late LSP semantic tokens merge in place.
  • Active grammars preload during file reads, semantic repaint delay drops from
    175 ms to 48 ms, and Go syntax repaint delay drops from 320 ms to 60 ms.
  • File watcher and renderer coalescing now add roughly 40 ms of fixed latency
    instead of roughly 180 ms before rebuilding the explorer tree.

Files and language intelligence

  • Folders can be dragged between explorer directories through the existing
    validated filesystem move path.
  • Files dropped onto an editor pane open directly and remain editable; files
    dropped onto the Files sidebar continue to import into the workspace.
  • Go standard-library and dependency definitions outside the project open as
    exact-file, read-only tabs rather than failing workspace capability checks.
  • Authorized external models use the active workspace language server for
    hover, completion, definitions, references, and semantic tokens.
  • External grants remain renderer-scoped, distinguish writable user drops from
    read-only LSP definitions, and are revoked when the window closes.
  • File errors now omit Electron's remote-method wrapper and show the useful
    message directly.

Git and interface

  • Axon Line Trace shows faint inline author, age, and commit information using
    the editor font without blinking or dominating source text.
  • A custom delayed popover presents commit details, author avatars, and profile
    links without relying on native HTML title behavior.
  • Git Graph author previews and commit details use shared identity resolution
    and position previews near the pointer.
  • Native windows identify their active project as Axon - {folder}.
  • The packaged app uses a new high-resolution Axon ribbon icon.

Themes and media

  • Axon Black provides a true #000000 editor appearance, while Axon White
    provides a complete high-contrast light appearance.
  • Both themes include syntax, Monaco widget, terminal, and ANSI palettes.
  • The duplicate Minted theme has been removed from the Apathy collection.
  • Spotify now exposes Liked Songs, remembers preferred devices by name and
    type, and uses a wider theme-aware player with a reduced-motion-safe waveform.

Verification

  • Electron main-process and renderer production builds pass.
  • All 167 editor tests and all Axon Core tests pass.
  • TypeScript, ESLint, line-count, formatting, and whitespace validation pass
    with only the repository's existing React hook dependency warnings.

Included commits

  • 4b26c54 aligns editor chrome with active themes.
  • ca33a0c stabilizes managed language-tool installs.
  • b8280d2 stops complete test process trees.
  • dbffa12 and 973e5d1 stabilize terminal output and contrast.
  • 5a73f9d restores colored explorer icons.
  • 0ed0053 and 392c54e add and stabilize Axon Line Trace.
  • 1abda09 adds Axon Black and Axon White.
  • 8cc14f6 enriches Git author identity surfaces.
  • f273bfd expands Spotify playback.
  • 64d6009 identifies workspace windows natively.
  • d38647f refreshes the desktop app icon.
  • 13bc217 opens external files with workspace intelligence.
  • 888083a reduces workspace file appearance latency.
  • 715b522 restores release validation after the Line Trace UI update.

v1.3.2

Choose a tag to compare

@github-actions github-actions released this 26 Jul 18:05

Axon v1.3.2

Axon v1.3.2 improves daily editor feedback and reliability. Completion behavior
is now configurable, navigation keeps the explorer synchronized, language-tool
downloads recover cleanly, and the editor UI follows every active theme.

Editor intelligence and navigation

  • Settings now independently control automatic suggestions, trigger-character
    suggestions, completion preview text, and word-based suggestions.
  • LSP hover and completion surfaces derive their background, foreground,
    border, selection, and highlight colors from the selected theme.
  • Workspace search, quick open, and language navigation expand lazy parent
    folders, activate the destination file, and scroll it into view.
  • Existing settings keep all suggestion behavior enabled by default, preserving
    the behavior from v1.3.1 until a preference is changed.

Themes and interface

  • Axon Parchment is a new built-in light theme with warm editor surfaces, clear
    syntax contrast, themed Monaco widgets, and a matching terminal ANSI palette.
  • Status-bar icons, active states, hover states, metadata, errors, and warnings
    now use theme tokens instead of fixed colors.
  • The status accent is now a short, thin highlight that flows from left to right
    without the previous broad glow and remains still when reduced motion is set.

Reliability

  • Git line decorations remain accurate when changed content is removed,
    restored, replaced, or edited repeatedly without closing the file.
  • Markdown preview ignores stale asynchronous renders and remains stable during
    rapid source changes.
  • Language-tool installation progress survives file changes and renderer
    remounts, while cancellation terminates active work and cleans partial data.
  • Completed downloads no longer restart as an untracked second installation or
    leave a language permanently stuck at Installing.
  • Renderer test configuration now includes the correct React environment types,
    preventing false CI failures.

Verification

  • Electron main-process and renderer production builds pass.
  • All editor tests pass.
  • TypeScript, ESLint, release metadata, line-count, formatting, and whitespace
    checks pass.

Included commits

  • 8992f5d keeps Git line paint synchronized during repeated edits.
  • 9ccd3c4 stabilizes Markdown preview rendering.
  • 7036abe makes managed language-tool installations recoverable.
  • 5181bc5 corrects the React test environment used by CI.
  • c230150 adds Axon Parchment, suggestion settings, themed Monaco widgets,
    and explorer reveal behavior.
  • 8f61f33 makes the status bar fully theme aware.

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 13:16

Axon v1.3.1

Axon v1.3.1 expands the editor's language foundation while making release
downloads smaller. Native language tools now install securely when needed,
terminal streaming remains stable during live agent output, and workspace files
stay current during rapid external edits.

Language tools

  • Axon now detects and highlights Swift, Ruby, Dart, SQL, TOML, Zig, Terraform,
    LaTeX, Scala, Clojure, Haskell, Erlang, R, PowerShell, Assembly, Makefile,
    XML, and Protocol Buffers projects.
  • The left status-bar bolt opens workspace-focused language status, installation,
    lifecycle controls, and logs without exposing the complete catalog in Settings.
  • C/C++, Rust, Java, C#, Kotlin, Lua, XML, Protocol Buffers, and other native
    servers install only when requested.
  • Managed downloads use pinned versions and reviewed checksums, reject unsafe
    archives, clean partial data after cancellation, and activate atomically.
  • Java and Kotlin share a private managed JRE. C# and PowerShell can use private
    managed runtimes without requiring global installations.
  • npm-backed servers and Go remain bundled. Release packaging excludes roughly
    485 MB of other uncompressed native server resources.
  • YAML now resolves correctly in npm-hoisted development workspaces, Makefiles
    no longer activate C++, and .dockerignore no longer receives Dockerfile
    diagnostics.

Terminal and workspace reliability

  • Terminal follow intent is tracked independently from transient xterm viewport
    coordinates, preventing visible live agent output from removing prior lines.
  • Readers can remain detached in scrollback while output continues, then return
    to the live tail without losing rendered content.
  • Git initialization is detected inside an already-open workspace.
  • Rapid external writes, atomic replacement saves, and multi-file agent changes
    refresh open models, the file tree, and Git state without reopening files.

Editor workflow

  • Code Snapshot opens as a built-in editor with syntax-aware PNG export,
    configurable framing, Axon branding, clipboard copy, and native save support.
  • Editor settings now control tab size, indentation detection, source padding,
    indentation guides, active guides, and bracket-pair guides live.
  • TypeScript project discovery supports arbitrary monorepos without hardcoded
    Axon paths.
  • Editor zoom preserves both viewport axes, scales line height proportionally,
    and Cmd/Ctrl+B toggles the sidebar again.
  • Terminal toolbar actions remain clickable at reduced zoom levels.

Verification

  • Electron main-process and renderer production builds pass.
  • All editor tests and Axon Core Go tests pass.
  • Language-server packaging, extension registry, line-count, lint, and
    whitespace checks pass.

Included commits

  • ce341c0 through 289a2e0 add editor formatting, code snapshots, and project discovery.
  • acb1219 and 5a626dd stabilize Git initialization and terminal streaming.
  • 9e21f39 through c635c9e deliver managed language installation and expanded support.
  • 5caa914 and 6fa2e86 fix watcher, zoom, YAML, C++, and Docker ignore behavior.

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 12:25

Axon v1.3.0

Axon v1.3.0 promotes repository history into the editor workspace and fixes a
packaged-app process collision that could prevent selected folders from opening.

Git graph workspace

  • Git Graph now opens as a normal editor tab and participates in Axon's pane and
    tab workflows.
  • The graph provides searchable commits, lane visualization, branch and tag
    references, and stable description, date, author, and hash columns.
  • Commit details remain closed until a commit is selected, then use an
    independently scrollable side pane.
  • Resting the pointer or keyboard focus on a commit for two seconds opens a
    compact animated preview without changing selection.
  • Changed files preserve the repository's real directory structure in a
    collapsible tree.
  • Clicking a changed file loads its commit-specific diff and opens Axon's
    existing historical comparison view.
  • Missing or failed remote author avatars fall back to readable initials. The
    renderer already permits HTTPS images, so this does not loosen CSP.

Packaged workspace opening

  • Every packaged Axon launch now chooses a private random Core port unless one
    is explicitly configured.
  • A stale orphaned Core process can no longer receive a new app window's folder
    request and reject it because the processes have different launch tokens.

Verification

  • Renderer and Electron main-process TypeScript checks pass.
  • All 21 editor tests pass.
  • All Axon Core Go tests pass.
  • Repository line-count and whitespace checks pass.

Included commits

  • 57ac94e fixes packaged Core launch isolation.
  • 88f6939 moves the Git graph into an editor tab and completes its interaction
    model.

v1.2.10

Choose a tag to compare

@github-actions github-actions released this 12 Jul 01:37

Axon v1.2.10

Axon v1.2.10 is a responsiveness and multi-window reliability release. It
removes avoidable waits from language intelligence, keeps terminal output
following sustained agent streams, moves large workspace indexing off the
Electron main thread, and gives every Axon window independent workspace state.

Language Intelligence

  • Completion results now appear before expensive TypeScript item enrichment.
    Documentation and auto-import edits are resolved lazily for Monaco's focused
    suggestion instead of resolving up to 160 items before opening the list.
  • Completion requests have a 1.2-second failure ceiling, focused-item resolution
    has a 700 ms ceiling, and hover requests have a 900 ms ceiling.
  • Monaco hover begins after 100 ms, down from its slower default interaction.
  • Semantic token refresh now starts 175 ms after editing settles instead of 650
    ms, reducing the time identifiers remain stale-colored.
  • The completion popup is constrained to 300-420 px, uses denser rows and
    spacing, and removes the always-visible status strip and inline details.

Terminal Reliability

  • Preserved auto-scroll state per asynchronous xterm write batch. Later writes
    can no longer overwrite the follow decision used by an earlier callback while
    agent output is pushing old lines out of view.
  • Added delayed-callback regression coverage for overlapping terminal writes.
  • Disabled Chromium background throttling on both normal editor windows and the
    production boot window that becomes the editor, keeping output draining and
    painting while Axon is unfocused.
  • Updated Electron to 42.4.0 for the latest 42.x browser-process and Chromium/V8
    stability fixes.

Workspace and Multi-window Behavior

  • Replaced recursive readdirSync and per-file statSync indexing with bounded
    asynchronous directory and metadata batches.
  • Coalesced concurrent workspace-index requests so multiple consumers share one
    scan instead of repeating expensive project traversal.
  • Created one file/Git watcher manager per renderer window. Opening a project in
    a second Axon window no longer closes the first window's watchers or routes its
    events to the wrong renderer.
  • Scoped language-server shutdown to the workspace being replaced instead of
    stopping every active window's language tools.
  • Added regression coverage for renderer-specific watcher ownership and cleanup.
  • Added local-folder opening and Git repository cloning with live progress,
    automatic destination selection, and opening the cloned project on success.

Preview and Editor UI

  • Removed the fixed-height console embedded below HTML preview so the page uses
    the full editor surface.
  • Routed HTML browser console messages into Axon's Output tab without forcing
    the terminal or bottom panel open.
  • Kept preview reload, responsive device presets, and external-browser opening
    available in the compact preview toolbar.

Validation

  • All 21 editor tests and all Go tests pass.
  • Main-process and renderer TypeScript checks pass.
  • Production build and line-count checks pass.
  • ESLint completes with no errors; the repository retains 62 existing warnings.

Commits Included

  • e0c05e7 feat: open and clone projects with live Git state
  • 2bfd4ba fix: update Electron for native browser stability
  • eabcbc1 perf: accelerate editor feedback and multi-window workflows

v1.2.9

Choose a tag to compare

@github-actions github-actions released this 10 Jul 16:14

Axon v1.2.9

Axon v1.2.9 is a security, terminal integrity, and editor performance release.
It hardens the local Core boundary while removing the extra work that made file
loading and editing feel slower after the security pass.

This release includes the six commits after the v1.2.8 tag.

Security Boundary

  • Bound axon-core to IPv4 loopback and authenticated HTTP and WebSocket traffic
    with a secret generated for each app launch.
  • Removed the Core bearer token from the renderer. An allow-listed main-process
    proxy now owns authenticated Core requests and cancellation.
  • Added short-lived, single-use terminal tickets bound to the approved working
    directory instead of placing the launch token in a WebSocket URL.
  • Added persistent per-renderer workspace capabilities for filesystem, settings,
    terminal, and Core operations.
  • Canonicalized existing and not-yet-created paths through their nearest real
    ancestor, preventing symlink parents from escaping an approved workspace.
  • Restricted CORS, WebSocket origins, Electron navigation, and local asset
    types, and prevented destructive operations against workspace roots.

Terminal Integrity

  • Kept terminal sessions alive independently of the visible renderer and added
    acknowledged replay cursors for reconnects.
  • Drained queued WebSocket frames before closing a completed shell so final
    command output is not lost.
  • Preserved PTY bytes returned with EOF and clamped acknowledgements to the
    stream bounds owned by Core.
  • Added high-volume, final-output, reconnect, origin, and accounting regression
    coverage for the terminal eating-output failure class.

File and Editing Performance

  • Replaced the renderer-to-Core-to-filesystem read/write round trip with direct,
    capability-checked main-process text I/O, retaining UTF-8, binary, size, and
    workspace validation.
  • Mounted only the active tab initially and kept an editor warm only after it
    has actually been visited.
  • Limited file watchers and initial language-server synchronization to active
    editors instead of every restored tab.
  • Removed eager startup of every relevant language server and deferred
    non-critical extension activation until after the first paint.
  • Coalesced React content snapshots, LSP full-text synchronization, semantic
    decoration refreshes, and Go whole-file syntax scans away from each keystroke.
  • Split Shiki into a shared tokenizer engine and per-language lazy grammar
    chunks, keeping unrelated grammars out of the first edited file.

Editor Workflows

  • Rebuilt split-pane dividers as sibling flex controls with an eight-pixel drag
    target, pointer capture, exact pixel movement, and a minimum pane width.
  • Added native Save As and connected Open Recent to the existing folder picker.
  • Added a bounded one-pass workspace replace operation in Core with generated,
    binary, and oversized-file exclusions plus atomic writes.
  • Corrected JSON object-key semantic classification so keys use property colors
    while quoted values remain strings.
  • Added the missing Node TypeScript project ownership for vitest.config.ts,
    removing repeated false node:path diagnostics.

Fonts and Themes

  • Bundled Inter Variable for Axon Sans and IBM Plex Sans Variable for Zed Sans,
    making both UI choices distinct on every supported platform.
  • Kept System UI as a separate native option and migrated old fallback-only
    family names to their supported replacements.
  • Deduplicated themes by stable theme ID across bundled, workspace, and user
    extension sources. Later sources remain the effective override without
    producing repeated Settings options.
  • Shared the canonical theme list across renderer startup, Settings, Welcome,
    derived theme state, and Monaco registration.

Validation

  • Added security path-policy, terminal integrity, semantic-token, font, and
    extension-theme conflict tests.
  • Kept TypeScript project checks, ESLint, Go tests, Go vet, line-count guards,
    language-server checks, and production builds passing for the release.
  • The renderer entry remains about 415 KB after minification; UI fonts are
    emitted as separate WOFF2 assets and language grammars remain lazy chunks.
  • Added the root MIT License for GordenArcher and Axon Editor Group and aligned
    the root/editor package metadata with that license.
  • Synchronized all 636 required npm language-server package paths with the
    release allow-list after the dependency graph changed, restoring packaged
    bundle verification on macOS, Windows, and Linux.
  • Added a packaging-only language-server verification step to normal CI so the
    same closure mismatch fails before the next release tag is created.

Commits Included

  • 1e59c2e docs: add contributor workflow guide
  • c6a25b9 docs: update extension api repo link
  • 71c0b1b fix: secure core transport and preserve terminal output
  • 5da1731 perf: secure and accelerate Axon editor workflows
  • 33cd96c fix: include Vitest configuration in Node project
  • 7372595 fix: deduplicate themes and bundle UI fonts

The release still inherits upstream audit advisories from bundled language
servers. Axon's build patches the vulnerable runtime copies that have compatible
fixed versions; Svelte language-server and OpenTelemetry advisories require
upstream or breaking upgrades and remain tracked separately.

Axon v1.2.8

Choose a tag to compare

@github-actions github-actions released this 08 Jul 15:05

Axon v1.2.8

Axon v1.2.8 is a stabilization release after the large v1.2.7 platform push. It
focuses on the places that matter when Axon is installed and used like a real
editor: packaged workspace handoff, Git decoration repainting, terminal link
stability, terminal output scheduling, workspace hydration, CI, and richer
theme syntax coverage.

This release includes the work after the v1.2.7 release-prep commit
9c5290f.

Packaged Workspace and Git Reliability

  • Fixed packaged workspace handoff so axon . keeps the requested folder as the
    source of truth instead of briefly restoring an older closed workspace first.
  • Reduced stale main-process workspace work so old indexing, watcher, and
    service tasks do not keep racing after a project switch.
  • Coordinated workspace service hydration so the file tree can become usable
    while secondary services start in a cleaner order.
  • Added a Git-only decoration heartbeat for packaged builds. Native watchers can
    miss edited-file change events even when new-file add events still work,
    which is why new files could turn green while modified files failed to repaint.
    The heartbeat refreshes Git status without enabling expensive full workspace
    polling.
  • Kept the heartbeat scoped to the active watcher generation so closed
    workspaces cannot repaint the current sidebar.

Terminal Stability

  • Stabilized confirmed terminal links by routing them through Axon's normal
    external-open path.
  • Removed the xterm canvas renderer path that could crash React during workspace
    switches while disposing terminal sessions.
  • Guarded terminal disposal so failed renderer cleanup does not take down the
    whole editor surface.
  • Pipelined terminal renderer output so xterm writes are scheduled in batches
    instead of forcing every chunk through the slowest visible write path.

Empty Pane Imports

  • Added drag-and-drop import support for empty panes.
  • External files and media dropped into an empty editor area now go through
    Axon's existing validation/import path instead of becoming a separate
    one-off file loading behavior.

Extension Contracts

  • Added debugger contribution contracts for launch configuration, breakpoint,
    variables, call stack, and debug-console style work.
  • Added workspace-index extension contracts so future indexing/search features
    have typed extension-facing APIs.
  • Kept these as contracts first so later debugger and indexing work can plug
    into the extension host without another architecture rewrite.

Syntax and Themes

  • Added richer syntax maps to the remaining built-in themes:
    Anysphere, Apathy, Arctikai, Axon, Catppuccin, Solarized, and Zed.
  • Stabilized YAML token coloring so YAML no longer falls back to plain text
    styling in common cases.
  • Kept the TextMate/semantic decoration pipeline from v1.2.7 and expanded the
    theme data feeding into it.

CI and Build Validation

  • Added GitHub Actions validation on every push.
  • Added a main-process TypeScript check so missing generated config imports,
    preload/main regressions, and Electron-side type errors fail before release.
  • Fixed dev asset loading and workspace hydration paths that were making local
    workspace switches feel slower or inconsistent.

Commits Included

  • be5d091 fix: correct packaged workspace handoff refresh
  • a0621da ci: run validation on every push
  • 90d820f fix: stabilize yaml tokens and ci main checks
  • 2e3f657 fix: stabilize dev asset loading and workspace hydration
  • 662c479 refactor: coordinate workspace service hydration
  • 4bac95e refactor: reduce stale main-process workspace work
  • fd6fb08 feat: add rich syntax maps to built-in themes
  • 972ab85 perf: pipeline terminal renderer output
  • 09ba9da feat: add debugger and workspace index extension contracts
  • 09c7d12 fix: stabilize terminal links and workspace switching
  • c62332b fix: keep git paints fresh in packaged builds

Axon v1.2.7

Choose a tag to compare

@GordenArcher GordenArcher released this 06 Jul 02:58

Axon v1.2.7

Axon v1.2.7 is the biggest release so far. It is less about one flashy button
and more about turning Axon into a real IDE platform: extension activation,
built-in contribution routing, terminal reliability, project-aware testing,
Problems as an editor surface, richer syntax coloring, faster workspace startup,
and a documented architecture for the editor's hardest systems.

This release includes 38 commits after a63637e.

Extension Host and Built-in Migration

  • Added built-in extension activation so Axon can activate first-party features
    through the same path future installable extensions will use.
  • Added an executable command runtime for extension-owned commands.
  • Added extension lifecycle state, activation storage, contribution registry
    wiring, and diagnostics around slow or failed activation.
  • Routed built-in workbench surfaces through contribution metadata instead of
    continuing to mount every feature directly from the old renderer structure.
  • Moved more implementation ownership under extensions/builtin, including
    agent, terminal, Git/source control, search, settings, testing, problems,
    language tools, tasks, Spotify, Markdown preview, HTML preview, and media
    preview.
  • Added extensions/builtin/README.md to explain how built-in manifests,
    language packages, workbench UI, and shared helpers should be organized.
  • Added built-in language manifests for more supported languages and tools:
    Astro, Bash, CSS, Docker, GraphQL, HTML, JSON, MDX, Prisma, Svelte, Tailwind,
    Vue, YAML, and the existing LSP-backed languages.

Architecture Migration

  • Continued the migration into production IDE boundaries: app shell, workbench,
    platform services, renderer services, built-in extensions, backend services,
    and shared packages.
  • Moved terminal protocol/session helpers into apps/editor/src/platform so UI
    and transport are not owned by the same React component.
  • Moved agent workbench code under the built-in Agent extension and kept shared
    agent logic in extension-owned lib folders.
  • Added built-in contribution routing helpers so Search, Settings, Git,
    Terminal, Agent, Testing, Problems, Tasks, Spotify, and preview surfaces can
    be resolved through declared contributions.
  • Documented the current architecture and migration direction in
    architecture.md.

Terminal Reliability

  • Reworked terminal IO so the backend does not treat websocket delivery as the
    same thing as visible xterm output.
  • Added renderer-side acknowledgement timing after xterm writes complete, which
    protects replay cursors during long-running output.
  • Hardened reconnect/replay behavior so long agent streams are less likely to
    drop or consume output while the renderer is busy.
  • Added terminal session health data for received bytes, acknowledged bytes,
    pending bytes, queued bytes, queue peaks, drained chunks, reconnect count, and
    websocket close codes.
  • Reduced noisy terminal logging after startup and workspace-open fixes.
  • Kept terminal UI under the built-in Terminal workbench while shared protocol
    behavior lives in platform and PTY/session ownership stays in services/core.

Problems and Testing

  • Moved Problems into an editor tab opened from the status bar, instead of a
    detached modal-like surface.
  • Kept the Problems UI as a strong diagnostics view with presentation helpers,
    filtering, copy actions, and navigation back to source ranges.
  • Added diagnostic cache ownership and project-aware diagnostics export for
    agent workflows.
  • Upgraded the Testing workbench with provider discovery, target listing,
    details, output, and status bar access.
  • Made test discovery project-aware so generated folders, caches, dependency
    folders, and irrelevant build output do not appear as useful test targets.
  • Kept test execution routed through project roots and provider commands instead
    of assuming Axon's own repository layout.

LSP, Startup, and Workspace Performance

  • Warmed active language-server paths earlier so hover, completion, diagnostics,
    and semantic tokens can become ready closer to the moment a workspace opens.
  • Preserved React-aware Monaco language ids for TSX/JSX while still sending the
    correct language identity into LSP requests.
  • Fixed React runtime resolution so valid React files do not report missing
    react/jsx-runtime.
  • Improved package/export completion and external definition behavior as part of
    the LSP cleanup work.
  • Unblocked workspace open services so the file tree can appear quickly without
    waiting on every secondary service.
  • Added clearer diagnostics for LSP startup, spawn/init phases, semantic-token
    legends, and service boundaries.

Rich Syntax Coloring

  • Added Axon's richer syntax-coloring pipeline: Monaco tokens, TextMate/Shiki
    grammar scopes, LSP semantic tokens, Axon semantic decorations, and targeted
    language fallbacks.
  • Added the token inspector so real rendered tokens can be debugged from inside
    the editor. It reports Monaco token class, rendered class/color, active theme,
    active syntax count, semantic token data, expected colors, decoration class,
    TextMate readiness, and grammar/CSP errors.
  • Fixed the renderer Content-Security-Policy so the inlined Oniguruma
    WebAssembly engine can load and TextMate grammar tokenization can actually
    run inside Electron.
  • Added a retry path for empty semantic-decoration passes during editor startup.
  • Mapped Monaco bracket pair colors back to active theme bracket colors so
    bracket highlighting no longer paints over the theme with unrelated bright
    colors.
  • Expanded TextMate grammar coverage across built-in languages.
  • Added Python fallbacks for imports, aliases, class-like identifiers,
    constructors, self, cls, and member access.
  • Added shared member-access fallbacks for languages such as Go so chains like
    h.applicationService.GetByID(c.Request.Context()) can distinguish values,
    properties, and function calls.
  • Added capture aliases for imported theme syntax keys such as diff.plus and
    diff.minus.
  • Documented the whole token-coloring architecture in
    docs/TOKEN_COLORING_ARCHITECTURE.md, including the Monaco semantic
    highlighting issue that has been open since 2020 and why Axon owns the final
    decoration paint layer.

Markdown and Preview Surfaces

  • Improved Markdown hash-link navigation so table-of-contents links scroll
    within the preview pane instead of moving the Electron document.
  • Improved Markdown blockquote rendering so quoted preview text stays inside the
    blockquote instead of looking like a separate section.
  • Added richer Markdown media handling for images, videos, sources, and local
    preview asset resolution.
  • Fixed standalone Markdown preview tabs so they subscribe to the live dirty
    Monaco model once it exists. A preview opened beside an editor now updates
    live when the source Markdown tab changes.
  • Kept disk reads as preview fallbacks without letting stale disk snapshots
    overwrite dirty editor content.

Source Control and Git

  • Improved Source Control and Git workbench boundaries under the built-in Git
    extension.
  • Fixed stale Git watcher refreshes so file state and source-control views do
    not keep using old workspace information.
  • Improved media previews inside Git/source-control surfaces so binary media
    files can be previewed instead of only shown as generic binary content.
  • Fixed the Source Control close-button behavior so the pane-level close action
    closes the active file/graph preview rather than the whole modal.
  • Continued commit graph and Git history editor refinements behind the Git
    contribution boundary.

Modals and UI

  • Restored modal sizing and layout after the modal performance pass caused
    Settings, Source Control, and Extensions to shrink or feel visually wrong.
  • Kept modal overlays lightweight so they still feel like modals without
    reintroducing expensive blur or full opaque black screens.
  • Fixed extension modal scroll and sizing behavior so small result sets do not
    collapse the modal.
  • Kept sidebar context menus and tab popups theme-aware.
  • Added the app menu button/chrome pass for platform menu access and
    traffic-light-safe UI placement.

Build, Release, and Diagnostics

  • Added build diagnostics helpers so package/core build failures show clearer
    phase-specific causes.
  • Fixed Windows package-build execution by using the current npm exec path,
    avoiding npm.cmd spawn failures.
  • Improved package build wiring for the workspace packages used by the extension
    host.
  • Added extension activation logs, terminal health diagnostics, startup phase
    reporting, and renderer diagnostics for hard-to-reproduce startup failures.

Commits Included

  • f6f3333 fix: run package builds through npm execpath
  • c47d7a1 feat: wire built-in extension activation
  • 7c02f43 fix: protect terminal streams from renderer lag
  • b57fffa refactor: split terminal session manager
  • 06730df refactor: move agent workbench into builtin extension
  • b7629bd refactor: split agent and terminal workbench boundaries
  • 770c23d refactor: move built-in workbench features into extensions
  • 8450a62 feat: add extension runtime diagnostics and lsp service boundary
  • 29486d1 refactor: route built-in workbench surfaces through contributions
  • 6439362 refactor: move terminal io into platform service layer
  • 94febc3 fix: restore dev startup and quiet workspace open
  • 7c2ae85 feat: add executable extension command runtime
  • ae92d6c feat: mount extension view contributions in workbench
  • b3e2e4e fix: restore modal layout and git media previews
  • d554b4c feat: upgrade test explorer workbench
  • 242e477 feat: harden testing workbench and react editor languages
  • 61ac921 feat: route built-ins through workbench contributions
  • 7e923a3 fix: improve markdown preview anchors and quotes
  • 261df54 fix: prevent stale git watcher refreshes
  • a909ea7 refactor...
Read more

v1.2.6

Choose a tag to compare

@github-actions github-actions released this 02 Jul 11:56

Axon v1.2.6

Axon v1.2.6 is a large architecture and polish release. It takes the work that
started as bug fixing and pushes it into the new production IDE structure:
extension packages, built-in contributions, a cleaner terminal workbench, a
faster modal system, and a more capable Source Control experience.

Architecture and Extension System

  • Added the shared extension API package, extension manifest contracts, runtime
    contribution types, and example extension scaffolding.
  • Moved the repository toward the new apps/, services/, packages/, and
    root-level extensions/ architecture.
  • Added built-in extension metadata for themes, terminal, and other extension
    surfaces so the app can resolve contributions from manifests instead of
    hard-coded app fallbacks.
  • Moved built-in theme source loading to extension manifests and kept the
    onboarding theme picker scoped to internal built-in themes.
  • Improved the Extensions modal with clearer installed/downloaded states,
    marketplace metadata, GitHub links, and theme install handling.
  • Documented the architecture migration in architecture.md.

Editor, LSP, and Navigation

  • Fixed the save/dirty-file scroll jump so saving a buffer no longer moves the
    editor to the bottom.
  • Fixed stacked Git/change decorations so repeated edits on the same range do
    not deepen the same yellow, green, or red paint.
  • Restored command/control-click definition navigation while keeping Axon's
    tab-opening behavior ahead of Monaco's peek popup for cross-file jumps.
  • Improved completion behavior for local exports, installed packages, external
    library imports, icons, HTML snippets, JSX/TSX web completions, and Tailwind.
  • Improved hover behavior so TypeScript and Tailwind hovers do not stack in a
    confusing way.
  • Fixed find behavior for command/control-F, including selected-text seeding
    and stable focus while editing the search query.
  • Fixed breadcrumbs so symbol popovers open again and snippets are filtered out
    of breadcrumb labels.
  • Split the main LSP feature module into focused facade, lifecycle, and request
    files so the LSP implementation remains maintainable.

Modals and Performance

  • Refactored Settings into smaller sections and removed the old color override
    surface.
  • Fixed Settings and Extensions modal slowness by reducing heavy render paths
    and keeping modal content scoped.
  • Changed modal overlays from opaque full-screen covers to theme-aware
    translucent scrims.
  • Removed backdrop blur from modal overlays because Electron compositing made
    it expensive on large windows.
  • Made hand-rolled modals use the same modal feel as shared command modals.
  • Kept workspace/folder loading surfaces theme-aware without reintroducing slow
    transparent skeleton overlays.

Source Control and Git

  • Added a proper Source Control commit graph view with lanes, refs, hashes,
    authors, relative dates, and parent counts.
  • Made graph loading explicit so Source Control opens quickly and only fetches
    commit history when the graph view is selected.
  • Collapsed advanced Git workflow controls by default, loading branch, stash,
    conflict, and worktree data on demand.
  • Kept the modal-level close button separate from the right-pane close button;
    the right-pane button now closes only the active file preview or graph view.
  • Improved Source Control modal responsiveness by removing eager advanced Git
    queries from the open path.

Terminal and CLI

  • Moved the built-in terminal workbench implementation under
    extensions/builtin/terminal.
  • Added terminal contribution resolution so the app mounts terminal UI from the
    extension registry instead of importing old app-only terminal internals.
  • Added shared platform panel types for terminal/output panel ownership.
  • Rebuilt the dev axon CLI during npm run dev using a repo-local Go build
    cache.
  • Split the axon CLI agent into prompt, composer, model picker, terminal
    helper, session header, and terminal UI modules.
  • Added the full-width Axon terminal header, animated tagline, and improved
    slash-command picker.

UI and Theming

  • Made sidebar file rows horizontally scrollable instead of truncating long
    filenames.
  • Made sidebar context menus and tab popups theme-aware.
  • Fixed modal placement and Zen mode chrome spacing around platform traffic
    light areas.
  • Added custom scrollbars across editor surfaces.
  • Increased the welcome tab built-in theme list to twelve internal themes.

Commits Included

This release is built from the work after v1.2.5, including:

  • 4460b0c fix: resolve Axon code review findings
  • e8cd4d8 fix: stabilize editor save navigation and LSP UX
  • 6a01ed5 fix: stabilize settings modal and themed scroll surfaces
  • 22b8f82 feat: migrate core and built-in extensions
  • d9e676e feat: add initial Axon extension API
  • 8cebccd feat: wire extension API as workspace package
  • eeee1e6 feat: introduce extension host service layer
  • 65b5844 refactor: route extension IPC through host service
  • 05ceec5 refactor: move editor app under apps
  • 8ca4a7c feat: establish shared extension architecture
  • 9677c60 refactor: introduce workbench platform layout
  • c169e7f fix: stabilize extension and editor chrome
  • bac2ab5 refactor: stabilize extension registry and editor surfaces
  • 069c40a refactor: migrate terminal workbench and polish agent cli