110.3

  • API server

    • enabling versioning by default

  • Connection library

    • Fixed usage of deleted ConnectionInformation

110.2

  • API server

    • [OM-28238]: better support path based routing for lft_address configuration field

    • [OM-25729, OM-29230] * Make the default timeout for delta manager process startup larger

    • Fixed bug in tasking (access to member of potentially destroyed object)

    • Add missing template parameter to ResponseHanlderData (ApiRouter.cpp)

  • Connection library

    • Fixing backwards compatibility break with 107 servers in ping command response

    • [OM-29194]: ServerFeatures interface extended with versioning() command to check if versioning is on

  • Docker

    • Added nucleus-dump-meta image

110.1

  • Docker

    • Updated CI-related tooling to generate proper branch names

110.0

  • API server

    • Fixing concurrency issues in the legacy code path, when sometimes orphaned paths could appear

    • Content deduplication (stage 1)

      • Upon first server startup existing content is deduplicated

      • Upon uploading content that server already contains, the content is reused and not duplicated

      • It’s possible to create / update a file by simply providing a hash of content

      • create_asset_with_hash/update_asset_with_hash calls

    • Versioning support (stage 1)

      • [OM-18969]: [added] get_branches call

      • [OM-18970]: [added] get_checkpoints call

      • [OM-18968]: [added] replace_branch

      • [OM-18967]: [added] checkpoint_version call

    • [OM-1776]: [added] rename call

    • [OM-19265]: [added] list2 call

    • [OM-13634]: [added] stat2 call

    • [OM-20538]: [added] delete2 call

    • [OM-20703]: [added] copy2 call

    • [OM-18615]: [added] create_directory call

    • [OM-12059]: [added] get_acl2/set_acl2 calls (now it’s possible to provide multiple paths at once)

    • [OM-18149]: [added] lock, unlock, get_acl, set_acl migrated to the new code path, legacy code is deprecated (will be removed in the next release)

    • [OM-18108]: [added] test tokens support

    • [OM-17756]: using faster regex library internally within API server

    • Removing legacy implementation of all user management API calls, ping and get_transaction_id

    • Implementing new ServerFeatures interface to query server-side configuration parameters

    • Make sure static C++ runtime is used on Windows and Linux

    • Using latest omnitrace v0.5

    • Use carb.launcher v0.2 plugin to kill child process (delta server) automatically and avoid keeping it hanging

    • using carb.tasking plugin that is asan-aware on Linux

    • Disabling API server console input by default

    • [OM-9621]: use latest carb.logging, supporting log append (instead of overwrite)

    • [OM-17326]: better handling for long-running connections (problems with LFT access)

    • [OM-20500]: use breakpad on windows and linux builds

    • [OM-17646]: Handling non-ascii / non-utf8 paths

    • [OM-21126]: respond with NOT_OBJECT instead of DENIED when trying to create a usd/usda/usdc file when omniobject_mode: true

    • Updating license automation

    • bind to localhost for prometheus metrics by default

    • delta server: bind to localhost by default

    • omni.meta-upgrade: support ‘enabled’ config option

    • Bugfixes:

      • [OM-9621]: [fixed] server purges its log files upon restart

      • [OM-10230]: [fixed] api server, supporting * as host name for LFT address - bugfix

      • [OM-17001]: [fixed] not able to grant write access

      • [OM-17597]: [fixed] Permissions not inherited from directory

      • [OM-17644]: [fixed] Unable to list folders with special characters in their names.

      • [OM-17807]: [fixed] Admin role not recognized on login

      • [OM-18557]: [fixed] simplify meta db storage for mounts

      • [OM-19061]: [fixed] Nucleus Server returns INVALID_PARAMETERS for content ID without uploaded content

      • [OM-19565]: [fixed] fix path existence check

      • [OM-19679]: [fixed] create(overwrite=true) doesn’t work with LFT enabled

      • [OM-20471, OM-20787]: [fixed] rename bugfixes

      • [OM-18253]: [fixed] convertation of all timestamps to uint64 numbers (internal meta db upgrade)

      • [OM-18287]: [fixed] revive omnitrace coverage in the API server

      • [OM-19804]: [fixed] delta server sometimes can be terminated without it actually hanging

      • [OM-22103]: [fixed] client capabilities check

      • [OM-22105]: [fixed] created timestamp invalidated by delta manager

      • [OM-22111] Fixed omni1.idl.ts and core.idl.ts interface/protocol description to provide backward compatibility between API server and Connection library up to 107.6 release.

      • [OM-22425] Fixing confusing message about failing to delete access log by checking whether the log file exists in the first place

      • [OM-22589]: remove breakpad module and using it from Carbonite

      • [OM-19183] Fixing default permissions for /Users/ folder to be read-only for users

      • [OM-22829] Fixing incorrect behavior when omni object created with “overwrite=true”

      • [OM-23913]: [fixed] Mechanism to remove renewed files and directory records from the ignore list did not work correctly.

      • [OM-23703]: [fixed] Fixed signal handler to use only signal-safe functions.

      • [OM-23705]: [fixed] Fixed methods versions in omni1.idl.ts and core.idl.ts

      • [OM-27321]: [fixed] Fixed removal of needsdm flag in the meta db, when deleting files

  • Connection libraries

    • [OM-25719]: ConnLib fails if allowed null callback is passed

    • [OM-27832]: Idl.Cpp: Reactor should use poll instead of select to support any values of descriptors

    • [OM-27945]: Libcurl >1024 file descriptor support

    • [OM-28728]: ConnLib: LFT logic sometimes does not report error

    • [OM-28967]: ConnLib: Problems when omni1 objects are removed from their callbacks

  • Docker

    • Tweaked Launcher to not require server CL on start

    • Added hookups for data conversion/import process

    • Tweaked release-nucleus.py to use repo tags

    • OmniFlow-compliant naming of artifacts

    • Dockertools supporting BuildKit added

