Gram release 3.0.0

Hi everyone,
I hope everyone in Europe and everywhere else where it's unusually hot (or usually hot for that matter) are doing OK despite the heat. Even up here in the mideast of Sweden it's approaching 30 degrees celsius which is about 60 degrees above what we usually get. Inspired by the Sonoran Desert Toad I am hiding in my damp cave, hacking away.
PSA: Don't lick the toad. It's bad for the toad.
Oh and while I have your attention: Free Palestine.
Anyway, this is a breaking release mainly for Mac users. I have migrated off the
custom Metal renderer that Gram was using to using the same wgpu-based renderer
for both Linux and Mac. I'm sure that this is going to create a bunch of new
issues, but hopefully it also fixes a couple. The main reason is that I have
started migrating from the deprecated and soon to be unusable objc set of
crates to the objc2 set of crates, and reducing the amount of Mac-specific
code makes that job easier.
It's also a breaking release because I have put more stuff behind the "allow download" gate. My goal is to ensure that the editor never downloads anything without explicit permission, but there is still some way to go. I also want to make controlling the permissions more ergonomic, so I apologize for how annoying it is at the moment.
Downloads will as usual be available on Codeberg.
Cheers,
@krig
[3.0.0] - 2026-06-29
Changed
- Port Mac from custom Metal renderer to using wgpu
- Use cosmic-text for text layout on both Linux and Mac OS
- Upgrade cosmic-text to 0.19
- Switch default system font to DejaVu Sans on Linux
- Backport cosmic-text layout fixes from Zed
- Always display "Return to Onboarding" on Welcome screen
- Gate Prettier download behind allow option in LSP configuration
- Gate NPM package installation behind allow option in LSP configuration
Added
- Add
editor.line_number_scalesetting for smaller line numbers - Add support for variable weight fonts to cosmic text system
- Add bold & italic variants to default monospace font (Myna)
Fixed
- Prevent table cutoff in markdown preview (#332) by @kmkkiii
- Restore launchpad when using CLI without args (#340) by @ycna07
- Build system / CI improvements (#335) by @koru
- Add installation instructions for MSYS2 (#337) by @ognevny
- Fix potential hang when using clipboard on Linux / Wayland (zed#58826) by @dantai
- Handle macOS file open events (#353) by @pixelkarma
- Normalize line endings (#354) by @gluca
- Update settings immediately without relying on FS watcher notification (#334)
- Watch files that don't exist yet by polling (like settings.jsonc) (#334)
- Trigger full rescan when focusing project panel
- Refresh git panel when focused
- Refresh entries for paths whenever active item changes
- Better version handling for debug builds
- Drop git2-rs dependency (zed#53453) (#331) (#234)
- Actually toggle terminal on Toggle action
- Don't generate minidumps unless GRAM_GENERATE_MINIDUMPS is set
- Update to rust 1.96
- Bump UI label line height to 1.125 (+2/16px) (#321)
- Don't enable relative line numbers in multibuffers
- Fix stacked borrows violation in scheduler (zed#56850)
- Use buffer font size for outlines (since they use buffer font)
- Fix check for nixd LSPS (#347)
- Prefer to open in focused window (#350)
- Fix LSP provided by extensions not working in remote sessions (zed#56487)
- Fix loading tasks from extensions
- Make the Minimal keymap a bit less minimal to reduce confusion (#346)
- Fix cmd-e on macOS to behave more like it should (zed#54451)
- Save buffers before debug run (#338)
- Use objc2 for window prompts (zed#59572)
- Fix recent files picker out of sync when containing paths that no longer exist
- Fix traffic light position after appearance changes (Mac) (zed#59712)
- Roto has moved to // for comments in 0.11