diff options
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e8095ea8..e16d3683f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,127 @@ ## +- **EXPERIMENTAL** Feature: Added command line tool `zen service` to do maintenance operations for running zenserver as a local service + - `zen service status` - Check the status of zenservice as local service, indidicating if it is installed, running and the options it was installed with + - `zen service install` - Install zenserver as a local service, this requires admin/sudo priviliges to execute properly + - `--executable` - Path to zenserver executable. Defaults to same path as `zen` command line executable that was issued but with filename replaced. + - `--name` - Name of the installed service. Defaults to `ZenServer` + - `--display-name` - Windows only, the user friendly display name of the service. Defaults to `Unreal Zen Storage Service` + - `--description` - Windows only, the user friendly description of the service + - `--allow-elevation` - Windows only, if command is not run with elevated priviliges, the command will attempt to relaunch itself with elevated priviliges + - `-- ` - All options given after the double dash will be added as command line arguments to the zenserver executable when starting the service + - `zen service uninstall` - Uninstall zenserver as a local service, this requires admin/sudo priviliges to execute properly + - `--name` - Name of the installed service. Defaults to `ZenServer` + - `--allow-elevation` - Windows only, if command is not run with elevated priviliges, the command will attempt to relaunch itself with elevated priviliges + - `zen service start` - Start the installed zenserver local service, this requires admin/sudo priviliges to execute properly + - `--name` - Name of the installed service. Defaults to `ZenServer` + - `--allow-elevation` - Windows only, if command is not run with elevated priviliges, the command will attempt to relaunch itself with elevated priviliges + - `zen service stop` - Stops the running installed zenserver local service, this requires admin/sudo priviliges to execute properly + - `--name` - Name of the installed service. Defaults to `ZenServer` + - `--allow-elevation` - Windows only, if command is not run with elevated priviliges, the command will attempt to relaunch itself with elevated priviliges +- Bugfix: GetModificationTickFromPath and CopyFile now works correctly on Windows/Mac +- Bugfix: Handling of quotes and quotes with leading backslash for command line parsing - UE-231677 +- Improvement: When logging with a epoch time prefix, the milliseconds/fraction is now correct. We now also set the epoch to the process spawn time rather than the time when the logger is created +- **EXPERIMENTAL** `zen builds` + - Improvement: Do partial requests of blocks if not all of the block is needed + - Improvement: Better progress/statistics on download + - Improvement: Scavenge .zen temp folders for existing data (downloaded, decompressed or written) from previous failed run + - Improvement: Faster abort during stream compression + - Improvement: Try to move downloaded blobs with rename if possible avoiding an extra disk write + - Improvement: Only clean temp folders on successful or cancelled build - keep it if download fails + - Improvement: Do put/get build and find blocks while scanning local folder when uploading + - Improvement: Don't chunk up .mp4 files as they generally won't benefit from deduplication or partial in-place-updates + - Improvement: Emit build name to console output when downloading a build + - Improvement: Reduced memory usage during upload and part upload validation + - Improvement: Reduced I/O usage during upload and download + - Improvement: Faster block regeneration when uploading in response to PutBuild/FinalizeBuild + - Improvement: More trace scopes for build upload operations + - Improvement: Progress bar automatically switches to plain mode when stdout is not a console + - Improvement: Progress bar is much more efficient on Windows (switched away from printf) + - Bugfix: Ensure that temporary folder for Jupiter downloads exists during verify phase + - Bugfix: Fixed crash during download when trying to write outside a file range + - Bugfix: MacOS / Linux zen build download now works correctly + +## 5.6.0 +- Feature: Added support for `--trace`, `--tracehost` and `--tracefile` options to zen CLI command +- Improvement: When logging HTTP responses, the body is now sanity checked to ensure it is human readable, and the length of the output is capped to prevent inadvertent log bloat +- Improvement: Instrumented `zen builds download` command code so we get more useful Insights output +- **EXPERIMENTAL** `zen builds` + - Improvement: Better error reporting and faster exit on error + - Improvement: Downloads without `--clean` now preserves untracked files in target folder + - Improvement: Reduce write operations for duplicate files in dowloads + - Improvement: Added on the fly validation `zen builds download` of files built from smaller chunks as each file is completed + - Improvement: Do streaming decompression of loose blobs to improve memory and I/O performance + - Improvement: Validate hash of decompressed data inline with streaming decompression + - Improvement: Do streaming compression of large blobs to improve memory and I/O performance + - Feature: Added `--verify` option to `zen builds upload` to verify all uploaded data once entire upload is complete + - Feature: Added `--verify` option to `zen builds download` to verify all files in target folder once entire download is complete + +## 5.5.20 +- Bugfix: Fix bug causing crash if large file was exact multiple of 256KB when using zen builds command +- Bugfix: Fix authentication error affecting Jupiter client that manifests as 'bad function call' error UE-252123 + +## 5.5.19 +- Feature: **EXPERIMENTAL** New `zen builds` command to list, upload and download folders to Cloud Build API + - `builds list` list available builds (**INCOMPLETE - FILTERING MISSING**) + - `builds upload` upload a folder to Cloud Build API + - `--local-path` source folder to upload + - `--create-build` creates a new parent build object (using the object id), if omitted a parent build must exist and `--build-id` must be given + - `--build-id` an Oid in hex form for the Build identifier to use - omit to have the id auto generated + - `--build-part-id` and Oid in hex form for the Build Part identifier for the folder - omit to have the id auto generated + - `--build-part-name` name of the build part - if omitted the name of the leaf folder name give in `--local-path` + - `--metadata-path` path to a json formatted file with meta data information about the build. Meta-data must be provided if `--create-build` is set + - `--metadata` key-value pairs separated by ';' with build meta data for the build. (key1=value1;key2=value2). Meta-data must be provided if `--create-build` is set + - `--clean` ignore any existing blocks of chunk data and upload a fresh set of blocks + - `--allow-multipart` enable usage of multi-part http upload requests + - `--manifest-path` path to text file listing files to include in upload. Exclude to upload everything in `--local-path` + - `builds download` download a folder from Cloud Build API (**INCOMPLETE - WILL WIPE UNTRACKED DATA FROM TARGET FOLDER**) + - `--local-path` target folder to download to + - `--build-id` an Oid in hex form for the Build identifier to use + - `--build-part-id` a comma separated list of Oid in hex for the build part identifier(s) to download - mutually exclusive to `--build-part-name` + - `--build-part-name` a comma separated list of names for the build part(s) to download - if omitted the name of the leaf folder name give in `--local-path` + - `--clean` deletes all data in target folder before downloading (NON-CLEAN IS NOT IMPLEMENTED YET) + - `--allow-multipart` enable usage of multi-part http download reqeusts + - `builds diff` download a folder from Cloud Build API + - `--local-path` target folder to download to + - `--compare-path` folder to compare target with + - `--only-chunked` compare only files that would be chunked + - `builds fetch-blob` fetch and validate a blob from remote store + - `--build-id` an Oid in hex form for the Build identifier to use + - `--blob-hash` an IoHash in hex form identifying the blob to download + - `builds validate part` fetch a build part and validate all referenced attachments + - `--build-id` an Oid in hex form for the Build identifier to use + - `--build-part-id` an Oid in hex for the build part identifier to validate - mutually exclusive to `--build-part-name` + - `--build-part-name` a name for the build part to validate - mutually exclusive to `--build-part-id` + - `builds test` a series of operation that uploads, downloads and test various aspects of incremental operations + - `--local-path` source folder to upload + - Options for Cloud Build API remote store (`list`, `upload`, `download`, `fetch-blob`, `validate-part`) + - `--url` Cloud Builds URL + - `--assume-http2` assume that the builds endpoint is a HTTP/2 endpoint skipping HTTP/1.1 upgrade handshake + - `--namespace` Builds Storage namespace + - `--bucket` Builds Storage bucket + - Authentication options for Cloud Build API + - Auth token + - `--access-token` http auth Cloud Storage access token + - `--access-token-env` name of environment variable that holds the Http auth Cloud Storage access token + - `--access-token-path` path to json file that holds the Http auth Cloud Storage access token + - OpenId authentication + - `--openid-provider-name` Open ID provider name + - `--openid-provider-url` Open ID provider url + - `--openid-client-id`Open ID client id + - `--openid-refresh-token` Open ID refresh token + - `--encryption-aes-key` 256 bit AES encryption key for storing OpenID credentials + - `--encryption-aes-iv` 128 bit AES encryption initialization vector for storing OpenID credentials + - OAuth authentication + - `--oauth-url` OAuth provier url + - `--oauth-clientid` OAuth client id + - `--oauth-clientsecret` OAuth client secret + - Options for file based remote store used for for testing purposes (`list`, `upload`, `download`, `fetch-blob`, `validate-part`, `test`) + - `--storage-path` path to folder to store builds data + - `--json-metadata` enable json output in store for all compact binary objects (off by default) + - Output options for all builds commands + - `--plain-progress` use plain line-by-line progress output + - `--verbose` + +## 5.5.18 - Feature: Added command line tool `zen service` to do maintenance operations for running zenserver as a local service - `zen service status` - Check the status of zenservice as local service, indidicating if it is installed, running and the options it was installed with - `zen service install` - Install zenserver as a local service, this requires admin/sudo priviliges to execute properly @@ -23,6 +146,7 @@ - Bugfix: Verify that chunking is allowed before chunking loose files duriung oplog export - Bugfix: Fix oplog target url for oplog export to remote zenserver - Bugfix: Handle workspace share paths enclosed in quotes and ending with backslash UE-231677 +- Bugfix: Strip leading path separator when creating workspace shares ## 5.5.17 - Improvement: Batch fetch record attachments when appropriate |