109.14

  • API server

    • [OM-27312] [fixed] Resolved an issue with Mount Folders are not showing up sometimes (made MountMapper thread safe)

109.13

  • Docker

    • [OM-28089] [fixed] Fixed path for resolver-cache logs volume

109.12

  • Docker

    • [OM-27312] [fixed] Resolved an issue with Mount Folders are not showing up sometimes (changed squid to nucleus-cache)

109.10

  • API server

    • [OM-27558] [fixed] Resolved an issue with Nucleus incorrectly canonicalizing the executable path on Linux

109.10

  • API server

    • [OM-27312] [fixed] Resolved an issue with files intermittently disappearing or not loading correctly from Amazon mounts, including /NVIDIA default mount, by using CloudFront when listing a mount

109.9

  • Docker / Launcher

    • [OM-25462] Fixed a bug with Launcher’s default configuration preventing creation of paths containing ,

109.8

  • API server

    • [OM-24673] Upgrade to omni-config-cpp 2.0.1

  • Connection library

    • [OM-24673] Upgrade to omni-config-cpp 2.0.1

109.7

  • Bugfixes

    • [OM-23462] Pull dependencies through internal instance of Artifactory

    • [OM-23905] Fixing authentication failure when tracing is enabled on the client

109.7

  • Bugfixes

    • [OM-23462] Pull dependencies through internal instance of Artifactory

    • [OM-23905] Fixing authentication failure when tracing is enabled on the client

  • LFT server

    • [OM-23101] Fixing LFT server performance regression

    • [OM-24385] LFT server: try to extract missing headers from the request by using other headers / remote IP address

  • Docker

    • [OM-8332] Added PACKAGE-LICENSES to lft server image config and licenses.sh script for generating licenses file

109.6

  • API server

    • [OM-19764] Fixed auth command to add new user to ‘users’ group if that user was added to some other group before first login

    • [OM-19765] Fixed auth to create default folder for new user which was added to some group before first login

    • [OM-19804] Improved connection to delta server process: several attempts are performed. Number of attempts and time interval between them can be configured

    • [OM-20195] Fixed copy() command to create missing directories on copy()-destination path

    • [OM-19912] Fixed data corruption due to lack of thread safety during legacy server meta cache update

  • Connection library

    • [OM-20244] Fixed LFT failure due to missing LFT pools cleaning on shutdown

109.5

  • API server

    • [OM-19787] Fixed data corruption caused by LFT garbage collection

    • [OM-19565] Fixed path existance check in Create command to allow creation of missing folders

    • [OM-19912] Improved transaction usage and legacy server locking in setAclV2 implementation in omni.core.

109.4

  • Connection library

    • [OM-17646] Added UTF-8 checks for input strings

    • [OM-16634] Updated idl.cpp library to avoid hang of connection library due to deadlock

109.3

  • API server

    • [No Jira Ticket] Disabled input system

    • [No Jira Ticket] Fixed API server hang due to infinite loop

  • LFT server

    • [No Jira Ticket] Cleaned up access logging

  • Docker

    • [No Jira Ticket] Added squid to stack config as nucleus-resolver-cache, modified proxy healthcheck (check_px) from launcher

    • [No Jira Ticket] Added star and backslash to the list of disallowed path chars by default

    • [No Jira Ticket] Added support for configuring OO mode (on/off)

    • [No Jira Ticket] Fixed bugs in the stack config. It wasn’t properly mount the Resolver Cache data volume

    • [No Jira Ticket] Removed nginx as nucleus-resolver-cache from image and stack configs as well as nginx prometheus exporter

