Releases: shackra/backpack
Releases · shackra/backpack
Release list
Backpack v0.5.3
Features
- ui: Add diff-hl gear — VCS change indicators in the fringe
- Real-time updates via diff-hl-flydiff-mode
- Dired integration and terminal margin fallback
- amend flag for diffing against parent of HEAD
- Transient menu on C-x p R: hunk navigation, reference revision control, amend toggle
- Transient installs independently of the magit gear
- inventory: Parse keymap-set and define-key calls in gear files
- Bindings in :config bodies and bare (when ...) blocks now appear in gear detail view
Bug Fixes
- Remove duplicate lexical-binding: t cookie
- Smarter buffer switching after killing current buffer
- direnv: Define advice at :init block of leaf
- Don't activate envrc when Backpack is cloned in user-emacs-directory
- Remove unconditional de-activation of tool-bar, menu-bar and splash screen
- Ensure ob-typescript is installed correctly by elpaca
Docs
- Update README.md
v0.5
What's Changed
- Codebase restructured:
lisp/backpack.elsplit into separate files for better maintainability - Anvil.el integration: New support for anvil.el with AI gear and
backpack-user-after-init-hook - More programming languages: Added gears for Clojure, HTML, and other tree-sitter grammars
- Consult gear: New gear for consult integration
- Pin grammar revisions by libtree-sitter ABI instead of Emacs version
backpack-treesit-recipe!now inherits grammar recipes correctly- Fixed tree-sitter-go pinned to revision matching Emacs 30.2
- Use
:until-abifor new language gears - Do not install
markdown-ts-modein Emacs 31+ (built-in)
- Corfu: terminal support, two new behavioral flags, auto-idle improvements
- Eldoc-box: works in daemon mode, fallback for terminal, dismiss with
C-u C-h . - Eglot hover behavior restored with flag to disable
- Initial YAML LSP protocol extensions for eglot
- Workspace configuration for YAML LSP
- TAB cycles indentation in
yaml-ts-mode
- Fix
mu4egear - Fix inventory
:whengates skipping-prefixedguard checks - Catch packages that fail to install and report why
- Catch throw when
backpack ensurehangs - Fix frame persistence when 2 frames remain
drive-confignores envrc-related files- Close window when eshell/eat/vterm exits
- Toggle shell buffers correctly
- Improved org-mode support and appearance (#17)
- Improved dired support
- Magit project status eagerly added to
project-switch-commands - Added manual test preparation script
- Removed
persistence.el(frame state persistence feature dropped)
Full Changelog: v0.4.3...v0.5
Backpack Emacs v0.4.0
This release introduces the self-documenting inventory browser, a major new feature that makes Backpack fully self-documenting. It also adds support for 8 new programming languages and file formats, a refreshed README, and numerous quality-of-life improvements.
Highlights
Self-Documenting Inventory Browser (M-x backpack-inventory)
Backpack is now self-documenting. Press C-h B or run M-x backpack-inventory to browse all available pouches, gears and flags interactively. The inventory:
- Discovers pouches and gears automatically from the filesystem
- Parses gear source files on demand using Emacs's
readfunction -- no annotations or metadata files required - Shows three navigable levels: pouch listing -> gear listing -> gear detail
- Displays enabled/disabled/default-on status, flags, external tool requirements (with
required/optional/conflictslevels), required fonts, examplegear!snippets, and pinned package versions - Features a Doom Emacs-inspired UI with a header bar,
nerd-iconssupport (with graceful fallback),cursor-facehighlighting, and tooltips - Opens in a right side window by default (configurable via
backpack-inventory-display-action)
New Language & File Format Support
- Haskell (
:editing haskell) -- with LSP, tree-sitter, and org-babel integration - Rust (
:editing rust) -- with LSP, tree-sitter, cargo integration, and org-babel support - TOML (
:editing toml) -- with tree-sitter support - YAML (
:editing yaml) -- with tree-sitter support - Terraform (
:editing terraform) -- with LSP and tree-sitter support - Markdown (
:editing markdown) -- major mode for Markdown files - reStructuredText (
:editing rst) -- major mode for rST files - LaTeX (
:editing latex) -- AUCTeX with tree-sitter support
New Default Features
- which-key is now enabled by default in
:config default-- displays available keybindings in a popup as you type. Uses the built-in version on Emacs 30+, installs the package on Emacs 29.x. Disable with-which-key. *Help*buffers now open in a right side window (40% width) instead of splitting the current window.
New Gears & Tools
:tools cool-motions-- smart motions:C-acycles between first non-whitespace character and beginning of line:editing emacs-lisp-- Emacs Lisp support with lispy and let-completion
Improvements:doctorkeyword extended -- now supports requirement levels:required,optional(default), and(conflicts "other-binary"). The inventory groups tools by level when a gear uses mixed levels.- Package display -- gear detail view now shows all pinned packages with short refs and GitHub repo info where applicable.
- Tree-sitter fixes -- correctly set hooks and remap major modes to tree-sitter modes across all language gears.
- WSL clipboard fix -- killed/copied text now correctly reaches the Windows clipboard under WSL.
- saveplace enabled -- remembers cursor position in previously visited files.
- savehist location -- history file moved to the nonessential cache directory.
- Elpaca ref updates -- elpaca now properly updates repositories when the pinned ref changes in a leaf block.
- Lexical binding -- enabled on all files that were missing it.
- Magit and friends updated -- bumped to latest pinned refs.
Documentation
- AGENTS.md -- comprehensive documentation for AI coding agents, covering architecture, boot sequence, gear file conventions, the
gear!/gearp!macro system, naming conventions, the inventory system, testing, and all project rules. - README converted to Markdown --
README.orgreplaced withREADME.md. The manual feature listing is replaced by a reference tobackpack-inventory, since the starter kit is now self-documenting.
Bug Fixes
- Fix mu4e header lengths
- Fix hard-coded paths replaced with variables
- Fix
add-to-listcalls passing wrong type - Fix yaml-mode activation for
.ymlfiles
Full Changelog: v0.3.0...v0.4.0
v0.3.0
v0.2.1: Fast initialization times
What's Changed
Full Changelog: v0.2.0...v0.2.1