Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add changelog notes for 23.10 #8086

Merged
merged 12 commits into from
Oct 25, 2023
251 changes: 251 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,254 @@
# 23.10 (2023-10-13)

A big shout out to all the contributors! We had 118 contributors in this release.

Breaking changes:

- Support multiple language servers per language (#2507)
- This is a breaking change to language configuration
- Maintain the cursor position and view when splitting with `:hsplit`/`:vsplit` (#8109)
- Previously, splitting would open the new buffer at the top of the file
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved

Features:

- Support multiple language servers per language (#2507, #7082, #7286, #8374)
- Add a statusline element for the selected register (#7222)
- Add `%`, `#`, `.`, `*` and `+` special registers (#6985)
- Add initial support for LSP DidChangeWatchedFiles notifications (#7665)
- Search buffer contents in `global_search` (#5652)
- Add a "smart tab" command that intelligently jumps the cursor on tab (#4443)
- Add a statusline element for whether a file is read-only (#7222, #7875)
- Syntax highlight regex prompts (#7738)
- Allow defining alignment in indent queries (#5355)
- Show visual feedback in `surround_replace` (#7588)
- Switch to Nucleo for fuzzy matching (#7814, #8148, #8192, #8194)
- Insert a trailing newline on write (#8157)
- Add a `-w`/`--working-dir` CLI flag for specifying a working directory on startup (#8223, #8498)

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 register so they are reversed (#7329)
- Add `: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:

- Allow cycling option values at runtime (#4411, #7240, #7877)
- Exit gracefully on termination signals (#7236)
- Add plaintext matching fallback to tree-sitter pair matching (#4288)
- Persist register selection in pending keymaps (0e08349)
- Propagate the count and register to command palette commands (b394997)
- Auto indent on `insert_at_line_start` (#5837)
- Add a config option to control whether LSP completions are automatically inserted on preview (#7189)
- Add a config option for default line endings (#5621, #7357)
- Allow ANSI colors in themes (#5119)
- Match pairs that don't form a standalone tree-sitter node (#7242)
- Allow indent sizes of up to 16 columns (#7429)
- Improve performance of mapping positions through changes (#7408, 8d39a81, #7471)
- Mark buffers created from stdin as modified (#7431)
- Forcibly shut down uninitialized language servers (#7449)
- Add filename completer for shell prompts (#7569)
- Allow binding F13-F24 (#7672)
- Resolve LSP code actions (#7677, #8421)
- Save an undo checkpoint before accepting completions (#7747)
- Include gitignored files in debugger completions (#7936)
- Make editor remember the last search register (#5244)
- Open directories with `goto_file` (#7909)
- Use relative path to open buffer in `goto_file` (`gf`) (#7965)
- Support `default` color in themes (#8083, #8114)
- Toggle between relative and absolute line numbers when the terminal loses focus (#7955)
- Lower default idle-timeout to 250ms (060e73a)
- Allow theming diff gutters separately from other diff colors (#8343)
- Style bold/italic/strikethrough in markdown doc popups (#8385)

Fixes:

- Update diagnostics correctly on language server exit (#7111)
- Fix off-by-one in `select_references_to_symbol_under_cursor` (#7132)
- Extend selection with repeat-last-motion only if the original motion extended the selection (#7159)
- Fix undefined behavior in the diff gutter (#7227)
- Check that tab width is non-zero (#7178)
- Fix styles being overwritten in table rows with multiple cells (#7281)
- Add file for `--log` CLI arg in help text (#7307)
- Fix underflow when repeating a completion that has a negative shift position (#7322)
- Prefer longer matches in `select_next_sibling` and `select_prev_sibling` (#7332)
- Preview scratch buffers in the jumplist picker (#7331)
- Fix chunking by bytes in tree-sitter parsing (#7417)
- Discard LSP publishDiagnostic from uninitialized servers (#7467)
- Use negotiated position encoding for LSP workspace edits (#7469)
- Fix error message for unknown gutter types in config (#7534)
- Fix `:log-open` when `--log` CLI arg is specified (#7573, #7585)
- Fix debouncing of LSP messages to fix the last message sticking around (#7538, #8023)
- Fix crash when the current working directory is deleted (#7185)
- Fix piping to Helix on macOS (#5468)
- Fix crash when parsing overlapping injections (#7621)
- Clear the statusline when the prompt is visible (#7646)
- Fix range formatting error message typo (#7823)
- Skip rendering gutters when gutter width exceeds view width (#7821)
- Center the picker preview using visual lines (#7837)
- Align view correctly for background buffers opened with `A-ret` (#7691)
- Fix cursor resetting to block when quitting via a keybind (#7931)
- Remove path completions for the `:new` command (#8010)
- Use binary path resolved by `which` for formatter commands (#8064)
- Handle crossterm's `hidden` modifier (#8120)
- Clear completion when switching between windows with the mouse (#8118)
- Eagerly remove the last picker (`<space>'`) when the picker has many items (#8127)
- Fix find commands for buffers with non-LF line-endings (#8111)
- Detect the tmux clipboard provider on macOS (#8182)
- Fix syntax highlighting in dynamic picker preview pane (#8206)
- Recognize HTML code tags with attributes as code in markdown previews (#8397)
- Fix multicursor snippet placeholder directions (#8423)

Themes:

- Improve the selection color in `ferra` (#7138)
- Add `variable.other.member` theming to `spacebones_light` (#7125)
- Update `autumn` and theme the soft-wrap indicator (#7229)
- Add `gruvbox_dark_soft` (#7139)
- Add `merionette` (#7186)
- Add `zed_onedark` and `zed_onelight` (#7250)
- Use light-gray for `onedarker` inlay hint theming (#7433)
- Update the Nord theme to follow the style guidelines (#7490)
- Tune `dark_plus` inlay hint colors (#7611)
- Add `naysayer` (#7570)
- Add `kaolin-dark`, `kaolin-light` and `kaolin-valley-dark` (#7151)
- Fix selection highlighting in gruvbox variants (#7717)
- Add soft-wrap indicator to `gruvbox` (#7736)
- Add missing palette definitions in `everforest_dark` (#7739)
- Increase diagnostics clarity in `pop-dark` (#7702)
- Add `vim_dark_high_contrast` (#7785)
- Add `new_moon` (#7834)
- Add `yellowed` (#7849)
- Improve comment readability for `autumn` (#7939)
- Distinguish active bufferline buffer in `monokai` (#7983)
- Update ruler colors in `nord` (#7995)
- Update Catppuccin themes (#8102)
- Add text focus scope and diagnostics undercurls for `nord` (#8165)
- Add material theme collection (#8211)
- Improve indent line color in `dracula` (#8266)
- Clean up and refactor `papercolor` to use inheritance (#8276)
- Fix `zenburn` inlay hint color (#8278a)
- Fix picker crash when previewing an invalid range (e9d0bd7)
- Correctly center items in the picker preview (13d4463)
- Add `cyan_light` (#8293)
- Theme HTML tags in `onedark` (#8409)
- Refine `darcula` and `darcula-solid` themes (#8412)
- Improve `nord` highlights (#8414)

New languages:

- Blueprint (#7213, #8161)
- Forth (#7256, #7334)
- t32 (#7140, #7811)
- WebC (#7290)
- Persistent DSL for Haskell (#7261)
- F# (#7619, #8024)
- Wren (#7765, #7819)
- Unison (#7724)
- Todo.txt (#7835)
- Jinja and Handlebars (#7233)
- Pod (#7907)
- Strace (#7928)
- Gemini (#8070)
- GNU Assembler (GAS) (#8291)
- JSON5 (#8473)

Updated languages and queries:

- Add one to the ruler numbers for git-commit (#7072)
- Recognize XAML files as XML (#7083)
- Recognize `Cargo.lock` as TOML (#7095)
- Use Rust grammar for Cairo (c6d1430)
- Update tree-sitter-nickle (#7059, #7551)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Tune auto-pair characters for Nickel (#7059)
- Recognize `Vagrantfile` as Ruby (#7112)
- Recognize hidden justfiles as Just (#7088)
- Update Java and TypeScript highlight queries (#7145)
- Recognize `.zimrc` as Bash (#7146)
- Recognize `.gir` as XML (#7152)
- Update tree-sitter-scala (#7147)
- Recognize make file-type as Makefile (#7212)
- Update tree-sitter-verilog (#7262)
- Update tree-sitter-cpp (#7285)
- Support core mode for delve debugger (#7300)
- Add Fortran comment injections (#7305)
- Switch Vue language server to `vue-language-server` (#7312)
- Update tree-sitter-sql (#7387, #8464)
- Replace the MATLAB tre-sitter grammar (#7388, #7442, #7491, #7493, #7511, #7532, #8040)
- Highlight TOML table headers (#7441)
- Recognize `cppm` file-type as C++ (#7492)
- Refactor ecma language queries into private and public queries (#7207)
- Update tree-sitter-dart (#7576)
- Add shebang for nushell files (#7606)
- Recognize systemd files as INI (#7592)
- Update TypeScript, TSX and Svelte grammars (#6874)
- Enable inlay hints in the Svelte language server (#7622)
- Recognize `Brewfile`s as Ruby (#7629)
- Add more file-types for R (#7633)
- Switch tree-sitter-perl to official upstream parser (#7644, #7947)
- Fix predicate typo in comment highlights (#7732)
- Update tree-sitter-prql (#7771)
- Recognize `.gitf` as JSON (#7781)
- Switch V language server to `v-analyzer` (#7760)
- Add protobuf language servers (#7796)
- Update tree-sitter-zig (#7803)
- Update tree-sitter-hare (#7784)
- Add Java indent queries (#7844)
- Update tree-sitter-scheme (979933b)
- Recognize `scm` as Scheme instead of TSQ (5707151)
- Update tree-sitter-git-commit (#7831)
- Update JavaScript, TypeScript and TSX grammars (#7852)
- Update tree-sitter-nu (#7873)
- Fix YAML indentation (#6768)
- Add `csharp-ls`, Pyright, Pylyzer and add roots for Python (#7897, #8032)
- Update tree-sitter-slint (#7893)
- Recognize more ZSH file-types as Bash (#7930)
- Recognize `star` extension as Starlark (#7922)
- Fix inline HTML tag highlighting in markdown (#7960)
- Update tree-sitter-robot (#7970)
- Highlight Dart 3 `sealed` and `base` keywords (#7974)
- Add configuration for `ltex-ls` to the default `languages.toml` (#7838)
- Update tree-sitter-strace (#8087)
- Update tree-sitter-gleam, enable auto-format (#8085)
- Update tree-sitter-esdl (#8222)
- Expand ignore file-types (#8220)
- Recognize feed related formats as XML (#8232)
- Improve YAML injections (#8217)
- Add shebangs for TypeScript, Julia, Java and OCaml (95e994a)
- Highlight abbreviations in Scheme (ef23847)
- Remove backtic auto-pair in OCaml (#8260)
- Recognize `flake.lock` as JSON (#8304)
- Add Python test script injection for Nix (b4494e1)
- Fix Nix comment injection precedence (37e48f4)
- Recognize editorconfig files as INI (#8308)
- Recognize `.babelrc` as JSON (#8309)
- Switch Purescript to its own tree-sitter parser (#8306, #8338)
- Update Unison highlights (#8315)
- Recognize `.webmanifest` as JSON (#8342)
- Recognize polkit policy files as XML (#8369)
- Recognize polkit rules files as JavaScript (#8370)
- Update Go highlight queries (#8399)
- Add shebangs for Makefiles (#8410)
- Add file-type associations from VSCode (#8388)
- Add validation to JSON/CSS language server configs (#8433)
- Add a configuration for the tailwind language server (#8442)
- Add a configuration for the ansible language server (#7973)
- Add a configuration for the GraphQL language server (#8492)

Packaging:

- Add an overlay to the Nix flake (#7078)
- Check for `git` before fetching or building grammars (#7320)
- Refactor Nix flake to use Crane (#7763)
- Remove the aarch64 appimage from the release CI (#7832)
- Add desktop and icon files to Nix flake output (#7979)
- Build flake packages with the latest stable Rust (#8133)

# 23.05 (2023-05-18)

23.05 is a smaller release focusing on fixes. There were 88 contributors in this release. Thank you all!
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
23.05
23.08
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
3 changes: 3 additions & 0 deletions contrib/Helix.appdata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@
<content_rating type="oars-1.1" />

<releases>
<release version="23.08" date="2023-08-31">
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
<url>https://helix-editor.com/news/release-23-08-highlights/</url>
</release>
<release version="23.05" date="2023-05-18">
<url>https://github.com/helix-editor/helix/releases/tag/23.05</url>
</release>
Expand Down
Loading