109.2

  • API server

    • [No Jira Ticket] Fixed server’s incorrect exit code value. Now server returns proper exit code when it couldn’t startup

    • [No Jira Ticket] Fixed API server threading code to prevent possible crashes and data corruption

109.1

  • API server

    • [OM-18366] Fixed incorrect records during meta upgrade

    • [No Jira Ticket] Removed legacy users

109.0

  • API server

    • [No Jira Ticket] Added internal documentation in the code

    • [No Jira Ticket] Added allowance for home directory existence before new user creation

    • [OM-8215] Added support for omniobject cache to enable LFT / cache compatibility

    • [OM-5999] Added server notifications

    • [OM-8969] Added new set_path_options API call that allows to change created/modified/created_by/modified_by properties for a path

    • [OM-12059] Added new get_acl, set_acl API calls for omni.core plugin. Now vectorized forms of these calls are supported through the new auto-generated connection library. Old (scalar) calls are converted to the new form (i.e. an array of size 1)

    • [No Jira Ticket] Added carb.launcher 0.2 version to automatically terminate child process (delta server)

    • [OM-13227] Considered logged in user as an admin in case auth token specifies it

    • [No Jira Ticket] Fixed content refcount issue leading to some pieces of content never being removed

    • [No Jira Ticket] Filtered out non essential ‘list’ event for the message bus and list subscriptions

    • [OM-12617] Fixed access logging

    • [OM-12297] Properly stream a data that will be compressed by the delta process instead of sending it in one giant chunk

    • [No Jira Ticket] Memory management bugfixes: new[]/free mismatch, removing unnecessary heap allocations, fixing heap use after free, etc

    • [OM-10588] Replaced C assert with a special OMNI_ASSERT macro which converts assertion into error messages in the log in release build and behaves like assert in debug build

    • [OM-11850] Updated LOCK command. Now it supports etag as an optional argument

    • [OM-10257] Updated CREATE command. Now it supports ‘overwrite’ flag as an optional argument

    • [No Jira Ticket] Updated to omnitrace v0.4

  • Misc

    • [OM-15078] Changed all OV_ environment variables prefixes to OMNI_

  • LFT server

    • [OM-8215] Added omniobject cache support

    • [OM-14527] Added proper expiration of a content being uploaded through LFT. Fixes an issue leading to pieces of content never being deleted in case file upload was not finalized through the API server

    • [No Jira Ticket] Updated to the latest IDL for interface between API and LFT servers

  • Tooling

    • [OM-14890] Added omni.verifier improvements: reporting unserialized meta records, added exit_on_failure options

  • Connection libraries

    • [OM-6457] Added raising an exception in case connection is not established in python

    • [OM-9047] Added compression improvements

    • [OM-8969] Added new set_path_options API call that allows to change created/modified/created_by/modified_by properties for a path

    • [No Jira Ticket] Exported reactor functionality through the interface to allow integrating with connection library reactor

    • [No Jira Ticket] Removed init.py in python versions of all libraries

    • [OM-10257] Updated CREATE command. Now it supports ‘overwrite’ flag as an optional argument

    • [No Jira Ticket] Updated to omnitrace v0.4

  • Docker

    • [No Jira Ticket] Added ASAN options for special address sanitizing builds

    • [No Jira Ticket] Configured the server to disable terminal control chars in paths

108.1

  • API server:

    • Fixing code generation issue (build issue only)

