v.5.119.0#
Changes
-
The matching algorithm has been optimized.
Matching speed has increased by 3–5% in some cases due to a library update in the Python Matcher service.
-
Sending of analytics validation schemas implemented in
Video Agent
t toVideo Manager
has now been enabled by default.Now, when creating a stream, in case of incorrectly specified analytics parameters, the system will immediately indicate a specific field and the reason for the discrepancy, which speeds up the process of setting up and correcting errors. This helps prevent errors from appearing at the stage of stream processing. This is especially important for complex analytics, where the parameters must strictly correspond to the expected scheme.
-
The capability for additional lambda configuration by the user via the API service has been added.
Now, for each lambda, you can specify additional settings (user_config) in JSON format. This allows you to flexibly manage the lambda's behavior (for example, set threshold values or file paths) without having to rebuild the Docker image — the system automatically restarts the lambda with new parameters.
The settings are passed when creating, updating, or importing a lambda via the
user_config
parameter. Example:{ "SETTING_1": "value", "SETTING_2": {"key": "value"} }
New requests for getting and updating settings have been added: update lambda config and get lambda config
For more information, see the Lambda configuration section of the developer guide.
Fixed errors
-
Fixed the
CORS
mechanism.Now the
Access-Control-Expose-Headers
header from theLUNA_API_CORS
parameter group, containingX-Luna-Meta-Rescale
andX-Luna-Expiry-Date
, is correctly returned in all server responses.Previously, it was used only for preliminary requests, which did not comply with the specification.
-
Fixed a bug where the connection to the
Licenses
service was not checked when starting theVideo Agent
service. -
Fixed incorrect behavior when re-registering analytics created by an external agent.
Previously, when restarting an external agent, the analytics created by it could be mistakenly identified by the system as internal (created by an internal agent). Because of this, the analytics became available to all users, although it should have remained tied only to the external agent account. Now, when re-registering the agent, the analytics continues to be considered external.
For more information, see the Video Manager and Video Agent services documentation in the developer guide.
-
The logic of the "ws handshake for general events" request has been fixed.
Previously, users could receive general events from all accounts in the system via WebSocket. For example, a user with
user
rights saw events created by a user withadmin
rights from another account.Now users receive only those general events that were created within their own account.
-
Fixed an error in processing the generate stream events request, due to which the
avatar
field was not set for the face.Previously, the
avatar
field was not set if the first element of thesources > source
detection array did not have a face sample. This happened even if the sample was present in subsequent detections of the same event. Now the system correctly processes all elements of the array and uses the sample identifier from the first detection where it is present for the avatar, regardless of the order of detections.Previously, if the first element in the
sources > source
detection array was a body, not a face, then the avatar was not created, even if the face sample was present in the event. Now the system correctly processes all elements of the array and uses the first found face sample to create the avatar, regardless of its order in the array. -
Fixed a bug where OpenAPI documentation for lambdas of type
agent
was missing in response to aget lambda openapi documentation
request.Previously, when executing a request, the server returned an error with the status code 500 and the message "Internal server error Service static folder not being loaded", since the necessary documentation files (OpenAPI) were missing. Now, a request to get the specification reliably returns data in the required format (YAML/HTML) instead of a server error.