Skip to content

Latest commit

 

History

History
2814 lines (1662 loc) · 137 KB

CHANGELOG.md

File metadata and controls

2814 lines (1662 loc) · 137 KB

Change log

v3.2.1 (2024-10-27)

Source | Diff

Fixes

  • Fix key error on getting the "testing" key on older contexts #1863 (JeanChristopheMorinPerso)

    This will fix issues where contexts created from rez less than 3.2.0 would fail to be loaded in 3.2+.

v3.2.0 (2024-10-20)

Source | Diff

This release introduces a long awaited and requested feature: the ability to synchronously cache package payloads. This behaviour can be controlled centrally using the new package_cache_async setting in your rezconfig files. The default value is True, which means that as before, caches will be synced asynchrously. rez-env also gained a new --pkg-cache-mode to control the caching behaviour on a per case basis.

Other note worthy additions are the new testing object that can be used to test if rez-test is currently running from withing commands functions and early bound functions. Additionally, a new setting default_build_process was added to set the default build process to be used by rez-build.

Thanks to everybody who contributed and made all these features, bugfixes and improvements possible!

Features

Fixes

Documentation

  • Add adopters list #1720 (maxnbk)
  • Various updates to contributing.md for support, legal, versioning #1721 (maxnbk)
  • Various updates to release.md for release cadence and versioning used #1722 (maxnbk)
  • Add package orderers documentation #1737 (BryceGattis)

Miscellaneous

Deprecated

  • The rez.package_cache.PackageCache.add_variants_async method. Use the add_variants method instead.

v3.1.1 (2024-04-14)

Source | Diff

Fixes

  • Add symlink locking for filesystems that do not support hardlinks #1708 (cfxegbert)
  • Fix error caused by weakly referenced package not specifying version ▒ #1712 (loonghao)

Documentation

Miscellaneous

v3.1.0 (2024-03-30)

Source | Diff

Features

Fixes

Documentation

Miscellaneous

v3.0.0 (2024-02-08)

Source | Diff

This release marks a big turning point for rez by completely dropping support for Python 2. In 2.114.0, it was still possible to install rez with Python 2 using pip. This functionality has now been removed. As of now, rez will support Python 3.7+. As of now, we test against 3.7, 3.8, 3.9, 3.10 and 3.11.

This was a tough decision to make considering that we still have users relying on Python 2, but it was becoming more and more complicated and time-consuming to maintain support for Python 2.

Thank you to everyone who's put a lot of effort into supporting Python 2 for that long. Without you, it wouldn't have been possible.

As part of the effort to remove support for Python 2, we also refreshed our CI a bit:

  • The GitHub Action workflows are now simplified and unified. We now have one workflow to run all tests for all platforms instead of four.
  • We also got rid of the Windows containers. With these changes, our Windows tests are now as fast as Linux and macOS tests, it's easier to see test results and we can also more easily test all support python versions.
  • Running the tests directly on the GH hosted runners instead of containers, we discovered some big flaws in how our tests were set up. These issues are now fixed and our tests are now much more portable and don't rely on a centrally installed Python or PATHEXT to be set. Big thanks to @Dennis-Lehmann and @MrLixm for helping us with debugging our Window tests!

The CI refresh is not user-facing, but it took us a significant amount of effort and time to do and we hope that it will help increase the quality of rez and make for a better contributor experience. This is why we mention these in the release notes.

Features

  • It is now possible to configure the execution policy used when starting PowerShell (and pwsh) shells by setting the execution_policy setting in the shell's config file. This should hopefully help to smooth the transition from the cmd shell to powershell/pwsh.#1505 (@herronelou)
  • Built-in bind modules can now be overridden by adding your custom implementations to bind_module_path. #1557 (@Pantsworth)

Fixes

  • Fix infinite loop in the dot graph generation when --fail-graph is used and there are indirect cycles. #1620 (@Pantsworth)

Removed

As communicated in the 2.114.0 release notes, we've followed through on the removal of certain things.

  • Python 2: It is now impossible to install and use rez with Python 2.

  • Modules

    • rez.vendor.version: Use rez.version instead.
    • rez.build_process_: Use rez.build_process instead.
    • rez.package_maker__: Use rez.package_maker instead.
    • rez.package_resources_: Use rez.package_resources instead.
    • rez.packages_: Use rez.packages instead.
  • Configuration settings

    • rxt_as_yaml: No replacement.
    • warn_commands2: No replacement. This was a no-op.
    • error_commands2: No replacement. This was a no-op.
    • rez_1_cmake_variables: You can use the REZ_BUILD_TYPE CMake variable instead of CENTRAL.
  • CLI

    • rez-pip: The --pip-version is removed.
    • rez-search: The --sort is removed.
  • API

    • The isolate keyword argument of the rez.rex.RexExecutor.execute_code method is now officially removed. Instead of executor.execute_code(..., isolate=True), use
      with executor.reset_globals():
          executor.execute_code(...)
  • Build system:

    • CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT and _ECLIPSE_VERSION were removed from the list of default variables passed to CMake. #1623 (@JeanChristopheMorinPerso)
    • rez will no longer print a custom error message if no build system is detected or set and an old "bez" rezbuild.py is detected. #1624 (@JeanChristopheMorinPerso)

Changed

Change of default values as announced in 2.114.0:

  • rez_1_environment_variables: Now disabled by default.
  • disable_rez_1_compatibility: Now enabled by default.

New unannounced changes:

  • The default shell on Windows is now PowerShell unless you configure default_shell to a different value. The previous default was cmd and was causing a lot of problems.

Docs

The effort to improve and add content to our docs continues.

  • New documentation dedicated to caching. This is only the beginning and only contains information on package payload caching and memcached. We hope to add more content in the future. #1615 (@brycegbrazen)
  • The note about SemVer in the docs has been clarified. While we encourage SemVer like versioning, rez doesn't know what SemVer is. This has been a source of confusion in the past. #1614 (@brycegbrazen)

v2.114.1 (2023-12-09)

Source | Diff

Merged pull requests:

v2.114.0 (2023-11-23)

Source | Diff

Probably the last release before 3.0.0

Rez installations now only support Python 3.7+. It is important to note that the API can still be used with Python 2.7+ but this will be dropped in 3.0.0

Features

  • New environment variable REZ_LOG_DEPRECATION_WARNINGS that will force all deprecation warnings to be printed, ignoring PYTHONWARNINGS and custom warning filters. Note that enabling this will forcefully load every configuration file instead of loading them lazilly.

  • This PR adds a new config variable called error_on_missing_variant_requires that controls what happens when a variant lists missing packages in its requirements.

    By default, it is True and will continue the existing behaviour of erroring when it encounters a variant with missing packages in its list of requirements. This means that if the first variant encounters a missing package in its request, it will not continue even if the second variant can resolve.

    If it is disabled, it will print to stderr, treat the current phase as failed and continue on to the next phase. If all variants fail, it will be the same as if no variants could resolve.

    This feature was added by dgovil in #1550.