108.0

  • API server:

    • Metrics improvements

    • Introducing omni.messaging, the interface to the message bus

      • Publish messages about events hapenning in the Omniverse path space

    • Introducing omni.core, fiber-based server

      • Moving user-group management, get_transaction_id, ping, authorization under omni.core

    • Automatically generating meta data serialization code from spec

    • Automatically generating API serialization code from spec

    • Breaking ApiServer.cpp into a command per file

    • Supporting omniobjects mode (see docs)

    • Numerous bugfixes

    • Asynchronous key-value database interface, introducing transactions, basing all new code in omni.core on transactions. Fiber wrappers for callback interfaces.

    • Introducing forward compatibility feature.

      • From this release onward the server will not decline connections from newer connection libraries. Instead clients are expected to check capabilities reported by the server.

    • Fixing config file collision between omni.server and omni.delta-server

    • Supporting meta database upgrade (both in omni.server.app and with a separate tool omni.meta-upgrade.app)

    • Fixing LIST behavior regression

    • Fixing api log regression

    • Supporting copy with 0 transaction id (it’ll use latest)

    • Split delta process communication into blocks of 128Mb

    • Support ‘allowed_users_legacy’ server setting allowing to limit users from using legacy authentication

    • Fixing UPDATE regression (locked updates do not accept non-empty etags)

    • Pseudo accounts disabled by default

    • omni.websockets: increasing maximum length of HTTP headers

  • Misc

    • Env vars renamed to use OMNI_ prefix, and naming generally cleaned up

    • Removed Docker Images’ docs and Kube samples

  • Tooling

    • Separate tool omni.meta-upgrade.app to upgrade meta database from previous installation / deployment

    • log_processor: bugfix: archiving logs subprocess could lead to logs’ corruption and log data loss

  • Connection library

    • Bugfixes

    • Use portable toolchains to build linux x86-64 and aarch64 versions of the connection library

    • Follow redirects when accessing external links

    • Update to latest curl

    • Support encryption and compression (zlib, brotli)

    • Autogenerate new connection libraries for py/js/C++, the current manually implemented library is still supported but is planned for gradual deprecation

    • Fixing time handling in Python bindings

    • Request compressed encoding when accessing external HTTP(S) resources

    • Use the latest omnitrace API

    • Add some more instrumentation to trace commands end-to-end

    • Allows for update-to-readsubscription (replication) latency measurements without server instrumentation

    • Deprecating legacy authentication

  • Docker Hookups

    • Added necessary code to configure Redis for messagebus

    • Added prometheus exporter for Redis messagebus

    • Core API image now exposes an env var for setting a Master password

  • Misc

    • Env vars renamed to use OMNI_ prefix, and naming generally cleaned up

    • Removed Docker Images’ docs and Kube samples

107.11

  • Connection library

    • Use the latest omnitrace API

    • Add some more instrumentation to trace commands end-to-end

    • Allows for update-to-readsubscription (replication) latency measurements without server instrumentation

107.10

  • API server:

    • Cherry-picked “fix delta content process config collision with api server”

107.9

  • Connection library:

    • Exclude unreachable proxy servers when a new connection is created

    • Adding omniIsLocalCacheAvailable function

    • Set OmniReadResult::cached to true when the content was delivered through the shared cache (new cache)

107.8

  • Hang detection logic

    • Switched configuration parameters from int to float to allow setting smaller values than 1 for the bandwidth estimates.

107.7

  • Docker Hookups

    • Configured to allow file mounts from within mnt subdir of the instance’s data dir

107.6

  • API server:

    • Fixed data corruption issues related to incorrect refcounts

    • Fixed issues with communicating to Delta Server due to http_proxy env variable being set for S3 resolver to cache files’ metadata

    • Use S3 resolver which support timeout

    • Fixed mount overwrite bug, where it would be possible to remove content with no regard to content refcount from the content storage by copying a file over from a mount.

    • Supporting delta server metrics making it possible to monitor its performance

    • Ability to change master password (for ‘omniverse’ user) from settings

    • Support “allowed user” feature, a list of users allowed to authorize with the server

    • Make connection failure to delta compressing process a hard stop for the API server

    • Detect if a command has taken too long to respond and, if so, remove it

    • Fixing incorrect behavior in LIST

    • Support deep copy of zero-length files from a mount

    • Update delta format plugins to use latest USD

    • Fixing garbage collection of re-created folders

    • Record delta updates in the access log

    • Try to repair LevelDB database before giving up

  • LFT server:

    • Raise exception instead of returning it (bugfix)

  • Docker Hookups

    • Now using nginx-prometheus-exporter from docker hub rather than nvcr.io

    • Launcher modified to export number of files from Delta Server’s Path Blacklist

    • utl-metricpx renamed utl-monpx and can now show Delta Server’s blacklist at /ds_blacklist URL

    • Added a simple script, dev-deploy.py, to stand up dev instances

  • Tooling

    • nvidia.omniverse.server.control: added commands for Delta Server blacklist management

    • Added ds_control.py command line tool

    • Added ws_command.py command line tool to talk to the Server’s Control Channel

  • Connection library

    • Fixing LFT route choice (only when LFT is accessible) when uploading content using streaming

