> For the complete documentation index, see [llms.txt](https://docs.cstplus.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cstplus.org/changelog/readme.md).

# Changelog

### 4.1636.799

**Playlist+ : a playlist generator for linear channels**

{% hint style="success" %}
**New**

* **Playlist+** (new sidebar item under Broadcast). Build a multi-day playlist for a channel on a 24-hour timeline: name time blocks (for example a 09:00-12:00 "Morning" block), drop videos, ads, promos and filler into them, and see at a glance whether each block over- or under-fills its slot.
* **Auto-generate.** Point it at content, ad, promo and filler folders and it builds the day for you: rotates content without repeating a title within a chosen window, inserts ad breaks on a cadence, adds promos every N items, and pads the rest with filler. Filters by clip length and by filename.
* **Per-item control.** Each item can carry a title, description, age rating and cover art (with TMDB lookup), trim in/out, an audio track, in-clip markers, and up to three graphics: a Starting CG, a Main CG for the whole item, and an Exiting CG in its final seconds. These graphics play on air.
* **Build fast.** Add a whole folder to a block in one click, drag to reorder, duplicate a day or a whole playlist, generate by number of days or by a date range, and export/import a playlist as a file.
* **One click to air.** "Apply & Go Live" loads the day into playout and starts the channel.&#x20;
  {% endhint %}

{% hint style="info" %}
**Note**

* On-air graphics timing follows the playout clock with a small tolerance, which suits lower-thirds and titles.&#x20;
  {% endhint %}

### 4.1636.793

**Full localisation: English, Українська, Русский, हिन्दी**

{% hint style="success" %}
**New**

* **The whole panel now speaks your language.** Pick your interface language in Settings and every screen follows: navigation, buttons, field labels, hints, empty states, and the CG editor property panel.
* Four languages out of the box: English, Ukrainian, Russian and Hindi.
* Status messages and notifications translate automatically, so nothing is left in English mid-workflow.
  {% endhint %}

{% hint style="info" %}
**Notes**

* Untranslated example values (sample URLs, file paths, codec names) intentionally stay as-is.
* Missing a phrase in your language? It falls back to English and never breaks the layout.&#x20;
  {% endhint %}

***

### 4.1636.789

**Professional plan: AI graphics + motion timeline**

{% hint style="success" %}
**New**

* **AI graphics generation** in the CG editor is now a Professional feature, with a redesigned, clearly-marked button and a wider prompt box.
* **Motion timeline** (keyframe animation, speed curves) is also gated to Professional.
* Both are enforced on the server as well as in the panel, so entitlements stay consistent.&#x20;
  {% endhint %}

***

### 4.1636.788

**Broadcast-smooth graphics, cleaner plan limits**

{% hint style="info" %}
**Improved**

* **On-air CG animations are now smooth.** Graphics render at your channel's frame rate instead of a fixed low cap, so overlays and lower-thirds move fluidly on air, matching what you see in the editor.
* Hindi added as an interface language.
* Settings cards are now evenly sized and aligned.
  {% endhint %}

***

### 4.1636.786

**Security and licensing hardening**

{% hint style="info" %}
**Improved**

* Strengthened tamper and integrity protection across services.
* The installer now refuses to downgrade to an older release and verifies every bundle's signature.
* Added rate limiting on license activation, an upload size cap, and tighter browser security headers.
* Each install now carries a genuine fingerprint to help trace leaked or shared copies.
  {% endhint %}

***

### 4.1636.785

**CG Studio: professional motion-graphics editor**

{% hint style="success" %}
**New**

* **A full character-generator studio** for building broadcast overlays: lower-thirds, tickers, clocks, scoreboards, QR codes, shapes and images on a 1920x1080 canvas, layered back-to-front.
* **Keyframe animation** with a CapCut-style motion timeline, easing presets and a custom bezier speed-curve editor. Playback modes: once, loop, ping-pong, plus idle-loop motion.
* **Design tools:** multi-select and grouping, copy/paste, layer rename, blend modes, flip, gradient text fill, snap to safe zones and to other layers, custom safe zones.
* **Data-driven graphics:** pull text from a Google Sheet, and 20+ ready-made templates to start from.
* **Seamless on air:** take or change graphics live with no stream restart.
  {% endhint %}

***

### 4.1636.717

**Hosted public watch pages**

{% hint style="success" %}
**New**

* **Branded watch pages for your lines** at a public link: channel grid, live EPG (now / next), and four access modes (public, passcode, email gate, signed token).
* White-label the page with your own name, logo and colours.
* An update banner in the panel tells you when a newer version is available.&#x20;
  {% endhint %}

### 4.1636.715

**Interface redesign, sidebar navigation, account notices**

{% hint style="success" %}
**New**

* Redesigned panel with a warm new theme and a left sidebar for navigation.
* Settings are now organised as sections directly in the sidebar, instead of a row of tabs at the top of the page.
* Refreshed two-tone navigation icons and a cleaner header.
* **Account notices.** If your account needs attention, the panel now shows a banner at the top with a link to your account portal to resolve it. Your channels keep running while you sort it out.
  {% endhint %}

{% hint style="info" %}
**Improved**

* Strengthened licensing and tamper protection.
* The panel re-checks your license automatically, so any status change shows up without a manual refresh.
  {% endhint %}

### 4.1635.707

**Schedule mode, syndication feeds, auto-fill, ad metrics**

{% hint style="success" %}
**New**

* **Schedule mode.** Channels can now run as a real broadcast schedule: build a 24-hour day programme with named programmes at specific clock times. The guide repeats the same schedule every day. Viewers tune in at 8pm and always catch the 8pm show.
* **Auto-fill.** One click fills the rest of the day automatically from your content folder. Named programmes stay in place; only unscheduled airtime is filled.
* **Distribution.** A new Distribution page generates token-gated M3U, XMLTV, and JSON feed URLs for submitting your channel lineup to FAST aggregators (Samsung TV Plus, LG Channels, Roku, Pluto and others).
* **Ad metrics.** Ad break performance is now tracked in Analytics: total impressions, paid fill rate, and viewer count at the time of each break.
  {% endhint %}

***

### 4.1632.706

**EPG export, fleet improvements, TMDB metadata**

{% hint style="success" %}
**New**

* **EPG export.** Export any channel's programme guide as XMLTV, CSV, or plain text directly from the channel page.
* **TMDB integration.** Add a TMDB API key in Settings and CST+ automatically fills programme titles, descriptions, and poster images from the database.
  {% endhint %}

{% hint style="info" %}
**Improved**

* Edge node setup is now fully automated from the panel. Click "Add node", copy the install command, run it on the new server, and it registers itself.
* Edge nodes no longer require a separate paid license key. They activate automatically using a token from the primary server.
  {% endhint %}

***

### 4.1632.705

**Reliability and stability fixes**

{% hint style="warning" %}
**Fixed**

* Update reliability on Linux improved. Installing updates no longer fails on some server configurations.
* License enforcement now immediately blocks stream access when a license expires or is revoked. Previously, active streams could continue briefly after enforcement fired.
* Public IP auto-detection now works correctly on servers with both IPv4 and IPv6 addresses.
* Ad marker settings now save correctly from the channel panel.
* Alert delivery test now reports accurate status when a webhook or Slack/Telegram endpoint fails.
  {% endhint %}

***

### 4.1632.703

**Server-side ad insertion (SSAI)**

{% hint style="success" %}
**New**

* **SSAI ad insertion.** Ads are stitched directly into the HLS stream on the server. Connect any VAST or VMAP ad server, set a break interval or place manual breaks, and ads play seamlessly for viewers with no buffering gap. House ads fill any unsold break time automatically.
  {% endhint %}

***

### 4.1632.701

**Security hardening**

{% hint style="info" %}
**Improved**

* Installation integrity is now verified on every startup. If any file has been modified since installation, the service refuses to start.
* Additional protections added throughout the platform to prevent tampering and unauthorised access.
  {% endhint %}

***

### 4.1632.700

**Clip editor, audio tracks, trim, SSO, custom accent colour**

{% hint style="success" %}
**New**

* **Clip editor.** Build an ordered clip list for each channel with per-clip settings: choose which audio track to use (language, codec), set a trim-in and trim-out point, and preview a thumbnail before adding.
* **Manual ad breaks.** In addition to interval-based SCTE-35 breaks, you can now place breaks at exact timestamps in the channel timeline.
* **SSO (Single Sign-On).** Connect any OpenID Connect provider (Google Workspace, Azure AD, Keycloak, Okta) for admin login. Available on Business plans.
* **Custom accent colour.** Business plan admins can change the panel's accent colour to match their brand. Takes effect immediately across the whole interface.
  {% endhint %}

{% hint style="warning" %}
**Fixed**

* Alert delivery test now correctly reports failure when the configured endpoint does not respond. Previously it always reported success.
  {% endhint %}

***

### 4.1631.699

**Interface redesign**

{% hint style="info" %}
**Improved**

* Complete visual overhaul: clean white background, high-contrast typography, single red accent, no gradients or decorative shadows. Designed for long sessions and dense information.
  {% endhint %}

***

### 4.1630.698

**Public API, alerts, whitelabel branding, plan limits**

{% hint style="success" %}
**New**

* **Public API.** Create scoped API keys in Settings > API Keys for external integrations and automation. Available scopes: read stats, manage lines, trigger EAS.
* **Alerts.** Route important events (channel down, license expiring) to Slack, Telegram, or any webhook. Test delivery from the panel.
* **Whitelabel branding.** Business plan: replace the CST+ name and logo with your own brand across the panel and login screen.
* **Plan limits.** Channel count is now enforced per plan: Starter 10, Pro 20, Business unlimited. The Channels page shows a live count.
  {% endhint %}

***

### 4.1629.695

**Plan gating, file manager roots, web player tokens, SCTE-35 verification**

{% hint style="success" %}
**New**

* **Plan gating.** Features are now enforced by your license plan. Fleet size, ad markers, EAS, and analytics are gated at the plan level and reflected live in the panel.
* **Multiple content roots.** The file manager supports multiple configured root directories, useful for multi-disk setups or external mounts.
* **Web player tokens.** Generate a signed, expiring link for any line that opens a full-screen browser player without requiring an IPTV app.
* **SCTE-35 verification.** A one-click check on the channel page confirms that ad break markers are correctly present in the live stream.
  {% endhint %}

***

### 4.1628.690

**Multi-server fleet, file manager, ad markers, line expiry**

{% hint style="success" %}
**New**

* **Fleet mode.** Run CST+ across multiple servers: one primary and any number of edge nodes. The primary renders; edges sync and serve streams. Geo-routing directs each viewer to the nearest online node automatically.
* **File manager.** Browse, upload, organise, rename, and delete content directly from the panel without SSH access.
* **SCTE-35 ad markers.** Per-channel ad break signals injected into the live HLS stream for SSAI-compatible ad servers.
* **Line expiry.** Set an expiry date on any line. Access is cut off automatically on that date.
  {% endhint %}

{% hint style="info" %}
**Improved**

* HLS is now the primary stream protocol. Continuous TS remains available as a secondary option.
* The panel warns if you navigate away from a settings page with unsaved changes.
  {% endhint %}

***

### 4.1627.685

**Backup and restore, analytics v2, render reliability**

{% hint style="success" %}
**New**

* **Backup and restore.** Create a config snapshot at any time with `cstplus backup`. Restore it with `cstplus restore`. A backup is created automatically before every update.
* **Log retention.** Viewer session data is automatically cleaned up after a configurable number of days to keep the database size bounded.
* **Real traffic analytics.** Analytics now shows actual bytes delivered per session and per channel, with a throughput chart and concurrent viewers over time. CSV export included.
  {% endhint %}

{% hint style="info" %}
**Improved**

* Render reliability: unreadable or unsupported files are skipped with a warning instead of failing the entire render. The channel page shows which files were skipped.
* EPG accuracy: the programme grid stays aligned after a channel restart or crash, anchored to the actual start time.
  {% endhint %}

***

### 4.1626.680

**EAS, geo detection, analytics improvements, SSL**

{% hint style="success" %}
**New**

* **Emergency Alert System.** Override selected channels (or all channels) with an emergency broadcast instantly. Monitors live alert feeds from NWS, USGS, and GDACS. Trigger manually or via API.
* **Multiple panel URLs.** Add additional unguessable admin panel paths for sharing access without revealing your primary URL.
* **One-click SSL.** Enter a domain in Settings > Server and generate a Let's Encrypt certificate automatically.
  {% endhint %}

{% hint style="info" %}
**Improved**

* Geo detection now works without a MaxMind key using a free IP lookup fallback.
* Analytics adds peak concurrent viewers, total watch time, and per-protocol breakdown.
  {% endhint %}

***

### 4.1625.670

**First release**

{% hint style="success" %}
**New**

* 24/7 linear channel engine: upload content, render once, broadcast forever with near-zero CPU and memory cost per channel.
* Xtream Codes compatible stream edge: M3U playlists, XMLTV EPG, HLS and continuous TS streams.
* Line-based access control with connection limits, geo-blocking, and IP blacklisting.
* Admin panel with channel management, real-time viewer monitoring, and system stats.
* Signed installer and zero-downtime updates via `cstplus update`.
* License activation and enforcement.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cstplus.org/changelog/readme.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
