Changes

2.0.8

General

  • Allow configuring ports via System Monitor.

2.0.7

General

  • Updated connection lib to 10.7 (Nucleus 109.7).

  • Switched to Artifactory pip mirror.

  • Switched to omniverse base docker image.

  • Switched to new location for data storage and log file output.

  • Updated auth client to 1.0.3-main.

2.0.6

General

  • Updated IDL CPP to 0.13-master.

  • Switched to new release process omniverse flow. master branch renamed to main.

  • Updated discovery client to 1.0.4-main.

  • Updated auth client to 1.0.2-main.

  • Updated connection lib to 10.7-master.

  • Locked pip requirements and added all sub-dependencies to requirements files.

  • Refactored testharness.

2.0.5

General

  • Fixed: Tag Reset command did not correctly handle list of tags if their tag_names were not all set or not all unset.

  • Fix: Default deployments file was not using 127.0.0.1 as service IP

2.0.4

General

  • Added support to setup the discovery YAML configuration from a string in the environment variable OV_SERVICE_DEPLOYMENTS.

2.0.3

General

  • Using SQLITE_TMPDIR in docker stack to setup temp storage location for sqlite3.

2.0.2

General

  • Removed OmniError Enum from C++ client interface header and replaced it with uint64_t

2.0.1

General

  • Updated auth and discovery client from dev to master versions.

  • Updated IDL packages to fix connection handle leak.

  • Updated OV Connection to latest Nucleus 109.3 version, fixes transfer and threading issues.

2.0

General

  • Switched to IDL generated interface.

    • Service and client interfaces are now auto generated.

    • Used transport is now websockets instead of omni-messaging.

  • Interface is split into:

    • Tagging Service: Used to modify and query the tags

    • Tag Subscriptions: Used to subscribe for tag-change events.

    • Tag Suggestions: Used to read and write tag suggestions per folder

  • The host for each interface can be retrieved from the discovery service.

  • Slight changes to interfaces, e.g. multiple Tags are now passed as an array of structs.

  • Fixed bug in auth token cache

  • Results returned by tag_query can be limited in the query and in the service’s config.

  • Hidden namespaces can be filtered.

  • Subscription events return an array of tags instead of a single tag to reduce number of events.

  • Reset tag modifications generate remove events for the cleared tags.

  • Create/release client functions got removed. Separate function to generate a client ID.

  • Explicit unsubscribe function got removed from Tag Subscriptions. This is handled now by an asynchronous generator.

  • psutil and prometheus client dependencies moved to pypi.

1.4

General

  • deleting a tagged file will trigger remove event notifications to subscribers

  • removed ACL checks for query results and subscriptions

  • reduced worker thread count of service to 4

  • moved in and outgoing messages from INFO to DEBUG logging level

Docker

  • added log rotation to docker stack

Client

  • removed unused typedef in C++ client header

1.3

General

  • storing tags in a relational database local to the service instead of files in OV [OM-9051]

  • improved shutdown speed on signal SIGTERM.

  • made read-only methods of C++ client API const

1.2

General

  • added subscription interface

  • upgrade connection to 107.4 nucleus server version (still 9.10 connection)

1.1

General

  • namespaces & values added as explicit parameters and return values

  • folders can be tagged

  • query data structure is persisted on disk

  • possibility to regenerate the query structure at start (OV_REGENERATE_DB)

  • possibility to update format 1.0 tagging files at start (OV_UPDATE_TAG_FORMAT_1_0)

  • file event listener (reacts on ACL change and file delete)

  • changed behavior of tag modify operator, split Set into Set and Reset.

  • tag suggestions modify operator Set got renamed to Reset.

  • query API got slightly extended:

    • one query per property (path, namespace, tag, value). Intersection (AND) of each query is the final result.

    • empty queries are interpreted as ANY (equal to * wildcard)

    • all queries except path query does/is an exact string match

    • path query does a “startsWith()” match to allow filtering for a common root folder

    • value queries and value returns come with a performance penalty (additional OV read per match)

    • result mask to receive only the properties of interest (bool returnPaths, etc.)

  • changed pointers to IDs for both the connection and the tagging client. Improves resource management and module interoperability.

  • added doxygen documentation for C and C++ headers (output in _doc folder)

  • added README.md and CHANGES.md to repository

  • more serious unit testing (tests/cpp)

  • update to connection lib version 9.10

    • fixes deadlock issue

    • version that comes with the 107.0 server release

  • getTags on a path without tags should not return an error

  • some smaller renames in the API for consistency reasons

Python API

  • PEP8 function and parameters naming style

  • made returned future wrappers await-able

  • future wrapper timeout is measured in seconds (floating point) not milliseconds

  • OmniCreateTagServiceClientSettings expects now a connection ID instead of a connection pointer as input. This improves compatibility between modules that share a connection.

Docker

  • reduced docker image size

  • adapted to new naming conventions

  • rotating log support

  • separate readme for the image

1.0

  • first internal release