diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f57307..e21f3836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,84 @@ +# 0.5.0 (2021-11-28) + +A big shout out to all the contributors! We had 46 contributors in this release. + +Helix has popped up in [Scoop, FreeBSD Ports and Gentu GURU](https://repology.org/project/helix/versions)! + +The following is a quick rundown of the larger changes, there were many more +(check the git history for more details). + +Breaking changes: + +- A couple of keymaps moved to resolve a few conflicting keybinds. + - Documentation popups were moved from `K` to `space+k` + - `K` is now `keep_selections` which filters selections to only keeps ones matching the regex + - `keep_primary_selection` moved from `space+space` to `,` + - `Alt-,` is now `remove_primary_selection` which keeps all selections except the primary one + - Opening files in a split moved from `C-h` to `C-s` +- Some configuration options moved from a `[terminal]` section to `[editor]`. [Consult the documentation for more information.](https://docs.helix-editor.com/configuration.html). + +Features: + +- LSP compatibility greatly improved for some implementations (Julia, Python, Typescript) +- Autocompletion! Completion now triggers automatically after a set idle timeout +- Completion documentation is now displayed next to the popup (#691) +- Treesitter textobjects (select a function via `mf`, class via `mc`) (#728) +- Global search across entire workspace `space+/` (#651) +- Relative line number support (#485) +- Prompts now store a history (72cf86e) +- `:vsplit` and `:hsplit` commands (#639) +- `C-w h/j/k/l` can now be used to navigate between splits (#860) +- `C-j` and `C-k` are now alternative keybindings to `C-n` and `C-p` in the UI (#876) +- Shell commands (shell-pipe, pipe-to, shell-insert-output, shell-append-output, keep-pipe) (#547) +- Searching now defaults to smart case search (case insensitive unless uppercase is used) (#761) +- The preview pane was improved to highlight and center line ranges +- The user `languages.toml` is now merged into defaults, no longer need to copy the entire file (dc57f8dc) +- Show hidden files in completions (#648) +- Grammar injections are now properly handled (dd0b15e) +- `v` in select mode now switches back to normal mode (#660) +- View mode can now be triggered as a "sticky" mode (#719) +- `f`/`t` and object selection motions can now be repeated via `Alt-.` (#891) +- Statusline now displays total selection count and diagnostics counts for both errors and warnings (#916) + +New grammars: + +- Ledger (#572) +- Protobuf (#614) +- Zig (#631) +- YAML (#667) +- Lua (#665) +- OCaml (#666) +- Svelte (#733) +- Vue (#787) +- Tree-sitter queries (#845) +- Elixir (we switched over to the official grammar) (6c0786e) +- Language server definitions for Nix and Elixir (#725) +- Python now uses `pylsp` instead of `pyls` +- Python now supports indentation + +New themes: + +- Monokai (#628) +- Everforest Dark (#760) +- Nord (#799) +- Base16 Default Dark (#833) +- Rose Pine (#897) + +Fixes: + +- Fix crash on empty rust file (#592) +- Exit select mode after toggle comment (#598) +- Pin popups with no positioning to the initial position (12ea3888) +- xsel copy should not freeze the editor (6dd7dc4) +- `*` now only sets the search register and doesn't jump to the next occurrence (3426285) +- Goto line start/end commands extend when in select mode (#739) +- Fix documentation popups sometimes not getting fully highlighted (066367c) +- Refactor apply_workspace_edit to remove assert (b02d872) +- Wrap around the top of the picker menu when scrolling (c7d6e44) +- Don't allow closing the last split if there's unsaved changes (3ff5b00) +- Indentation used different default on hx vs hx new_file.txt (c913bad) + # 0.4.1 (2021-08-14) A minor release that includes: @@ -7,6 +87,8 @@ A minor release that includes: # 0.4.0 (2021-08-13) +A big shout out to all the contributors! We had 28 contributors in this release. + Two months have passed, so this is another big release. A big thank you to all the contributors and package maintainers! @@ -44,6 +126,8 @@ selections in the future as well as resolves many bugs and edge cases. # 0.3.0 (2021-06-27) +A big shout out to all the contributors! We had 24 contributors in this release. + Another big release. Highlights: @@ -90,6 +174,8 @@ Includes a fix where wq/wqa could exit before file saving completed. # 0.2.0 +A big shout out to all the contributors! We had 18 contributors in this release. + Enough has changed to bump the version. We're skipping 0.1.x because previously the CLI would always report version as 0.1.0, and we'd like to distinguish it in bug reports.. diff --git a/Cargo.lock b/Cargo.lock index 17bc73a9..45a8f5da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -358,7 +358,7 @@ dependencies = [ [[package]] name = "helix-core" -version = "0.4.1" +version = "0.5.0" dependencies = [ "arc-swap", "etcetera", @@ -382,7 +382,7 @@ dependencies = [ [[package]] name = "helix-lsp" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "futures-executor", @@ -400,7 +400,7 @@ dependencies = [ [[package]] name = "helix-syntax" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "cc", @@ -411,7 +411,7 @@ dependencies = [ [[package]] name = "helix-term" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "chrono", @@ -441,7 +441,7 @@ dependencies = [ [[package]] name = "helix-tui" -version = "0.4.1" +version = "0.5.0" dependencies = [ "bitflags", "cassowary", @@ -454,7 +454,7 @@ dependencies = [ [[package]] name = "helix-view" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "bitflags", diff --git a/helix-core/Cargo.toml b/helix-core/Cargo.toml index 84d029d2..ea695d34 100644 --- a/helix-core/Cargo.toml +++ b/helix-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-core" -version = "0.4.1" +version = "0.5.0" authors = ["Blaž Hrastnik "] edition = "2021" license = "MPL-2.0" @@ -13,7 +13,7 @@ include = ["src/**/*", "README.md"] [features] [dependencies] -helix-syntax = { version = "0.4", path = "../helix-syntax" } +helix-syntax = { version = "0.5", path = "../helix-syntax" } ropey = "1.3" smallvec = "1.7" diff --git a/helix-lsp/Cargo.toml b/helix-lsp/Cargo.toml index 455407ad..5a284c46 100644 --- a/helix-lsp/Cargo.toml +++ b/helix-lsp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-lsp" -version = "0.4.1" +version = "0.5.0" authors = ["Blaž Hrastnik "] edition = "2021" license = "MPL-2.0" diff --git a/helix-syntax/Cargo.toml b/helix-syntax/Cargo.toml index 122fa460..cceec412 100644 --- a/helix-syntax/Cargo.toml +++ b/helix-syntax/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-syntax" -version = "0.4.1" +version = "0.5.0" authors = ["Blaž Hrastnik "] edition = "2021" license = "MPL-2.0" diff --git a/helix-term/Cargo.toml b/helix-term/Cargo.toml index cf1f44d5..2414c433 100644 --- a/helix-term/Cargo.toml +++ b/helix-term/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-term" -version = "0.4.1" +version = "0.5.0" description = "A post-modern text editor." authors = ["Blaž Hrastnik "] edition = "2021" @@ -21,9 +21,9 @@ name = "hx" path = "src/main.rs" [dependencies] -helix-core = { version = "0.4", path = "../helix-core" } -helix-view = { version = "0.4", path = "../helix-view" } -helix-lsp = { version = "0.4", path = "../helix-lsp" } +helix-core = { version = "0.5", path = "../helix-core" } +helix-view = { version = "0.5", path = "../helix-view" } +helix-lsp = { version = "0.5", path = "../helix-lsp" } anyhow = "1" once_cell = "1.8" diff --git a/helix-tui/Cargo.toml b/helix-tui/Cargo.toml index f0c0d7e2..6df65d36 100644 --- a/helix-tui/Cargo.toml +++ b/helix-tui/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-tui" -version = "0.4.1" +version = "0.5.0" authors = ["Blaž Hrastnik "] description = """ A library to build rich terminal user interfaces or dashboards @@ -21,5 +21,5 @@ cassowary = "0.3" unicode-segmentation = "1.8" crossterm = { version = "0.22", optional = true } serde = { version = "1", "optional" = true, features = ["derive"]} -helix-view = { version = "0.4", path = "../helix-view", features = ["term"] } -helix-core = { version = "0.4", path = "../helix-core" } +helix-view = { version = "0.5", path = "../helix-view", features = ["term"] } +helix-core = { version = "0.5", path = "../helix-core" } diff --git a/helix-view/Cargo.toml b/helix-view/Cargo.toml index ef09b964..34f55eb6 100644 --- a/helix-view/Cargo.toml +++ b/helix-view/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helix-view" -version = "0.4.1" +version = "0.5.0" authors = ["Blaž Hrastnik "] edition = "2021" license = "MPL-2.0" @@ -16,8 +16,8 @@ term = ["crossterm"] [dependencies] bitflags = "1.3" anyhow = "1" -helix-core = { version = "0.4", path = "../helix-core" } -helix-lsp = { version = "0.4", path = "../helix-lsp"} +helix-core = { version = "0.5", path = "../helix-core" } +helix-lsp = { version = "0.5", path = "../helix-lsp"} crossterm = { version = "0.22", optional = true } # Conversion traits