diff --git a/.github/actions/test_macvim_artifacts/action.yml b/.github/actions/test_macvim_artifacts/action.yml
index a0ec557045..e4c150a847 100644
--- a/.github/actions/test_macvim_artifacts/action.yml
+++ b/.github/actions/test_macvim_artifacts/action.yml
@@ -13,7 +13,7 @@ runs:
using: "composite"
steps:
- name: Upload failed tests
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
# Name of the artifact to upload.
name: ${{ format('GH-{0}-{1}-{2}-{3}-{4}-failed-macvim-tests',
diff --git a/.github/actions/universal-package/action.yml b/.github/actions/universal-package/action.yml
index 0ea6df8532..24d6f885d0 100644
--- a/.github/actions/universal-package/action.yml
+++ b/.github/actions/universal-package/action.yml
@@ -76,7 +76,7 @@ runs:
- name: Restore keg cache
id: cache-keg-restore
- uses: actions/cache/restore@v4
+ uses: actions/cache/restore@v5
with:
path: ${{ steps.setup-formula.outputs.brew_prefix }}/Cellar/${{ inputs.formula }}
key: ${{ inputs.formula }}-homebrew-cache-custom-unified-prefix${{ steps.setup-formula.outputs.brew_prefix }}-xcode${{ steps.setup-formula.outputs.xcode_version }}-${{ hashFiles(format('{0}.rb', inputs.formula)) }}
@@ -120,7 +120,7 @@ runs:
- name: Save keg cache
id: cache-keg-save
- uses: actions/cache/save@v4
+ uses: actions/cache/save@v5
# We always save the generated artifact even if the whole run
# fails due to other issues. This helps debugging build
# failure issues faster if the cache doesn't already exist as
diff --git a/.github/workflows/macvim-buildtest.yaml b/.github/workflows/macvim-buildtest.yaml
index 0a421be5ed..26f62ae81c 100644
--- a/.github/workflows/macvim-buildtest.yaml
+++ b/.github/workflows/macvim-buildtest.yaml
@@ -89,10 +89,10 @@ jobs:
xcode-select -p
xcodebuild -version
- # Set up, install, and cache GNU libiconv library to work around Apple iconv issues.
+ # Set up, install, and cache GNU libiconv library to work around Apple iconv issues in newer macOS versions.
- name: Set up libiconv
- if: inputs.publish
+ if: inputs.publish && !inputs.legacy
uses: ./.github/actions/universal-package
with:
formula: libiconv
@@ -106,7 +106,7 @@ jobs:
with:
formula: gettext
contents: lib/libintl.a,lib/libintl.dylib
- gnuiconv: true # gettext needs to match MacVim in using the same version of iconv
+ gnuiconv: ${{ inputs.legacy == false }} # gettext needs to match MacVim in using the same version of iconv
# Set up, install, and cache libsodium library for encryption.
@@ -232,7 +232,7 @@ jobs:
sed -i.bak -f ci/config.mk.optimized.sed src/auto/config.mk
fi
- if ${{ inputs.publish == true }}; then
+ if ${{ inputs.publish == true && inputs.legacy == false }}; then
# Use Homebrew GNU libiconv since Apple iconv has been broken since macOS 14
sed -i.bak -f ci/config.mk.brew-libiconv.sed src/auto/config.mk
fi
@@ -286,7 +286,7 @@ jobs:
echo 'Found external dynamic linkage!'; false
fi
- if ${{ inputs.publish == true }}; then
+ if ${{ inputs.publish == true && inputs.legacy == false }}; then
# Make sure we are not using system iconv, which has been buggy since macOS 14.
if otool -L ${VIM_BIN} | grep '^\s*/usr/lib/libiconv'; then
echo 'Using system iconv! We should be linking against GNU iconv instead.'; false
@@ -435,7 +435,7 @@ jobs:
# and add pictures to make them look nice.
- name: Upload MacVim image
if: inputs.publish && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master')
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: MacVim${{ inputs.publish_postfix }}.dmg
path: src/MacVim/build/Release/MacVim${{ inputs.publish_postfix }}.dmg
diff --git a/src/MacVim/Info.plist b/src/MacVim/Info.plist
index 50a6cd916d..5f5ed71ee2 100644
--- a/src/MacVim/Info.plist
+++ b/src/MacVim/Info.plist
@@ -1255,7 +1255,7 @@
CFBundleVersion
- 182.1
+ 183
LSApplicationCategoryType
public.app-category.productivity
NSAppTransportSecurity
diff --git a/src/MacVim/release-notes/r183.md b/src/MacVim/release-notes/r183.md
new file mode 100644
index 0000000000..cc7661f4ee
--- /dev/null
+++ b/src/MacVim/release-notes/r183.md
@@ -0,0 +1,45 @@
+Updated to Vim 9.2.0321
+
+Vim 9.2 was released in February 2026! See [announcement](https://www.vim.org/vim-9.2-released.php). 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:
+
+* [CVE-2025-66476](https://github.com/vim/vim/security/advisories/GHSA-g77q-xrww-p834)
+* [CVE-2026-34714](https://github.com/vim/vim/security/advisories/GHSA-2gmj-rpqf-pxvh)
+* [CVE-2026-34982](https://github.com/vim/vim/security/advisories/GHSA-8h6p-m6gr-mpw9)
+
+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
+====================
+
+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