Gram 1.1.0 released
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
- @theDoctor
- @fzzr
- @aylamz
- @selfisekai
- @tjk
- @kramo
- @Petrosz007
- @voidedgin
- @stepanov
- @edwardloveall
- @ash-sykes
- @GulfSugar
- @scadu
...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_commentanddocumentation_commentfor 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)