on 2158366 help sign in
helix/CHANGELOG.md
131 lines 8.7 kB history raw
2# 0.4.1 (2021-08-14)
4A minor release that includes:
5- A fix for rendering glitches that would occur after editing with multiple selections.
6- CI fix for grammars not being cross-compiled for aarch64
8# 0.4.0 (2021-08-13)
10Two months have passed, so this is another big release. A big thank you to all
11the contributors and package maintainers!
13Helix has popped up in [Arch, Manjaro, Nix, MacPorts and Parabola and Termux repositories](https://repology.org/project/helix/versions)!
15A [large scale refactor](https://github.com/helix-editor/helix/pull/376) landed that allows us to support zero width (empty)
16selections in the future as well as resolves many bugs and edge cases.
18- Multi-key remapping! Key binds now support much more complex usecases ([#454](https://github.com/helix-editor/helix/pull/454))
19- Pending keys are shown in the statusline ([#515](https://github.com/helix-editor/helix/pull/515))
20- Object selection / textobjects. `mi(` to select text inside parentheses ([#385](https://github.com/helix-editor/helix/pull/385))
21- Autoinfo: `whichkey`-like popups which show available sub-mode shortcuts ([#316](https://github.com/helix-editor/helix/pull/316))
22- Added WORD movements (W/B/E) ([#390](https://github.com/helix-editor/helix/pull/390))
23- Vertical selections (repeat selection above/below) ([#462](https://github.com/helix-editor/helix/pull/462))
24- Selection rotation via `(` and `)` ([66a90130](https://github.com/helix-editor/helix/commit/66a90130a5f99d769e9f6034025297f78ecaa3ec))
25- Selection contents rotation via `Alt-(` and `Alt-)` ([02cba2a](https://github.com/helix-editor/helix/commit/02cba2a7f403f48eccb18100fb751f7b42373dba))
26- Completion behavior improvements ([f917b5a4](https://github.com/helix-editor/helix/commit/f917b5a441ff3ae582358b6939ffbf889f4aa530), [627b899](https://github.com/helix-editor/helix/commit/627b89931576f7af86166ae8d5cbc55537877473))
27- Fixed a language server crash ([385a6b5a](https://github.com/helix-editor/helix/commit/385a6b5a1adddfc26e917982641530e1a7c7aa81))
28- Case change commands (`` ` ``, `~`, ``<a-`>``) ([#441](https://github.com/helix-editor/helix/pull/441))
29- File pickers (including goto) now provide a preview! ([#534](https://github.com/helix-editor/helix/pull/534))
30- Injection query support. Rust macro calls and embedded languages are now properly highlighted ([#430](https://github.com/helix-editor/helix/pull/430))
31- Formatting is now asynchronous, and the async job infrastructure has been improved ([#285](https://github.com/helix-editor/helix/pull/285))
32- Grammars are now compiled as separate shared libraries and loaded on-demand at runtime ([#432](https://github.com/helix-editor/helix/pull/432))
33- Code action support ([#478](https://github.com/helix-editor/helix/pull/478))
34- Mouse support ([#509](https://github.com/helix-editor/helix/pull/509), [#548](https://github.com/helix-editor/helix/pull/548))
35- Native Windows clipboard support ([#373](https://github.com/helix-editor/helix/pull/373))
36- Themes can now use color palettes ([#393](https://github.com/helix-editor/helix/pull/393))
37- `:reload` command ([#374](https://github.com/helix-editor/helix/pull/374))
38- Ctrl-z to suspend ([#464](https://github.com/helix-editor/helix/pull/464))
39- Language servers can now be configured with a custom JSON config ([#460](https://github.com/helix-editor/helix/pull/460))
40- Comment toggling now uses a language specific comment token ([#463](https://github.com/helix-editor/helix/pull/463))
41- Julia support ([#413](https://github.com/helix-editor/helix/pull/413))
42- Java support ([#448](https://github.com/helix-editor/helix/pull/448))
43- Prompts have an (in-memory) history ([63e54e30](https://github.com/helix-editor/helix/commit/63e54e30a74bb0d1d782877ddbbcf95f2817d061))
45# 0.3.0 (2021-06-27)
47Another big release.
49Highlights:
51- Indentation is now automatically detected from file heuristics. ([#245](https://github.com/helix-editor/helix/pull/245))
52- Support for other line endings (CRLF). Significantly improved Windows support. ([#224](https://github.com/helix-editor/helix/pull/224))
53- Encodings other than UTF-8 are now supported! ([#228](https://github.com/helix-editor/helix/pull/228))
54- Key bindings can now be configured via a `config.toml` file ([#268](https://github.com/helix-editor/helix/pull/268))
55- Theme can now be configured and changed at runtime ([please feel free to contribute more themes!](https://github.com/helix-editor/helix/tree/master/runtime/themes)) ([#267](https://github.com/helix-editor/helix/pull/267))
56- System clipboard yank/paste is now supported! ([#310](https://github.com/helix-editor/helix/pull/310))
57- Surround commands were implemented ([#320](https://github.com/helix-editor/helix/pull/320))
59Features:
61- File picker can now be repeatedly filtered ([#232](https://github.com/helix-editor/helix/pull/232))
62- LSP progress is now received and rendered as a spinner ([#234](https://github.com/helix-editor/helix/pull/234))
63- Current line number can now be themed ([#260](https://github.com/helix-editor/helix/pull/260))
64- Arrow keys & home/end now work in insert mode ([#305](https://github.com/helix-editor/helix/pull/305))
65- Cursors and selections can now be themed ([#325](https://github.com/helix-editor/helix/pull/325))
66- Language servers are now gracefully shut down before `hx` exits ([#287](https://github.com/helix-editor/helix/pull/287))
67- `:show-directory`/`:change-directory` ([#335](https://github.com/helix-editor/helix/pull/335))
68- File picker is now sorted by access time (before filtering) ([#336](https://github.com/helix-editor/helix/pull/336))
69- Code is being migrated from helix-term to helix-view (prerequisite for
70 alternative frontends) ([#366](https://github.com/helix-editor/helix/pull/366))
71- `x` and `X` merged
72 ([f41688d9](https://github.com/helix-editor/helix/commit/f41688d960ef89c29c4a51c872b8406fb8f81a85))
74Fixes:
76- The IME popup is now correctly positioned ([#273](https://github.com/helix-editor/helix/pull/273))
77- A bunch of bugs regarding `o`/`O` behavior ([#281](https://github.com/helix-editor/helix/pull/281))
78- `~` expansion now works in file completion ([#284](https://github.com/helix-editor/helix/pull/284))
79- Several UI related overflow crashes ([#318](https://github.com/helix-editor/helix/pull/318))
80- Fix a test failure occuring only on `test --release` ([4f108ab1](https://github.com/helix-editor/helix/commit/4f108ab1b2197809506bd7305ad903a3525eabfa))
81- Prompts now support unicode input ([#295](https://github.com/helix-editor/helix/pull/295))
82- Completion documentation no longer overlaps the popup ([#322](https://github.com/helix-editor/helix/pull/322))
83- Fix a crash when trying to select `^` ([9c534614](https://github.com/helix-editor/helix/commit/9c53461429a3e72e3b1fb87d7ca490e168d7dee2))
84- Prompt completions are now paginated ([39dc09e6](https://github.com/helix-editor/helix/commit/39dc09e6c4172299bc79de4c1c52288d3f624bd7))
85- Goto did not work on Windows ([503ca112](https://github.com/helix-editor/helix/commit/503ca112ae57ebdf3ea323baf8940346204b46d2))
87# 0.2.1
89Includes a fix where wq/wqa could exit before file saving completed.
91# 0.2.0
93Enough has changed to bump the version. We're skipping 0.1.x because
94previously the CLI would always report version as 0.1.0, and we'd like
95to distinguish it in bug reports..
97- The `runtime/` directory is now properly detected on binary releases and
98 on cargo run. `~/.config/helix/runtime` can also be used.
99- Registers can now be selected via " (for example `"ay`)
100- Support for Nix files was added
101- Movement is now fully tested and matches kakoune implementation
102- A per-file LSP symbol picker was added to space+s
103- Selection can be replaced with yanked text via R
105- `1g` now correctly goes to line 1
106- `ctrl-i` now correctly jumps backwards in history
107- A small memory leak was fixed, where we tried to reuse tree-sitter
108 query cursors, but always allocated a new one
109- Auto-formatting is now only on for certain languages
110- The root directory is now provided in LSP initialization, fixing
111 certain language servers (typescript)
112- LSP failing to start no longer panics
113- Elixir language queries were fixed
115# 0.0.10
117Keymaps:
118- Add mappings to jump to diagnostics
119- Add gt/gm/gb mappings to jump to top/middle/bottom of screen
120- ^ and $ are now gh, gl
122- The runtime/ can now optionally be embedded in the binary
123- Haskell syntax added
124- Window mode (ctrl-w) added
125- Show matching bracket (vim's matchbrackets)
126- Themes now support style modifiers
127- First user contributed theme
128- Create a document if it doesn't exist yet on save
129- Detect language on a new file on save
131- Panic fixes, lots of them