Omniverse Wrapp Change Log#
2.0.0#
Compatibility#
All WRAPP file formats are from this release onwards backwards and forwards compatible, if possible, but at least backwards compatible. This version 2.0.0 breaks forwards but not backwards compatibility for older WRAPP versions, so:
WRAPP version 2.0.0 will be able to read packages written by previous WRAPP versions.
Previous WRAPP versions will not be able to read packages written by WRAPP version 2.0.0.
Changes in 2.0.0#
The mirror command got a new option
--redirect-dependencies
which instructs mirror to rewrite the dependencies’ repository field to point to the target of the mirror command, meant to be used when the intention is to mirror all packages into the target repository.New CLI
traceback
command to trace back a wrapp file via the repository to the original source.Each wrapp file contains two pointers. A source pointer to the directory where the last create command was issued from, and a repository pointer which points to the repository this package was last installed from or created to.
The traceback logic can follow both pointer directions to produce a potentially large ancestry tree of multiple repository/mirror commands and create/install operations.
Add a new command
status
, which taking the path of a wrapp file will determine if the project has any dirty files or sub-packages and output a detailed list of modified files, package versions, or dependencies.Check for cyclic dependencies during install and create and refuse operation that could cause an endless recursion.
Extract-catalog now has a
--recursive
option to produce the catalog of all files in the package including all subpackages. A corresponding API functionextract_catalog
was added as well.Added new command status to find all modified, extra, or missing files and check that dependency versions are recorded. Prints out details if given –show parameter.
Fixed bug where mirror failed when mirroring an empty package that contained only a wrapp file.
Create now features a new parameter “–check-subpackage”. If enabled, create will fail if the package contains subpackages which are missing from their source repository.
Create now checks if any of the subpackages that are referenced is considered to be modified or ‘dirty’. If yes, it will fail. A command line switch
--allow-dirty-subpackages
can be used to override the new behavior.Added new command
installed-package-list
to recursively list all packages in a working tree including their versions and repository locations.“new” immediately fails now when the “.wrapp” file already exists.
If WRAPP detects conflicts during an “install”, it now is more explicit about the differences it sees between files.
The “install” command now reports conflicts in a less technical fashion, including the explanation in the patch files it can create.
Fixed connection error to the Nucleus tagging service occurring under specific circumstances when multiple concurrent tagging operations were run during a patch operation.
Delete operations during “install” were done one at a time under some circumstances, making the operation very slow. This has been fixed.
“install” has now an additional flag “–force”. If used, “install” will overwrite all files on the destination with the files from the package.
The “install” and “create” command under some circumstances had a long delay until it showed any progress. This has been fixed.
This also improves performance for both commands when many nested dependencies are used.
Improve progress reporting on the command line.
Fix handling of empty folders in WRAPP 1.x packages.
WRAPP 2.0.0 no longer supports empty folders in packages - empty folders are simply skipped during catalog or package creation.
To retain a folder, a dummy file must be added to it.
If packages created with WRAPP 1.x are installed with WRAPP 2.0.0, a dummy file “.wrapp_keep_empty_folder” is automatically created in the empty folder.
The “–auth” CLI parameter and the WRAPP_AUTH environment variable now allow providing credentials for S3.
Introduce new “–interactive-auth” CLI flag.
WRAPP CLI now only pops up the browser when no credentials are provided for a Nucleus server when the flag is explicitly enabled.
If the flag is not specified and no credentials are provided, the operation fails.
Accelerated the list_repo operation for S3 by using proper concurrency.
Better error handling for S3 authentication failures.
Improve Python API documentation
WRAPP is now compatible with Python 3.10, 3.11, 3.12.
Update ClientLibrary to 2.63.0 release.
WRAPP is compatible with ClientLibrary 2.53.2 or newer.
1.1.2#
Updates for security vulnerabilities
Update ClientLibrary to 2.54.0.
1.1.1#
Updates for security vulnerabilities
Update Python to 3.10.15+nv1.
Update aiohttp to 3.10.10.
Update ClientLibrary to 2.53.2.
1.1.0#
On Windows, before running wrapp you need to install the Microsoft runtime in case it is not already installed. Download and install from https://aka.ms/vs/17/release/vc_redist.x64.exe.
Allow using S3 as target for install, import, and create commands. S3 can be addressed both with global s3:// style URLs and https:// style links pointing to amazonaws.com.
OMPE-15135: freeze would not create local file system folders when copying from S3
Introduce progress report flag and additional options for number of tagging and file transfer jobs for create, install, mirror, freeze and apply-patch.
API Changes:#
The “get” API function used to download a file to the local disk is now accepting the optional parameters “context” and “scheduler”, like the other API functions.
The credentials used to sign in to S3 can be set using WRAPP_AWS_ACCESS_KEY_ID and WRAPP_AWS_SECRET_ACCESS_KEY, the endpoint can be set with WRAPP_S3_ENDPOINT.
If the variables are not set, boto3 tries to locate the credential in the usual way.
The API
initialize
function is now documented to possibly raise a RuntimeError when initialization fails.Before it might have thrown any exception.
1.0.1#
Update ClientLibrary to 2.49.0 release, closing security vulnerabilities
Updated to use Python 3.10.14+nv1 instead of 3.10.13+nv3
Linux-binaries built on Ubuntu 20.04 LTS instead of CentOS 7, which is EOL
New documentation
1.0.0#
Initial Omniverse Nucleus WRAPP release.