- Lower the GLIBC requirements of the release artifacts published to GitHub
From Helix
This is a patch release which lowers the GLIBC requirements of the release artifacts published to GitHub (#13983)
A post-modern modal text editor.
From Helix
This is a patch release which lowers the GLIBC requirements of the release artifacts published to GitHub (#13983)
From Helix
As always, a big thank you to all of the contributors! This release saw changes from 195 contributors.
Breaking changes:
:sh, :set-option or :toggle-option.:rsort command has been removed. Use the reverse flag instead: :sort --reverseFeatures:
A-n/A-p (#10122, 2367b20)tree-house crate (#12972, 09bc67a, a7c3a43, 3ceae88, 05ae617, 5a1dcc2, ebf96bd, #13644, b1f4717, 7410fe3, 633c5fb, 362e97e, #13828, 6fd1efd)
/// and //!).startDebugging reverse request (#13403)Commands:
copy_between_registers for interactive copying between two registers (066e938)extend_to_file_{start,end}, select-mode variants of goto_file_{start,end} (#11767):! alias for :sh and :| for :pipe (#13263)goto_column and extend_to_column (#13440)--insensitive/-i flag to the :sort command (#13560)rotate_selections_first and rotate_selections_last (#13615)--no-format flag for all :write commands (2f56091)--skip-visible flag for :buffer-close-others and :buffer-close-others! (#5393)Usability improvements:
A-ret in pickers rather than loading it in the background (#12605)hx (#12192):lsp-stop and :lsp-restart (#12578, 3d7e273)m (nearest matching pair) to infobox popups for md and mr (#12650):sort on a single selection (#12585)goto_{next,prev}_diag (#12704):format (47f84d0)select_register, insert_register and copy_between_registers (e0da129)editor.trim-final-newlines and editor.trim-trailing-whitespace config options (aa20eb8)[workspace-]diagnostic statusline element severities (#13288, b0528bb)selections statusline element when there are multiple selections (#12326)--health output (#13573):move when its old path does not exist (#13748):move (#13922):tree-sitter-highlight-name (4a85171)Fixes:
search_selection_detect_word_boundaries (*) at the end of the file (#12611)${0:placeholder} (#12647)goto_file (gf) on file names with non-ASCII characters (#12673)goto_word (gw) (f5f9f49, 0364521)editor.smart-tab config (28047fe)select_register and insert_register commands (e882a75)stderr of DAP child processes (d0d1693)hx --health (#12841)editor.default-yank-register in :yank-joined (#12890)<esc> removing added indentation in documents with CRLF line endings (702a961)
…From Helix
25.01.1 is a patch release focusing on fixing bugs and panics from changes in 25.01.
Usability improvements:
Fixes:
join_selections behavior on tabs (#12452)open_below/open_above (o/O) in multi-cursor scenarios (#12465)insert_newline when trimming whitespace in multi-cursor scenarios (4bd17e5)${HOME:-$HOME} (#12556)change_selection (c) on a line above a comment (#12575)Themes:
onelight (#12399)special, ui.text.directory and ui.virtual.wrap in dark_plus (#12530)New languages:
Updated languages and queries:
: in Rust as a delimiter (#12408)@attribute (#12416)! as a type in Rust (#12485).clang-tidy as YAML (#12498)rockspec as Lua (#12516)/// to Dart comment tokens configuration (99d33c7)Packaging:
From Helix
As always, a big thank you to all of the contributors! This release saw changes from 171 contributors.
Breaking changes:
editor.lsp.display-messages key now controls messages sent with the LSP window/showMessage notification rather than progress messages. If you want to enable progress messages you should now enable the editor.lsp.display-progress-messages key instead. (#5535)Features:
Pickers (#9647, #11209, #11216, #11211, #11343, #11406)
global_search to allow changing the query dynamicallyo/O and on <ret> in insert mode (#10996, #12213, #12215)Commands:
search_selection_detect_word_boundaries (#12126)
* key in normal and select mode, replacing search_selection which was moved to A-*.Usability improvements:
:edit and :e aliases for :open (#11186, #11196):mv alias for :move (#11256)% special register (#11275):sh commands (#11239)s, K, A-K (#11370).svn as a workspace root marker (#11429):sh outputs (#11161)window/showMessage messages in the statusline (#5535).jj directories (#11685)join_selections (J) (#11742):tree-sitter-subtree (#11663, 38e8382):reflow (#12048)default-yank-register config option (#11430):format when a formatter is not available (#12183):cd with no arguments (#12042)# for unrecognized files (#12080, #12266, bae6a58)insert_newline (#12177):cd - (#12194)- (with no modifiers) as a keybinding (#12191)hx --health <lang> (#12228)surround_add, surround_replace and surround_delete (#12262)Fixes:
format_selections (=) (#11169)workspace/applyEdit operation (#11176)find_completion_range (#11266):lsp-stop (#11321):moveing a file to a new extension which starts a language server (#11387)jump_backward on a newly opened split (#11508)textDocument/signatureHelp (#11825)C-k in a prompt ending in a multi-byte character (#12237):read (#12271)workspace-lsp-roots configuration when opening new documents (#12223)--health output on light terminals (#12355)id field (#12376)Themes:
kanagawa colors better in line with neovim version (#11187, #11270)ao (#11063)dark_plus (#11415)iceberg-light and iceberg-dark (#10674)naysayer (#11617)horizon-dark (#11649)snazzy (#11731)keyword.storage in onedark (#11802)ui.virtual.jump-label to serika-dark (#11911)adwaita-light (#10869)eiffel (#11679)carbonfox (#11558)onedarker (#11958)sunset (#12093)From Helix
Thanks to all of the contributors! This release has changes from 160 contributors.
Breaking changes:
Features:
A-n/A-p (#9974, #10654, #10655)Commands:
select_all_siblings (A-a) - select all siblings of each selection (87c4161)select_all_children (A-I) - select all children of each selection (fa67c5c):read - insert the contents of the given file at each selection (#10447)Usability improvements:
goto_file's (gf) automatic path detection strategy (#9065)goto_next_buffer (gn) and goto_previous_buffer (gp) (#10463):reset-diff-change (#10728)suspend command (C-z) (#10797)replace (r) (#10786)rename_symbol (<space>r) (#10932)/dev/urandom from being used as file arguments (#10733):lsp-workspace-commands (#10176, #11105):pipe (#10952)Fixes:
lldb-dap instead of lldb-vscode in default DAP configuration (#10091)delete_selection_noyank, fixing the command's use in command sequences (#10050, #10148):config-reload (#10156)textDocument/didSave notifications (#10168)mi/ma textobject infobox (#10496)NO_COLOR (#10514)completionItem/resolve requests (38ee845, #10873)select_next_sibling / select_prev_sibling (#10542)goto_file (#10622)cnorm for cursor-type detection in certain terminals (#10769)--version when development VCS HEAD changes (#10896)jump_backwords when the jumplist is at capacity (#10968):q, :q!, :wq (#11018)goto_file (#10964):write[-all], fixing the modification indicator (#11062)Themes:
nightfox (#10052)cyan_light (#10058)onelight (#10061)flexoki-dark and flexoki-light (#10002)kanagawa (#10094, #10500)autumn (#10134)dark_high_contrast (#10133)varua (#10299)adwaita-dark (#10260)ui.highlight effects from solarized_dark (#10261)nord selection highlight (#10307)vim_dark_high_contrast (#10444)everblush (#10394)yellow1 for gruvbox warning diagnostics (#10506)dark_plus and switch maintainers (#10543, #10574)dark_plus (#10593)tag and attribute highlights to dark_high_contrast (#10705)noctis theme (#10910)catppuccin themes with upstream (#10954)github_dark themes (#10946)
…From Helix
As always, a big thank you to all of the contributors! This release saw changes from 125 contributors.
Breaking changes:
suffix file-types in the file-types key in language configuration have been removed (#8006)file-types key in language configuration no longer matches full filenames without a glob pattern (#8006)Features:
goto_file command (#5820)rustc (#6447, #9280)
window/showDocument requests (#8865)file-types key (#8006)file-absolute-path statusline element (#4535)A-p/A-o/A-i/A-n) (#5176)Commands:
:move - move buffers with LSP support (#8584)
page_cursor_up, page_cursor_down, page_cursor_half_up, page_cursor_half_down - commands for scrolling the cursor and page together (#8015):yank-diagnostic - yank the diagnostic(s) under the primary cursor (#9640)select_line_above / select_line_below - extend or shrink a selection based on the direction and anchor (#9080)Usability improvements:
roots key of [[language]] entries in languages.toml configuration optional (#8803)join_selections (#8989)S-<lower-ascii> keymaps to uppercase ascii (#9213)--health output (#7986):tree-sitter-subtree (#9309)$HELIX_RUNTIME paths (1bc7aac):tree-sitter-highlight-name (8b6565c)move_parent_node_end (035b8ea)gix pipeline filter instead of manual CRLF implementation (#9503):reload, SIGHUP (#9415).pijul, .hg, .jj in addition to .git in file pickers configured to show hidden files (#9935):clear-register and :yank-diagnostic (#9936)Fixes:
* and + registers (#8703, #8708)@align captures in indentat computation (#8659)ui.virtual.whitespace (#8750, #8879):indent-style (#9087)didSave text inclusion when sync capability is a kind variant (#9101):write-all.+args passed in the CLI args as filenames (#9333)mm on an empty plaintext file (2fb7e50)#is-not? local predicates (#9390)insert_newline motion (#9448)line in breakpoints (#9632)join_selections_space (#9783)surround_replace, surround_delete (#9796)surround_replace, surround_delete with nested surrounds and multiple cursors (#9815)select_textobject_around (#9832):reload-all (#9870)shell_keep_pipe from stopping on nonzero exit status codes (#9817)Themes:
gruber-dark (#8598)everblush (#8705)papercolor (#8718, #8827)polmandres (#8759)starlight (#8787)naysayer (#8838)rose_pine (#8946)darcula (#8738, #9002, #9449, #9588)horizon-dark (#9008, #9493)noctis (#9123)nord (#9135)From Helix
A big shout out to all the contributors! We had 118 contributors in this release.
Breaking changes:
Features:
%, #, ., * and + special registers (#6985)global_search (#5652)surround_replace (#7588)-w/--working-dir CLI flag for specifying a working directory on startup (#8223, #8498, #8520)+N CLI argument to set the first file's line number (#8521).helix/ignore and ~/.config/helix/ignore (#8099)Commands:
merge_selections (A-minus) - merge all selections into one selection that covers all ranges (#7053)move_prev_long_word_end and extend_prev_long_word_end - move/extend to the end of the previous WORD (#6905)reverse_selection_contents - swaps the values of each selection so they are reversed (#7329):rl and :rla aliases for :reload and :reload-all (#7158)yank_joined - join the selections and yank to the selected register (#7195):write-all! (:wa!) - forcibly write all buffers to disk and create any necessary subdirectories (#7577):redraw - clear re-render the UI (#6949):tree-sitter-highlight-name - show the theme scope name of the highlight under the cursor (#8170)Usability improvements:
insert_at_line_start (#5837)goto_file (#7909)goto_file (gf) (#7965)default color in themes (#8083, #8114):hsplit/:vsplit (#8109)- in macros outside of </> (#8475)--health (#7315):reflow (#8569)Fixes:
select_references_to_symbol_under_cursor (#7132)--log CLI arg in help text (#7307)select_next_sibling and select_prev_sibling (#7332):log-open when --log CLI arg is specified (#7573, #7585)A-ret (#7691):new command (#8010)which for formatter commands (#8064)hidden modifier (#8120)<space>') when the picker has many items (#8127)Themes:
ferra (#7138)
…From Helix
23.05 is a smaller release focusing on fixes. There were 88 contributors in this release. Thank you all!
Features:
Commands:
:update is now aliased as :u (#6835)extend_to_first_nonwhitespace which acts the same as goto_first_nonwhitespace but always extends (#6837):clear-register for clearing the given register or all registers (#5695):write-buffer-close and :write-buffer-close! (#6947)Fixes:
soft-wrap.enable option (#6656, 58e457a, #6742)workspace/configuration requests from stopped language servers (#6693)mouse option (#6675)didChange notifications (#6921)gix logging level to info (#6915)Themes:
dracula theme (#6515)onedark theme (#6503)varua (#6568, #6589)emacs theme (#6569)base16_transparent and dark_high_contrast themes (#6577)mellow and rasmus themes (#6583)base16_transparent theme (#6534)zenburn theme (#6593)boo_berry theme (#6625)ferra theme (#6619, #6776)nightfox theme (#6655)ayu theme family markup code block background (#6538)rose_pine theme (#6679)base16_transparent theme (#6716)dracula theme (#6552, #6767, #6855, #6987)darcula theme (#6732)kanagawa theme (#6773)ayu_dark theme (#6622)noctis theme multiple cursor highlighting (96720e7)noctis theme whitespace rendering and indent guides (f2ccc03)amberwood theme (#6924)nightfox theme (#7061)Language support:
--no-echo flag to silence output (#6570)var_spec identifiers (#6763)poetry.lock as TOML (#6928)build.gradle.kts to Java and Scala roots (#6970)sty and cls files as latex (#6986)gml as XML (#7055)geojson as JSON (#7054)Packaging:
From Helix
23.03 brings some long-awaited and exciting features. Thank you to everyone involved! This release saw changes from 102 contributors.
For the full log, check out the git log. Also check out the release notes for more commentary on larger features.
Breaking changes:
goto_*_diag commands (#4713, #5164, #6193)increment/decrement (#4123, #5929)goto_*_change commands (#5206).helix/ directory (merging multiple .helix/languages.toml configurations is no longer supported) (#5748)Features:
textDocument/prepareRename (#6103).helix/config.toml (#5748)workspace-lsp-roots config option to support multiple LSP roots for use with monorepos (#5748)Commands:
:pipe-to which pipes selections into a shell command and ignores output (#4931)merge_consecutive_selections (A-_) combines all consecutive selections (#5047)rotate_view_reverse which focuses the previous view (#5356)goto_declaration (gD, requires LSP) which jumps to a symbol's declaration (#5646)file_picker_in_current_buffer_directory (#4666):character-info which shows information about the character under the cursor (#4000):toggle-option for toggling config options at runtime (#4085)dap_restart for restarting a debug session in DAP (#5651):lsp-stop to stop the language server of the current buffer (#5964):reset-diff-change for resetting a diff hunk to its original text (#4974):config-open-workspace for opening the config file local to the current workspace (#5748)Usability improvements:
:open on directories (#2707, #5278):config-reload (#5239, #5381, #5431)A-ret (#4435):run-shell-command command (#5729)ms<ret> (#4571)m textobject look for pairs enclosing selections (#3344):set-language (#5895)Fixes:
auto-completion flag for completion-on-trigger (#5042)s when only one file is opened (#5189)~ when parsing file paths in :open (#5329)extend_line with a count when the current line(s) are selected (#5288)xclip clipboard provider (#5426)join_selections and join_selections_space (#5423)From Helix
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
A terminal multiplexer: many terminals in one screen, detachable and persistent.
DeepSeek Harness: Everything is a Plugin.
Python tool for converting files and office documents to Markdown.
Anthropic's agentic coding tool for the terminal, IDE and web.
The free, open-source 2D and 3D game engine.
If you publish Helix, you can claim this product by proving you administer its repository.