2.114.0 (2023-11-23)
This is mainly a maintenance release. It will probably the last release in the 2.x series. We might issue a 2.115.0, but this isn't guaranteed.
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, ignoringPYTHONWARNINGS
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.
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:
- disable_rez_1_compatibility:
Will be removed in a yet to be determined future release. - debug_old_commands:
Will be removed in 3.0.0. This setting is currently a no-op. - warn_old_commands:
Will be removed in a yet to be determined future release. - error_old_commands:
Will be removed in a yet to be determined future release. - warn_commands2:
Will be removed in 3.0.0. This setting is currently a no-op. - error_commands2:
Will be removed in 3.0.0. This setting is currently a no-op. - rez_1_cmake_variables:
Will be removed in 3.0.0. - rez_1_environment_variables:
Will be removed in a yet to be determined future release. - rxt_as_yaml:
Will be removed in 3.0.0.
- disable_rez_1_compatibility:
- Modules:
rez.vendor.version
. Userez.version
instead. Will be removed in 3.0.0.rez.packages_maker__
. Userez.packages_maker
instead. Will be removed in 3.0.0.rez.package_resources_
. Userez.package_resources
instead. Will be removed in 3.0.0.rez.packages_
. Userez.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.
- rez-pip: The
- API:
- The
isolate
keyword argument of therez.rex.RexExecutor.execute_code
method is now officially deprecated and will be removed in 3.0.0.
Instead ofexecutor.execute_code(..., isolate=True)
, usewith executor.reset_globals(): executor.execute_code(...)
- The
- 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:
- rez_1_cmake_variables
is now disabled by default.
Some default values will change in 3.0.0:
- disable_rez_1_compatibility will become enabled by default.
- rez_1_environment_variables will become disabled by default.