Today I'm happy to announce the release of Gram 1.1.0! A huge thanks to everyone
who has contributed by raising issues, submitting patches and artwork and giving
me feedback and comments, the response so far has blown me away.
Downloads are available from
Codeberg and
hopefully soon via Homebrew/AUR/other channels.
In particular, I want to thank
...not to forget the OG #gram testers, the
Gleam Gathering
folks who got an early look at the editor
and anyone else I may have forgot to mention.

New icon
One of the most visible changes with this release are new app icons by
@kramo. I love them, thank you so much. The old
hand-drawn grumpy toad will stay on the welcome page at least for now,
and the happy toad by @bjoreman will stay on the
website.
wgpu and Linux
The second big change is migrating GPUI from the old blade renderer to a new
renderer based on wgpu. All credit for making this happen
goes to contributor @selfisekai. This should
hopefully improve stability and compatibility on Linux, but let me know if you
encounter any issues.
Note: There is a known issue with running on some older Intel GPUs. To get
Gram to run on these cards you can run through software emulation. It will be
slow but will at least start. To do this, run the following from the terminal
after installation:
LIBGL_ALWAYS_SOFTWARE=1 gram --foreground
Flatpak, Appimage, deb and rpm
On the topic of Linux, the support in general is now a lot better. We can now
generate Flatpak, AppImage, .deb and .rpm packages, and I will take a stab
at getting this version onto Flathub as soon as possible.
We already have the editor available in AUR for Arch and in Homebrew for Mac OS,
and hopefully those channels will be updated with the new version soon.
Language support
There is built in support for more languages/formats in the editor:
- OpenTofu / Terraform
- Nix
- XML
- Bash language server
Better extension support
Using extensions should be more ergonomic now. The editor is clearer about the
requirements (language extensions need a rustup toolchain to build) and gives
better feedback if the installation fails. Oh, and the extensions won't disappear
after a few days if installed from Git. (oops - download and install from local
folder and they'll remain in 1.0.0 too) :D
The first release worked well for me, on Mac and without using extensions. This
release should hopefully be usable for more people.
Supporting the Project
The best way to support Gram is by using it, contributing fixes,
improving the documentation or spreading the word. If you do want to spend money
to support free and open source projects that deserve your help, these are some
projects that I like and want to help:
Another way to support Gram is by donating to Medecins Sans
Frontiers.
Fix your hearts or die, friends.
Changelog
Added
- Add AUR installation instructions to README (#38) by @nerdyslacker
- Add Gleam theme by Danielle Maywood
- Add Minimal base keymap for use with vim/helix keys (#144) by @tjk
- Add XML language server lemminx (#121) by @theDoctor
- Add XML treesitter support (#116) by @theDoctor
- Add appimage build option to bundle-linux (#114) by @theDoctor
- Add bash LSP (#132) by @theDoctor
- Add binary aur install instructions to README (#53) by @bananas
- Add default empty rustfmt config (#92) by @fzzr
- Add helix :reflow command to vim/helix modes
- Add new app icons by @kramo (#49) (#134)
- Add perl-Time-Piece to linux script (#1) by @LHolten
- Add remove trailing whitespace action (#81)
- Add subpixel text rendering, switch from blade to wgpu (#103) by @selfisekai
- Add zlib-ng-compat-static as dependency for Fedora build (#62) by @voidedgin
- Build and package for windows (#74) by @sparx
- Built in language support for Nix (#59)
- Built in language support for OpenTofu (#33) by @theDoctor
- Improved feedback when extension installation fails (#37)
- Options to adjust client side decoration rounding/shadow (#20)
- Support /path/to/file.txt(ln, col) style paths in terminal (#75)
Fixed
- Bind vim/helix keys even if base keymap is None (#117)
- Cleanup remaining screen-capture code (#80) by @selfisekai
- Don't install WASI SDK if compatible clang is found (#41)
- Don't panic on failing to send an error notification (#136) by @selfisekai
- Enable the uninstall extension button (#32)
- Extend icon theme docs with enable settings (#6) by @Petrosz007
- Fetch newest release automatically (#83) by @scadu
- Fix LSP github download logic for pre-release (#67) by @Petrosz007
- Fix Supertab not performing word completion
- Fix
block_comment and documentation_comment for Rust (#24) by @fzzr - Fix download of tofu-ls for opentofu lsp support (#122)
- Fix empty project panel "or" divider (#109)
- Fix extensions being installed to tmp dir (#26)
- Fix menubar keyboard navigation (#119) by @aylamz
- Fix superhtml LSP (#56) by @Petrosz007
- Fix the lua-language-server asset name when downloading from github (#78)
- Fixed package name for cmake for Gentoo packages (#28) by @stepanov
- Fixes compilation issue on aarch64-linux (#61) by @voidedgin
- Make UI and Buffer Font match. (#69) by @voidedgin
- Modify single instance port numbers to not clash with Zed (#10)
- Remove more old sign-in code (#123) by @tjk
- Remove unused credentials code (#110)
- Set correct target for extension grammar (#84) by @selfisekai
- Use system clang, if it supports the wasm target (#64) by @selfisekai
- docs: Documentation around installing extensions. (#23) by @edwardloveall
- docs: Fix a few documentation links (#125) by @tjk
- docs: Fixed typos in README (#19) by @GulfSugar
- docs: Highlight that Rust in required to install some extensions (#34) by @ash-sykes
- docs: Remove mention of old feedback window (#126) by @tjk
- docs: Wasm is not an acronym
Changed
- Move GLSL extension into separate
repo
- Move Protobuf extension into separate
repo
- Allow for CARGO_TARGET_DIR in install.sh (#118) by @tjk
- Bump crash-handler to 0.7 (#39) by @selfisekai
- Update wild to 0.8.0 (#63) by @voidedgin
- (see codeberg.org/GramEditor/gram for
complete list of changes)