107.5

  • API server:

    • Support emergency password recovery procedure (add ‘@’ in front of the username to reset password)

    • Fixed bug where path names were being truncated at 512 bytes in length

    • Bugfixes for possible issues initializing metadata

    • config for prometheus - use integers where needed

    • Added a configuration option which lets mount read and list commands run in concurrently. Disabled by default, but to enable it just set “concurrent_mount_commands” to true in the JSON configuration file for the server.

    • Updated delta format plugins to nv-usd and usd_ext 19.11 (newer build, OM-8789)

    • Fixed race condition in omni.eventsystem

    • Load resolver settings correctly - do not use string pairs as this loses JSON typing

    • Optimize requests to resolver (do a single stat if possible and do stat + list if necessary instead of doing stat + list always)

    • Updated Linux build rules - cleanups, preventing from depending on host libstdc++

  • Connection library:

    • Lock Python GIL when omniReleaseConnection callback is called

    • Checks for Python reactor on execute

    • Fixed time handling in Python ConnWrapper

  • Docker Hookups

    • Resolver-cache added to stack

107.4

  • API server:

    • Only use omniobjects if omniobjects library was suscessfully loaded (resolves issue with the index service crashing the server on Centos 7)

  • Docker hookups:

    • Lowered default LFT threshold to 256K

    • Added a “simplified” deploy option to exclude extra infrastructure services

107.3

  • API server:

    • Adding ‘asset_converter’ to the default user list

107.2

  • API server:

    • Fixing config mount issue (OM-7829)

  • Connection library:

    • Load redirections even if LFT server is not available (for Cloudfront redirections)

107.1.9

  • API server:

    • Updating delta manager plugins

    • Use jemalloc on Linux

    • Do not block during lengthy delete/list operations

    • Updating deployment infrastructure

  • Connection library:

    • Updating omni trace library

107.1.8

  • Default mounts

    • Changed to use omniverse-content-production bucket and have a root at /NVIDIA

107.1.8

  • API server:

    • Fixing a bug with updating meta data for just a folder, it was not preserving the ‘created_by’, ‘modified_by’ etc. fields.

    • Using libcurl with a license (built according to the licensing requirements)

  • Connection library

    • Fixing LFT buffer overflow reporting bug

    • Follow redirects when accessing external links

107.1.7

  • API server:

    • mounts/allowed_mount_resolver is a strict whitelist now

    • Fix for read notifications delivery delay

    • Fix for possible (not seen previously) issue where some read notifications may be skippped

    • Fix for crash during reading content during client disconnect

    • Enforce mounts read-only

    • Remove mounts coming from config file during startup before adding a new set of mounts specified in the config file

    • Delta manager optimizations

    • Adding ‘admin’ user (same as ‘omniverse’)

  • Connection library:

    • Fixing incorrect behavior when LFT content buffer data overflow happens

    • 9.10: support omniGetServer, omniGetToken, omniGetUser to clone a connection

107.1.6

  • API server:

    • Support mounts/default_mounts option (specifying this would create mounts on startup automatically)

    • Support mounts/allowed_mount_resolver option (specyfing this would prevent users from mounting using certain resolvers)

    • Support mounts/allowed_file_resolver_root option (specifying this would prevent users from mounting path with certain prefixes)

  • Docker hookups:

    • Added support for default, “out of the box” mounts to deployed servers

107.1.5

  • API server:

    • Support predefined mounts in the configuration file

    • Removing old unnecessary code

107.1.4

  • API server / Delta server:

    • Correctly handle “bye” command and wakeup the server upon receiving SIGINT/SIGTERM

107.1.3

  • API server:

    • Updated delta format plugins to nv-usd and usd_ext 19.11

  • Connection library:

    • Use newer curl (support windows ssl certificates)

  • Infrastructure:

    • Updating core dump processor

107.1.2

  • API server:

    • Fixes to better handle filters during list subscriptions

  • Connection library:

    • Follow redirections when accessing external links (like cloudfront)

107.1.1

  • API server:

    • Fixes for “support list subscriptions to nonexistent paths”

  • Docker hookups:

    • Added nucleus-dumps-processor service to push coredumps to Loki

107.1

  • Connection library:

    • Support list subscriptions to nonexistent paths

    • OMNI_CONN_REDIRECTION_DICT now expects API server port/address

    • v9.9 - More utility functions (omniGetServerStatus, omniRegisterConnectionDestructionCallback)

    • v9.10 - Connection is refcountable. For each omniGetConnectionWithId a corresponding omniReleaseConnection call is expected.

  • LFT server changes:

    • Better handle Content-Range header to be compatible nginx

  • Monitoring:

    • Improved logging in metricpx

    • Improved core dump automation

  • API server:

    • Using gcc 8.2.0 toolchain

    • Support list subscriptions to nonexistent paths

    • Mount fixes

    • statically link C++ runtime in all modules

    • use ld script for all modules to reduce export surface

