Skip to content
Last updated

Release notes

Versions

At this time, API versions have the following statuses:

API versionStatus
v2Current
v1Deprecated

See How to upgrade to Wowza Video Intelligence Framework 1.1.0 for more information about upgrading from v1.

Changelog

October 29, 2026

VIF 1.2.0

VIF 1.2.0 only adds to the v2 REST API: new endpoints, two new detector types, and a handful of optional fields.

Highlights:

  • The REST API (v1 and v2) now requires Engine credentials by default. Previously, unless the Engine was explicitly configured to put the API behind authentication, it was reachable with no credentials at all, so anyone who could reach the REST port could change your configuration. The server property that controls this, VideoIntelligenceServer, now defaults to authorized; unauthorized still works if you set it deliberately, and logs a warning at startup. Within an authorized mount, the Engine's read-only basic role gets an explicit 403 on every non-GET request, and the REST interface can authenticate with digest (MD5 or SHA-256) as well as basic, depending on how it's configured.
  • Added motion, a frame-differencing detector type: each detection is a tracked moving region, with confidence expressed as net displacement rather than a quality score. It can run standalone or as a chain's entry stage.
  • Added chain, a detector type that runs named detector stages (scene, object, vlm, motion, or synthetic) over the same captured media, with linear, conditional, or dynamic routing between stages.
  • Added POST /probes/svd-endpoint to check that a Synthetic Video Detector endpoint is reachable and accepts its credentials, the gRPC counterpart to the existing VLM probe.
  • Added POST /probes/webhook and POST /probes/lifecycle-webhook to test-fire a webhook listener or the VOD lifecycle webhook without waiting for a real detection or job.
  • Secrets are no longer VOD-only. They're now a single named-credential store any config can reference by name — a service key, a VLM or SVD endpoint key, an SVD TLS client key, a webhook listener's credential — stored at conf.modules/vif/secrets.json (migrated automatically from the old conf.modules/vif/vod/secrets.json on the first write). New secret names follow stricter rules (letters, digits, ., _, -; unique ignoring case).
  • Webhook listeners can now carry a credential_secret and credential_header, so detections can be delivered with an authenticated header instead of an open endpoint.
  • Added lifecycle_webhook_header to VOD jobs and VOD settings, for lifecycle webhook receivers that expect their credential under a header other than Authorization.
  • Added per-GPU readings (HostStats.gpu.devices[]) alongside the existing host-wide GPU averages.
This release changes the REST API's default authentication

If you relied on the VIF REST API (v1 or v2) being reachable without credentials, upgrading breaks that. Supply Engine credentials, or set VideoIntelligenceServer=unauthorized in Server.xml to deliberately keep the old behavior.

Two changes can affect strict clients

A client that rejects unknown DetectorType values fails when it reads a stream or job using motion or chain. Separately, DELETE /persist/apps/{app}/streams/{stream}/listeners/{name} can now answer 400 (it validates the stream's resolved configuration before removing the listener) in addition to its previous 204, 404, 412, and 428 — a caller that only handles those four needs to handle 400 too.

Also in this release: a VOD resume's 409 now carries a cause (credentials_required, config_mismatch, or config_drift) so a client can act on a refusal without parsing detail; VodFailureCause gained endpoint_rejected; and the file listing (GET /vod/files) now documents which codecs are refused at submission (AV1, VP9) versus at run time (no readable video track, or H.265 under a detector that only takes H.264).

September 7, 2026

Version 2 (VIF 1.1.0)

VIF 1.1.0 introduces the VIF REST API v2, served on /v2/vif alongside the existing v1 API. v2 replaces v1's flat configuration document with a layered model: a default config, a matching stream group config, a per-stream override, and any runtime changes, each layer filling in whatever the one below it left unset. Endpoints are grouped by what they work with: framework-wide status (Server), the streams currently running (Runtime), durable configuration saved to disk (Persist), connectivity checks (Probes), and on-demand video analysis (VOD).

VIF REST API v1 is deprecated

The v1 API is deprecated as of 1.1.0, and Wowza strongly urges customers to move any integration to v2. A v1 write rewrites the configuration in the old format and silently breaks settings saved through 1.1.0 — per-stream overrides lose their meaning and stop layering over their defaults. See How to upgrade to Wowza Video Intelligence Framework 1.1.0 before you upgrade.

Highlights:

  • Added the VIF REST API v2, replacing the flat v1 configuration document with layered stream group configs, per-stream overrides, and runtime state.
  • Added VOD (video on demand) analysis endpoints which help you with analyzing VOD files.

For a walkthrough of the API grouped by folder, see Trial the Wowza VIF Postman Collection.