Changelog
All notable changes to ecliptic are recorded here. The format follows
Keep a Changelog, and the project
uses Semantic Versioning: the
version lives once, in the workspace Cargo.toml, and every release is a
vX.Y.Z tag.
Unreleased
Added
- The demo plays a tour:
ecliptic-demo --demo DIR --tour FILEreads a script of captions and of a drawn pointer that glides to a row, an icon or a file in the drawer and clicks it, with commands, the theme picker and the pages, one step per line, and quits at its end (packaging/demo/README.mdlists the steps).record.shplaysdemo/promo.touron a private X display and records it until it quits, which is how the README's recording is made. Under a tour the agents edit every 4 s, and their commits take one file at a time, so the columns keep their changes while the graphs grow. - Packages for macOS and Windows beside the Linux archives: a universal
ecliptic.appin a.dmg, an MSI (per-user, Start Menu and PATH entries, no elevation) and a portable.zip, and a Linuxaarch64archive. The GitHub Actions workflow tests on all three platforms and attaches every package to a tag's release;packaging/release.shbuilds the platform's package wherever it runs (docs/packaging.md). - One-line installers:
install.shfor Linux and macOS andinstall.ps1for Windows find the latest release, verify the package's sha256 and install it without sudo or an administrator prompt, with flags or environment variables for a pinned version and the place, curl or wget, and a check that the result runs. The packaging jobs run them against the packages they built before a release is published, which comes with oneSHA256SUMSfor every package. Linux packages are built on Ubuntu 22.04, so they run on glibc 2.35 and newer. - Atlas Ember, the Atlas design system's Dark · Ember (ink surfaces, bone text, the Ember accent), in the built-in Atlas Themes extension, and Tokyo Midnight, Tokyo Night's palette on deeper surfaces, in the built-in Tokyo Night extension. The theme picker and the Color Theme setting list the two defaults first and the rest by name.
- The diff drawer has a side bar of its own, down its left: the
repository's changes, or a commit's files, with the open one highlighted,
so the next file is a click away without leaving the drawer (right-click
a row for its menu;
ecliptic.drawer.sideBarturns it off). A new config opens the drawer 1020 px wide to make room for it. - A Home icon at the top of the Activity Bar, lit while the columns are
showing, that returns to them from the Settings, Keyboard Shortcuts and
extension pages (the
ecliptic.homecommand).
Changed
- Renamed to ecliptic. The binary (
ecliptic), the config and extensions folders (~/.config/ecliptic,~/.local/share/ecliptic, and their macOS and Windows equivalents), the settings keys, command ids and colour ids (ecliptic.*, formerlyatlas.*) and the built-in extension ids (ecliptic.vscode,ecliptic.atlas-themes,ecliptic.tokyo-night) take the new name. The first start copies an existing atlas-scm config folder and extensions folder over, keys and ids renamed; the old folders stay as they were. - Files open, folders reveal and links launch through each desktop's own
command (
xdg-openand FileManager1 on Linux,openon macOS, the shell's open verb andexplorer /select,on Windows); the monospace font defaults to Menlo on macOS and Consolas on Windows; settings, layout, keybindings and extensions live in each platform's own config folder; a file the desktop has no icon for shows a codicon in its row.
Fixed
- The Keyboard Shortcuts page writes the home folder as
~in its file's location, as the Settings editor does. - Scrollbars are thin at rest and fill out under the pointer, and the row of columns shows its slider only while scrolling sideways or when the pointer reaches it, instead of lying over the top row's Graph headers whenever the pointer was anywhere in the row.
- The task bar and the launcher show ecliptic's icon: the window sets its app id (Wayland) and class (X11) once its backend is chosen, the one moment Slint takes it, carries its own icon, the desktop entry names its class, and the Linux package installs the icon at every size the desktop asks for and refreshes KDE's icon cache.
- The drawer's right edge stays on the window's edge while the drawer or the window is resized. Only its slide in and out animates, so dragging the handle no longer lets the columns show through beside it.
1.0.0 - 2026-10-15
The first release.
Added
- Columns, one repository each, in one or two rows: Repositories, Changes
(staged and unstaged, with
+12 −3line counts and VS Code's file icons) and the commit Graph with lanes and ref pills, each updating live as agents edit the repository. Changes stay marked until the column is looked at. - A watch-only
gitbackend: optional locks and the diff index refresh off, so a repository is never written to; one worker per column watching with inotify and refreshing once changes settle, with no timers at idle. - The drawer: a file's diff or a commit, as one document of lines in git's own format, with an editor-tab header, edge marks, selection and copy as text or patch.
- VS Code's window: its own title bar and menus, the Activity Bar, the Primary Side Bar (Source Control with repository rows, their hover actions and a filter; Extensions with a search box), the status bar, overlay scrollbars, tooltips, and keyboard navigation through columns and lists.
- Context menus on files, commits, columns, the drawer and repository rows,
as commands, with their entries configurable in settings
(
ecliptic.menu.*). settings.jsonas VS Code keeps it (comments kept, keys edited in place) and a Settings editor over it;config.tomlfor the layout.- Keyboard shortcuts as commands:
keybindings.jsonfor the user's, extensions' from their manifests, and a Keyboard Shortcuts page listing what is in effect; the Command Palette runs any command. - Extensions in VS Code's shape: a
package.jsonmanifest contributing colour themes, commands, keybindings, menus, settings, views and view containers; a process over JSON-RPC that reaches the status bar, views, decorations, the drawer and the notice bar; an extension page with its README, features and changelog. The built-in VS Code Themes extension ships Dark Modern, Light Modern, Dark+ and Light+. ecliptic.editor.commandto choose the editor Open in Editor uses.--versionand--help, a release archive with the desktop entry and icon (packaging/release.sh), a GitHub Actions workflow, and a demo mode (--demo DIR, in a separate demo archive) for recording.- A performance toolbox after the Rust Performance Book, as one standalone executable.