rez v3.4.0 Release Notes
Release Date: 2026-05-31 // 15 days ago-
🚀 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 impactingrez-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
- ➕ Add type annotations. #1761 (@chadrik)
- Add setting called
debug_shell_startup#2059 (@JeanChristopheMorinPerso) - ➕ Add
-c/--commandflag to rez-interpret #2100 (@hundreds-of-bears-dev) - ➕ Add support for
--variant -1style syntax to rez-build #2103 (@sanikache) - ➕ Add
ephemeralsto the list of objects available in late functions #2117 (@cfxegbert)
🛠 Fixes
- 🛠 Fix race conditions caused by AppleDouble files when removing a directory tree #1716 (@cfxegbert)
- Apply correct schema on build_requires and private_build_requires to avoid crashes in rez-search #2004 (@czerouni)
- 🛠 Fix shell auto-completion #2091 (@JeanChristopheMorinPerso)
- 🛠 Fix SyntaxWarning from vendored memcached #2105 (@maxnbk)
- 👌 Improve AMQP Context Tracking connection error handling #2106 (@sanikache)
- 🛠 fix: windows case sensitivity in pkg cache variants uri #2107 (@maxnbk)
- 🛠 fix: windows core count from powershell #2108 (@maxnbk)
- 🛠 Fix PowerShell command failure status #2109 (@snoopuppy582)
- 🛠 Fix for zsh-specific env loading behavior #2111 (@derrickauyoung)
🔒 Security
- 🛠 Fix shell injection in rez-build process #1979 (@JeanChristopheMorinPerso)
- 🚀 Create attestations for our released artifacts #2099 (@JeanChristopheMorinPerso)
📚 Documentation
- 🛠 Fix typos and improve docs #2060 (@czerouni)
- 🛠 Fix sphinx warnings #2062 (@JeanChristopheMorinPerso)
- 📄 docs: fix spelling in documentation #2118 (@cfxegbert)
Previous changes from v3.3.0
-
🚀 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-testcommand #1870 (@Ni-g-3l) - ➕ Add ability to change the
executable_fullpathsetting for the gitbash shell plugin #1938 (@vanridal) - 🌲 Use
$REZ_LOGGING_CONFin 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_installto handle forward slash paths under windows #1899 (@michalfratczak) - 🛠 Fix race condition in
FileSystemPackageRepositorydirectory creation, modernize usage ofos.makedirs#1913 (@nrusch) - PowerShell: Fix assumption that
$LASTEXITCODEis 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-pipcaused by missing package name normalization #1950 (@JeanChristopheMorinPerso)
📚 Documentation
- ➕ Add security policy #1883 (@maxnbk)
- ➕ Add warning about rez bind to docs #1922 (@instinct-vfx)
- 📄 Mention
.rezconfig.pyin docs #1981 (@JeanChristopheMorinPerso) - 👌 Improved plugins docuemntation #1991 (@Ni-g-3l)
Miscellaneous
- ⬇️ Drop support for Python 3.7 #1950 (@instinct-vfx, @maxnbk)
- 🔌 Run code coverage on rezplugins folder #1975 (@BryceGattis)
- ⚡️ Update vendored dependencies part 1 #1944 (@maxnbk)
- ⚡️ Update vendored dependencies part 2 #2022 (@maxnbk)
- ➕ Add wildcard support on