Releases: jx-grxf/BriskEdit
BriskEdit 0.5.0
0.5.0 - Movable tabs, smarter setup, optional source control
BriskEdit 0.5.0 makes the window your own and smooths first-run setup.
⛔️ It remains an unsigned developer preview; on first launch, right-click BriskEdit.app,
choose Open, and confirm.
Added ✅
- Drag tabs anywhere. Reorder tabs within the strip, tear one off onto the
desktop to open it in a new window, or drop it on another window to move it
there — keeping unsaved edits and the language server intact. Dropping onto a
specific tab inserts it at that position. - Keyboard and overflow tab controls. Move the active tab with
⌃⌘←/⌃⌘→
(also in the File menu), and jump to any open tab from the overflow menu that
appears when the strip is full. - Onboarding that sets up your tools. The first-run flow now detects the
compilers, language servers, and formatters already on your Mac and offers to
install the missing ones — Xcode Command Line Tools, Homebrew packages, and
more — with one click. It also previews your theme live, installs the optional
command-line launcher, and can open your first folder. - An About page in Settings with the version, license, and project links.
Improved 🔆
- Smoother tab reordering. Tabs glide into place with a spring and a clear
drop indicator. - Optional source control. A single switch turns the Source Control sidebar,
gutter change bars, and inline blame on or off — for when you're not working in
a repository. Available in onboarding and Settings. - Tidier Settings and welcome screen. All preference tabs fit on one row
without an overflow menu, and the welcome header shows the author and version.
Fixed ❗️
- The Recent folders list no longer keeps temporary or deleted directories.
Compatibility
- macOS 26 (Tahoe) or later, Apple silicon.
BriskEdit 0.4.0
0.4.0 - Faster editing, richer source control, and safer releases
BriskEdit 0.4.0 is a larger editor and tooling release. It remains an unsigned
developer preview; on first launch, right-click BriskEdit.app, choose Open,
and confirm.
Added
- Tree-sitter highlighting for Swift and JSON. Compiled grammar
configurations are cached, with instant fallback highlighting while a grammar
warms up. - Low Power, Adaptive, and Power modes. Background work responds to system
power and thermal state; Power mode can prepare grammars ahead of first use. - A guided first-run experience. Onboarding configures performance, theme,
editor basics, and source control. A new welcome screen surfaces recent folders
and common actions. - Richer source control context. Inline blame, file-tree status badges,
colored file icons, an activity-bar sidebar, and clickable breadcrumbs keep
repository state visible without leaving the editor. - The
briskeditcommand-line launcher. An optional shorterbriskalias is
installed only when that name is available. - An in-app What's New page shown after updates.
Improved
- Large-file editing. Expensive editor features ease off automatically above
4 MB, with accurate line numbers and file-size reporting preserved. - Git refresh behavior. Status scans are coalesced, paths with Unicode,
newlines, and renames are parsed safely, and decorations refresh after saves. - Resource safety. Formatter requests, subprocesses, watchers, debounce
tasks, and per-tab LSP state are bounded and released predictably. - Reproducible builds. Swift packages are locked to committed revisions and
package updates are disabled during CI and release builds.
Release Engineering
- CI now runs warnings-as-errors tests, a real DMG smoke build, shell and workflow
linting, dependency review, Gitleaks history scanning, promo-tooling audit and
type checks, and CodeQL analysis. - Release jobs require a verified signed annotated tag reachable from
main,
retest the tagged source, validate DMG/ZIP/appcast metadata and signatures,
publish SHA-256 checksums, and attach GitHub provenance attestations. - Third-party GitHub Actions are pinned to immutable commits. Dependabot security
updates, dependency review, secret scanning, and push protection are enabled.
Compatibility
- macOS 26 (Tahoe) or later, Apple silicon.
BriskEdit 0.3.6
Release Notes
0.3.6 — Terminal scroll in TUIs, Option-as-Meta, and editor indentation fixes
Builds on 0.3.5. Still an unsigned developer preview — on first launch, right-click
BriskEdit.app → Open → confirm.
Added
- Scroll wheel now works inside full-screen terminal apps. The wheel and
trackpad now scroll full-screen TUIs (Claude Code, htop, less) that run on the
alternate screen. Mouse-reporting apps receive proper wheel events; others get
cursor up/down. Normal-screen scrollback is unchanged. - Optional "Use Option as Meta key" for the terminal. A new terminal setting
(off by default) makes ⌥ act as the Meta modifier for Emacs-style shortcuts.
Left off, ⌥ keeps producing layout characters — needed for@,{,},|,
~on international keyboards (e.g. German ⌥L =@).
Fixed
- Smart backspace in indented code. In spaces mode, pressing Backspace inside
a line's leading whitespace now removes a whole indent level back to the
previous tab stop in one keystroke instead of one space at a time. - No more phantom indentation on blank lines. Pressing Return while leaving a
whitespace-only line trims its indentation, so blank lines no longer keep
trailing spaces or copy a stale indent downward.
Compatibility
- macOS 26 (Tahoe) or later, Apple silicon.
BriskEdit 0.3.5
Release Notes
0.3.5 — Signature help, inline diagnostics, and a silent-crash fix
Builds on 0.3.4. Still an unsigned developer preview — on first launch, right-click
BriskEdit.app → Open → confirm.
Added
- Signature help. Typing inside a call shows a floating parameter-hint panel
with the active argument highlighted, driven by the language server and a
buffer-local fallback when the server is still recovering from broken code. - Inline diagnostics. Errors and warnings are underlined with wavy squiggles
that track the text as you type, with details on hover.
Fixed
- Fixed the editor silently quitting while typing in C files. Writing to a
language server (clangd) that had already closed its pipe raisedSIGPIPE,
which terminates the whole app with no crash report — so the window just
vanished.SIGPIPEis now ignored from process start, before any pipe exists,
so a dead subprocess can never take the app down. - Hardened the LSP client against half-started and dead servers: concurrent cold
starts now share one start task, and writes to a failed server fail gracefully
instead of crashing.
Compatibility
- macOS 26 (Tahoe) or later, Apple silicon.
0.3.4 — Formatter memory safety hardening
A critical stability release on top of 0.3.3. Still an unsigned developer preview — on
first launch, right-click BriskEdit.app → Open → confirm.
Fixed
- Fixed the remaining Format Document memory runaway. Clang-format project
configuration discovery now uses a bounded, cycle-safe lexical parent walk
instead of an unbounded Foundation URL loop. - All formatter entry points now share one global single-flight gate, including
manual formatting and format-on-save. - Formatter processes now have strict input, output, and execution-time limits;
stdout and stderr are drained concurrently to prevent pipe deadlocks. - Stale format-on-save results are discarded when the document changes before
formatting completes.
Improved
- Git, diagnostics, tool discovery, and installer processes now use bounded
output capture and timeouts. - Oversized editor files, LSP messages, Discord IPC frames, Markdown previews,
and search buffers are capped to keep memory use predictable under malformed
or unexpectedly large input. - Formatter telemetry now records duration, input size, and suppressed duplicate
requests for future incident diagnosis.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.4
Release Notes
0.3.4 — ⛔️ Critical Fix: Formatter memory safety hardening
A critical stability release on top of 0.3.3. Still an unsigned developer preview — on
first launch, right-click BriskEdit.app → Open → confirm.
Fixed
- Fixed the remaining Format Document memory runaway. Clang-format project
configuration discovery now uses a bounded, cycle-safe lexical parent walk
instead of an unbounded Foundation URL loop. - All formatter entry points now share one global single-flight gate, including
manual formatting and format-on-save. - Formatter processes now have strict input, output, and execution-time limits;
stdout and stderr are drained concurrently to prevent pipe deadlocks. - Stale format-on-save results are discarded when the document changes before
formatting completes.
Improved
- Git, diagnostics, tool discovery, and installer processes now use bounded
output capture and timeouts. - Oversized editor files, LSP messages, Discord IPC frames, Markdown previews,
and search buffers are capped to keep memory use predictable under malformed
or unexpectedly large input. - Formatter telemetry now records duration, input size, and suppressed duplicate
requests for future incident diagnosis.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.3
Release Notes
0.3.3 —⚠️ Emergency formatter memory fix ⚠️
A critical fix release on top of 0.3.2. Still an unsigned developer preview — on
first launch, right-click BriskEdit.app → Open → confirm.
Fixed
- Format Document can no longer exhaust system memory. Repeated formatter
requests are now single-flight instead of launching unbounded concurrent
tasks and retaining full buffer copies. - Formatter shortcut key-repeat events are ignored, and stale results are
discarded when the document changes while formatting is in progress.
Improved
- Formatter tool and project-config discovery now runs away from the main thread,
keeping the editor responsive during formatting.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.2
Release Notes
0.3.2 — Editor fixes, Format Document & Discord presence
A focused fix release on top of 0.3.1. Still an unsigned developer preview — on
first launch, right-click BriskEdit.app → Open → confirm.
Added
- Format Document for supported languages, right from the editor: right-click
→ Format Document or press ⇧⌥F. It honours a project.clang-format(and
falls back to your editor indent width), and a format is a single ⌘Z undo. - Discord Rich Presence (experimental, opt-in under Settings → Experimental):
show the file, language and workspace you're working on, with per-field privacy
toggles. Off by default. - BriskEdit now registers as an editor for common code files, so they can open
in it directly from Finder.
Fixed
- Code folding no longer glitches. Folding a block — or typing while a fold
was active — could leave black lines and a jumping viewport. Folding now
relayouts surgically and repaints cleanly. - Dropping a file into an empty folder in the file tree now shows it
immediately instead of leaving it invisible until a second drop.
Improved
- File-tree drag & drop: animated drop-target highlight, spring-loaded folder
auto-expand on hover, and a clearer drag preview.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.1
Release Notes
0.3.1 — UI polish & a product demo
A small, stable follow-up to 0.3.0. Still an unsigned developer preview — on
first launch, right-click BriskEdit.app → Open → confirm.
Improved
- Refreshed editor chrome: a native front-tab look, a calmer Run button,
consistent design tokens, and a clearer status-bar type ramp. - Settings now use translucent forms, gained a dedicated editor font picker,
and show a last-update-check date that refreshes live after an update cycle. - The whole tab chip is clickable, and the sidebar cross-fades between views.
Docs
- Added a 30-second product demo video to the README.
Internal
- Hardened the release pipeline: releases are serialized and the release notes
are verified before a build starts.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.0
Release Notes
0.3.0 — themes, search, code intelligence & polish
The first stable 0.3.0 build. Still an unsigned developer preview — on first
launch, right-click BriskEdit.app → Open → confirm.
New
- Color themes. Built-in palettes including System (VS Code), One Dark,
Dracula, Nord, Solarized Dark, Monokai, and GitHub Light, switchable from the
View menu. - VS Code theme import. Import
.jsoncolor themes, preview them in
Settings, persist them, and remove them again when no longer needed. - Find in Files. Project-wide search and replace with case / whole-word /
regular-expression options. - Markdown preview. Live split-screen preview with working in-page and
relative links; toggle it from the View menu or close it inline. - Image viewing. Open PNG, JPEG, GIF, and other common image formats,
inline or in a split preview. - Open Recent. The File menu lists recently opened folders for quick reopen.
- Terminal font picker. Choose any installed monospaced font for the
integrated terminal from Settings. - Tool Health. Inspect and install missing language tools with live install
progress. - Appearance & font-size commands. Editor font, minimap, and git gutter
bars live in a dedicated Appearance tab; increase/decrease/reset font size
from the View menu.
Improved
- Code folding collapses a block to a single clean header line and keeps gutter
line numbers consistent. - Windows open at the full visible size, and a cold start restores exactly one
window. - Running C and C++ files resolves system headers through the installed SDK.
- Folding controls only appear for languages where folding makes sense.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.
BriskEdit 0.3.0-beta.2
Release Notes
0.3.0-beta.2 — search, code intelligence & folding
A beta build. Still an unsigned developer preview — on first launch, right-click
BriskEdit.app → Open → confirm. To receive further beta updates, set the
update channel to Beta in Settings — the beta channel now polls its own
update feed, so in-app updates work for beta testers.
New
- Find in Files. Project-wide search and replace with case / whole-word /
regex toggles, results grouped by file. Uses ripgrep when installed (gitignore
aware), with a pure-Swift fallback; searches dotfiles too (.env,.gitignore). - Code folding. Expand/collapse blocks via chevrons in the gutter, with
indentation-based fold regions. - Symbol outline. A sidebar of the file's symbols from the language server;
click to jump to a definition. - Go to Definition. ⌘-click or F12 on a symbol.
- Hover tooltips. Rest the pointer on a symbol to see its type/docs from the
language server. - Minimap. A zoomed-out overview at the right edge; click or drag to scroll.
Toggle from View ▸ Show Minimap or Settings. - Multi-cursor. ⌘D selects the next occurrence as an additional cursor.
- More languages & a language picker. Dart, Java, Kotlin, Ruby, Lua, SQL,
Perl, SCSS/Less, TOML, INI and more, plus a clickable language selector in the
status bar (with auto-detect).
Improved
- Flicker-free highlighting. Syntax colors are applied as TextKit 2 rendering
attributes instead of text-storage edits, so the visible text no longer
flashes or jumps while typing, and the whole document is colored correctly. - Snappier editor. The minimap rebuilds on a debounce instead of rescanning
the document on every keystroke; project-search numbers lines in a single pass. - Accessibility labels for the sidebar section picker, terminal toggle, and the
search controls.
Compatibility
Requires macOS 26 or newer. Xcode 26+ to build from source.