107.0

  • Repository changes:

    • removed copy_server

    • removed api_server

      • kept docs and tests and move them into api_server_cpp

      • kept scripts and move them into server_tools

    • removed delta_server

    • removed api_server_cpp/ext

    • removed common/templates/python/python_exe_with_cmdargs.py

    • removed tools

    • moved ov-tools into separate repo, omnitools

    • moved ov-dash into omniops repo, tools/ dir

    • renamed api_server_cpp to api_server

    • updated .clang_format for api_server and api_client to be inline with Carbonite

    • made .editorconfig common for both api_server and api_client

  • API server changes:

    • [?] deprecated OmniverseClient. Instead use connection library.

    • moved sources around to adhere to a typical Carbonite project structure.

      • created omni.server module, containing all of the existing API server code

      • renamed OmniverseServer -> omni.server

      • renamed DeltaContentServer -> omni.delta-server

      • moved api_server/plugins to api_server/src/plugins/non-carb.plugins to separate them from real Carbonite plugins.

        • later these plugins will become real Carbonite plugins and we will move them top api_server/plugins/omni.*

      • moved api_server/source into api_server/src/plugins/omni.server

      • moved and organize tests. Those tests which measure performance are under api_server/tests/performance/

      • moved existing server tests to api_server/tests/e2e - end-to-end tests

      • moved private server headers from include/ into src/plugins/omni.server along with the sources

        • include/ now is only supposed to contain public headers, i.e. headers used by other applications or modules

    • Supporting mounts feature

  • LFT server changes:

    • Supporting mounts feature

  • Connection library

    • v9.8 - Deprecated explicit ‘statusDescription’ from each result, added ‘omniGetStatusDescription’ funciton

    • v9.7 - Supporting OmniAuthResult::isSuperuser property

    • v9.6 - Python bindings use logTarget instead of logCallback in init settings.

    • v9.5 - added kOmniErrorTypeLftCouldntConnect, kOmniErrorTypeLftProxyCouldntConnect

    • v9.4 - mount does not use server_redirect_url (options are used instead).

    • v9.3 - list command supports showHidden option (false by default).

    • v9.2 - adds support for omni objects

  • Docker hookups

    • Reworked to support the above

    • Removed special promtail image - Promtail now comes standard as a part of Docker tooling

    • loki-url deploy option renamed to loki

    • omni-instance deploy option renamed to instance

    • Renamed all artifacts to have new Nucleus notation

  • Docker docs

    • kube.md now out of date, renamed to _kube.md to indicate that

    • images.md updated to reflect reality (mainly, naming updates)

106.4

  • Connection library

    • Support subscription to nonexistent paths

    • 9.1b: support omniGetServer, omniGetToken, omniGetUser to clone a connection

  • API server

    • Support subscription to nonexistent paths

    • Fixed verifyPermissions crash

106.3

  • Docker hookups

    • Added promtail log collector

    • Added option for loki-url to stack-config

106.2

  • Connection library:

    • Fixing LFT <-> reactor interaction that leads to hanging LFT downloads

106.1

  • Core Server

    • Handle empty uri in LIST

106.0

  • Core Server

    • User/group management

    • Libwebsockets transport enabled by default

    • Delta compaction using nv-usd 19.07

  • Connection library:

    • Version 9.1:

      • PEP8 compliance

      • Reorganization of the folder structure of the library

      • User/group management

      • Fixing omniStop not being able to stop omniAuthorize

105.5 hotfix

  • Docker hookups

    • When using Stack Config for deployment, newly deployed servers now get a Marker file showing which server and version this is

  • Core Server

    • Backported LIST / show_hidden option

  • Connection library

    • Backported LIST / show_hidden option and bumped the version to 8.8

105.4 hotfix

  • Docker hookups

    • Ditched most of the legacy cpp notations and moved files around to match

    • New service names:

      • core-api remained

      • core-lft remained

      • log-processor renamed core-log-processor

      • metricpx renamed utl-metricpx

    • Renamed image configs to match service names

    • Added a lot of ENV vars for config options for sidecar images (log processor, metricpx, et al)

    • Docs for images and how to get them in docker/doc

105.3 hotfix

  • Core Server

    • Fixed Access.log to not include INFO as Command

    • Instead, INFOs include -- as their “direction”.

  • Log Processor / Metrics Generator

    • Updated to handle the above

105.2 hotfix

  • LFT server

    • Fixing HEAD handler (should fix omnicache)

    • Fixing logging for HEAD request

  • Connection library:

    • Fixing py2/py3 wrapper for delete - changing stop condition to prevent client hangs

  • API server:

    • Internal code changes that shouldn’t affect he API - reorganizing code that gets server time for all responses.

