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.
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.
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
Added support to setup the discovery YAML configuration from a string in the environment variable
Removed OmniError Enum from C++ client interface header and replaced it with uint64_t
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.
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.
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
added log rotation to docker stack
removed unused typedef in C++ client header
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
added subscription interface
upgrade connection to 107.4 nucleus server version (still 9.10 connection)
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
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.
reduced docker image size
adapted to new naming conventions
rotating log support
separate readme for the image
first internal release