Merged pull requests:
Closed issues:
- permissions failure on release (variant.json) #730
Notes
Misc Py3 compatibility updates, part 2.
Merged pull requests:
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)
Notes
Misc Py3 compatibility updates.
Merged pull requests:
- very small py3 compat changes #712 (maxnbk)
- .next() to next() #713 (maxnbk)
- yaml upgrade #714 (maxnbk)
- improve non-string iterable handling #715 (maxnbk)
- replace async with block to avoid py3 async keyword #716 (maxnbk)
- import queue module through six #717 (maxnbk)
- swap 2.6 support for 3.x in version module #718 (maxnbk)
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)
Notes
This PR introduces py3 compatibilities that do not functionally alter py2 code.
Merged pull requests:
Merged pull requests:
Merged pull requests:
- a few prints to py3-compat #701 (maxnbk)
- Fixing error with changelog referenced before assigment #700 (bareya)
- Adding GCC bind #699 (bareya)
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
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 isfoo
; - 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)
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
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.