> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hoplynk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> New features, updates, and fixes shipped to the Hoplynk platform.

<Update label="May 22, 2026" description="Weekly release">
  ## New features

  **WHIP-push streaming for sub-200ms video**
  Camera feeds now stream from the kit to the cloud over WHIP on port 443, replacing the previous RTSP path. End-to-end glass-to-glass latency drops to under 200ms, and outbound 443 means streams traverse restrictive networks without firewall changes. No action needed — kits pick up the new path automatically.

  **Reolink dual-stream**
  Reolink cameras now publish their substream to the cloud (efficient over cellular and Starlink) while keeping the main HD stream available on the local network. You get smoother remote viewing without losing local recording quality.

  **Partner asset push API**
  Register a partner-managed asset once with `POST /kits/{kit_id}/assets`, then push GPS fixes via `POST /kits/{kit_id}/assets/{asset_id}/location`. Locations appear on the Argus map immediately — no connector process required. See [Create Asset](/api-reference/assets/create) and [Push Location](/api-reference/assets/push-location).

  **Asset hierarchy and tracking in the Python SDK (v0.2.0)**

  * `get_asset_tree(kit_id)` returns the full parent/child asset hierarchy.
  * `get_asset_children(kit_id, asset_id)` returns direct children of an asset.
  * `parent_id` is now exposed on every asset.
  * `client.track(...)` is a one-liner for pushing GPS fixes for a partner asset.

  See the [Python SDK reference](/sdk/python).

  **Link usage in the Python SDK (v0.2.1)**
  `LinkStatus` now includes a `usage` field, backed by a new `LinkUsage` dataclass, so you can read per-link byte counters and session totals directly from the SDK.

  **JavaScript SDK 0.2.0**
  The `@hoplynk/sdk` npm package adds `createAsset` and `pushLocation`, matching the Python SDK. See the [JavaScript SDK reference](/sdk/javascript).

  ## Updates

  **Lower PTZ and video latency**
  Encoder settings have been tightened across all camera connectors: keyframes every 15 frames, B-frames disabled, and `low_delay` flags on the transport. PTZ moves feel noticeably more responsive in the Argus dashboard.

  **Auto-detected kit networking**
  Kits now detect their ZeroTier IP automatically on startup. New kits no longer need per-device network configuration before they come online.

  **`type` field on links**
  `LinkStatus` now carries an explicit `type` (`cellular`, `starlink`, `wired`, …) so you can filter and group links without parsing names. Available via the SDK and the [List Links endpoint](/api-reference/kits/links).

  **New kit telemetry helpers in the Python SDK**
  Added direct accessors: `get_kit_telemetry`, `get_battery`, `get_gateway`, `get_clients`, `get_speedtest`, plus `get_kits`, `get_links`, `get_link`, `get_asset`, and `kit_stream` for the kit WebSocket.

  ## Fixes

  **Dead stream detection**
  A watchdog now tears down stalled WHIP streams quickly instead of waiting on a long timeout, so reconnects after a flaky link recover in seconds rather than minutes.

  **ffmpeg 5.x compatibility**
  Fixed a startup failure on kits running ffmpeg 5.x or newer caused by a renamed timeout flag. Streaming now starts cleanly across all supported ffmpeg versions.

  **Authentication docs pointed at the right place**
  The [Authentication guide](/authentication) now correctly directs you to the Argus dashboard to generate an API key.
</Update>