~2019.5~ 105.1

  • Versioning

    • Versioning changed to YYY.ZZ where YYY is sequential version number, starting with 100, and ZZ is patch.

    • This version is assigned version 105.1 to maintain continuity. Next version will be 106.0

  • Architecture

    • LFT added to the Server

  • Connection Lib

    • 07/11/2019 : OM-4110 : Fix a stale char ptr : ssantoleri/ishutov

    • 07/20/2019 : Fixing connection library request id ordering

  • API server changes

    • 06/26/2019 : OM-3100 : Refactored the code base to use RapidJSON for all JSON processing : jratcliff

    • 06/26/2019 : OM-3256 : Fixed bug if commands were issued for files that don’t exist : jratcliff

    • 06/26/2019 : OM-3190 : Added a debug string in ‘MessagePacket’ indicating which record it refers to : jratcliff

    • 06/26/2019 : OM-3232 : Defer deleting the UserAccountInstance until the next pump cycle : jratcliff

    • 06/26/2019 : OM-2856 : You can disable password checking by passing: “-disablepasswords true” : jratcliff

    • 06/27/2019 : OM-3084 : Implemented timestamps for update/read subscription responses : jratcliff

    • 06/27/2019 : OM-3167 : existsRecord method was too slow, sped it up. : jratcliff

    • 06/27/2019 : OM-3575 : Calling ‘flush’ after ever write to a record : jratcliff

    • 07/04/2019 : OM-3113 : Store delta manager repro cases and black list in data dir. Prettyprint json. : sduthaler

    • 07/04/2019 : OM-3114 : ApplyDelta() is run in a separate process to handle crashes and hangs. : sduthaler

    • 07/09/2019 : OM-3535 : Added transaction id to message result for channel messages : brianh

    • 07/11/2019 : OM-3096 : CPP server now using an ‘event based’ API for websockets : jratcliff

    • 07/11/2019 : OM-3096 : Command line argument: -websockets specifies which websockets plugin : jratcliff

    • 07/11/2019 : OM-3096 : Integrated libwebsockets dependencies into the libwebsockets plugin : jratcliff

    • 07/11/2019 : OM-4142 : Implemented the ‘createrandom’ command which runs the create benchmark but in a randomized folder location : jratcliff

    • 07/12/2019 : OM-4142 : Added the ‘-contentflushtime’ command line option, specifies time in seconds before flushing content records. Default value is 10 seconds. : jratcliff

    • 07/12/2019 : OM-4173 : Due to this bug, had to use standard OS file find to fix delete records on startup issue : jratcliff

    • 07/12/2019 : OM-4174 : Created ‘deltatest’ and ‘deltatestlocked’ benchmark commands to diagnose delta server bugs : jratcliff

    • 07/15/2019 : OM-4175 : Hash computation no longer asynchronous

    • 07/19/2019 : OM-0000 : Restored the framed message send with flood control code : jratcliff

  • Docker and Devops Tooling

    • Service name for the API server changed from ov-cpp to core-api

    • Stack name changed to ov-core

    • Image config added and stack config updated to support LFT

    • Fixed RAM footprint control of API server to work again

    • Log processor and stats generator updated to support a couple more stats for API Server, and LFT server support added to it.

    • Core API server now launched via the launcher

    • Now, metrics are exposed by containers individually and aggregated via a new service, ‘metricpx’

2019.4

NOTE: this release was backed out from the release candidate server, so the next release will contain the same changes and some more.

  • Connection Lib

    • 07/11/2019 : OM-4110 : Fix a stale char ptr : ssantoleri/ishutov

  • API server changes

    • 06/26/2019 : OM-3100 : Refactored the code base to use RapidJSON for all JSON processing : jratcliff

    • 06/26/2019 : OM-3256 : Fixed bug if commands were issued for files that don’t exist : jratcliff

    • 06/26/2019 : OM-3190 : Added a debug string in ‘MessagePacket’ indicating which record it refers to : jratcliff

    • 06/26/2019 : OM-3232 : Defer deleting the UserAccountInstance until the next pump cycle : jratcliff

    • 06/26/2019 : OM-2856 : You can disable password checking by passing: “-disablepasswords true” : jratcliff

    • 06/27/2019 : OM-3084 : Implemented timestamps for update/read subscription responses : jratcliff

    • 06/27/2019 : OM-3167 : existsRecord method was too slow, sped it up. : jratcliff

    • 06/27/2019 : OM-3575 : Calling ‘flush’ after ever write to a record : jratcliff

    • 07/04/2019 : OM-3113 : Store delta manager repro cases and black list in data dir. Prettyprint json. : sduthaler

    • 07/04/2019 : OM-3114 : ApplyDelta() is run in a separate process to handle crashes and hangs. : sduthaler

    • 07/09/2019 : OM-3535 : Added transaction id to message result for channel messages : brianh

2019.3

  • Deploy tooling

    • Added hookups to ensure that release versions are returned by deployed stacks

  • OV CLT Tools

    • sync_tree.py - added ability to use e-tags to prevent repeat downloads

  • API server changes

    • 06/07/2019 : OM-0000 : Integrated in-memory keyvalue database plugin : brianh

    • 06/07/2019 : OM-2857 : Fixed bug when downloading mount files over ov-web : jratcliff

    • 06/08/2019 : OM-2867 : Fixed ACL permissions bug after omni-web rename : jratcliff

    • 06/10/2019 : OM-2659 : Moved the DeltaContent operation into a separate process : jratcliff

    • 06/10/2019 : OM-2885 : Integrated the Carbonite process ‘Launcher’ plugin : jratcliff

    • 06/10/2019 : OM-2891 : Partial integration of shared memory IPC library into a plugin : jratcliff

    • 06/11/2019 : OM-2855 : Reduced the CPU consumption of the server : jratcliff

    • 06/12/2019 : OM-2905 : List doesn’t report ‘admin’ folders using an exclusion list : jratcliff

    • 06/13/2019 : OM-0000 : Disabled launching DeltaContentServer as a separate process temporarily : jratcliff

    • 06/13/2019 : OM-2949 : Fixed bug when a copy command referenced a non-existent source diretory : jratcliff

    • 06/13/2019 : OM-2949 : Added a new debug log channel ‘metadirectory’ for virtual file system table : jratcliff

    • 06/13/2019 : OM-2949 : Fixed bug where ‘-logdir’ wasn’t being honored at startup : jratcliff

    • 06/13/2019 : OM-2949 : Fixed a bug with the OmniResolver list command, because the callback can happen immediately : jratcliff

    • 06/13/2019 : OM-2942 : Added a command line option: “-sequentialcommands” to diagnose this bug : jratcliff

    • 06/14/2019 : OM-2964 : Renamed CopyServer to CopyManager and DeltaServer to DeltaManager : jratcliff

    • 06/18/2019 : OM-2995 : Put mount specifications in a separate config file ‘mounts.json’ : jratcliff

    • 06/18/2019 : OM-0000 : Fixed a bug with the configuration code not properly handling -datadir : jratcliff

    • 06/18/2019 : OM-0000 : Fixed a bug in the delta manager, not properly detecting locked records : jratcliff

    • 06/18/2019 : OM-2999 : Implemented a content validation system; to make sure all content matches meta: jratcliff

    • 06/19/2019 : OM-3041 : Added: -contentkeyvaluedatabase <true/false> Option to use leveldb for content: jratcliff

    • 06/20/2019 : OM-3070 : Treat user ‘omniverse’ as a super-user : jratcliff

    • 06/20/2019 : OM-3030 : Normalized record names in the code base (internal cleanup) : jratcliff

    • 06/20/2019 : OM-3077 : Refactored KeyValueDatabase to support instancing, also database logging : jratcliff

    • 06/21/2019 : OM-3085 : Treat all users in the ‘gm’ group as super-users : jratcliff

    • 06/21/2019 : OM-3084 : Implemented timestamps for pings (not update or read events yet) : jratcliff

2019.2:

Deployment tools

  • Added a quick tool to easily build and deploy server (wrapper around build.py/deploy.py)

  • Embedded YYYY.## style versioning into stack config

2019.1:

Note: this is the first ever release notes we check in; and I had to reconstruct a lot of it from commit messages. Please don’t consider this 100% accurate or full, but an early exercise – Fedor ‘Fidot’ Fomichev

Server

  • Added symbols to the build

  • Removed obsolete data and meta backends

  • Lots of cleanup, refactor, housekeeping

    • OM-2685 (rename KeyValueDatabaseAsync -> KeyValueDatabase)

    • OM-2683 (remove content cache)

    • Memory tracking disabled by default

  • Bugfixes

    • OM-2735 (LevelDB crashes on some CPUs because ‘Snappy’ is using a privileged insruction)

    • List subscription bug

  • Delta Service

    • Enabled storing repro cases in case delta server plugins crash

Client (Conn Lib)

  • Connection lib

    • Logging fixes

    • Crash fixes (OM-2706)

    • “Fixed hangup in fetch”

    • nvidia.omniverse.client (Python wrapper)

      • added get_acl()

Installer

  • Now using commint installer template

Tools

  • Cache tool packaging fixes

  • Sync tools (sync_tree.py, upload_tree.py), chmod.py, ls.py added