From 55e6f5367bf86d1dc6e99b7492d86c5208dd1f1c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 3 May 2026 22:18:32 +0900 Subject: fix(resolver): reject partial update when locked version fails stability A partial update reuses every non-allow-listed locked package as a fixed pool entry, ignoring stability filters. So when a user tightens `minimum-stability` (or drops a `stability-flags` entry the lock used to ride on), Mozart silently kept the rejected version and produced a plan Composer would have failed on. Mirror Composer's `Pool::isUnacceptableFixedOrLockedPackage` path: walk the locked packages before pool construction, surface every entry whose version no longer passes `passes_stability_filter`, and bail with the same "fixed to (lock file version) ... rejected by your minimum-stability" pointer Composer prints from `Problem::getPrettyString`. --- crates/mozart/tests/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/mozart') diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs index 5133167..5e285a9 100644 --- a/crates/mozart/tests/installer.rs +++ b/crates/mozart/tests/installer.rs @@ -282,7 +282,7 @@ installer_fixture!(load_replaced_package_if_replacer_dropped); installer_fixture!(outdated_lock_file_fails_install); installer_fixture!(outdated_lock_file_with_new_platform_reqs_fails); installer_fixture!(partial_update_always_updates_symlinked_path_repos, ignore); -installer_fixture!(partial_update_downgrades_non_allow_listed_unstable, ignore); +installer_fixture!(partial_update_downgrades_non_allow_listed_unstable); installer_fixture!( partial_update_forces_dev_reference_from_lock_for_non_updated_packages, ignore -- cgit v1.3.1