Eklenenler​

  • Aqua araçları için araç başına libc seçimi. glibc kullanan Linux sistemlerde mise, aqua kayıt defteri musl derlemesini adlandırsa bile bir sürümün GNU derlemesini tercih ediyordu. Bu durum, aqua:domcyrus/rustnet gibi musl derlemesi tamamen statik olan araçlarda sorun çıkarıyordu. Artık genel libc ayarını değiştirmeden yalnızca belirli bir araç için kullanılacak derlemeyi seçebilirsiniz.

    [tools]
    "aqua:domcyrus/rustnet" = { version = "latest", libc = "musl" }
    Seçenek glibc (veya gnu) ile musl değerlerini kabul eder. mise, bu araç için diğer libc türüne geri dönüş yapmaz. Seçim; kurulum, mise lock, checksum, imza ve provenance sorgularında uygulanır ve lockfile içindeki araç seçeneklerine kaydedilir. Platform zaten bir libc tanımlıyorsa — örneğin musl kullanan bir ana sistem veya linux-*-musl lockfile platformu — bu değer öncelikli olur. Önceden kurulmuş bir sürüm, mise install --force çalıştırılana kadar mevcut derlemesini kullanmaya devam eder. mise ls-remote ise ana sistemin libc türünü kullanmaya devam eder. Bir registry şablonunda libc adlı değişken kullanılıyorsa bunu vars.libc olarak ayarlayın.
  • Monorepo görevleri için yol takma adları. Derin klasörlerde bulunan yapılandırma köklerine artık kısa adlar verebilirsiniz.

    monorepo_root = true

    [monorepo]
    config_roots = ["foo/bar/baz/abc/123"]

    [monorepo.path_aliases]
    "123" = "foo/bar/baz/abc/123"
    mise run //123:build, //foo/bar/baz/abc/123:build görevini çalıştırır. Takma adlar görev bağımlılıklarında, //123:* gibi kalıplarda ve //123/sub:build gibi alt yollarda da kullanılabilir. Her takma ad tek bir yol bileşeni olmalı, yapılandırılmış bir köke işaret etmeli ve mevcut bir kök yolu ile çakışmamalıdır. Görevin tam yolu yine kanonik adı olarak kalır.
  • Packslip araçları, depo yeniden adlandırıldıktan sonra da kurulmaya devam ediyor. mise artık GitHub ve GitLab packslip projelerini yalnızca ada göre değil, imzalama sertifikasında kayıtlı depo kimliğine göre sabitliyor. old/tool, aynı sahip altında new/tool olarak yeniden adlandırılırsa packslip:github.com/old/tool kurulmaya devam eder ve yapılandırmayı güncellemenizi isteyen bir uyarıyı yalnızca bir kez gösterir. mise packslip forget çalıştırmanız gerekmez. Farklı bir sahibe yapılan depo aktarımı reddedilir. Aynı sabitlenmiş ada farklı bir depo gelirse — silinip yeniden oluşturulmuş bir depo gibi — bu da reddedilir. Bunlardan birini kabul etmek için eski ad üzerinde mise packslip forget çalıştırın; yeniden oluşturulan bir depo söz konusuysa ayrıca aracın mise.lock girdilerini kaldırın.

    Lockfile revizyon 3'te kimlikler şu şekilde saklanır:

    [tools.hk."platforms.linux-x64"]
    repository_ids = { repository = "922514152", owner = "216188" }
  • mise dot track --allow-plaintext. Kimlik bilgisine benzer bir ada sahip dosyayı doğrudan izlemek — örneğin ~/commit-mossy-token.md — daha önce başarılı görünüyor ancak geçmiş kaydı sırasında dosya sessizce atlanıyordu. mise dot track artık dosyanın düz metin olarak kaydedilip kaydedilmeyeceğini soruyor ve varsayılan yanıt Hayır. Etkileşimsiz kullanımda --allow-plaintext parametresini kullanın. --yes, düz metin kaydını onaylamaz. Seçim, [dotfiles] girdisine allow_plaintext = true olarak kaydedilir. Gerçek kimlik bilgileri için --encrypt kullanın.
  • Registry: mise use mbx artık mr-boxington olarak çözümleniyor.

