Releases: macvim-dev/macvim
MacVim r183
Updated to Vim 9.2.0321
Vim 9.2 was released in February 2026! See announcement. This update syncs up to Vim 9.2, which also contains important security fixes.
This release note does not come with the normal "New Vim Features" section. The next MacVim release will cover both releases to highlight new Vim features.
Security Fixes
There were numerous security fixes in Vim itself between the last release (9.1.1887) and 9.2.0321. Below are some some high severity ones that were fixed in the latest release:
General
- Sparkle (updater for MacVim) is now updated to 2.9.1. The updater will now also verify that the update feed is cryptographically signed. #1637 #1638
- Binary release is now built using GNU iconv instead of the system built-in iconv. This slightly increases binary size, but makes MacVim work more consistently when dealing with non-Unicode files (e.g. JIS). #1626
Fixes
- What's New page will no longer leave behind unnecessary persistent files in ~/Library #1619
Scripting
- Scripting languages versions:
- Ruby is now built against 4.0, up from 3.4.
- Lua is now built against 5.5, up from 5.4.
Compatibility
Compatibility
Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
- Lua 5.5
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 4.0
MacVim r182.1 (prerelease)
Updated to Vim 9.1.2068
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Whats New page use non-persistent data store by @ychin in #1619
- Build MacVim binary release with GNU iconv instead of Apple iconv by @ychin in #1626
Full Changelog: release-182...prerelease-182.1
MacVim r182
Updated to Vim 9.1.1887
This update is still built against macOS 15 Sequoia, and does not contain any specific fixes or improvements for macOS 26 Tahoe. That will come in a future update.
Announcements
Moving macOS 10.13 - 10.15 support to legacy release
Currently, MacVim binary releases are available in two versions: a normal version (macOS 10.13 or above), and a legacy version (macOS 10.9 or above). Starting next release (r183), the normal version will require macOS 11.0 Big Sur (due to Xcode 26 requirements), and macOS 10.13-10.15 users will need to use the legacy version instead. This will mostly be a transparent change, and the updater will automatically update to the right version. The legacy version should be almost identical to said users as they are using older versions of macOS that can’t make use of newer OS features to begin with.
In the future we may remove support for macOS 10.9-10.12 but for now they are still supported.
Features
Better mouse support
- Scroll wheels should feel much better to use in MacVim. A small scroll is now guaranteed to scroll at least one line, and shift-scrolling (horizontal scroll) works correctly now. You can now also turn off macOS's scroll wheel acceleration to scroll a fixed amount of lines in the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to
<X1Mouse>and<X2Mouse>in Vim mappings (:h X1Mouse). #1534
New Vim Features
- Diff mode improvements
-
Vim diff can now highlight per-character or per-word differences within a line. Per-character highlighting is now used by default. See
:h 'diffopt'under "inline". v9.1.1243
-
Diff anchors allow for more explicit controls over how and where the diff algorithm aligns text across files (
:h diff-anchors). v9.1.1557
-
- Lots of auto-completion improvements. Some highlights below:
- New option:
autocomplete. Get completion suggestions as you type. See:h ins-autocompletion. v9.1.1590 - Fuzzy matching now uses the fzf algorithm. v9.1.1627
- Popup menu borders can now be styled (
:h 'pumborder'/:h 'completepopup'). v9.1.1835 / v9.1.1856 - Can now specify a custom completion source when using insert-mode completion (
:h 'complete'). v9.1.1301 set completeopt+=nearestwill sort completion items by proximity to the cursor. v9.1.1308- Command-line completion
- New option:
- New vertical tab panel (
:h tabpanel). v9.1.1391 - new bundled optional plugins (use
packaddto enable them):- hlyank (
:h package-hlyank): Briefly highlight region of last yank command
- hlyank (
- new commands:
General
- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605
Security Fixes
- Fixed MacVim erroneously setting the get-task-allow entitlement, which could allow another user-installed application to inspect it (CVE-2025-8597) #1585
Fixes
- Fixed issue where macOS services (available in the "Services" menu) could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard
v:colornamesvariable for choosing highlight colors. #1568 - Vim syntax now understands MacVim-specific function
showdefinition(). #1601
Compatibility
Compatibility
Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
MacVim r181.2 (prerelease)
Updated to Vim 9.1.1577
This Vim update comes with further improvements to the diff functionality by supporting diff anchors (:h diff-anchors). There is also now a vertical tab panel (:h tabpanel).
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
MacVim r181.1 (prerelease)
Updated to Vim 9.1.1251
This Vim update contains a new diff highlight mode to allow per-character/word diff from v9.1.1243 (use :set diffopt+=inline:char to enable). Feel free to try it out and use it as a Git diff tool! (git difftool --tool=gvimdiff)
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Support extra side mouse buttons in MacVim (X1 and X2) by @ychin in #1534
- Add better scroll wheel support and option to disable acceleration by @ychin in #1566
- Remove Colors.plist and fix CI by @ychin in #1568
- Fix macOS services no longer able to insert texts in non-Visual modes by @ychin in #1571
Full Changelog: release-181...prerelease-181.1
MacVim r181
Updated to Vim 9.1.1128
This update contains a completely new GUI tabs implementation by @sfsam! It also contains lots of small fixes for window resizing and full screen mode that aims to make using MacVim feel rock solid and stable.
Defaults Change
New settings defaults related to window sizing #1528:
- "Smoothly resizes window" is now on by default. MacVim's window will now resize smoothly instead of snapped to the size of the character grid.
- Vim's
guioptionsnow haskset by default (:h go-k). This prevents MacVim's window size from changing unnecessarily when showing/hiding tabs or changing font size.
These should align MacVim better with how other apps work and integrate better with OS window management, including macOS 15 Sequoia's window tiling feature.
Features
Tabs
MacVim has a new tabs implementation! The old version (PSMTabBarControl) is not maintained and lacks features such as overflowing tabs and customizable colors. The new tabs will overflow horizontally and are scrollable. They also animate when tabs are closed or moved, respect system settings such as right-to-left locales and high-contrast modes, and are designed to fit within the currently selected Vim colors.
There are a few ways to customize the colors of the new tabs, under the "Appearance" settings pane. MacVim defaults to an "Automatic colors" mode which tries to pick sensible colors automatically based on the current foreground/background colors. However, you can also configure it to simply use the tab colors specified by the Vim color scheme (some color schemes will work better than others depending on their choice of colors). Another new option is "Use tabs background color" which when combined with "Transparent title bar" allows the title bar and tabs to look like a single cohesive whole.
Relevant work:
New Vim features
- new bundled color scheme:
- unokai (vim/vim#16443)
- new bundled optional plugins (use
packaddto enable them):- helptoc: Use
:HelpTocto show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. vim/vim#10446
- helptoc: Use
- new options:
- new functions:
- Vim tutor has a new interactive plugin (
:h :Tutor) (v9.1.0836). There is also now a chapter 2 (vim/vim#5729).
Misc New Settings
- "Open untitled window" (General) has a new option to only open on MacVim re-activation. #1509
- "Show document icon at title bar" (Appearance). Previously MacVim implicitly hid the document icon when using transparent title bar. This is now customizable. #1510
General
-
The MacVim dmg installer has a new design. Courtesy of @jasonlong. #1540 #1545
-
Legacy builds (macOS 10.9 - 10.12) are no longer built by GitHub hosted runners, due to GitHub's deprecation of old runners. They are now built by a custom self-hosted VM instead. In the future we hope to set up reproducible builds (#1506) so it will not matter who's building the app as it would be verifiable. #1559
-
"Nightly" build: We now build a dmg installer for every commit. This allows for trying out the latest developmental version of MacVim, but note that the app will not be signed / notarized, and it will not be as polished as official release/pre-release builds. See wiki for instructions. #1532
Fixes
Apple "Intelligence" Writing Tools
macOS 15 Sequoia's Apple "Intelligence" Writing Tools should work correctly with MacVim now. To use it, select some text, right click to show menu, and then select the "Writing Tools" sub-menu. As part of this fix, the integration with the "Services" menu now works more reliably as well. You can select texts in blockwise visual mode and select a service and MacVim will try to place the new texts back to the blockwise selection if possible. #1552
Window resizing and full screen
- Flicker begone: Changing font size, showing/hiding tabs or scroll bars, or entering non-native full screen should no longer cause MacVim to flicker. Previously there could be a momentary but distracting/annoying stale image that flashes briefly. #1547 #1549
- Fixed issue where resizing MacVim window would occasionally cause Vim to be stuck in a stale wrong size. #1518
- Non-native full screen now supports
blurradiusoption. #1546 - Fixed window size not always restoring correctly when exiting full screen. Non-native full screen also works more reliably in multi-monitor setup. #1525
- Fixed non-native full screen mode when using an external monitor with a MacBook with a notch, and having the "Show menu bar in non-native mode" option set. Previously MacVim would sometimes miscalculate the menu bar height in the second screen. #1548
- Fixed misc issues with non-native full screen's interaction with
fuoptionsand also thetransparencysetting, and rare crash. #1521
Other Fixes
- Fixed issue where changing font size (using Cmd =/-) with guifont set to "-monospace-" would result in guifont being changed to a confusing name like ".AppleSystemUIFontMonospaced-Regular". #1544
- "MacVim Website" menu item now goes to the updated URL. #1524
- What's New page now allows changing font size (using Cmd =/-), and showing table of contents. #1561 #1562
- Dark mode documentation is now a bit clearer on
v:os_appearance. #1511 - Using dictionary look up on selected texts (by right clicking and then selecting "Look Up" in the pop-up menu) is now more resilient as it uses Vim's native
getregion()to determine the selected texts. #1508
Scripting
- Scripting languages versions:
- Ruby is now built against 3.4, up from 3.3.
- Perl is now built against 5.34, up from 5.30.
Compatibility
Compatibility
Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
MacVim r180.2 (prerelease)
Updated to Vim 9.1.1050
Note: This update contains a completely new GUI tabs implementation. If you have GUI tabs disabled with set go-=e I recommend giving the new tabs a try!
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Tabs by @sfsam in #1120
- Make GUI tabs track Vim tabs in updates and animate correctly by @ychin in #1535
- Tabs: Expose option to show scroll tab buttons, fix tab scroll behavior, fix memory leaks, cache images and other cleanups by @ychin in #1536
- MMTabline: Localize button strings by @ychin in #1537
- MMTabline: Add right-to-left (RTL) locale support by @ychin in #1538
- MMTabline: Add Vim colorscheme / window use tab fill color support by @ychin in #1539
Full Changelog: prerelease-180.1...prerelease-180.2
MacVim r180.1 (prerelease)
Updated to Vim 9.1.1000
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Use getregion() for showing definition of selected texts by @ychin in #1508
- Expose setting to only open untitled window only on reactivation by @ychin in #1509
- Add setting for whether to show document icon at title bar by @ychin in #1510
- Dark mode improve docs for v:os_appearance and add tests by @ychin in #1511
- Add support for macos-15 for CI by @ychin in #1514
- Fix non-native fullscreen quit to black screen bug by @ychin in #1516
- Fix resizing MacVim window occasionally result in a stale wrong Vim size by @ychin in #1518
- Fix non-native full screen misc crash, background color, and transparency issues by @ychin in #1521
- Fix menu item "MacVim Website" to go to correct URL by @ychin in #1524
- Fix full screen window restore / multi-screen / misc issues by @ychin in #1525
- New defaults: Smoothly resize window, guioptions+=k by @ychin in #1528
New Contributors
Full Changelog: release-180...prerelease-180.1
MacVim r180
Updated to Vim 9.1.0727
This update mostly syncs to new upstream Vim version, along with small fixes.
Features
New Vim features
- Vim now supports the XDG Base Directory Specification. You can now put your vimrc and plugins in
~/.config/vimintsead of~/.vim/~/.vimrc. See:h xdg-base-dir. v9.1.0327 - Auto completion
- New options:
- New functions:
- New bundled optional plugins (use
packaddto enable them):- comment: toggle code comments on/off. vim/vim#14634
- nohlsearch: simple package to automatically set
nohlsearch. vim/vim#15042
- Highlighting for diff files are back to normal. v9.1.0016
- Vim9 script improvements.
- Miscellaneous smoothscroll, termdebug, security fixes.
- Other platforms (these don't affect MacVim and included for reference only):
Misc
- When resizing MacVim, the title bar's message looks a little nicer now. #1488 by @sfsam
- Copyright disclaimer in About MacVim no longer shows a year. #1497
General
- Sparkle (updater for MacVim) is now updated to 2.6.4. For legacy builds it's now updated to 1.27.3. #1494
Fixes
- Fixed dragging tabs to reorder them resulting in a crash. #1499
Compatibility
Compatibility
Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
- Lua 5.4
- Perl 5.30
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.3
MacVim r179.1 (prerelease)
Updated to Vim 9.1.0695
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
