Releases: neovide/neovide
0.14.0
What's Changed
The main highlights are:
- Rounded floating windows;
- Users now have the option to choose the mouse cursor icon;
- Apple code signing and notarization to bolster security and user trust;
- Added default support to Metal rendering for macOS users as a first class citizen having OpenGL optional still.
The performance and smoothness took a noticeable improvement due to the seamless integration on Apples specific hardware and it's a quite impactful merge;
New Features
- feat: add support of Metal renderer on macOS. by @crupest in #2461
- on macOS, activate when launched by @fboundp in #2799
- feat: add normal opacity by @lucobellic in #2780
- feat: add mouse cursor icon option by @falcucci in #2834
- disable AppKit's command line processing by @fboundp in #2798
- Update syn to 2.x to reduce package repetition in the binary by @Kethku in #2811
- Windows app icon to display in old alt+tab on Windows. by @madcdevelop in #2816
- Remove
lazy_static
by @InfyniteHeap in #2821 - internal: Use macOS-latest runners and bump MACOSX_DEPLOYMENT_TARGET to 10.11 by @falcucci in #2844
- feat: Rounded floating windows (#1993) by @jheroy in #2743
- feat: create apple code signing and notarization by @falcucci in #2814
- feat: add title bar colours for windows by @teehee567 in #2827
- Initialize the window when 'win_viewport_margins' is received by @fredizzimo in #2904
- feat: backtraces file path config in #2717
Bug Fixes
- fix: Force Neovide to exit, even if the IO streams are not closed by @fredizzimo in #2765
- fix: drag and drop files on application icon in Dock to open not work. by @crupest in #2782
- fix: Mouse scrolling when multigrid is disabled by @fredizzimo in #2805
- fix: Update winit to 0.30.5 by @fredizzimo in #2806
- Fix macos download link by @Kethku in #2808
- fix: error if trying to specify font style overrides without a family by @xzbdmw in #2812
- bug: make sure to load and set the app icon for any context by @falcucci in #2832
- fix: ci build errors by @fredizzimo in #2851
- Fix: --wayland_app_id doesn't work by @floflo0 in #2847
- fix: rounded corners rendering by @lucobellic in #2857
- fix: pasting ^M symbols from clipboard by @damiandimanov in #2869
- fix: handle font changes during frame prepare by @fredizzimo in #2909
- fix: setting of lines/columns on Wayland by @fredizzimo in #2907
- fix: the calculation of the window size by @fredizzimo in #2908
- fix: the calculation of the window size (attempt 2) by @fredizzimo in #2912
- fix: crash when flushed before win_pos by @fredizzimo in #2913
- fix: Neovide transparency works for floating windows again by @fredizzimo in #2916
- fix: add
text_background_opacity
in the opaque validation by @falcucci in #2917
Other Changes
- docs: improve installation instructions and build steps for macOS by @falcucci in #2875
- Add faq entry for disabling all animations by @Kethku in #2810
- docs: consolidate macOS build instructions and scripts by @falcucci in #2716
- chore: Update dependencies by @fredizzimo in #2902
- chore: fix the formatting by @fredizzimo in #2903
- chore: Switch to glamour instead of euclid by @fredizzimo in #2708
- chore: Update to winit 0.30.3 by @fredizzimo in #2698
- chore: update create-dmg package installation by @falcucci in #2756
- chore: update objc2 and remove icrate. also some refactor. by @crupest in #2768
- chore: update funding to
open_collective
by @falcucci in #2880 - chore: add stylua.toml and format code by @lucobellic in #2823
- chore: update
skia-safe
version to0.80.0
by @falcucci in #2873
New Contributors
- @fboundp made their first contribution in #2798
- @madcdevelop made their first contribution in #2816
- @jheroy made their first contribution in #2743
- @floflo0 made their first contribution in #2847
- @teehee567 made their first contribution in #2827
- @damiandimanov made their first contribution in #2869
Full Changelog: 0.13.3...0.14.0
Funding
Neovide will always be free and open-source, but it isn't free to make! Because Neovide is free, we rely on the generosity of the community to fund our efforts. If you are a happy user of Neovide, please consider donating. every bit helps!
Project sponsorship and funding
Neovide offers a simple sponsorship program that allows companies to get visibility and recognition among various developers.
You can sponsor or fund the project via Open collective
0.13.3
0.13.2
What's Changed
Bug Fixes
- fix #2605: indicate that
--no-fork
is now the default behavior by @BatmanAoD in #2606 - fix: Position underline correctly with linespace >0 by @cpmsmith in #2607
- handle scale_factor change early by @xzbdmw in #2610
- Add position_animation_length documentation by @xzbdmw in #2611
- fix: Remove some logspam by @fredizzimo in #2623
- fix: Neovide --version and Neovide --help by @fredizzimo in #2621
- fix: emulate Neovim layer drawing by @fredizzimo in #2612
- fix: C-Space was not mappable on Windows by @Geobert in #2672
- Fix wrong toml format and improve font fallback logic by @xzbdmw in #2639
- Remove Snap store from installation.md by @thirstyice in #2674
- fix: Ensure windows settings are initialized when the window is created by @fredizzimo in #2619
- fix: terminal file handler and UI command to use tabs based on settings by @falcucci in #2692
- fix: A smal tweak to how the baseline offset and underline position is calculated by @fredizzimo in #2687
- fix: Ensure that the mouse position is positive by @fredizzimo in #2690
- fix: Fix the remote clipboard support by @fredizzimo in #2696
- fix: Unset ARGV0 to fix AppImage launch by @fredizzimo in #2691
- fix: update deployment scripts for macOS .dmg creation by @falcucci in #2700
New Features
- The build now includes both an X86_64 and aarch64 image for macOS
- feat: Provide a neovide_version variable by @fredizzimo in #2622
- Detach prompt by @cosmicboots in #2683
Other Changes
- chore: Remove obsolete
--no-fork
arguments by @last-partizan in #2625 - style: simplify string formatting by @hamirmahal in #2640
- Run Clippy directly instead of reviewdog by @fredizzimo in #2685
New Contributors
- @BatmanAoD made their first contribution in #2606
- @xzbdmw made their first contribution in #2610
- @Geobert made their first contribution in #2672
- @cosmicboots made their first contribution in #2683
- @thirstyice made their first contribution in #2674
Full Changelog: 0.13.1...0.13.2
0.13.1
What's Changed
Bug Fixes
- fix: Fix underline rendering by @AThePeanut4 in #2564
- fix: Delay the window creation until it's time to draw by @fredizzimo in #2562
- This fixes a lot of macOS issues, and some glitches when showing the window initially on other platforms
- fix: neovide_scale_factor minor fix by @dineshKumar777 in #2570
- fix: Require only DXGI 1.2 when not debugging by @fredizzimo in #2559
- Fixes startup crash on Windows
- fix: Broken IME enable and popup position by @fredizzimo in #2571
- docs: Update list of currently available settings by @ekorchmar in #2583
- fix: group floating window by @TwIStOy in #2578
- fix: Don't use login shell on macOS if
$TERM
is set by @cpmsmith in #2587 - fix: Another attempt to fix the IME not geting properly enabled by @fredizzimo in #2581
- fix: Disable inter-layer grouping by default by @fredizzimo in #2580
Other Changes
- refactor: remove unnecessary casting to
usize
by @hamirmahal in #2589
New Contributors
- @ekorchmar made their first contribution in #2583
- @hamirmahal made their first contribution in #2589
Full Changelog: 0.13.0...0.13.1
0.13.0
What's Changed
The main highlights are:
- Improved and more configurable font rendering, see
neovide_text_contrast
andneovide_text_gamma
- D3D for smoother rendering on Windows
- Fully working smooth scrolling in Windows with borders and highlights
- Better stability compared to 0.12.x
Breaking changes
- Neovim 0.10.0 is now required
- The font size in
config.toml
is now specified in points instead of pixels, to match the behaviour of guifont and most other software - The macOS option
neovide_input_macos_alt_is_meta
has been renamed to neovide_input_macos_option_key_is_meta and instead oftrue/false
it can now be set toonly_left
,only_right
,both
ornone
- The font sizes are now slightly different and matches that set in most other programs due to the fractional font support.
- The
--fork
option has been reversed, and--no-fork
is now the default. If the old behaviour is desired, you can set the environment variableNEOVIDE_FORK=1
- Closing the Window when using remote connections now also exits Neovim. If you want to keep the remote instance running, you can detach using
:call chanclose(g:neovide_channel_id)
Known issues
- Neovide will hang on some Windows systems. This has turned out to be a very tricky bug to track down, since it only occurs on a few systems. See #2463 for more information. Any help debugging this is highly appreciated.
Features
- fix: font width can't be configured with config file by @gmr458 in #2331
- feat: add support for hiding window title from config file by @falcucci in #2344
- doc: instructions of profiling with tracy. by @crupest in #2356
- feat(macos): display border for opaque backgrounds by @emonadeo in #2351
- feat: add window menu on mac by @polachok in #2323
- feat(macos): drop multiple files and folders on macOS by @falcucci in #2396
- feat: Smooth cursor blink animation option by @agraven in #2421
- feat: tabs option as ENV variable and config file position + prefix cleanup for CLI argument by @nazriel in #2441
- feat: Apply winit window blur setting on all platforms by @agraven in #2440
- feat(windows): Direct3D Rendering on Windows by @fredizzimo in #2215
- feat: add ability to open files from Finder in macOS by @polachok in #2395
- feat: render same z-index together by @Kethku in #2467
- feat!: Option key as meta configuration by @9mm in #2486
- feat!: Support fractional grid and font sizes by @fredizzimo in #2485, #2500
- feat: Configurable contrast and gamma by @fredizzimo in #2510
- fix: relative WSL paths and paths with spaces by @fredizzimo in #2507
Bug fixes
- fix: Handle some more numpad keys by @hhirtz in #2334
- Update commands.md missing link by @dineshKumar777 in #2341
- fix(macos): bug of restoring window position on macos. by @crupest in #2345
- fix: loading of fonts with OpenType font variations by @fredizzimo in #2354
- fix(wsl): #2049 ignore lines matching wsl screen size error by @DZappala in #2374
- docs: fix show_border cutting into transparent by @emonadeo in #2380
- fix(macos): execute login before starting login shell by @falcucci in #2405
- fix: Handle new viewport margins event (fixes smooth scrolling with borders and winbars) by @Kethku in #2455
- fix: Prevent intro message hack from showing when the intro message is fixed upstream by @Kethku in #2460
- fix: Convert Windows paths to WSL when launching in WSL mode by @Holzhaus in #2256
- fix: Determine the window under the mouse on the fly by @fredizzimo in #2311
- fix: save grid size for maximized windows by @sid-6581 in #2528
- fix:! Don't fork by default by @fredizzimo in #2512
- fix!: Perform a clean exit again by @fredizzimo in #2463
- fix!: Use points instead of pixels for the config file by @fredizzimo in #2476
- fix(docs): fix reversed autocmds for setting input_ime by @cpmsmith in #2545
Other changes
(including fixes for bugs that were not part of the previous release)
- chore: update lru crate to fix building with the nightly toolchain by @fredizzimo in #2346
- Update nvim-rs, remove superflous arc-wrapping by @KillTheMule in #2336
- chore: remove legacy objc and cocoa by @polachok in #2390
- chore: Upgrade dependencies and remove unused by @agraven in #2443
- chore: remove swash's scale and render features by @tim-harding in #2450
- chore: Support multiple render backends by @fredizzimo in #2359
- fix: set startup directory failed is not an error by @TwIStOy in #2457
- chore(CI): Enable full build on pull requests by @fredizzimo in #2473
- chore: Refactor the update loop by @fredizzimo in #2470
- fix: Temporary hang after sleep by @fredizzimo in #2472
- chore: Fix clippy warnings by @fredizzimo in #2483
- feat: draw block characters with background opacity (was reverted) by @Theaninova in #2478
- chore: Use typesafe pixel and grid units by @fredizzimo in #2484
- fix: address viewport margin regression by sorting DrawCommand batches by @Kethku in #2487
- chore: Refactor the registry-relevant functions. by @InfyniteHeap in #2490
- fix: clipping rect regression by @fredizzimo in #2494
- Revert "feat!: Support fractional grid and font sizes" by @Kethku in #2497
- chore: migrate dependency from
winapi
towindows
. by @InfyniteHeap in #2505 - fix: Cursor offset by @fredizzimo in #2511
- fix: respect floating shadow setting in layer rendering by @sid-6581 in #2526
- fix: fix the CI by @fredizzimo in #2534
- chore: yet another fix for the CI by @fredizzimo in #2535
- fix: don't group floating windows unless one is fully contained in the other by @sid-6581 in #2527
- fix: Use composition to fix window transparency when using D3D by @fredizzimo in #2529
- chore: add cfg to is_tty so that it isn't built on windows by @Kethku in #2537
- fix: dont resize the d3d buffers if the window size is zero by @Kethku in #2538
New Contributors
- @gmr458 made their first contribution in #2331
- @hhirtz made their first contribution in #2334
- @DZappala made their first contribution in #2374
- @emonadeo made their first contribution in #2351
- @polachok made their first contribution in #2323
- @nazriel made their first contribution in #2441
- @Theaninova made their first contribution in #2478
- @Holzhaus made their first contribution in #2256
- @InfyniteHeap made their first contribution in #2490
- @cpmsmith made their first contribution in #2545
Full Changelog: 0.12.2...0.13.0
0.12.2
What's Changed
Breaking changes
neovide_background_color
has been dreprecated, see #2168- On macOS, the title is not automatically hidden with
--frame buttonless
, enable it with--title-hidden
(macOS specific)
Features
- feat: support all font weights and slants by @TwIStOy in #2246
- feat: implement macOS window blur by @falcucci in #2273
- feat: Add colored output to
--help
by @last-partizan in #2316 - feat: implement dynamic window title visibility option by @falcucci in #2319
Bug fixes
- fix: #2233 by replacing echo command with api call by @genzj in #2241
- Fixes hangs when errors or messages are shown at startup
- fix: #2234 by adding !self.scrollback_lines.is_empty() check by @Mentalist in #2247
- Freeze when opening neo-tree
- fix: #2240 by swap item order in
FontDescriptionSettings
by @TwIStOy in #2244- Fallback fonts works in config.toml
- fix: shadow artifacts on macOS by @falcucci in #2272
- fix: When counting leading spaces for space skip optimization count codepoints by @ZyX-II in #2298
- Special spaces like NBSP were rendered wrong
- Fix issue with recursive floating window anchors by @Kethku in #2257
- Crash when dragging the mouse
- fix: Prevent the font from becoming zero sized by @fredizzimo in #2307
- Crash when the font becomes too small
- fix: Reset the cached font info after the fudge factor is updated by @fredizzimo in #2308
- The letter spacing of the font could be wrong
- fix: Error with guifont=* by @fredizzimo in #2309
- Update dependencies and Winit to 0.29.10 by @fredizzimo in #2310
- See https://github.com/rust-windowing/winit/releases for a full list of bugs fixed
- fix: Use rpc request instead of notify for quit requests by @fredizzimo in #2312
- Send options on startup as well as on changed except for columns and rows by @Kethku in #2315
- Some options like
mousemoveevent
set frominit.lua/vim
were not applied
- Some options like
- Fix shlex::join Deprecation Warning by @abhillman in #2314
- feat!: fix appearance of
--frame transparent
and deprecateneovide_background_color
. by @crupest in #2168 - fix: fix hang on neovim exit by @sid-6581 in #2265
New Contributors
- @genzj made their first contribution in #2241
- @Mentalist made their first contribution in #2247
- @falcucci made their first contribution in #2272
- @abhillman made their first contribution in #2314
Full Changelog: 0.12.1...0.12.2
0.12.1
essentially a slice of everything to round up 0.12.0 a bit
What's Changed
Features
- feat(config): watch config and font features by @TwIStOy in #2213
- Font features can be configured through the config file now!
Bug fixes
- fix: Don't split the neovim-bin with shlex on non-wsl windows by @fredizzimo in #2210
- fix(scrolling): don't reset the scrolling when the window position changes by @fredizzimo in #2208
- fix: ensure that the opengl buffers are resized after a resize or scale change by @fredizzimo in #2205
- fix: don't hide random text by @MultisampledNight in #2238
New Contributors
Full Changelog: 0.12.0...0.12.1
0.12.0
What's Changed
Breaking
- fix!: Improve render loop by @fredizzimo in #1977
- Command line options starting with
no
have been renamed and now start with--no-
- All options are kebab-case now
- Multigrid has been made default
- The transparency rendering on macOS has been changed, and a full fix is work in progress here #2168. Meanwhile, it's recommended to unset
neovide_background_color
and setneovide_transparency
according to your preference. Note that the the title bar will remain solid with the default OS colors. - The
--geometry
argument has been removed and replaced by--size
and--grid
https://neovide.dev/command-line-reference.html#window-size, https://neovide.dev/command-line-reference.html#grid-size - NOTE: This is a big change, and a lot of issues have been fixed, check #1977 for the full list.
- Command line options starting with
- feat!: Add underline scale factor config by @Kethku in #2116
underline_automatic_scaling
has been removed
- feat!: use display link api to implement vsync on macos. by @crupest in #2102
Features
- Added numpad support by @plague-spreader in #2032
- Tell neovim focus was gained/lost via 'ui_set_focus' by @9mm in #2033
- feat: minimize window on suspend by @SyedAhkam in #1971
- feat: Better reporting of unexpected output from neovim by @fredizzimo in #2083
- feat: add metadata to Cargo.toml in prep for crates.io publish by @Kethku in #2103
- Add drop shadow to floating windows by @Kethku in #2028
- feat: persist grid size along with window size by @sid-6581 in #2127
- Extra context if can't save to file by @dev-ardi in #2133
- fix!: Ignore window size when minimized by @fredizzimo in #2153
- feat: NEOVIDE_FORK environment variable by @9mm in #2189
- feat: X1 and X2 mouse button support by @agraven in #2161
- feat: Smoother render loop by @fredizzimo in #2188
Fixes
- fix: fix horizontal scroll by @yasen-pavlov in #2021
- fix: Fix some mappings involving shift by @fredizzimo in #2018
- Fix config change notification using remote neovim by @mopp in #2067
- set neovide_channel_id always by @mopp in #2070
- Tokenize command arguments in
$NEOVIM_BIN
(fix #2060) by @rhysd in #2063 - fix: run :edit command with nvim_cmd to escape special characters by @ZyX-II in #2056
- fix: Fix mouse dragging by @fredizzimo in #2082
- Report error when setting a wrong guifont value by @Tmpod in #2089
- fix: do not spawn particles when jumping to a location instantly by @Kethku in #2106
- Observe mousemoveevent option by @Kethku in #2111
- fix: Fix macOS startup issues by @fredizzimo in #2107
- use grid 0 to report mouse events when not using multigrid by @Kethku in #2115
- Fix stacked floating window shadows by @Kethku in #2114
- Fix remember window size by @Kethku in #2120
- fix: fix console window not hidden for Windows shell command by @sid-6581 in #2125
- fix: prevent empty window title by @raggi in #2126
- Wayland clipboard by @cshuaimin in #2123
- fix: event loop shouldn't join the render thread by @sid-6581 in #2129
- fix: Use own data directory instead of nvim's by @agraven in #2135
- fix: Update winit to 0.29.4 by @fredizzimo in #2146
- fix: Don't poll the event loop on Wayland to reduce the power usage by @fredizzimo in #2149
- fix: crash with zero height windows by @fredizzimo in #2150
- fix: Change the order of vsync wait and swap buffers to reduce latency by @fredizzimo in #2152
- fix: Ignore negative cursor positions by @fredizzimo in #2157
- Revert unintentional change to default ime setting by @Kethku in #2159
- fix: Completely event driven update loop by @fredizzimo in #2167
- fix: Scrolling of windows with winbar or native borders by @fredizzimo in #2165
Docs
- Update troubleshooting.md by @heartbeast42 in #2026
- Add faq about x11 dpi sizing by @Kethku in #2105
Work behind the scenes
- chore: Fix new clippy warnings from rust 1.72 by @fredizzimo in #2034
- chore!: Update the macOS CI to use macOS 12 instead of 11 by @fredizzimo in #2108
- Remove unused dependencies by @Kethku in #2110
- refactor: fix compilation warnings by @sid-6581 in #2119
- style: fix typos by @MultisampledNight in #2156
- chore: Improved profiling by @fredizzimo in #2186
New Contributors
Thank you all, and also all others who contributed! ❤️
- @heartbeast42 made their first contribution in #2026
- @yasen-pavlov made their first contribution in #2021
- @plague-spreader made their first contribution in #2032
- @9mm made their first contribution in #2033
- @mopp made their first contribution in #2067
- @rhysd made their first contribution in #2063
- @ZyX-II made their first contribution in #2056
- @SyedAhkam made their first contribution in #1971
- @Tmpod made their first contribution in #2089
- @sid-6581 made their first contribution in #2119
- @raggi made their first contribution in #2126
- @dev-ardi made their first contribution in #2133
- @agraven made their first contribution in #2135
- @crupest made their first contribution in #2102
Full Changelog: 0.11.2...0.12.0
0.11.2
This release adds support for Neovim 0.9.2.
Features
- Add width to guifont settings by @fritsstegmann in #1227
Bug Fixes
- Fix disappearing characters on Neovim 0.9.2 and greater by @fredizzimo in #2012
- Add missing Enter special key by @fredizzimo in #1997
- Improve nvim detection by @fredizzimo in #1946
- Show intro message when the UI command
msg_intro
is received by @fredizzimo in #1985- The
shortmess+=I
option now works. - The message now closes properly when using dashboard-nvim.
- The
Other changes
- Better logging of keyboard events by @fredizzimo in #1962
New Contributors
- @fritsstegmann made their first contribution in #1227
Full Changelog: 0.11.1...0.11.2
0.11.1
This release is essentially a tribute to the glorious work performed by Bram Moolenaar, who passed away on the 3rd of August 2023. One of the many insanely cool things he did was also supporting charity, additionally making Vim charityware, showing a message to help poor children in Uganda on startup if no file was opened. This intro screen was previously lost in Neovide due to architectural differences between the TUI and Neovide, but now in his spirit it is properly displayed in Neovide as well.
Features
- feat: Show intro message by @fredizzimo in #1980
Other changes
- chore: Update cargo dependencies by @fredizzimo in #1969
Full Changelog: 0.11.0...0.11.1