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 24.03 #9946

Merged
merged 7 commits into from
Mar 30, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 226 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,229 @@
# 24.03 (2024-03-31)

... Current contributors - 124. ...

Breaking changes:

- Swap `*` and `+` registers (#8703, #8708)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- `suffix` file-types in the `file-types` key in language configuration have been removed (#8006)
- The `file-types` key in language configuration no longer matches full filenames without a glob pattern (#8006)

Features:

- Open URLs with the `goto_file` command (#5820)
- Support drawing a border around popups and menus (#4313, #9508)
- Track long lived diagnostics (#6447)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Add support for LSP `window/showDocument` requests (#8865)
- Refactor ad-hoc hooks to use a new generic event system (#8021, #9668)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Allow using globs in the language configuration `file-types` key (#8006)
- Extend selections using mouse clicks in select mode (#5436)
- Switch to regex-cursor for regex-based commands and features (#9422, #9756, #9891)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Toggle block comments (#4718, #9894)
- Support LSP diagnostic tags (#9780)
- Add a `file-absolute-path` statusline element (#4535)

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:

- Default `roots` key of `[[language]]` entries in `languages.toml` configuration (#8803)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Exit select mode in commands that modify the buffer (#8689)
- Use crossterm cursor when out of focus (#6858, #8934)
- Join empty lines with only one space in `join_selections` (#8989)
- Allow configuring the indentation heuristic (#8307)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Check for LSP rename support before showing rename prompt (#9277)
- Normalize `S-<lower-ascii>` keymaps to uppercase ascii (#9213)
- Add formatter status to `--health` output (#7986)
- Change path normalization strategy to not resolve symlinks (#9330)
- Select subtree within injections in `:tree-sitter-subtree` (#9309)
- Use tilde expansion and normalization for `$HELIX_RUNTIME` paths (1bc7aac)
- Improve failure message for LSP goto references (#9382)
- Use injection syntax trees for bracket matching (5e0b3cc)
- Respect injections in `:tree-sitter-highlight-name` (8b6565c)
- Respect injections in `move_parent_node_end` (035b8ea)
- Use `gix` pipeline filter instead of manual CRLF implementation (#9503)
- Follow Neovim's truecolor detection (#9577)
- Allow specifying required roots for situational LSP activation (#8696)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Reload language configuration with `:reload`, SIGHUP (#9415)
- Allow numbers as bindings (#8471, #9887)
- Exit prompts with backspace when the prompt is empty (#9828)
- Respect undercurl config when terminfo is not available (#9897)
- Ignore `.pijul`, `.hg`, `.jj` in addition to `.git` in file pickers configured to show hidden files (#9935)
- Add completion for registers to `:clear-register` and `:yank-diagnostic` (#9936)

Fixes:

- Use terminfo to reset terminal cursor style (#8591)
- Fix precedence of `@align` captures in indentat computation (#8659)
- Only render the preview if a Picker has a preview function (#8667)
- Fix the precedence of `ui.virtual.whitespace` (#8750, #8879)
- Fix crash in `:indent-style` (#9087)
- Fix `didSave` text inclusion when sync capability is a kind variant (#9101)
- Don't automatically dismiss zero width diagnostics (#9280)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Update the history of newly focused views (#9271)
- Initialize diagnostics when opening a document (#8873)
- Sync views when applying edits to unfocused views (#9173)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Treat non-numeric `+arg`s passed in the CLI args as filenames (#9333)
- Fix crash when using `mm` on an empty plaintext file (2fb7e50)
- Ignore empty tree-sitter nodes in match bracket (445f7a2)
- Exit a language server if it sends a message with invalid JSON (#9332)
- Handle failures to enable bracketed paste (#9353)
- Gate all captures in a pattern behind `#is-not? local` predicates (#9390)
- Make path changes LSP spec conformant (#8949)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Use range positions to determine `insert_newline` motion (#9448)
- Fix division by zero when prompt completion area is too small (#9524)
- Add changes to history in clipboard replacement typable commands (#9625)
- Fix a crash in DAP with an unspecified `line` in breakpoints (#9632)
- Fix LSP CompletionTriggerKind for automatic completion triggers (#9660)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Fix space handling for filenames in bash completion (#9702, #9708)
- Key diagnostics off of paths instead of LSP URIs (#7367)
- Fix panic when using `join_selections_space` (#9783)
- Fix panic when using `surround_replace`, `surround_delete` (#9796)
- Fix panic in `surround_replace`, `surround_delete` with nested surrounds and multiple cursors (#9815)
- Fix panic in `select_textobject_around` (#9832)
- Don't stop reloading documents when reloading fails in `:reload-all` (#9870)
- Prevent `shell_keep_pipe` from stopping on nonzero exit status codes (#9817)

Themes:

- Add `gruber-dark` (#8598)
- Update `everblush` (#8705)
- Update `papercolor` (#8718, #8827)
- Add `polmandres` (#8759)
- Add `starlight` (#8787)
- Update `naysayer` (#8838)
- Add modus operandi themes (#8728, #9912)
- Update `rose_pine` (#8946)
- Update `darcula` (#8738, #9002, #9449, #9588)
- Add modus vivendi themes (#8894, #9912)
- Add `horizon-dark` (#9008, #9493)
- Update `noctis` (#9123)
- Update `nord` (#9135)
- Update monokai pro themes (#9148)
- Update tokyonight themes (#9099, #9724, #9789)
- Add `ttox` (#8524)
- Add `voxed` (#9164)
- Update `sonokai` (#9370, #9376, #5379)
- Update `onedark`, `onedarker` (#9397)
- Update `cyan_light` (#9375, #9688)
- Add `gruvbox_light_soft`, `gruvbox_light_hard` (#9266)
the-mikedavis marked this conversation as resolved.
Show resolved Hide resolved
- Update GitHub themes (#9487)
- Add `term16_dark`, `term16_light` (#9477)
- Update Zed themes (#9544, #9549)
- Add `curzon` (#9553)
- Add `monokai_soda` (#9651)
- Update catppuccin themes (#9859)

New languages:

- Typst (#7474)
- LPF (#8536)
- GN (#6969)
- DBML (#8860)
- log (#8916)
- Janet (#9081, #9247)
- Agda (#8285)
- Avro (#9113)
- Smali (#9089)
- HOCON (#9203)
- Tact (#9512)
- PKL (#9515)
- CEL (#9296)
- SpiceDB (#9296)
- Hoon (#9190)
- DockerCompose (#9661, #9916)
- Groovy (#9350, #9681, #9677)
- FIDL (#9713)
- Powershell (#9827)
- ld (#9835)
- Hyperland config (#9899)
- JSONC (#9906)
- PHP Blade (#9513)
- SuperCollider (#9329)
- Koka (#8727)
- PKGBUILD (#9909, #9943)
- Ada (#9908)
- Helm charts (#9900)
- Ember.js templates (#9902)

Updated languages and queries:

- Add HTML injection queries for Rust (#8603)
- Switch to tree-sitter-ron for RON (#8624)
- Update and improve comment highlighting (#8564)
- Highlight type parameters in Rust (#8660)
- Change KDL tree-sitter parsers (#8652)
- Update tree-sitter-markdown (#8721)
- Update tree-sitter-purescript (#8712)
- Add type parameter highlighting to TypeScript, Go, Haskell, OCaml and Kotlin (#8718)
- Add indentation queries for Scheme and lisps using tree-sitter-scheme (#8720)
- Recognize `meson_options.txt` as Meson (#8794)
- Add language server configuration for Nushell (#8878)
- Recognize `musicxml` as XML (#8935)
- Update tree-sitter-rescript (#8962)
- Update tree-sitter-python (#8976)
- Recognize `.envrc.local` and `.envrc.private` as env (#8988)
- Update tree-sitter-gleam (#9003)
- Update tree-sitter-d (#9021)
- Fix R-markdown language name for LSP detection (#9012)
- Add haskell-language-server LSP configuration (#9111)
- Recognize `glif` as XML (#9130)
- Recognize `.prettierrc` as JSON (#9214)
- Add auto-pairs configuration for scheme (#9232)
- Add textobject queries for Scala (#9191)
- Add textobject queries for Protobuf (#9184)
- Update tree-sitter-wren (#8544)
- Update tree-sitter-comment (#9253, #9800)
- Add `spago.yaml` as an LSP root for PureScript (#9362)
- Improve highlight and indent queries for Bash, Make and CSS (#9393)
- Update tree-sitter-scala (#9348, #9340, #9475)
- Recognize `.bash_history` as Bash (#9401)
- Recognize Helix ignore files as ignore (#9447)
- Inject SQL into Scala SQL strings (#9428)
- Update gdscript textobjects (#9288)
- Update Go queries (#9510, #9525)
- Update tree-sitter-nushell (#9502)
- Update tree-sitter-unison, add indent queries (#9505)
- Update tree-sitter-slint (#9551, #9698)
- Update tree-sitter-swift (#9586)
- Add `fish_indent` as formatter for fish (78ed3ad)
- Recognize `zon` as Zig (#9582)
- Add a formatter for Odin (#9537)
- Update tree-sitter-erlang (#9627)
- Capture Rust fields as argument textobjects (#9637)
- Improve Dart textobjects (#9644)
- Recognize `tmux.conf` as a bash file-type (#9653)
- Add textobjects queries for Nix (#9659)
- Add textobjects queries for HCL (#9658)
- Recognize osm and osc extensions as XML (#9697)
- Update tree-sitter-sql (#9634)
- Recognize pde Processing files as Java (#9741)
- Update tree-sitter-lua (#9727)
- Switch tree-sitter-nim parsers (#9722)
- Recognize GTK builder ui files as XML (#9754)
- Add configuration for markdown-oxide language server (#9758)
- Add a shebang for elvish (#9779)
- Fix precedence of Svelte TypeScript injection (#9777)
- Recognize common Dockerfile file types (#9772)
- Recognize NUON files as Nu (#9839)
- Add textobjects for Java native functions and constructors (#9806)
- Fix "braket" typeo in JSX highlights (#9910)
- Update tree-sitter-hurl (#9775)
- Add textobjects queries for Vala (#8541)

Packaging:

- Allow user overlays in Nix grammars build (#8749)
- Set Cargo feature resolver to v2 (#8917)
- Use workspace inheritance for common Cargo metadata (#8925)
- Remove sourcehut-based tree-sitter grammars from default build (#9316, #9326)
- Add icon to Windows executable (#9104)

# 23.10 (2023-10-24)

A big shout out to all the contributors! We had 118 contributors in this release.
Expand Down
24 changes: 12 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ tree-sitter = { version = "0.22" }
nucleo = "0.2.0"

[workspace.package]
version = "23.10.0"
version = "24.3.0"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be 24.03.0 rather than 24.3.0?

relates to Homebrew/homebrew-core#167564

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally yes but Cargo doesn't consider it a valid version

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any cargo issue for this?

Somehow this version scheme worked before? see Homebrew/homebrew-core#131283

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so - it's a conflict of us using the version as CalVer but cargo explicitly only supporting SemVer so I doubt cargo would be interested in changing it.

The way we handle the version changed in the 23.10 release with #8925 but this effect wasn't visible yet because of the October release (10). Previously we had all crate versions at v0.6.0 (the last SemVer release version) and used an ad-hoc VERSION file and constant for the CalVer version.

edition = "2021"
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
categories = ["editor"]
Expand Down
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="24.03" date="2024-03-31">
<url>https://helix-editor.com/news/release-24-03-highlights/</url>
</release>
<release version="23.10" date="2023-10-24">
<url>https://helix-editor.com/news/release-23-10-highlights/</url>
</release>
Expand Down
Loading