Notes
- Adds new Zsh shell plugin (BETA)
Merged pull requests:
Closed issues:
- zsh plugin for rez #451
Notes
- Fixes errors in new powershell plugin
- Adds new powershell core 6+ plugin (BETA).
Merged pull requests:
- Fix missing import in powershell plugin #674 (instinct-vfx)
- Add powershell core 6+ support (pwsh) #679 (instinct-vfx)
Closed issues:
- Add shell plugin for poweshell 6+ #678
Notes
Fixes regression in 2.38.0 that unintentionally renamed _rez_fwd tool to _rez-fwd.
Merged pull requests:
Closed issues:
- build scripts generated with incorrect shebang arg #671
Notes
Fixes issue on Windows where rez-bind'ing pip creates a broken package.
Merged pull requests:
- [Fix] Windows rez-bind pip #659 (lambdaclan)
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)
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:
2.37.0 (2019-07-19)
Notes
Adds PowerShell support. https://docs.microsoft.com/en-us/powershell/
Merged pull requests:
2.36.2 (2019-07-16)
Merged pull requests:
- [Feature] Pure python package detection #628 (lambdaclan)
2.36.1 (2019-07-16)
Merged pull requests:
2.36.0 (2019-07-16)
Merged pull requests:
- Add a package_preprocess_mode #651 (JeanChristopheMorinPerso)
Closed issues:
- Support "additive" preprocess functions #609
2.35.0 (2019-07-10)
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:
Closed issues:
- Shell history not working in cmd.exe or PowerShell #616
2.34.0 (2019-07-10)
Merged pull requests:
- [Fix] Wheel pip regressions #656 (lambdaclan)
2.33.0 (2019-06-26)
Merged pull requests:
- Update distlib vendor library #654 (lambdaclan)
- [WIP] Feature/pip install modern #602 (lambdaclan)
2.32.1 (2019-06-24)
Merged pull requests:
- Support for external PyYAML and Python 3 #622 (mottosso)
- Fix escaping backslashes in tcsh on Mac OS #497 (skral)
2.32.0 (2019-06-23)
Merged pull requests:
- Implement preprocess function support for rezconfig.py (takeover) #650 (JeanChristopheMorinPerso)
2.31.4 (2019-06-22)
Merged pull requests:
2.31.3 (2019-06-22)
Merged pull requests:
2.31.2 (2019-06-22)
Merged pull requests:
Closed issues:
- rez-build breaks if "|" in a required package's version on Windows #558
2.31.1 (2019-06-18)
Merged pull requests:
2.31.0 (2019-06-04)
Merged pull requests:
- Fix/add support for reversed version range #618 (instinct-vfx)
2.30.2 (2019-06-03)
Merged pull requests:
2.30.1 (2019-06-03)
Merged pull requests:
2.30.0 (2019-05-07)
Merged pull requests:
- fqdn #621 (bpabel)
- Fix path list with whitespace #588 (asztalosdani)
- Close the amqp connection after message publish #615 (loup-kreidl)
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
2.29.1 (2019-04-22)
Merged pull requests:
- Bugfix/custom build arguments #601 (lambdaclan)
Closed issues:
- bug in rez-build --bs option #604
2.29.0 (2019-04-09)
Implemented enhancements:
- hash-based variant subpaths #583
Closed issues:
- rez variant environment var during build #304
2.28.0 (2019-03-15)
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)
2.27.1 (2019-03-15)
Merged pull requests:
2.27.0 (2019-01-24)
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:
2.26.4 [#562] Fixed Regression in 2.24.0
- #561 timestamp not written to installed package
2.26.3 [#560] Package.py permissions issue
- #559 package.py permissions issue
Fixes issue where installed package.py
can be set to r/w for only the current user.
2.26.2 [#557] Package Copy Fixes For Non-Varianted Packages
- #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
There were various minor issues related to copying non-varianted packages.
2.26.1 [#552] Bugfix in Package Copy
- #551 package copy fails if symlinks in root dir
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.
2.26.0 [#550] Build System Detection Fixes
- #549 '--build-system' rez-build option not always available
To fix this issue:
- The '--build-system' rez-build option is now always present.
- To provide further control over the build system type, the package itself can now specify its build system - see https://github.com/nerdvegas/rez/wiki/Package-Definition-Guide#build_system
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'.
2.25.0 [#548] Various Build-related 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
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/nerdvegas/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.
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.
- #541
- #510
- #477
- 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.
- #532
Bug was introduced in: https://github.com/nerdvegas/rez/releases/tag/2.20.0
- #528
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/nerdvegas/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.
- #512
- #526
PR: #213
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.
PR: #501
- #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
- #389
- #343
- #432
- #481
PR: #523
- #492
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.
- #522
- #514
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.