Deprecations

We decided to deprecated some things that have been "deprecated" for a while but were never officially marked as deprecated. We have prepared a guide to help you navigate these deprecations.

What follows is everything that is marked as deprecated with information on when removal will happen or when defaults will change.

  • Configuration settings:
  • Modules:
    • rez.vendor.version. Use rez.version instead. Will be removed in 3.0.0.
    • rez.packages_maker__. Use rez.packages_maker instead. Will be removed in 3.0.0.
    • rez.package_resources_. Use rez.package_resources instead. Will be removed in 3.0.0.
    • rez.packages_. Use rez.packages instead. Will be removed in 3.0.0.
  • CLI:
    • rez-pip: The --pip-version argument is deprecated. Will be removed in 3.0.0.
    • rez-search: The --sort argument is deprecated and has been a no-op for a while now. Will be removed in 3.0.0.
  • API:
    • The isolate keyword argument of the rez.rex.RexExecutor.execute_code method is now officially deprecated and will be removed in 3.0.0. Instead of executor.execute_code(..., isolate=True), use
      with executor.reset_globals():
          executor.execute_code(...)
  • Python: rez 3.0.0 will completely drop support for installing and using the rez API with Python 2.

Change of default values due to deprecations

Some default values have changed:

Some default values will change in 3.0.0:

v2.113.0 (2023-09-11)

Source | Diff

Notes

Numerous maintenance updates to CI, TSC notes, docs, ownership, badges, and licensing not featured below.

Expect #1469 to merge in 2.114.0, which will drop the ability to install rez with versions of python below 3.7.

Merged pull requests:

  • powershell: fix prepend for new variables and fix unsetenv for non-existing variables #1477 (maxnbk)
  • @include: Only include modules from the current package #1485 (SitiSchu)
  • Colorize: Granularly wrap each given stream with Colorama #1506 (herronelou)
  • Fix 'gbk' codec can't encode character '\u200b' when resolve context #1508 (loonghao)
  • Allow user to pass extra arguments to underlying rez test command (REP-001 part 3). #1523 (bhawkyard1)
  • Filter out empty extensions when parsing PATHEXT on Windows #1528 (herronelou)

v2.112.0 (2022-11-15)

Source | Diff

Notes

First Official AcademySoftwareFoundation rez release!

Merged pull requests:

  • Fix 1255-possible-regression-appendenv-in-powershell-fails-if-env-variable-does-not-exist-already #1285 (instinct-vfx)
  • fix: add platform/arch to variant for rez-pip packages with entry point scripts #1287 (bpabel)
  • working with embedded python scanning rezplugins #1359 (loonghao)
  • Replace nerdvegas with aswf #1368 (maxnbk)
  • fix asserts causing flake8 linter failures #1369 (maxnbk)
  • Edit rezconfig docstrings for package_filter to reflect python form rather than YAML #1377 (herronelou)
  • Add REZ_USED_LOCAL_RESOLVE context environment variable #1378 (JoshkVFX)
  • Document .ignore pkg repo functionality #1385 (jasoncscott)
  • Clarify when the commands block is executed during rez-build #1391 (jasoncscott)

v2.111.3 (2022-08-02)

Source | Diff

Merged pull requests:

Closed issues:

  • benchmarking CI fails to push changes, does not error #1328

v2.111.2 (2022-06-22)

Source | Diff

Merged pull requests:

v2.111.1 (2022-06-14)

Source | Diff

Merged pull requests:

Closed issues:

  • Fix regression in benchmark CI #1323

v2.111.0 (2022-06-14)

Source | Diff

Merged pull requests:

Closed issues:

  • rez executables aren't removed in windows install #1258
  • use github actions bot for commits #1318

v2.110.0 (2022-05-28)

Source | Diff

Merged pull requests:

v2.109.0 (2022-04-19)

Source | Diff

Merged pull requests:

Closed issues:

  • add git-bash shell plugin #1256

v2.108.0 (2022-04-19)

Source | Diff

Notes

This release adds path normalization to shells. Usually we use POSIX-style paths in package commands (eg env.PATH.append('{root}/bin'). In previous rez versions, this path was left unchanged, leading to odd paths on Windows like C:\svr\packages\foo\1.2.3/bin. This hasn't been a problem however, since Windows is tolerant of a mix of forward and back slashes. Now though, you should see paths on Windows set correctly, ie C:\svr\packages\foo\1.2.3\bin.

Please be aware of this change in behavior in case it affects you.

Merged pull requests:

Closed issues:

  • formalize paths in package commands #1269

v2.107.0 (2022-04-07)

Source | Diff

Merged pull requests:

  • Feature/1271 improve shell parameterization in tests #1272 (nerdvegas)

Closed issues:

  • improve shell parameterization in tests #1271

v2.106.0 (2022-03-23)

Source | Diff

Merged pull requests:

Closed issues:

  • add ability to delete package family #1248

v2.105.0 (2022-03-19)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-test breaks with packages that do not have a timestamp attribute #1237

v2.104.10 (2022-03-19)

Source | Diff

Merged pull requests:

  • fix: make cmake install directives whitespace friendly #1244 (maxnbk)

Closed issues:

  • rez_install_files with LOCAL_SYMLINK fails when an input file has whitespaces in its name #553

v2.104.9 (2022-03-01)

Source | Diff

Merged pull requests:

Closed issues:

  • Switch get_syspaths from REG to Get-ItemProperty in Powershell shell plugins #1196

v2.104.8 (2022-03-01)

Source | Diff

Merged pull requests:

Closed issues:

  • Typo on install message #1186

v2.104.7 (2022-02-16)

Source | Diff

Merged pull requests:

Closed issues:

  • fix wiki regression in v2.104.6 #1219

v2.104.6 (2022-02-16)

Source | Diff

Merged pull requests:

Closed issues:

  • add workflow to enforce copyright #1214

v2.104.5 (2022-02-15)

Source | Diff

Merged pull requests:

Closed issues:

  • replace copyrights with SPDX form #1201

v2.104.4 (2022-02-12)

Source | Diff

Merged pull requests:

v2.104.3 (2022-02-12)

Source | Diff

Merged pull requests:

Closed issues:

v2.104.2 (2022-02-12)

Source | Diff

Merged pull requests:

Closed issues:

  • remove GPL3 code from update-wiki.py #1206

v2.104.1 (2022-02-08)

Source | Diff

Merged pull requests:

Closed issues:

  • Aliases broken on windows when using powershell #1191

v2.104.0 (2022-02-08)

Source | Diff

Merged pull requests:

Closed issues:

  • windows gh actions issue #1181

v2.103.4 (2021-12-17)

Source | Diff

Merged pull requests:

Closed issues:

  • Whichcraft not caring about executable symlinks on windows that do not have the extension of an executable #1178

v2.103.3 (2021-12-17)

Source | Diff

Merged pull requests:

v2.103.2 (2021-12-15)

Source | Diff

Merged pull requests:

  • Uses Set-Item rather than $Env: to configure powershell environment variables. #1176 (hutchinson)

Closed issues:

  • Environment variables containing brackets break powershell shell #1175

v2.103.1 (2021-12-10)

Source | Diff

Merged pull requests:

  • fix pwsh shell not exiting with correct error code #1174 (nerdvegas)

Closed issues:

  • Build passes when build_command fails while using powershell as default_shell on windows #1099

v2.103.0 (2021-12-10)

Source | Diff

Merged pull requests:

  • fix 'NoneType' object has no attribute 'conflicts_with' #1173 (nerdvegas)

Closed issues:

  • AttributeError: 'NoneType' object has no attribute 'conflicts_with' when rez-env a package #1150

v2.102.1 (2021-12-10)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip error with inconsistency between underscores and dashes #1159

v2.102.0 (2021-12-10)

Source | Diff

Merged pull requests:

  • Update sortedcontainers for Python 3.10 compatibility #1169 (stilllman)

Closed issues:

  • Incompatibility with Python 3.10 #1168

v2.101.0 (2021-12-09)

Source | Diff

Merged pull requests:

v2.100.2 (2021-12-08)

Source | Diff

Merged pull requests:

Closed issues:

  • fix 4 sonarcloud-flagged bugs #1166

v2.100.1 (2021-12-08)

Source | Diff

Merged pull requests:

Closed issues:

  • (sonarcloud) vulnerability #1164

v2.100.0 (2021-11-20)

Source | Diff

Notes

IMPORTANT - This release changes the license from LGPL-3.0 to Apache-2.0. More: https://www.apache.org/licenses/LICENSE-2.0

Merged pull requests:

Closed issues:

  • Rez License Change: LGPLv3 to Apache2.0 #1119

v2.98.3 (2021-11-19)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip not working ? #904
  • NoneType Error When Using rez pip on Windows #1024

v2.98.2 (2021-11-19)

Source | Diff

Added unmodified whichcraft vendored lib. See:

v2.98.1 (2021-11-19)

Source | Diff

Merged pull requests:

v2.98.0 (2021-11-02)

Source | Diff

Merged pull requests:

Closed issues:

  • Pika could not take port from context_tracking_host #1144
  • name amqp connection #1148

v2.97.0 (2021-10-19)

Source | Diff

Merged pull requests:

v2.96.0 (2021-10-19)

Source | Diff

Merged pull requests:

v2.95.3 (2021-10-12)

Source | Diff

Merged pull requests:

  • fix regression in v2.94.0 wrt windows string escape on rxt command #1139 (nerdvegas)

Closed issues:

  • (double-dash) removes double quotes on Windows #1133

v2.95.2 (2021-10-12)

Source | Diff

Merged pull requests:

Closed issues:

  • Rez pip fails to execute in Windows after 2.94.0 #1120

v2.95.1 (2021-10-12)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-env output test is not testing on specified shell #1135

v2.95.0 (2021-09-21)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip installs dist-info dir to root, causes probs with some pkgs #892

v2.94.0 (2021-08-17)

Source | Diff

Merged pull requests:

Closed issues:

  • bug in command quoting #1114

v2.93.3 (2021-08-05)

Source | Diff

Merged pull requests:

Closed issues:

  • failed tests in pytest-enabled rez-selftest are not getting picked up #1117

v2.93.2 (2021-08-03)

Source | Diff

Merged pull requests:

  • Prevent alias (windows function) to store all arguments in one string instead of an array of strings #1101 (aguiot)

v2.93.1 (2021-08-03)

Source | Diff

Merged pull requests:

  • handling archived lib when scanning rezplugins (fix #1108) #1109 (davidlatwe)

Closed issues:

  • PluginManager.rezplugins_module_paths breaks with zipped Python #1108

v2.93.0 (2021-07-13)

Source | Diff

Merged pull requests:

v2.92.0 (2021-07-13)

Source | Diff

Merged pull requests:

Closed issues:

  • Deprecate rez-pip -s flag because pip-search is disabled and will likely not return #1104

v2.91.0 (2021-06-16)

Source | Diff

Merged pull requests:

  • added env-var to disable cofig reads from ~/.rezconfig.py #1098 (nerdvegas)

Closed issues:

  • config selftest can fail #1097

v2.90.3 (2021-06-16)

Source | Diff

Merged pull requests:

Closed issues:

  • regression: rez-test Could not resolve to variant #1095

v2.90.2 (2021-06-16)

Source | Diff

Merged pull requests:

  • Allow trailing comma in Legacy Metadata #1092 (bfloch)

v2.90.1 (2021-06-08)

Source | Diff

Merged pull requests:

  • Avoid hidden folder/files as it introduces problems on certain fileystems #1088 (bfloch)

v2.90.0 (2021-06-08)

Source | Diff

Merged pull requests:

v2.89.1 (2021-06-02)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-rm --ignored-since faulty in combo with memcached enabled #1089

v2.89.0 (2021-06-01)

Source | Diff

Merged pull requests:

v2.88.4 (2021-06-01)

Source | Diff

Merged pull requests:

Closed issues:

  • fail-graph not showing true root of the conflict #865

v2.88.3 (2021-06-01)

Source | Diff

Merged pull requests:

  • Refactor: Split add_standard_build_actions introducing add_pre_build_commands #1077 (Tilix4)

Closed issues:

  • include could not find load file: RezBuild error on Windows #974

v2.88.2 (2021-05-20)

Source | Diff

Merged pull requests:

  • added rez_version to context tracking amqp message #1079 (nerdvegas)

v2.88.1 (2021-05-18)

Source | Diff

Merged pull requests:

Closed issues:

  • windows package cache root switch does only work with "{root}" not this.root #1065

v2.88.0 (2021-05-13)

Source | Diff

Notes

This is currently implemented for linux only.

Closed issues:

  • fix linking within bundles #1072

v2.87.0 (2021-05-11)

Source | Diff

Merged pull requests:

Closed issues:

  • add post-context rex file in bundles #1071

v2.86.1 (2021-05-04)

Source | Diff

Merged pull requests:

v2.86.0 (2021-05-04)

Source | Diff

Merged pull requests:

v2.85.0 (2021-05-04)

Source | Diff

Merged pull requests:

v2.84.0 (2021-04-16)

Source | Diff

Notes

New tool: rez-rm.

Merged pull requests:

Closed issues:

  • add package removal #1062

v2.83.0 (2021-04-14)

Source | Diff

Notes

New tool: rez-mv.

Merged pull requests:

Closed issues:

  • add pkg move feature #1059

v2.82.0 (2021-04-08)

Source | Diff

Notes

New tool: rez-pkg-ignore.

Merged pull requests:

Closed issues:

  • make package ignore a formal api/tool #1052

v2.81.2 (2021-04-08)

Source | Diff

Closed issues:

  • install related regression in v2.80.0 #1057

v2.81.1 (2021-04-08)

Source | Diff

Notes

CMake no longer uses the -d arg to specify the directory in which to find CMakeLists.txt. This appears to be incompatible with newer cmake versions, but (happily) dropping it in older versions also appears compatible.

Merged pull requests:

Closed issues:

  • problem with alias in powershell #1017
  • tests failing suddenly #1055

v2.81.0 (2021-04-01)

Source | Diff

Merged pull requests:

v2.80.0 (2021-03-30)

Source | Diff

Merged pull requests:

v2.79.1 (2021-03-30)

Source | Diff

Merged pull requests:

  • Fix sorting of rules with and without family (closes #1037) #1038 (jasperges)

Closed issues:

  • An exception is raised when combining filters with - and without -. #1037

v2.79.0 (2021-03-30)

Source | Diff

Merged pull requests:

v2.78.1 (2021-03-30)

Source | Diff

Merged pull requests:

v2.78.0 (2021-03-27)

Source | Diff

Merged pull requests:

Closed issues:

  • automatically run benchmarking #1044

v2.77.1 (2021-03-16)

Source | Diff

Merged pull requests:

v2.77.0 (2021-03-09)

Source | Diff

Merged pull requests:

  • Adds more variables to the custom build system. #1013 (bfloch)

v2.76.0 (2021-03-09)

Source | Diff

Merged pull requests:

v2.75.1 (2021-03-09)

Source | Diff

Merged pull requests:

Closed issues:

  • Issues with system.System.is_production_rez_install method on Windows. #1005

v2.75.0 (2021-03-03)

Source | Diff

Notes

  • Workflow added to perform pypi publish on release
  • Wiki workflow updated to publish only on release
  • Note that version skip (2.73.0 -> 2.75.0) due to workflow testing on github

Merged pull requests:

Closed issues:

  • Pypi entries are out of date #1032

v2.73.0 (2021-03-02)

Source | Diff

Merged pull requests:

Closed issues:

  • bundled contexts ("bundles") #1009

v2.72.5 (2021-03-02)

Source | Diff

Merged pull requests:

v2.72.4 (2021-03-02)

Source | Diff

Merged pull requests:

v2.72.3 (2021-02-23)

Source | Diff

Merged pull requests:

  • Fix tab-completion behavior for rez deployments installed with python3 #1021 (zachlewis)

Closed issues:

  • Tab completion broken for rez deployments installed with Python-3.6 #1020

v2.72.2 (2021-02-23)

Source | Diff

Merged pull requests:

v2.72.1 (2021-02-23)

Source | Diff

Merged pull requests:

v2.72.0 (2021-01-12)

Source | Diff

Notes

This release uses python-3's native venv module to perform the rez installation, for python-3.7 and above. For earlier python versions, an embedded copy of virtualenv was used, but this ceases to work correctly in python-3.9.

Merged pull requests:

Closed issues:

  • Installation With Python >=3.9 Fails ('HTMLParser' object has no attribute 'unescape') #980
  • have install.py use venv in python3 #982

v2.71.0 (2020-12-29)

Source | Diff

Notes

Ephemeral packages are a major new feature. These enable dependencies on abstract objects or machine capabilities (for example), and also act as a way to pass 'options' to packages that can alter their behaviour. These will also form the basis for package features, an upcoming feature that will allow packages to depend on features of other packages, rather than just their version number.

Merged pull requests:

v2.70.5 (2020-12-29)

Source | Diff

Merged pull requests:

  • Fix module 'Qt.QtWidgets' has no attribute'QPainter' #992 (loonghao)

v2.70.4 (2020-12-29)

Source | Diff

Merged pull requests:

  • update open_file_for_write with simplified error handling #998 (nerdvegas)

Closed issues:

  • 'rez build --install --prefix' error #858

v2.70.3 (2020-12-29)

Source | Diff

Merged pull requests:

  • Fix no CLI args passed into forward script on Windows #990 (davidlatwe)

v2.70.2 (2020-12-29)

Source | Diff

Merged pull requests:

  • fix: exit file write retry loop after successfull write #989 (bpabel)

v2.70.1 (2020-12-29)

Source | Diff

Merged pull requests:

v2.70.0 (2020-12-29)

Source | Diff

Backwards Compatibility Issues

This release removes the bez build system. This was a very simple build system that does nothing more than call a function in rezbuild.py, passing it some build attributes (such as installation path). It has been removed because you can achieve the same thing using a custom build command, and you can retrieve the build attributes from environment variables instead.

If you attempt to build a package that was previously using bez (ie, the rezbuild.py script is still there, and build_command is not specified in your package.py) then the resulting error message shows you what you need to do to port your existing build script.

Merged pull requests:

v2.69.7 (2020-12-22)

Source | Diff

Merged pull requests:

Closed issues:

  • wiki workflow broken #994

v2.69.6 (2020-11-24)

Source | Diff

Merged pull requests:

  • avoid using fileConfig to init logging, as it overwrites root logger #978 (nerdvegas)

Closed issues:

  • rez overwrites root logger #977

v2.69.5 (2020-11-19)

Source | Diff

Merged pull requests:

v2.69.4 (2020-11-17)

Source | Diff

Merged pull requests:

v2.69.3 (2020-11-17)

Source | Diff

Merged pull requests:

Closed issues:

  • QFileDialog.getSaveFileName and getOpenFileName return tuple not str #962

v2.69.2 (2020-11-17)

Source | Diff

Merged pull requests:

Closed issues:

  • io.UnsupportedOperation when using rez api with pytest #965

v2.69.1 (2020-11-17)

Source | Diff

Merged pull requests:

v2.69.0 (2020-11-17)

Source | Diff

Merged pull requests:

  • Fix forwarding script on Windows (suite supporting) #968 (davidlatwe)

v2.68.5 (2020-10-06)

Source | Diff

Merged pull requests:

  • Handling build/install directory remove error in build process #959 (davidlatwe)

v2.68.4 (2020-10-06)

Source | Diff

Merged pull requests:

Closed issues:

  • Alias can't be used on the same line as rez-env #708

v2.68.3 (2020-09-22)

Source | Diff

Merged pull requests:

v2.68.0 (2020-09-22)

Source | Diff

Backwards Compatibility Issues

Note that this release changes OS detection on linux. The results should be the same, but if they do differ, and you need to retain the same OS name (which you probably will, because you'll have packages that depend on the analogous implicit package), then you can use the platform_map setting.

Merged pull requests:

  • Replace platform.linux_distribution by distro #954 (predat)

Closed issues:

  • rez platform_ broken with python3.8 #883

v2.67.1 (2020-09-11)

Source | Diff

Merged pull requests:

Closed issues:

  • this.root is None in package preprocessor #952

v2.67.0 (2020-08-25)

Source | Diff

Merged pull requests:

Closed issues:

  • don't raise on missing package cache dir #941

v2.66.1 (2020-08-25)

Source | Diff

Merged pull requests:

Closed issues:

  • Installed package not including latest module #934

v2.66.0 (2020-08-11)

Source | Diff

Merged pull requests:

  • [docs] Sphinx API hosted on GitHub Pages #832 (j0yu)

v2.65.0 (2020-08-11)

Source | Diff

Notes

This release cleans up the wiki-based doc generation code, and adds a github workflow to automatically update the wiki.

Merged pull requests:

  • [wiki] Move update utils into main repo #831 (j0yu)

v2.64.0 (2020-08-11)

Source | Diff

Merged pull requests:

Closed issues:

  • add 'delay_load' config primitive #921
  • New spawned shell's PATH is random ordered on Windows #925
  • Packages that contains Unicode character failed on install/release #927

v2.63.0 (2020-08-04)

Source | Diff

Merged pull requests:

  • don't attempt to update pkg cache on failed resolve #916 (nerdvegas)
  • fix pkg cache fail on windows, py<=2.7 #917 (nerdvegas)
  • raise metadata error on bad pkg, rather than build-system-notfound #918 (nerdvegas)
  • default to disable package caching during build #920 (nerdvegas)

Closed issues:

  • rez-packaage-cache issue on conflicting context #905
  • Package caching does not work on windows due to device not being implemented in py2 on Windows #912
  • Miss-leaded error message while building with invalid package metadata #915
  • add ability to disable pkg caching during build #919

v2.62.0 (2020-07-22)

Source | Diff

Merged pull requests:

  • Allow configuration of filesystem lock mechanism #903 (dbr)
  • make context tracking tolerant of errors #911 (nerdvegas)

Closed issues:

  • SSL crash related to context tracking #910

v2.61.1 (2020-07-10)

Source | Diff

Merged pull requests:

  • fix for rez occasionally installed into lib64 dir #902 (nerdvegas)

Closed issues:

  • occasional missing rez cli in rez-env #901

v2.61.0 (2020-07-10)

Source | Diff

Notes

Package caching feature added, see here.

Merged pull requests:

v2.60.1 (2020-05-23)

Source | Diff

Merged pull requests:

Closed issues:

  • context sourcing broken (ResolvedContext.append_sys_path not serialised) #889

v2.60.0 (2020-05-12)

Source | Diff

Backwards Compatibility Issues

Please note that #887 introduces a subtle change to CLI behaviour. Previously, rez-context --resolve would print a space-separated list of packages, even when piped to another process. Now however, if the output is piped, it will print one package per line. This is an improvement, as it means you can more easily chain rez-context with other utilities such as grep, xargs etc.

Merged pull requests:

v2.59.1 (2020-05-09)

Source | Diff

Merged pull requests:

  • fixed - rez-context -g with prune-package fails #885 (nerdvegas)

Closed issues:

  • rez-context -g with prune-package fails #884

v2.59.0 (2020-04-30)

Source | Diff

Merged pull requests:

  • Fix issue 826 - correct python and pip fallback #878 (j0yu)

Closed issues:

  • rez-pip issues finding pip executable #826

v2.58.1 (2020-04-22)

Source | Diff

Merged pull requests:

  • Fix ISSUE-879: AttributeError: 'Namespace' object has no attribute 'func' #880 (rfletchr)

Closed issues:

  • AttributeError: 'Namespace' object has no attribute 'func' #879

v2.58.0 (2020-04-15)

Source | Diff

Merged pull requests:

Closed issues:

  • add configurability of package orderers #329

v2.57.0 (2020-04-14)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip - Add help / authors attributes #838

v2.56.2 (2020-04-14)

Source | Diff

Merged pull requests:

  • Fix for git rev-parse error out before checking for allow_no_upstream #872 (alexxbb)

Closed issues:

  • override git plugin config in package.py #871

v2.56.1 (2020-03-31)

Source | Diff

Merged pull requests:

v2.56.0 (2020-03-31)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip - no case for ../../include/... file #861

v2.55.0 (2020-03-21)

Source | Diff

Merged pull requests:

Closed issues:

  • tests "on_variants" not working as expected in some cases #841
  • pre_test_commands #843

v2.54.0 (2020-02-20)

Source | Diff

Merged pull requests:

Closed issues:

  • "rez-pip -i ptvsd" produces bad package #821

v2.53.1 (2020-02-12)

Source | Diff

Notes

Misc Python-3 related issues.

Merged pull requests:

  • PR: Fix "StringIO" imports and accesses. #850 (KelSolaar)
  • PR: Use "QtCompat" to handle "QHeaderView" incompatibilities and fix broken "resolve" button in "rez-gui". #851 (KelSolaar)

Closed issues:

  • "ImportError" exception raised while using "rez-gui" in Python 3. #848
  • "AttributeError" exception raised when using "rez-gui" Package Browser with Pyside2 . #849

v2.53.0 (2020-02-04)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-pip creates .pyc files by default #816

v2.52.2 (2020-01-31)

Source | Diff

Merged pull requests:

v2.52.1 (2020-01-21)

Source | Diff

Merged pull requests:

  • added new env vars - REZ_SHELL_INIT_TIMESTAMP, REZ_SHELL_INTERACTIVE #834 (nerdvegas)

Closed issues:

  • add env-var to record shell init time #833

v2.52.0 (2020-01-18)

Source | Diff

Notes

Adds a new pre_build_commands package.py attribute, for adding runtime build configuration.

Merged pull requests:

v2.51.0 (2020-01-18)

Source | Diff

Notes

This release goes a large way to implementing REP-001

Includes:

  • Pre-install/release running of package tests;
  • New rez-test --inplace option;
  • Correct iteration of tests over variants (variant iteration did not previously exist)

Still to do:

  • rez-test --interactive option;
  • rez-test 'development' mode.

Merged pull requests:

v2.50.0 (2019-12-12)

Source | Diff

Merged pull requests:

Closed issues:

  • potential memcached client incompatibility #817
  • Remove hard prevention of colorization on windows #819

v2.49.0 (2019-12-05)

Source | Diff

Merged pull requests:

v2.48.1 (2019-12-05)

Source | Diff

Merged pull requests:

Closed issues:

  • cmd handles empty echo incorrectly #792

v2.48.0 (2019-11-26)

Source | Diff

Merged pull requests:

Closed issues:

  • find_pip_from_context failing on Windows platform #796

v2.47.14 (2019-11-13)

Source | Diff

Notes

Several Windows CI improvements:

  • Base and Py docker images are only rebuilt if necessary;
  • Docker hub no longer requires a login to pull the image (meaning that tests now pass on forked PRs);
  • Rather than checking out the rez github repo in the image entrypoint, the existing checkout (done by the workflow) is bind mounted instead.

With these updates, tests are now passing on all platforms.

Known Issues

If the image is changed, there is a delay in the new image becoming available on docker hub (5-10 mins). If a separate push is made in this time, it can fail, as the Windows test expects to see the new image (which is tagged by commit).

Merged pull requests:

  • Windows docker enhancements #794 (bfloch)
  • Remove the login so that PR work at least for the non-image workflows. #795 (bfloch)
  • Issue 800 windows ci use checkout #801 (nerdvegas)

Closed issues:

  • windows ci: Use Actions checkout #800

v2.47.13 (2019-11-08)

Source | Diff

Notes

This release just makes some minor changes related to the CI tests. As well as the changes in the PR shown below, the following changes were also made:

  • 'Windows Docker' workflow was renamed 'Windows'
  • MacOS version used in workflow was changed from 10.14 to 'latest', as per Github's instructions (which were emailed to me).

Merged pull requests:

  • Updated actions badges in README #786 (j0yu)

Closed issues:

  • Fix README actions badges not showing current master status #785

v2.47.12 (2019-11-06)

Source | Diff

Notes

This release adds a docker-based workflow for the Github Actions Windows test. This was done specifically because Github's available Windows runtimes come with an already long %PATH%. Rez adds to PATH and hits a limit, causing the cmd shell to fail in several tests.

Merged pull requests:

v2.47.11 (2019-11-06)

Source | Diff

Merged pull requests:

  • Fixes some failing tests on windows #775 (willjp)

v2.47.10 (2019-11-06)

Source | Diff

Merged pull requests:

Closed issues:

  • rez-release UnicodeDecodeError (windows) #776
  • Errors in pip installation part go unnoticed by rez install.py #777

v2.47.9 (2019-10-25)

Source | Diff

Merged pull requests:

  • rez.util.ProgressBar checks Bar.__del__ exists before invocation #769 #774 (willjp)

Closed issues:

  • rez-depends -- AttributeError: type object 'Bar' has no attribute 'del' (win, py-3, rez-2.47.7) #769

v2.47.8 (2019-10-24)

Source | Diff

Merged pull requests:

  • Issue 763 prompt leak #767 (nerdvegas)
  • Fixes cmd due to oversight in 9c8334a106de900964e52f1ed8ee4155acdfe142 #770 (bfloch)
  • Skip test_build_cmake on Windows. #772 (bfloch)

Closed issues:

  • cross-shell prompt leakage can cause error #763

v2.47.7 (2019-10-22)

Source | Diff

Notes

Merged pull requests:

Closed issues:

  • rez-pip should assume python provided pip #706
  • rez-pip python 3 error #764

v2.47.6 (2019-10-22)

Source | Diff

Merged pull requests:

Closed issues:

  • ResourceWarning with ResolvedContext.execute_shell (py3) #761

v2.47.5 (2019-10-22)

Source | Diff

Merged pull requests:

  • revert progress iteration and update vendored #766 (maxnbk)

Closed issues:

  • rez-depends -- 'ProgressBar' object is not an iterator (py-3, rez-2.47.4) #765

v2.47.4 (2019-10-11)

Source | Diff

Notes

More Python3 compatibility changes.

Merged pull requests:

v2.47.3 (2019-09-28)

Source | Diff

Notes

  • GitHub Actions CI test suite added
  • Windows not passing currently, fixes to come
  • Note that pwsh shell implementation was using the subprocess 'universal_newlines' arg - this has been removed. This was causing execute_shell to return an str-type stdout/stderr tuple, rather than bytes as every other shell impl does, and this was causing tests to fail.

Merged pull requests:

v2.47.2 (2019-09-17)

Source | Diff

Notes

Py3 fixes found after testing.

Merged pull requests:

v2.47.1 (2019-09-17)

Source | Diff

Merged pull requests:

Closed issues:

  • Shell plugin Support API #696

v2.47.0 (2019-09-13)

Source | Diff

Notes

This fixes and improves the shell plugins, especially on Windows for cmd and PowerShell-like. Formerly excluded shell-dependent tests are now passing.

Note also that this release fixes a regression in Windows, introduced in 2.35.0.

Merged pull requests:

Closed issues:

  • Quotation marks issues on Windows. #691
  • Rex and expandable in other shells #694

v2.46.0 (2019-09-13)

Source | Diff

Notes

Last round of Py3 updates (not counting further bugfixes found from testing).

Please take note if you notice any changes in performance in Py2. This release includes a number of changes from methods like iteritems to items, which in Py2 means a list construction rather than just an iterator. Tests have shown performance to be identical, but you may find a case where it is not.

Merged pull requests:

v2.45.1 (2019-09-11)

Source | Diff

Notes

Misc Py3 compatibility updates, part 4.

Merged pull requests:

Closed issues:

  • #712 merged in 2.43.0 caused external environ not to pass through to resolve #744

v2.45.0 (2019-09-10)

Source | Diff

Notes

Misc Py3 compatibility updates, part 3.

Merged pull requests:

v2.44.2 (2019-09-07)

Source | Diff

Merged pull requests:

  • install variant.json file in the same manner as other extra install files #731 (nerdvegas)

Closed issues:

  • permissions failure on release (variant.json) #730

v2.44.1 (2019-09-07)

Source | Diff

Notes

Misc Py3 compatibility updates, part 2.

Merged pull requests:

  • update imports in vendored pydot for py3 #728 (maxnbk)
  • update vendored schema for py3 #729 (maxnbk)

v2.44.0 (2019-09-06)

Source | Diff

Notes

Misc Py3 compatibility updates, part 2.

Merged pull requests:

  • pull basestring from six.string_types - py2 gets basestring, py3 gets str #721 (maxnbk)
  • import StringIO from six.moves #722 (maxnbk)
  • update vendored colorama from 0.3.1 to 0.4.1 #723 (maxnbk)
  • update vendored memcache from 1.5.3 to 1.5.9 #724 (maxnbk)
  • make Version properly iterable in py3 #725 (maxnbk)
  • modernize function manipulations and attrs #727 (maxnbk)

v2.43.0 (2019-09-05)

Source | Diff

Notes

Misc Py3 compatibility updates.

Merged pull requests:

v2.42.2 (2019-08-31)

Source | Diff

Merged pull requests:

  • fixed bez rezbuild.py breaking on old-style print #705 (nerdvegas)
  • zsh tests passing by way of enabling analogue for bash shell completion #711 (maxnbk)

v2.42.1 (2019-08-31)

Source | Diff

Notes

This PR introduces py3 compatibilities that do not functionally alter py2 code.

Merged pull requests:

  • miscellanous atomic nonaffective py2/py3 compatibilities #710 (maxnbk)

v2.42.0 (2019-08-30)

Source | Diff

Merged pull requests:

v2.41.0 (2019-08-29)

Source | Diff

Merged pull requests:

v2.40.3 (2019-08-15)

Source | Diff

Notes

This update allows custom plugins to override the builtin rez plugins. It does so by reversing the order in which plugins are loaded, so that builtins are loaded last.

Merged pull requests:

Closed issues:

  • rezplugins loading order #677

v2.40.2 (2019-08-15)

Source | Diff

Notes

This release fixes an issue on Windows, which has non-case-sensitive filepaths. Requesting a package with a case differing from that on disk would cause two packages to exist in the resolve, which really were just different cases of the same package.

The behaviour on Windows is now:

  • Packages are case-sensitive - rez-env Foo will fail if the package folder on disk is foo;
  • Package repository paths are case-insensitive - ~/packages and ~/Packages are regarded as the same repo.

Merged pull requests:

  • [FIX] Make package resolve request respect case sensitivity -- Windows #689 (lambdaclan)

v2.40.1 (2019-08-07)

Source | Diff

Notes

Fixes regression introduced in v2.39.0.

Merged pull requests:

Closed issues:

  • [Regression - Version >= 2.39.0] ConfigurationError: Error in Rez configuration under plugins.shell #688

v2.40.0 (2019-08-07)

Source | Diff

Notes

  • Adds new Zsh shell plugin (BETA)

Merged pull requests:

  • initial implementation of zsh shell plugin #686 (maxnbk)

Closed issues:

  • zsh plugin for rez #451

v2.39.0 (2019-08-07)

Source | Diff

Notes

  • Fixes errors in new powershell plugin
  • Adds new powershell core 6+ plugin (BETA).

Merged pull requests:

Closed issues:

  • Add shell plugin for poweshell 6+ #678

v2.38.2 (2019-07-23)

Source | Diff

Notes

Fixes regression in 2.38.0 that unintentionally renamed _rez_fwd tool to _rez-fwd.

Merged pull requests:

  • fixed regression in 2.38.0 that unintentionally renamed _rez_fwd to _rez-fwd #676 (nerdvegas)

Closed issues:

  • build scripts generated with incorrect shebang arg #671

v2.38.1 (2019-07-20)

Source | Diff

Notes

Fixes issue on Windows where rez-bind'ing pip creates a broken package.

Merged pull requests:

v2.38.0 (2019-07-20)

Source | Diff

Notes

Updates the installer (install.py).

  • patched distlib (in build_utils) has been removed. The patch we were relying on has since been made part of the main distlib release, which we already have vendored;
  • virtualenv has been updated to latest;
  • scripts have been removed, and entry points are used instead;
  • install.py code has been cleaned up and simplified. Specifically, standard use of distlib.ScriptMaker has been put in place;
  • INSTALL.md has been updated with a full explanation of the installer, and why a pip-based installation is not the same as using install.py.

Merged pull requests:

2.37.1 (2019-07-20)

Full Changelog

Notes

This fixes a regression introduced in 2.34.0, which causes rez-context -g to fail. The pydot vendor package was updated, and the newer version includes a breaking change. Where pydot.graph_from_dot_data used to return a single graph object, it now returns a list of graph objects.

Merged pull requests:

v2.37.0 (2019-07-19)

Full Changelog

Notes

Adds PowerShell support. https://docs.microsoft.com/en-us/powershell/

Merged pull requests:

v2.36.2 (2019-07-16)

Full Changelog

Merged pull requests:

v2.36.1 (2019-07-16)

Full Changelog

Merged pull requests:

  • [Fix] Sh failing in test_shells.TeshShells.text_rex_code_alias #663 (bfloch)

v2.36.0 (2019-07-16)

Full Changelog

Merged pull requests:

Closed issues:

  • Support "additive" preprocess functions #609

v2.35.0 (2019-07-10)

Full Changelog

Backwards Compatibility Issues

Please note that this update alters the process hierarchy of a resolved rez environment, for Windows users. This does not necessarily represent a compatibility issue, but please be on the lookout for unintended side effects and report them if they arise.

Merged pull requests:

  • WIP No more "Terminate Batch Job? (Y/N)" - Take 2 #627 (mottosso)

Closed issues:

  • Shell history not working in cmd.exe or PowerShell #616

v2.34.0 (2019-07-10)

Full Changelog

Merged pull requests:

v2.33.0 (2019-06-26)

Full Changelog

Merged pull requests:

v2.32.1 (2019-06-24)

Full Changelog

Merged pull requests:

  • Support for external PyYAML and Python 3 #622 (mottosso)
  • Fix escaping backslashes in tcsh on Mac OS #497 (skral)

v2.32.0 (2019-06-23)

Full Changelog

Merged pull requests:

v2.31.4 (2019-06-22)

Full Changelog

Merged pull requests:

  • Expose Python standard module file and name to rezconfig #636 (mottosso)

v2.31.3 (2019-06-22)

Full Changelog

Merged pull requests:

v2.31.2 (2019-06-22)

Full Changelog

Merged pull requests:

Closed issues:

  • rez-build breaks if "|" in a required package's version on Windows #558

v2.31.1 (2019-06-18)

Full Changelog

Merged pull requests:

  • Automatically create missing package repository dir #623 (mottosso)

v2.31.0 (2019-06-04)

Full Changelog

Merged pull requests:

v2.30.2 (2019-06-03)

Full Changelog

Merged pull requests:

  • Update print statements to be Python 3 compatible #641 (bpabel)

v2.30.1 (2019-06-03)

Full Changelog

Merged pull requests:

  • WIP Fix file permissions of package.py on Windows #598 (mottosso)

v2.30.0 (2019-05-07)

Full Changelog

Merged pull requests:

Closed issues:

  • rezbuild.py broken #619
  • rez-env Performance and socket.getfqdn() #617
  • "parse_build_args.py" file parser arguments are not accessible anymore in "os.environ". #590

v2.29.1 (2019-04-22)

Full Changelog

Merged pull requests:

Closed issues:

  • bug in rez-build --bs option #604

v2.29.0 (2019-04-09)

Full Changelog

Implemented enhancements:

  • hash-based variant subpaths #583

Closed issues:

  • rez variant environment var during build #304

v2.28.0 (2019-03-15)

Full Changelog

Fixed bugs:

  • nargs errors for logging_.print_* functions #580

Merged pull requests:

  • Ignore versions if .ignore file exists #453 (Pixomondo)
  • Fix/logging print nargs #581 (wwfxuk)
  • package_test.py: fix rez-test header command with % #572 (rodeofx)
  • Call the flush method every time a Printer instance is called #540 (rodeofx)

v2.27.1 (2019-03-15)

Full Changelog

Merged pull requests:

v2.27.0 (2019-01-24)

Full Changelog

Implemented enhancements:

  • facilitate variant install when target package is read-only #565

Fixed bugs:

  • timestamp override no working in package copy #568
  • shallow rez-cp can corrupt package if there are overlapping variants #563

Merged pull requests:

v2.26.4

Fixed Regression in 2.24.0

Addressed Issues

  • #561 timestamp not written to installed package #562

v2.26.3

Addressed Issues

  • #559 package.py permissions issue #560

Notes

Fixes issue where installed package.py can be set to r/w for only the current user.

v2.26.2

Package Copy Fixes For Non-Varianted Packages. See #557.

Addressed Issues

  • #556 rez-cp briefly copies original package definition in non-varianted packages
  • #555 rez-cp inconsistent symlinking when --shallow=true
  • #554 rez-cp doesn't keep file metadata in some cases

Notes

There were various minor issues related to copying non-varianted packages.

v2.26.1

Bugfix in Package Copy

Addressed Issues

  • #551 package copy fails if symlinks in root dir #552

Notes

This was failing when symlinks were present within a non-varianted package being copied. Now, these symlinks are retained in the target package, unless --follow-symlinks is specified.

v2.26.0

Build System Detection Fixes

Addressed Issues

  • #549 '--build-system' rez-build option not always available #550

Notes

To fix this issue:

COMPATIBILITY ISSUE!

Unfortunately, the 'cmake' build system had its own '--build-system' commandline option also. This was possible because previous rez versions suppressed the standard '--build-system' option if only one valid build system was present for a given package working directory. This option has been changed to '--cmake-build-system'.

v2.25.0

Various Build-related issues #548

Addressed Issues

  • #433: "package_definition_build_python_paths" defined paths are not available from top level in package.py
  • #442: "rez-depends" and "private_build_requires"
  • #416: Need currently-building-variant build variables
  • #547: rez-cp follows symlinks within package payload

Notes

The biggest update in this release is the introduction of new variables accessible at early-bind time: building, build_variant_index and build_variant_requires. This allows you to do things like define different private_build_requires per-variant, or a requires that is different at runtime than it is at build time. In order to get this to work, a package.py is now re-evaluated multiple times when a build occurs - once pre-build (where 'building' is set to False), and once per variant build. Please see the updated wiki for more details: https://github.com/AcademySoftwareFoundation/rez/wiki/Package-Definition-Guide#available-objects

A new build-time env-var, REZ_BUILD_VARIANT_REQUIRES, has been added. This mirrors the new build_variant_requires var mentioned above.

rez-depends has been updated to only include the private_build_requires of the package being queried (previously, all packages' private build reqs were included, which is not useful). Recall that the previous release fixes the issue where private_build_requires was being stripped from released packages.

The entirety of a package definition file can now see the extra build-time modules available via the package_definition_build_python_paths config setting. Previously, only early bound functions could see these.

There was an issue with package copying (and thus the rez-cp tool) where symlinks within a package's payload were expanded out to their source files at copy time. The default now is to keep such symlinks intact - but hte previous behavior can still be accessed with the rez-cp --follow-symlinks option.

v2.24.0

This release adds a new tool, rez-cp, for copying packages/variants from one package repository to another, with optional renaming/reversioning. The associated API can be found in src/package_copy.py.

Addressed Issues

  • #541
  • #510
  • #477

Notes

  • Package definition file writes are now atomic;
  • private_build_requires is kept in installed/released packages;
  • Fixes include modules not being copied into released packages;
  • File lock is no longer created when variant installation happens in dry mode.

v2.23.1

Fixed Regression in 2.20.0

Addressed Issues

  • #532

Notes

Bug was introduced in: https://github.com/AcademySoftwareFoundation/rez/releases/tag/2.20.0

v2.23.0

Package Usage Tracking, Better Config Overrides

Addressed Issues

  • #528

Notes

Two new features are added in this release:

Override any config setting with an env-var. For any setting "foo", you can now set the env-var REZ_FOO_JSON to a JSON-encoded string. This works for any config setting. Note that the existing REZ_FOO env-var overrides are still in place also; if both are defined, REZ_FOO takes precedence. This feature means you can now override some of the more complicated settings with env-vars, such as package_filter.

Track context creation and sourcing via AMQP. Messages are published (on a separate thread) to the nominated broker/exchange/routing_key. You have control over what parts of the context are published. For more details: https://github.com/AcademySoftwareFoundation/rez/blob/master/src/rez/rezconfig.py#L414

The embedded simplejson lib was removed. The native json lib is used instead, and for cases where loads-without-unicoding-everything is needed, utils/json.py now addresses that instead.

v2.22.1

Stdin-related fixes

Addressed Issues

  • #512
  • #526

v2.22.0:

Search API

PR: #213

Notes

Package/variant/family search API is now available in package_search.py. This gives the same functionality as provided by the rez-search CLI tool.

v2.21.0

Added mingw as a rez build_system for cmake

PR: #501

v2.20.1

Windows Fixes

Merged PRs

  • #490: Fix alias command in Windows when PATH is modified
  • #489: Fix cmd.exe not escaping special characters
  • #482: Fix selftest getting stuck on Windows

Addressed Issues

  • #389
  • #343
  • #432
  • #481

v2.20.0

Better CLI Arg Parsing

PR: #523

Addressed Issues

  • #492

Notes

The rez-python command now supports all native python args and passes those through to its python subprocess - so you can now shebang with rez-python if that is useful.

More broadly, rez commands now parse CLI args correctly for each case. Many commands previously accepted rez-env-style commands (eg rez-env pkgA -- somecommand -- i am ignored), but simply ignored extraneous args after -- tokens.

v2.19.1

Fixed bug with rez-build and package preprocess

Merged PRs

  • #522

Addressed Issues

  • #514

Notes

The problem occurred because the preprocess function was attempting to be serialized when the package definition is cached to memcache. However, this function is stripped in installed packages; furthermore, caching "developer packages" (ie unbuilt packages) was never intentional.

This release disables memcaching of developer packages, thus avoiding the bug and bringing back originally intended behavior.