osfeed.dev
Release /

mason.nvim v2.0.0

See available versions and package source identifiers before installing a tool.

Before you upgrade to v2.0.0

8 to fix

Uninstalled packages display available versions, packages show source `purl` identifiers, and the header displays the Mason version.

Behavior changedBrowse editor tools, filter them by language, and check for package updates in Neovim.Affects: Users of `:Mason`.
Read the evidence

The default `ui.border` becomes `nil`, using Neovim's `winborder` when available instead of always using no border.

Behavior changedAdjust the Mason window size, border, icons, and keyboard shortcuts.Affects: Users who do not explicitly configure `ui.border`.
Read the evidence

Installed tool symlinks use relative paths instead of absolute paths.

Behavior changedRun installed tool executables from Neovim terminals, shell commands, and other plugins.Affects: Users inspecting or moving Mason's installed tool directories.
Read the evidence

Custom registries are officially supported through `github:`, `file:`, and `lua:` protocols; registry installations run concurrently.

Behavior changedRefresh package catalogs and choose which registries supply editor tools.Affects: Users configuring custom or multiple registries.
Read the evidence

Migrate custom Lua packages to the reworked registry package structure; old `mason-core.installer.managers` APIs were removed. Follow the custom-registry examples linked in the release notes.

Action requiredAffects: Custom Lua package authors using the removed installer APIs.
Read the evidence

Replace `Package:get_install_path()` with executable names on `PATH`, `$MASON/bin`, or `$MASON/share` as appropriate; package-directory contents are not a stable interface.

Action requiredAffects: Lua integrations calling `Package:get_install_path()`.
Read the evidence

Replace `Package:check_new_version()` with synchronous `Package:get_latest_version()`; read `Package:get_installed_version()` synchronously without a callback.

Action requiredAffects: Lua integrations querying package versions.
Read the evidence

Use `Package:uninstall({}, callback)` for completion; check `Package:is_installed()` before uninstalling and `Package:is_installing()` before installing to avoid new errors.

Action requiredAffects: Lua integrations installing or uninstalling packages.
Read the evidence

Update install-success handlers to consume receipts and install-failure handlers to consume errors. The payload changes also apply to the registry's `package:install:success` and `package:install:failed` events.

Action requiredAffects: Lua integrations listening to package or registry installation events.
Read the evidence

Replace registry `update` listeners with `update:start`, `update:success`, `update:failed`, or `update:progress`.

Action requiredAffects: Lua integrations listening to registry update events.
Read the evidence

Installation accepts a completion callback, and uninstall failures emit `uninstall:failed` and registry `package:uninstall:failed` events.

Behavior changedInstall selected package versions headlessly and manage packages through Lua.Affects: Lua integrations tracking installation and uninstallation.
Read the evidence

Adapt `uninstall:success` and registry `package:uninstall:success` handlers to the receipt payload specified by the new event contract.

Action requiredAffects: Lua integrations consuming uninstall-success event payloads.
Read the evidence

What changed in v2.0.0

The Mason window shows versions for uninstalled packages and package source URLs. Upgrading requires Neovim 0.10 or later and migration of affected Lua integrations.

Install mason.nvim v2.0.0 with a Neovim plugin manager and call `require("mason").setup()`. Requires Neovim 0.10+. Package-specific external tools may be required.

Fixed and improved

The window initializes correctly with multiple registries and fixes incorrect outdated-package indicators.

Now worksBrowse editor tools, filter them by language, and check for package updates in Neovim.
Read the evidence

Seeded by @iluxav with Codex, from the release's public sources. Each change links to its evidence.