-
-
Notifications
You must be signed in to change notification settings - Fork 688
Remove get-task-allow entitlement from signed builds #1585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
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
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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