Skip to content

Conversation

@ychin
Copy link
Member

@ychin ychin commented Jul 23, 2025

This entitlement allows debugger to hook in to the app and allow other apps to call task_for_pid() on MacVim, and Apple has discouraged its use. In fact, the only reason why MacVim passes app notarization is because it has also set the disable-library-validation entitlement which allows get-task-allow to be set. We don't actually need get-task-allow in release binary builds as we don't intentionally want to allow external debuggers and code injection, so we should just remove it.

This was previously added in #980 where we made a mistake in assuming that get-task-allow was what was needed to sign the app with hardened runtime while allowing scripting interface (e.g. Python) to work, but that was wrong. It was the disable-library-validation entitlment instead, as we need the ability to load in unsigned libraries as Python distributions from say Homebrew are not signed.

Credit: This was pointed out by Karol Mazurek

This entitlement allows debugger to hook in to the app and allow other
apps to call `task_for_pid()` on MacVim, and Apple has discouraged its
use. In fact, the only reason why MacVim passes app notarization is
because it has also set the disable-library-validation entitlement
which allows get-task-allow to be set. We don't actually need
get-task-allow in release binary builds as we don't intentionally want
to allow external debuggers and code injection, so we should just remove
it.

This was previously added in macvim-dev#980 where we made a mistake in assuming
that get-task-allow was what was needed to sign the app with hardened
runtime while allowing scripting interface (e.g. Python) to work, but
that was wrong. It was the disable-library-validation entitlment
instead, as we need the ability to load in unsigned libraries as
Python distributions from say Homebrew are not signed.

Credit: This was pointed out by Karol Mazurek
@ychin ychin added this to the Release 182 milestone Jul 23, 2025
ychin added a commit to ychin/macvim that referenced this pull request Jul 23, 2025
By default, building MacVim locally will sign with an ad-hoc signature with no
entitlements. Release builds are then signed with the `macvim-signed`
target which signs MacVim with a valid signature and embed the
entitlments. This new target allows us to sign MacVim to have similar
entitlements and behaviors as a release build without needing an Apple
Developer signature.

There are currently two possible use cases for this:
1. Package managers like Homebrew can use this to build MacVim to get
   the correct hardened runtime entitlements.
2. Reproducible builds (macvim-dev#1506) can use this to generate a reproducible
   artifact. Proper release builds are not reproducible since there's no
   way for a proper digital signature to be reproduced, but we can strip
   and re-sign with an ad-hoc signature reproducibly using this target
   for a decent compromise.

Related: macvim-dev#1585
@ychin ychin merged commit b140515 into macvim-dev:master Jul 23, 2025
2 of 5 checks passed
@ychin ychin deleted the remove-get-task-allow branch July 23, 2025 01:25
ychin added a commit to ychin/macvim that referenced this pull request Jul 23, 2025
By default, building MacVim locally will sign with an ad-hoc signature with no
entitlements. Release builds are then signed with the `macvim-signed`
target which signs MacVim with a valid signature and embed the
entitlments. This new target allows us to sign MacVim to have similar
entitlements and behaviors as a release build without needing an Apple
Developer signature.

There are currently two possible use cases for this:
1. Package managers like Homebrew can use this to build MacVim to get
   the correct hardened runtime entitlements.
2. Reproducible builds (macvim-dev#1506) can use this to generate a reproducible
   artifact. Proper release builds are not reproducible since there's no
   way for a proper digital signature to be reproduced, but we can strip
   and re-sign with an ad-hoc signature reproducibly using this target
   for a decent compromise.

Related: macvim-dev#1585
ychin added a commit that referenced this pull request Oct 29, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 29, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 29, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 29, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 29, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 30, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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.1242
    - 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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
ychin added a commit that referenced this pull request Oct 30, 2025
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-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (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+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel (`:h tabpanel`). v9.1.1391
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant