Skip to content

Releases: macvim-dev/macvim

MacVim r181

21 Feb 05:44
release-181
8e7808c
Compare
Choose a tag to compare

Updated to Vim 9.1.1128

MacVim release-181 download MacVim release-181 download (10.9-10.12)

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 guioptions now has k set 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.

new tabs image new tabs new tabs

Relevant work:

New Vim features

  • new bundled color scheme:
  • new bundled optional plugins (use packadd to enable them):
    • helptoc: Use :HelpToc to show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. vim/vim#10446
  • new options:
    • set diffopt+=linematch:{n}. Matches lines better when in diff mode. v9.1.1009
    • findfunc. Customizes :find and other commands. v9.1.0831
    • set completeopt+=preinsert. Preview inserted text in completion. v9.1.1056
    • messagesopt. Allows customizing hit-enter behavior. v9.1.0908
  • new functions:
    • getcellpixels(). Query the pixel size of a character cell in the grid. v9.1.0854 / #1554 / #1555
  • 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 blurradius option. #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 fuoptions and also the transparency setting, 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)

01 Feb 12:14
prerelease-180.2
8ac49d6
Compare
Choose a tag to compare
Pre-release

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)

19 Jan 09:58
prerelease-180.1
8d524fd
Compare
Choose a tag to compare
Pre-release

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

11 Sep 08:53
release-180
a24ac02
Compare
Choose a tag to compare

Updated to Vim 9.1.0727

MacVim release-180 download MacVim release-180 download (10.9-10.12)

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/vim intsead of ~/.vim / ~/.vimrc. See :h xdg-base-dir. v9.1.0327
  • Auto completion
    • Matched text in a completion popup menu will now be highlighted v9.1.0476

      image
    • Insert mode fuzzy completion (:set completopt+=fuzzy). v9.1.0463 / v9.1.0598

  • New options:
    • tabclose: specifies tab closing behavior. v9.1.0572
    • winfixbuf: fixes a window to a buffer and prevent navigating away from it. v9.1.0147
  • New functions:
    • getregion() / getregionpos(): Helps retrieve the text selected in a visual selection. v9.1.0120 v9.1.0142 v9.1.0394
    • diff(): Diff provided strings. v9.1.0071
    • gettext() / bindtextdomain(): Vim plugins can now add localized messages. v9.1.0509.
    • filecopy(): Copy a file using Vim script. v9.1.0465
  • New bundled optional plugins (use packadd to enable them):
  • 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):
    • GTK Vim GUI can now also use <D-...> to map super keys, similar to MacVim for its Cmd key mappings. This should allow sharing cross-platform configs easier. v9.1.0058
    • Vim GUI now supports Wayland in Linux. v9.1.0064

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)

31 Aug 09:22
prerelease-179.1
edd4d38
Compare
Choose a tag to compare
Pre-release

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

What's Changed

What's Changed

  • Update CI to remove macOS-11 which has been removed from GitHub Actions by @ychin in #1493
  • Proposal: change x to × in title bar resize message by @sfsam in #1488
  • Sparkle 2.6.4 by @ychin in #1494

Full Changelog: release-179...prerelease-179.1

MacVim r179

05 Jan 05:54
release-179
73ed6d9
Compare
Choose a tag to compare

Updated to Vim 9.1.0

MacVim release-179 download MacVim release-179 download (10.9-10.12)

Happy New Year! See #1472 for a retrospective of 2023 and future roadmap.

Also, Vim 9.1 is now released! See announcement.

Features

System monospace font (SF Mono)

MacVim's guifont option now supports a new -monospace- value, which instructs it to use the system monospace font, which is SF Mono in recent macOS versions. As mentioned below (New Vim features), you can now use tab-completion to see the available values in cmdline. See :h macvim-guifont for more details on how to use it (including using different font weights). #1463

Note: I'm contemplating changing the MacVim default value for guifont to be -monospace- in the future so MacVim will always use the native monospace font instead of being hard-coded to Menlo. This makes it more consistent with Apple Terminal and Xcode. Feel free to leave a comment on #1277 if you have opinions on this.

Menlo (default) vs SF Mono

New Vim features

  • Command-line tab completion improvements and bug fixes (see :h cmdline-completion and :h complete-set-option)
    • Most string option values can now be completed. v9.0.1958
    • MacVim options (guifont, fuoptions) also support tab completion. #1436
    • ++opt (e.g. :e ++) and :terminal ++ completion work as well. v9.0.2025
    • listchars
  • New options:
    • set jumpoptions=stack. Ported from Neovim. v9.0.1921
  • API changes
    • getmousepos() returns a new "coladd" for tab characters. v9.0.2032
  • :Man now works properly when gdefault is set. vim/vim#13097
  • A new small Vim script library that may expand in the future. See :h vim-script-library.
  • Vim9 script improvements.
  • Miscellaneous security fixes.

