Skip to content

v.5.126.0#

Changes

  • SDK has been updated to version 5.31.2.

    • Deepfake estimator has been updated to version 9. The algorithm's accuracy has been improved.
    • The numThreads parameter now creates exactly numThreads threads (previously it was numThreads - 1).
  • A new request create restream has been added, allowing you to launch an HLS restream of any video stream via a link without creating a 'stream' entity.

    This speeds up stream setup and testing by allowing you to immediately obtain a link and playback token.

  • The get faces query parameters sort and order have been added to customize the sorting of data in the response body.

    The sort parameter can take the values ​​create_time, external_id, user_data, face_id, or none (disables sorting). The default value is face_id if a filter by face_ids is specified; otherwise, it is create_time.

    The order parameter specifies the sort order: asc for ascending, desc for descending (default is desc). Sorting by user_data is performed lexicographically (alphabetically).

  • The agent_groups parameter has been added to the registration request.

    This setting allows you to control how flows are distributed among agents. If one or more groups are specified in this parameter, the agent will only process flows from these groups. You can specify a group using group_id or group_name.

  • The LUNA_VIDEO_AGENT_GROUPS parameter has been added to the Video Agent service. It allows you to specify a stream group for the agent. Only streams from the specified group will be processed.

    You can also specify groups in the Luna-Video-Agent container using environment variables:

    VL_SETTINGS.LUNA_VIDEO_AGENT_GROUPS.GROUP_NAMES=[my_greate_group_1,my_greate_group_2]

  • The PIN_THREADS setting has been removed from the LUNA_REMOTE_SDK_RUNTIME_SETTINGS, LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGS, and LUNA_VIDEO_AGENT_RUNTIME_SETTINGS sections. The setting is no longer used.

  • The order_column parameter has been added to the get streams request.

    This parameter allows you to sort streams by the name field. Previously, sorting was only possible by the create_time field.

    The order parameter specifies the sort order: asc for ascending, desc for descending (default is desc).

  • Support for custom meta information (meta) has been added for objects.

    When creating an object, you can now pass custom data as a set of X-Luna-Meta-<key> headers, where <key> is the name of the metadata field, and the header value is its contents (in JSON format).

    Example: X-Luna-Meta-user_info: {"temperature": 36.6}

    To retrieve stored metadata, use the with_meta=1 query parameter in the get object request. In this case, the metadata will also be returned in the response via the X-Luna-Meta-* request headers.

  • The Video Agent service now immediately sends a report to the Video Manager service for streams whose processing has completed or been interrupted due to an error.

    Previously, such reports were sent periodically.

    See the Video Agent developer guide for more details.

  • New settings have been added to the LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGS parameter group:

    • PROGRAM_CACHE_SIZE — limits the number of cached elements, which speeds up work with a large number of tasks;
    • DEFAULT_GPU_DEVICE — allows you to select the default GPU device (relevant for systems with multiple GPUs);
    • CPU_HIGH_WATERMARK and GPU_HIGH_WATERMARK — set the maximum memory size for the CPU and GPU;

    For more information, see the SDK documentation.

  • The Video Agent service now supports setting the SDK logging level by passing the LUNA_SDK_RUNTIME_LOG_LEVEL and LUNA_SDK_LOG_LEVEL environment variables to the container.

  • The Lambda service can now collect and store metrics in Prometheus format as time series, allowing you to monitor the behavior and health of your lambdas.

    A standard set of metrics is available, as with other LUNA PLATFORM services: total number of requests (request_count_total), total number of errors (errors_count_total), and a histogram of request execution times (requests). See Export metrics in Prometheus format.

    To get metrics for a specific lambda, the get lambda metrics query has been added.

    To collect metrics, you must:

    • Launch and configure the Prometheus service to collect metrics from /lambda_metrics.
    • Enable metrics collection in the LUNA_SERVICE_METRICS Lambda service settings group.
    • In LUNA_LAMBDA_METRICS_SETTINGS set the origin parameter to the current Prometheus IP address.

    For more information, see the Lambda section of the developer guide.

  • The ability to enable/disable lambda upon user request has been added.

    This allows Kubernetes cluster resources to be freed up when lambdas are not in use, without deleting their data. Furthermore, starting a disabled lambda is quick, without the need to rebuild the Docker image.

    A new parameter, alive, has been added, which displays the current lambda state: 0 (disabled) or 1 (enabled). This parameter is returned in the response when requesting lambda information via get lambda, and also in the list of lambdas via get lambdas.

    To manage lambda state, use the switch lambda request.

    Note: Using lambda in a disabled state via the "/lambdas/{lambda_id}/proxy" resource is not available.

    For more information, see the Lambda section of the developer guide.

Fixed errors

  • Fixed an issue where the path was incorrectly registered in Prometheus metrics for requests with invalid HTTP methods (status code 405).

    Previously, when accessing an existing route with an unsupported method, the metrics would display the value "{unknown_route}." For example, when making a DELETE request to /version:

    {path="DELETE:{unknown_route}",service="luna-api",status_code="405"}

    Now the metrics correctly indicate the specific path and request method:

    {path="DELETE:/version",service="luna-api",status_code="405"}

  • Fixed an issue with sending SDK functionality monitoring data to the Video Agent service.

  • Fixed an issue where the Remote SDK service would stop estimating new photos due to incorrect VRAM allocation.

LUNA Vector Search Module

  • Starting with this build, a new LUNA Vector Search Module (LVSM) module is available for LUNA PLATFORM 5, expanding the platform's capabilities by leveraging the Qdrant vector database.

LUNA Vector Search Module is a module for creating vector collections based on custom sets of LUNA PLATFORM 5 descriptors, designed for flexible and high-performance event matching. LVSM allows you to:

  • Organize fast and flexible searches across billions of vectors (descriptors) using the Qdrant vector database.
  • Create collections with automatic data synchronization from LUNA PLATFORM (synchronization only includes adding and deleting events), supporting filtering based on parameters (e.g., account_id, create_time).
  • Integrate with the existing LUNA PLATFORM infrastructure via the Python Matcher Proxy plugin system.

To implement these tasks, the module uses the Qdrant vector database, which provides:

  • Built-in sharding—a horizontal scaling mechanism that ensures even load distribution and fault tolerance by automatically distributing data across shards.
  • GPU indexing—expands the applicability of vector search to tasks with large data volumes and high performance requirements.
  • Advanced search filters (including time intervals and GPS coordinates) with post-filtering—the ability to apply additional filters to search results.

LUNA Vector Search Module is provided as a separate distribution containing an administrator's guide with information about the module's operation, installation instructions (manual and with Docker Compose), OpenAPI specifications, and startup scripts.

For more information, see the LUNA Vector Search Module administrator's guide.