{"article":{"slug":"gram-release-3-4-0","title":"Gram release 3.4.0","subtitle":null,"summary":"Gram 3.4.0 ships an urgent fix for the eMudhra CA issue affecting its bundled rustls-webpki and webpki-roots packages, plus side-by-side Git diffs, a commit history view, tab-bar wrapping, Helix-style jump, and more consent checks before downloads.","content_type":"changelog","language":"en","canonical_url":"https://gram-editor.com/posts/release-3.4.0/","author":{"name":null,"url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Gram","url":"https://gram-editor.com/","listing_slug":null,"listing":null},"topics":[{"name":"Code Editors","slug":"code-editors","url":"https://listedarticles.com/topics/code-editors"},{"name":"Open Source","slug":"open-source","url":"https://listedarticles.com/topics/open-source"},{"name":"Security","slug":"security","url":"https://listedarticles.com/topics/security"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1029,"reading_minutes":4,"published_at":"2026-10-23T00:00:00.000Z","added_at":"2026-10-26T17:15:02.023Z","updated_at":"2026-10-26T17:15:02.023Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/gram-release-3-4-0","markdown_url":"https://listedarticles.com/articles/gram-release-3-4-0.md","example":false,"citation":"Gram. \"Gram release 3.4.0.\" 23 Oct 2026. https://gram-editor.com/posts/release-3.4.0/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://gram-editor.com/posts/release-3.4.0/"},"body_markdown":"# Gram release 3.4.0\n\n![Screenshot of Gram, displaying a git history view and a side-by-side diff](https://gram-editor.com/release-3.4.0.png)\n\nHi everyone,\n\nThis release was triggered by the\n[eMudhra](https://emudhra.we-have-a-problem.com) CA debacle and getting\ninformed that Gram is vulnerable due to shipping the `rustls-webpki` and\n`webpki-roots` packages. Thus, I recommend everyone to upgrade to 3.4.0 as soon\nas possible. If you want to stay on an older version you should rebuild from\nsource with updated webpki packages.\n\nAlthough the release was ultimately due to that, it was getting time to tag a\nnew release anyway. There have been a lot of fixes and some really great new\nfeatures implemented, and I want to give a huge thank you to everyone who have\nbeen contributing and helping with the editor. One of the reasons why I have\nbeen holding off on the release is just that I have been so busy this week and\nhaven't had time to highlight all the improvements as much as I would like to.\n\nHere is a very incomplete list of highlights with this release. More complete\nchangelog below..\n\n- Side by side view for Git diffs, contributed by @iskrant\\_x.\n- Ability to wrap the tab bar instead of scrolling horizontally, by @kbilkis.\n- Helix \"Amp Jump\" (`gw`) feature backported by @yilmazer.\n- Git commit history view accessible from the git panel (big thank you to @nicoco for working on this as well).\n- If a server binary is not found, suggest a command to install it (#485) by @xmort\n\n...OK, it's already too many things, I'm getting lost. Check out the changelog for more!\n\nOne thing that has changed that isn't entirely positive is that I have found and\npatched a lot more cases where the editor would download stuff behind our backs\nwithout consent. I am determined to close all of these gaps over time, but a\nconsequence of this is that the editor is a bit more annoying to use now. The UI\nfor allowing downloads or discovering why a language server isn't running is not\ngood. I know. I am working on something better. A couple of us have also been\nexperimenting with replacing or supplanting the Zed extension system with\nsomething more light-weight which would make installing and managing extensions\nbetter. I guess another reason why I didn't tag a release sooner is because I\nwas hoping to fix some of these usability issues. It'll just have to wait until\nthe next release. My apologies for any inconvenience caused by these changes.\n\nAgain a massive thank you to everyone who are contributing, hanging out in the\nXMPP chat channel or just using the editor.\n\nDownloads will as usual be available on\n[Codeberg](https://codeberg.org/GramEditor/gram/releases/tag/3.4.0).\n\nCheers,\n\n*@krig*\n\n## [3.4.0] - 2026-10-23\n\n## Added\n\n- Add 'open current file' button (#583) by @nicoco\n- Add 'refresh git history' button (#575) by @nicoco\n- Add Helix \"Amp Jump\" (g w) feature (zed#43733) (#659) by @yilmazer\n- Add Repology notes in docs (#470) by @koru\n- Add `completion_menu_item_kind` option to display text icons for completion items. (#623) by @CubeOfShame\n- Add code outline support for diff files (#524) by @jqslr\n- Add generate shell completions via cli by @ycna07\n- Add refs information to commit history views\n- Add setting to show pinned tabs in a separate row (zed#46573) (#633) by @kbilkis\n- Add setting to wrap tabs onto multiple rows (#643) by @kbilkis\n- Add settings-alias support (#581) by @nitbook\n- Add side-by-side Git diff view (#565) by @iskrant\\_x\n- Add smart sort for project panel: mod.rs sorts first (#541) by @patchunwrap\n- Add support for C23 keyword 'constexpr' (#522) by @mgrave\n- Add toggle to enable/disable git hooks + fix running commit-msg hook (#594) by @nicoco\n- Add tombi as an LSP and formatter for TOML (#626) (#616) by @psy-q\n- Allow disabling 'auto focus on paste' (#487) by @rockisch\n- Bundle OpenMoji as emoji fallback (#478)\n- Configure debug adapter permissions in language server config view\n- Generate color for each commit author\n- Handle '#' links in Markdown preview (#514) by @rockisch\n- Highlight TODO/NOTE/WARN: comments in builtin languages (#534) by @nitbook\n- If a server binary is not found, suggest a command to install it (#485) by @xmort\n- Implement clipboard file and image copy for MacOS (#487) by @rockisch\n- Language support for Typst via tinymist (#517) by @theDoctor\n- Refresh file history view on repository change\n- Rework show\\_tab\\_bar\\_buttons setting to allow always showing (#637) by @sir\\_nacnud\n\n## Removed\n\n- Remove user menu (#465)\n\n## Changed\n\n- Adopt SciActive's human contribution policy (#495) by @helinos, policy by @hperrin\n- Clean up formatting in docs (#490) by @koru\n- Fit image to view on first paint (#589) by @Emilinya\n- Highlight tracked files even when .gitignore ignores everything (#598) by @frafav\n- Replace kde-blur protocol with ext-background-effect protocol (#336) (#666) by @ycna07\n- Replace protobuf with postcard (#608) by @xmort\n- Require permission to download or use extension-provided DAPs\n- Require permission to download or use extension-provided LSPs\n- Update Zig tree-sitter queries (#553) by @koru\n- Update bundled git version to 2.53.0 (Mac OS)\n- Update mermaid renderer to improve layout (#476) by @sbuzzard\n\n## Fixed\n\n- SECURITY: Update webpki-root-certs and rustls-webpki to fix eMudhra root certs\n- Distinguish between errors better for remove server binary (#521) by @nitbook\n- Ensure that SoftWrap being set to None does not cause wrapping (#572) by @nitbook\n- Fix Debug Test for Go subtests (zed#53680)\n- Fix XDG Desktop menu: rename to gram-editor.desktop (#469) (#474) by @koru\n- Fix blurry UI elements when using fractional display scaling (zed#54728)\n- Fix compiling extensions with symlinks in the source tree (#494)\n- Fix crash in `start_display_link` (zed#50875) (#669)\n- Fix diagnostics batches stopping at paths without a worktree (zed#64017)\n- Fix double-clicking to maximize window on Mac\n- Fix image rendering when image changes size (#604) by @Emilinya\n- Fix rerun last debug (zed#58828) (#610) by @rdnvndr\n- Fix table test detection in large files (zed#57277)\n- Fix window not opening when using GL backend on Linux(#364)(#672) by @ycna07\n- Pull in patches for notify crate from Zed\n- Raise open file soft limit at startup on Unix (zed#64034)\n- Reduce terminal flicker on resize (zed#47195)\n- Require language servers from extensions to have full permissions before running (#507)\n- Support emitting multiple runnables from a single tree-sitter match (zed#57276)\n- When creating new X11WindowState also change `_NET_WM_NAME` property (#548) by @sir\\_nacnud\n","body_html":"<h1 id=\"gram-release-3-4-0\">Gram release 3.4.0</h1>\n<figure><img src=\"https://gram-editor.com/release-3.4.0.png\" alt=\"Screenshot of Gram, displaying a git history view and a side-by-side diff\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>Hi everyone,</p>\n<p>This release was triggered by the\n<a href=\"https://emudhra.we-have-a-problem.com\" rel=\"nofollow ugc noopener\">eMudhra</a> CA debacle and getting\ninformed that Gram is vulnerable due to shipping the <code>rustls-webpki</code> and\n<code>webpki-roots</code> packages. Thus, I recommend everyone to upgrade to 3.4.0 as soon\nas possible. If you want to stay on an older version you should rebuild from\nsource with updated webpki packages.</p>\n<p>Although the release was ultimately due to that, it was getting time to tag a\nnew release anyway. There have been a lot of fixes and some really great new\nfeatures implemented, and I want to give a huge thank you to everyone who have\nbeen contributing and helping with the editor. One of the reasons why I have\nbeen holding off on the release is just that I have been so busy this week and\nhaven&#39;t had time to highlight all the improvements as much as I would like to.</p>\n<p>Here is a very incomplete list of highlights with this release. More complete\nchangelog below..</p>\n<ul><li>Side by side view for Git diffs, contributed by @iskrant_x.</li><li>Ability to wrap the tab bar instead of scrolling horizontally, by @kbilkis.</li><li>Helix &quot;Amp Jump&quot; (<code>gw</code>) feature backported by @yilmazer.</li><li>Git commit history view accessible from the git panel (big thank you to @nicoco for working on this as well).</li><li>If a server binary is not found, suggest a command to install it (#485) by @xmort</li></ul>\n<p>...OK, it&#39;s already too many things, I&#39;m getting lost. Check out the changelog for more!</p>\n<p>One thing that has changed that isn&#39;t entirely positive is that I have found and\npatched a lot more cases where the editor would download stuff behind our backs\nwithout consent. I am determined to close all of these gaps over time, but a\nconsequence of this is that the editor is a bit more annoying to use now. The UI\nfor allowing downloads or discovering why a language server isn&#39;t running is not\ngood. I know. I am working on something better. A couple of us have also been\nexperimenting with replacing or supplanting the Zed extension system with\nsomething more light-weight which would make installing and managing extensions\nbetter. I guess another reason why I didn&#39;t tag a release sooner is because I\nwas hoping to fix some of these usability issues. It&#39;ll just have to wait until\nthe next release. My apologies for any inconvenience caused by these changes.</p>\n<p>Again a massive thank you to everyone who are contributing, hanging out in the\nXMPP chat channel or just using the editor.</p>\n<p>Downloads will as usual be available on\n<a href=\"https://codeberg.org/GramEditor/gram/releases/tag/3.4.0\" rel=\"nofollow ugc noopener\">Codeberg</a>.</p>\n<p>Cheers,</p>\n<p><em>@krig</em></p>\n<h2 id=\"3-4-0-2026-10-23\">[3.4.0] - 2026-10-23</h2>\n<h2 id=\"added\">Added</h2>\n<ul><li>Add &#39;open current file&#39; button (#583) by @nicoco</li><li>Add &#39;refresh git history&#39; button (#575) by @nicoco</li><li>Add Helix &quot;Amp Jump&quot; (g w) feature (zed#43733) (#659) by @yilmazer</li><li>Add Repology notes in docs (#470) by @koru</li><li>Add <code>completion_menu_item_kind</code> option to display text icons for completion items. (#623) by @CubeOfShame</li><li>Add code outline support for diff files (#524) by @jqslr</li><li>Add generate shell completions via cli by @ycna07</li><li>Add refs information to commit history views</li><li>Add setting to show pinned tabs in a separate row (zed#46573) (#633) by @kbilkis</li><li>Add setting to wrap tabs onto multiple rows (#643) by @kbilkis</li><li>Add settings-alias support (#581) by @nitbook</li><li>Add side-by-side Git diff view (#565) by @iskrant_x</li><li>Add smart sort for project panel: mod.rs sorts first (#541) by @patchunwrap</li><li>Add support for C23 keyword &#39;constexpr&#39; (#522) by @mgrave</li><li>Add toggle to enable/disable git hooks + fix running commit-msg hook (#594) by @nicoco</li><li>Add tombi as an LSP and formatter for TOML (#626) (#616) by @psy-q</li><li>Allow disabling &#39;auto focus on paste&#39; (#487) by @rockisch</li><li>Bundle OpenMoji as emoji fallback (#478)</li><li>Configure debug adapter permissions in language server config view</li><li>Generate color for each commit author</li><li>Handle &#39;#&#39; links in Markdown preview (#514) by @rockisch</li><li>Highlight TODO/NOTE/WARN: comments in builtin languages (#534) by @nitbook</li><li>If a server binary is not found, suggest a command to install it (#485) by @xmort</li><li>Implement clipboard file and image copy for MacOS (#487) by @rockisch</li><li>Language support for Typst via tinymist (#517) by @theDoctor</li><li>Refresh file history view on repository change</li><li>Rework show_tab_bar_buttons setting to allow always showing (#637) by @sir_nacnud</li></ul>\n<h2 id=\"removed\">Removed</h2>\n<ul><li>Remove user menu (#465)</li></ul>\n<h2 id=\"changed\">Changed</h2>\n<ul><li>Adopt SciActive&#39;s human contribution policy (#495) by @helinos, policy by @hperrin</li><li>Clean up formatting in docs (#490) by @koru</li><li>Fit image to view on first paint (#589) by @Emilinya</li><li>Highlight tracked files even when .gitignore ignores everything (#598) by @frafav</li><li>Replace kde-blur protocol with ext-background-effect protocol (#336) (#666) by @ycna07</li><li>Replace protobuf with postcard (#608) by @xmort</li><li>Require permission to download or use extension-provided DAPs</li><li>Require permission to download or use extension-provided LSPs</li><li>Update Zig tree-sitter queries (#553) by @koru</li><li>Update bundled git version to 2.53.0 (Mac OS)</li><li>Update mermaid renderer to improve layout (#476) by @sbuzzard</li></ul>\n<h2 id=\"fixed\">Fixed</h2>\n<ul><li>SECURITY: Update webpki-root-certs and rustls-webpki to fix eMudhra root certs</li><li>Distinguish between errors better for remove server binary (#521) by @nitbook</li><li>Ensure that SoftWrap being set to None does not cause wrapping (#572) by @nitbook</li><li>Fix Debug Test for Go subtests (zed#53680)</li><li>Fix XDG Desktop menu: rename to gram-editor.desktop (#469) (#474) by @koru</li><li>Fix blurry UI elements when using fractional display scaling (zed#54728)</li><li>Fix compiling extensions with symlinks in the source tree (#494)</li><li>Fix crash in <code>start_display_link</code> (zed#50875) (#669)</li><li>Fix diagnostics batches stopping at paths without a worktree (zed#64017)</li><li>Fix double-clicking to maximize window on Mac</li><li>Fix image rendering when image changes size (#604) by @Emilinya</li><li>Fix rerun last debug (zed#58828) (#610) by @rdnvndr</li><li>Fix table test detection in large files (zed#57277)</li><li>Fix window not opening when using GL backend on Linux(#364)(#672) by @ycna07</li><li>Pull in patches for notify crate from Zed</li><li>Raise open file soft limit at startup on Unix (zed#64034)</li><li>Reduce terminal flicker on resize (zed#47195)</li><li>Require language servers from extensions to have full permissions before running (#507)</li><li>Support emitting multiple runnables from a single tree-sitter match (zed#57276)</li><li>When creating new X11WindowState also change <code>_NET_WM_NAME</code> property (#548) by @sir_nacnud</li></ul>","headings":[{"level":1,"text":"Gram release 3.4.0","id":"gram-release-3-4-0"},{"level":2,"text":"[3.4.0] - 2026-10-23","id":"3-4-0-2026-10-23"},{"level":2,"text":"Added","id":"added"},{"level":2,"text":"Removed","id":"removed"},{"level":2,"text":"Changed","id":"changed"},{"level":2,"text":"Fixed","id":"fixed"}]}}