Düzeltilenler​

  • mise outdated ve yükseltme uyarıları artık kurulu sürümün başında v veya V olduğunda daha eski bir sürümü güncelleme olarak önermiyor. Örneğin v2.1.280 → 2.1.278 daha önce güncelleme olarak gösterilebiliyordu. Yalnızca build metadata açısından farklı olan sürümler — örneğin 1.36.4+k3s1 ve 1.36.4+k3s2 — artık eşit kabul ediliyor.
  • mise run --no-cache ve mise tasks run --no-cache, uzak git:: görev include'larını yeniden klonluyor ve bağımlılık olarak çalışan uzak görevleri tekrar indiriyor. Önceden her iki komut da önbelleğe alınmış kopyayı kullanıyordu.
  • mise run --no-timings, artık yalnızca toplam süreyi değil her görevin "Finished in …" satırını da gizliyor. Ayrıca MISE_TASK_TIMINGS=1 ayarını geçersiz kılıyor. Bu davranış v2025.11.2 sürümünde bozulmuştu.
  • rust = "nightly" kullanıldığında cargo +nightly yeniden çalışıyor. mise, 2026.8.6'dan beri tarih sabitlenmiş nightly sürümleri kurduğu için rustup içinde nightly adlı toolchain bulunmuyordu. rustup'ın otomatik kurulum ayarına bağlı olarak cargo +nightly ya hata veriyor ya da ikinci ve sabitlenmemiş bir nightly indiriyordu. mise artık sabitlenmiş nightly sürümünden nightly-<host> toolchain'ini de reflink veya hardlink kullanarak oluşturuyor. Daha yeni olan veya ek bileşen/target içeren bir rustup nightly kurulumu değiştirilmez. nightly-2026-08-13 gibi açıkça tarih belirtilmiş istekler de bundan etkilenmez. Mevcut kurulumlar bunu bir sonraki nightly kurulumunda veya mise install -f rust çalıştırıldığında alır.
  • Zaten izlenmekte olan bir yol üzerinde mise dot track tekrar çalıştırıldığında artık "already tracked" bildirimi gösteriliyor. Komut yeniden soru sormuyor, yapılandırmayı tekrar yazmıyor ve boş checkpoint oluşturmuyor. Dosya içeriği değişmişse veya --no-autosave gibi bildirimi değiştiren parametreler kullanılmışsa değişiklikler yine kaydediliyor.
  • Uzak önbellekten yapılan blob-pack indirmeleri artık geçici stream hatalarında yeniden deneniyor. Tekil blob indirmelerinde zaten aynı davranış vardı.

Güvenlik​

  • SLSA provenance, beklenen imzalayıcıdan gelmek zorunda. Önceden ilgisiz bir workflow'dan gelen herhangi bir geçerli Sigstore imzası SLSA doğrulamasından geçebiliyordu. mise artık sertifikadaki URI kimliğini ve OIDC sağlayıcısını araç için yapılandırılmış değerlerle karşılaştırıyor:
    • aqua registry girdileri: slsa_provenance altındaki signer_identity ve signer_issuer
    • github: araçları: slsa_signer_identity ve slsa_signer_issuer seçenekleri (slsa_signer_identity, {{version}} şablonlamasını destekler)
    • vfox eklentileri: PreInstall tarafından döndürülen slsa_signer_identity ve slsa_signer_issuer
      Bir araçta iki değer de tanımlı değilse mise SLSA kontrolünü atlar ve kullanılabilir diğer doğrulama yöntemlerini kullanır. Şimdilik bu durum, SLSA meta verisine sahip ancak imzalayıcı alanları bulunmayan paketlenmiş aqua paketleri için geçerlidir. SLSA lock girdileri, checksum mevcut olsa bile her kurulumda yeniden kontrol edilir.
  • Aqua ve vfox doğrulamasında kullanılan public-key DSSE paketleri artık indirilen artifact ile eşleşen SHA-256 subject digest değerine sahip olmak zorunda. Önceden geçerli bir paket farklı bir indirmeyi doğrulamak için yeniden kullanılabiliyordu.

Performans​

  • rust, başka araçlarla birlikte yapılandırıldığında shim'ler artık rustup kontrollerini çalıştırmıyor. Otomatik kurulum devre dışıyken mise exec için de aynı durum geçerli. Bir ölçümde, yapılandırmada rust varken go shim'inin yaklaşık 31 ms, rust olmadan ise 12 ms sürdüğü bildirildi. mise install ve otomatik kurulum açıkken kullanılan mise exec, eksik rustup bileşenlerini algılamaya ve onarmaya devam ediyor.
  • Yapılandırma yükleme ve fuzzy sürüm çözümleme — örneğin node = "24" — artık daha az işlem yapıyor. Eklenti kısayolları her registry aracının backend'ini kontrol etmeden oluşturuluyor, global yapılandırma kontrolleri her araç için symlink çözümlemeyi bırakıyor ve fuzzy eşleştirme artık regex derlemiyor.

Dokümantasyon​

  • Görev dokümantasyonu artık doğru varsayılan iş sayısını gösteriyor: 8. Varsayılan çıktı modu da doğru şekilde açıklanıyor: görevler paralel çalıştığında prefix, sıralı çalıştığında interleave.

Uyumluluğu Bozan Değişiklikler​

  • Lockfile revizyon 3. Yeni ve boş mise.lock dosyaları artık lockfile_version = 3 olarak yazılıyor ve eski mise sürümleri bunları reddediyor. Mevcut lockfile'lar mise tarafından yazıldığında mevcut revizyonlarını koruyor. Revizyon 2 lockfile'a packslip depo kimlikleri eklenmesi gerektiğinde mise uyarı gösteriyor ve bunları dosyaya yazmıyor. Kaydetmek için lockfile'ı paylaşan herkes bu sürüme geçtikten sonra bir kez mise lock --upgrade çalıştırın.
  • Kilitlenmiş araçlarda SLSA kontrolleri. SLSA gerektiren bir lockfile girdisi, araç için beklenen imzalayıcı tanımlı değilse artık açıklayıcı bir hata ile başarısız oluyor. Çözmek için imzalayıcıyı yapılandırın veya girdiyi mise lock ile yenileyin.
  • Makineler arasında paylaşılan dotfiles geçmişi. Eski mise sürümleri allow_plaintext içeren enrollment meta verilerini okuyamaz. --allow-plaintext kullanmadan önce geçmişi paylaşan tüm makineleri bu sürüme yükseltin.