Misc

New settings:

  • "Scroll in one direction only" (Input). Prevents accidental horizontal scrolling when scrolling vertically using a trackpad. #1442

Clean mode (#1453):

  • Vim can be opened in clean mode (does not use .vimrc or plugins) via the new menu item "New Clean Window". The new menu isn't localized in most languages. Please comment on the issue if you would like to help in localization.
  • MacVim can be launched without loading user defaults for a clean experience via a command-line flag. See :h macvim-settings.

General

  • Sparkle (updater for MacVim) is now updated to 2.5.2. The updater can now show multiple release notes when updating MacVim across multiple versions. #1446 #1469
  • Binary release is now built with more optimized compiler settings. Vim will now run slightly faster than before. #1444
  • macOS 14 Sonoma:
    • Binary release is now built using the macOS 14 SDK (#1434, #1440, #1448). One small change is that very tall characters (e.g. "นี้") on the first line will now draw into the title bar instead of being clipped.
    • Fixed printing with :hardcopy under macOS 14. NOTE: Starting from macOS 14, you have to install ps2pdf (available from Ghostscript) yourself before you can print. See #1464
  • Python 2 support: The default location for locating the Python 2 lib in the binary release is now under /Library/Frameworks rather than /usr/local. Note: Python 2 has long been obsolete. If you rely on Python 2 plugins, consider this a warning as it's only supported as long as it's feasible and could be removed in the future. #1434

Fixes

  • Fixed non-native full screen mode when using a MacBook with a notch and having the "Show menu bar in non-native mode" option set. Changing the screen resolution while using non-native full screen also works properly now. #1450
  • Fixed Help menu's documentation search not working with tags with special characters like <Down>. #1455
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.2

MacVim r178.1 (prerelease)

21 Oct 06:01
prerelease-178.1
bb85aff
Compare
Choose a tag to compare
Pre-release

Updated to Vim 9.0.2043

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

  • CI: Update to Xcode 15 / macOS 13 in GitHub runner by @ychin in #1434
  • Add cmdline completion for MacVim options: 'fuoptions', 'guifont(wide)' by @ychin in #1436
  • Fix tabs drawing over rest of MacVim in macOS 14 Sonoma by @ychin in #1440
  • Add option to only scroll in one direction when using trackpad by @ychin in #1442
  • Use -O3 and link-time-optimization for published builds by @ychin in #1444
  • Sparkle 2.5.1 by @ychin in #1446
  • Fix macOS 14 Sonoma non-native full screen background color by @ychin in #1448
  • Allow showing pre-release in What's New page by @ychin in #1447
  • Fix non-native full screen show menu with notch, and changing resolution by @ychin in #1450

Full Changelog: release-178...prerelease-178.1

MacVim r178

12 Sep 10:49
release-178
ca76060
Compare
Choose a tag to compare

Updated to Vim 9.0.1897

MacVim release-178 download MacVim release-178 download (10.9-10.12)

Special Notes

As some of you may have read, Bram Moolenaar, the creator and maintainer of Vim, has passed away recently. He has worked tirelessly on Vim for more than 30 years and this release is dedicated to him. If you would like, you could pay your respects at this discussion thread.

The Vim project has transitioned to new maintainers, and MacVim will continue to be supported as long as Vim is around.

Features

More flexible Python integration

MacVim now allows you to use Python runtime (via pythonthreedll, used for Python plugins) of any version at or above 3.9. Previously you had to use the exact same version that was used to build MacVim (Python 3.11). The Python detection logic is also updated to always just find the latest version of Homebrew Python instead of a fixed one, and it will also now locate the default macOS / Xcode Python provided by the Xcode Command Line Tools if that is the only Python available. This should hopefully make configuring Python for MacVim a lot more seamless. See :h python3-stable-abi. Vim v9.0.1776 / #1428.

New Vim features

  • New built-in support for EditorConfig via an optional package. Use packadd editorconfig to activate it. See vim/vim#12902.
  • g<End> now goes to the first non-blank char. v9.0.1753
  • API changes
  • Miscellaneous security fixes.

Security Fixes

Fixes

  • Fixed MacVim to correctly set up the runtime folder in the app bundle. As a corollary, xxd is now bundled with MacVim like most other Vim distributions, and MacVim.app now provides man page for the CLI vim commands if the user wants to associate man pages with the mvim comamnd (see :h macvim-PATH). #1430
  • Fixed Vim occasionally crashing and/or hung when autocmd calls serverlist() on exit. #1427

Known issues

  • :Man command doesn't work properly if gdefault option is set. vim/vim#13097.

Scripting

  • Scripting languages versions:
    • Python now supports 3.9 or above.
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.2

MacVim r177

10 Jul 01:52
release-177
d6a1a39
Compare
Choose a tag to compare

Updated to Vim 9.0.1677

MacVim release-177 download MacVim release-177 download (10.9-10.12)

Announcements

Website

The official website for MacVim is now https://macvim.org. Previously it just forwarded to https://macvim-dev.github.io/macvim/ (#1385).

You can also now read the MacVim documentation at https://macvim.org/docs/gui_mac.txt.html. See #1382 for announcement.

Features

Updater / What's New page

There is now a "What's New" page that will automatically be shown whenever MacVim detected that it has been updated to a new version (can be disabled in Settings). The page will also include all the release notes if you have updated across multiple versions. This feature is useful for users who turned on "Automatically install updates" or installs MacVim through other methods like Homebrew but would still like to see the release notes when a new version comes out. You can also access it through the Help menu. #1414

MacVim should now report its version in a much more consistent manner in the "About MacVim" page and when the updater reports there is a new version. It should look something like "r176 (Vim 9.0.1276)" where "r176" is the MacVim release number and the 9.0.1276 is the bundled Vim version. #1293 #1393

Sparkle (updater for MacVim) is now updated to 2.4.2. #1416

New Vim features

  • New bundled colorschemes: wildcharm/retrobox/sorbet/zaibatsu (vim/vim#12163)
  • File encryption now has a new cryptmethod: xchacha20v2, which is designed to be more forward compatible with future Vim versions than xchacha20. (v9.0.1481)
  • switchbuf works for more commands. (v9.0.1546)
  • Statusline now supports multiple alignment "%=" items. (v9.0.1300)
  • New UTF-16 utility functions (strutf16len and utf16idx) (v9.0.1485)
  • Misc 'smoothscroll' bugs fixes

General

  • Removed non-Unicode localization files, which helps cut down on app size. #1397
  • Miscellaneous documentation fixes. #1415 #1375 #1386 #1363 (by @dkav)
  • The disk image for MacVim (MacVim.dmg) is now in APFS and uses better compression for better efficiency. #1409

Fixes

  • Printing a file in macOS 13 Ventura (using :hardcopy or File→Print) should work again. #1390
  • Fixed a broken symlink to XPCServices in the Sparkle framework. #1367
  • Fixed MacVim to not throw (safe) Objective C exceptions when quitting. #1371
  • Fixed welcome message not being aligned properly in Simplified Chinese and show the Vim 9 prompt. #1381
  • Removed some unnecessary test files in the runtime folders which were included erroneously. #1418

Scripting

  • Scripting languages versions:
    • Python is now built against 3.11, up from 3.10.
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.11
  • Ruby 3.2

MacVim r176.1 (prerelease)

19 Mar 21:07
prerelease-176.1
2ab2d08
Compare
Choose a tag to compare
Pre-release

Updated to Vim 9.0.1403

  • Printing files in macOS 13 Ventura is now fixed.

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

  • Remove Sparkle 2's XPCServices symlink by @ychin in #1367
  • Update gui_mac.txt headings by @dkav in #1363
  • Don't throw Objective C exception when quitting MacVim by @ychin in #1371
  • Fix Xcode 8 build breaks by @ychin in #1372
  • Remove Sparkle.framework when configured with --disable-sparkle by @ychin in #1373
  • Remove Homebrew no-auto-update env var from CI by @ychin in #1374
  • Fix upstream merge CI failure with 'winaltkeys' by @ychin in #1376
  • Clean up syntax / formatting / typos in MacVim docs by @ychin in #1375
  • Add security policy file / documentation by @ychin in #1377
  • Fix set fullscreen not working after upstream Vim merge by @ychin in #1379
  • Fix MacVim localized intro text, and don't hide the :h version9 prompt by @ychin in #1381
  • Fix 'gdefault' etc help tags being broken by @ychin in #1383
  • Improve login shell docs by @ychin in #1386
  • Fix CI not handling Xcode version correctly with packages by @ychin in #1387
  • Fix qlstephen project warnings by @ychin in #1388
  • Fix MacVim CI breakage in Test_mouse_shape_after_cancelling_gr by @ychin in #1392
  • Fix misc MacVim project warnings in Xcode by @ychin in #1391
  • Fix :hardcopy not working in macOS 13 Ventura by @ychin in #1390
  • About MacVim show "pre-release" when running a pre-release build by @ychin in #1393

New Contributors

Full Changelog: release-176...prerelease-176.1