rez v3.4.0 Release Notes

Release Date: 2026-05-31 // 15 days ago
  • Source | Diff

    🚀 This release is a relatively big one. The main change is the addition of type hints to the codebase! This has been
    🚀 one of our most requested features for a while now and we are happy to finally be able to release it. A huge
    thank you to @chadrik for making this possible. Note that there are still a lot of gaps to fill and
    the types are not as accurate as we would like. Making them accurate will require changes to the public API,
    which needs to be planned, carefully implemented and communicated.

    🛠 We also fixed a regression introduced in 3.3.0 that caused auto-complete to stop working.
    ⚡️ This was caused by the update of one of our vendored dependencies. It was unfortunately
    ✅ not caught by our tests because we were simply not testing that part of the code base.
    ✅ To prevent future regressions, we have added tests that cover everything we could realistically
    cover.

    ➕ Additionally, for the first time in rez's history, we have fixed a low-severity security vulnerability
    🏗 that was impacting rez-build. See #1979 for
    ➕ additional details. Considering that rez is used behind firewalls and that there is no standard way to share
    📦 package definitions, we don't think that anyone was impacted by it from
    🔒 a security perspective. Some might classify this as a classic bug rather than a vulnerability.

    🛠 The other changes are mostly quality of life fixes and enhancements.

    Thank you to all our contributors!

    🔋 Features

    🛠 Fixes

    🔒 Security

    📚 Documentation


Previous changes from v3.3.0

  • Source | Diff

    🚀 This release is a minor update that includes several bug fixes and improvements. The main highlights are support for
    📚 python 3.12 and 3.13 (finally), a new way to register plugins using python entry points, new settings to control the package payload caching disk usage, and an improved plugins documentation. It also contains a lot of various bug fixes that should benifit a lot of users.

    🚀 Note that this release also drops support for Python 3.7. We are aware that this might affect some users, but we believe that the benefits of dropping Python 3.7 outweigh the potential drawbacks. Maintaining support for 3.7 was becoming impossible as the ecosystem is moving forward with future versions and leaving behind older versions.

    🔋 Features

    • ➕ Add wildcard support on rez-test command #1870 (@Ni-g-3l)
    • ➕ Add ability to change the executable_fullpath setting for the gitbash shell plugin #1938 (@vanridal)
    • 🌲 Use $REZ_LOGGING_CONF in package payload cache daemon to allow configuring the logger via environment variable #1969 (@BryceGattis)
    • 👍 Allow registring plugins using entry points #1991 (@Ni-g-3l)
    • ➕ Add new settings to control the package payload caching disk usage #2023 (@sanikache)
    • ➕ Add support for Python 3.12 and 3.13 and drop support for 3.7 #1950 (@instinct-vfx, @maxnbk)

    🛠 Fixes

    • Fix rez.system.is_production_rez_install to handle forward slash paths under windows #1899 (@michalfratczak)
    • 🛠 Fix race condition in FileSystemPackageRepository directory creation, modernize usage of os.makedirs #1913 (@nrusch)
    • PowerShell: Fix assumption that $LASTEXITCODE is always defined #1962 (@nrusch)
    • 👌 Improve package repository case insensitive error handling #1974 (@BryceGattis)
    • 🛠 Fix type of PackageOrderList in ResolvedContext.from_dict #1985 (@vanridal)
    • 🛠 Fix calling rez-test with empty test name to run all tests #1988 (@Ni-g-3l)
    • 🛠 Fix an AttributeError in rez-pip caused by missing package name normalization #1950 (@JeanChristopheMorinPerso)

    📚 Documentation

    Miscellaneous