Skip to content

2.114.0 (2023-11-23)

Compare
Choose a tag to compare
@JeanChristopheMorinPerso JeanChristopheMorinPerso released this 24 Nov 01:29
· 118 commits to main since this release

Source | Diff

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, 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: