Skip to content

Releases: CoderLuii/ChannelWatch

v0.9.10

Choose a tag to compare

@github-actions github-actions released this 25 Jun 05:15

ChannelWatch v0.9.10 - Runtime and Config Repair

This is a repair release for v0.9.9. If you pulled v0.9.9, update to v0.9.10.

It fixes the runtime launcher/startup path, preserves settings schema metadata so migration backups do not repeat, treats blank DVR names as optional by falling back to the DVR host or IP, and accepts Windows-edited UTF-8 settings files.

Because this repair touches Docker entrypoint and runtime behavior, it requires a normal container image update.

What's Fixed

  • Show v0.9.10 as container image update required because it repairs Docker entrypoint and runtime launcher behavior.
  • Run the Docker entrypoint through /venv/bin/python so the stable image launcher can resolve Update Center runtime state with installed dependencies.
  • Pass core launcher arguments such as --stay-alive through runtime_launcher.py while keeping unsupported UI launcher arguments rejected.
  • Treat blank DVR names as optional by falling back to the DVR host or IP during settings load, settings save, health checks, /api/v1/dvrs, and core DVR connections.
  • Preserve settings _version metadata when defaults are merged so schema migration backups do not repeat after settings reloads.
  • Accept UTF-8-with-BOM settings.json files so Windows-edited configs do not block startup.
  • Keep v0.9.10 release notes focused on the repair instead of repeating old known-limit sections.

Docs

ChannelWatch Official Docs Site

Images

Docker Hub:
coderluii/channelwatch:0.9.10
coderluii/channelwatch:latest

GHCR:
ghcr.io/coderluii/channelwatch:0.9.10
ghcr.io/coderluii/channelwatch:latest

v0.9.9

Choose a tag to compare

@github-actions github-actions released this 24 Jun 23:35

Superseded by v0.9.10. v0.9.9 introduced the Update Center, but a runtime/config edge in the image can affect startup and settings migration on some installs. Use v0.9.10 or newer for the repaired image.

ChannelWatch v0.9.9 - Update Center

ChannelWatch v0.9.9 adds the new in-app Update Center in Settings.

Compatible app-only updates can now be checked, verified, backed up, applied, restarted, and rolled back from the web UI. If a future release needs a new container image because the runtime changed, ChannelWatch will say container image update required instead of trying to force an unsafe in-app update.

What's New

  • Added Settings > Updates for compatible app-only updates.
  • Added signed update manifests and signed app bundles.
  • Added pre-update backups before applying compatible updates.
  • Added rollback support when an activated bundle fails.
  • Added a stable runtime launcher so ChannelWatch can safely choose between the image app and a verified active bundle.
  • Kept runtime-changing releases on the normal Docker, Unraid, Compose, or Helm update path.

Docs

ChannelWatch Official Docs Site

Images

Docker Hub:
coderluii/channelwatch:0.9.9
coderluii/channelwatch:latest

GHCR:
ghcr.io/coderluii/channelwatch:0.9.9
ghcr.io/coderluii/channelwatch:latest

v0.9.8

Choose a tag to compare

@CoderLuii CoderLuii released this 24 Jun 12:45

ChannelWatch v0.9.8 - Trusted local notifications

ChannelWatch v0.9.8 adds a safer way to use local notification receivers without disabling the outbound URL safety policy.

Added

  • Trusted local notification destinations for private LAN webhook receivers and HTTP-style custom Apprise URLs.
  • A Settings > Notifications approval flow for exact local destinations.

Changed

  • Local/private notification destinations remain blocked by default.
  • Operators can approve an exact private LAN scheme, host, and port for notification delivery.
  • Native webhooks support trusted local http:// and https:// receivers.
  • Custom Apprise HTTP-style URLs such as json://, jsons://, form://, forms://, xml://, and xmls:// can use the same trust flow.

Security

  • Metadata, link-local, loopback, reserved, malformed, and unresolved destinations cannot be trusted.
  • Image fetching remains protected separately and does not use the trusted-local notification flow.

v0.9.7

Choose a tag to compare

@CoderLuii CoderLuii released this 23 Jun 18:41

ChannelWatch v0.9.7 - Watch notification reliability

v0.9.7 tightens the live-watch notification path after reports where ChannelWatch could see active viewing events but Recent Activity and watch notifications did not stay in sync when a provider failed or rate-limited.

What's Updated

  • Channel Watching now records session state and Recent Activity before provider delivery, so watch history remains current even when Pushover, Apprise, or routed delivery fails.
  • Live TV and DVR playback notifications now use a single outer provider delivery attempt, which avoids retrying aggressively during provider rate limits.
  • Recording and disk alerts still keep retry and circuit-breaker behavior because those lower-frequency alerts benefit from delivery retries.
  • Large disk-space values now display with the correct GB/TB unit instead of forcing large free-space values into GB.
  • The in-app Diagnostics flow includes Report a Problem support so users can prepare sanitized diagnostics without manually assembling debug zip files.

Notes

  • Existing installs can update normally with the latest image or pin 0.9.7.
  • If you use Helm, the chart and default image tag are updated to 0.9.7.
  • If you are troubleshooting notification delivery, check Diagnostics and the notification delivery history first; live-watch history should no longer depend on provider delivery succeeding.

v0.9.6

Choose a tag to compare

@CoderLuii CoderLuii released this 23 Jun 16:45

ChannelWatch v0.9.6 - Report intake and startup polish

This patch keeps the report flow easier to use from inside ChannelWatch while preserving protection on the public upload portal.

What's Changed

  • In-app Report a Problem submissions no longer show the public upload verification widget.
  • The public report upload portal and hosted worker still keep bot verification for anonymous web traffic.
  • Startup monitoring now displays Monitoring starting until the first freshness update arrives, instead of showing a degraded warning during normal warmup.
  • Restart requests now return a clear structured error when supervisor control is unavailable, rather than leaving the restart overlay waiting.
  • Release metadata, Docker, Helm, and site docs now point at v0.9.6 / 0.9.6.

Upgrade Notes

  • Docker tags: coderluii/channelwatch:0.9.6 and coderluii/channelwatch:latest
  • No config migration is required for this patch.

v0.9.5

Choose a tag to compare

@CoderLuii CoderLuii released this 23 Jun 10:15

ChannelWatch v0.9.5 - Security maintenance update

This release tightens report intake handling and local secret storage while preserving the current v0.9 report flow.

What's Fixed

  • Legacy browser API keys are kept in memory only instead of being written to browser session storage.
  • Report-intake diagnostics now escape table-breaking text more defensively in the app preview, local backend, and Cloudflare Worker.
  • Newly written local secret files use envelope encryption with CHANNELWATCH_SECRET_STORAGE_KEY or CHANNELWATCH_SECRET_STORAGE_KEY_FILE.
  • Backup and restore handling preserves encrypted key envelopes and restores the logical key through the secret writer.

Upgrade Notes

  • Fresh installs and any action that creates, rotates, or restores local secret material should set CHANNELWATCH_SECRET_STORAGE_KEY to a unique value of at least 32 characters, or use CHANNELWATCH_SECRET_STORAGE_KEY_FILE with a mounted secret file.
  • Existing plaintext encryption.key files remain readable for migration.
  • Keep /config backups protected, and preserve the wrapping secret alongside your deployment secrets.

v0.9.4

Choose a tag to compare

@CoderLuii CoderLuii released this 23 Jun 05:06

ChannelWatch v0.9.4 - Security and release hardening

ChannelWatch v0.9.4 closes the CodeQL security findings reported against v0.9.3 and tightens the release pipeline so Docker image publishing uses only the exact release tag and latest going forward.

Changed

  • Use a local supervisor Unix socket for internal process control instead of generated supervisor HTTP credentials.
  • Keep Docker image publishing focused on latest and the exact release version tag only.

Fixed

  • Allow the configured report-intake endpoint in the UI content security policy so live report submission can reach the hosted intake service.
  • Route live report submissions that require hosted verification into the secure upload path instead of showing a generic browser fetch failure.
  • Keep startup and DVR target validation responses generic while logging rejected targets internally with redaction.

Security

  • Encrypt webhook URLs and shared secrets at rest using the existing ChannelWatch Fernet key.
  • Stop printing generated reset-admin-password values; omitting --password now uses a hidden prompt.

Verification

  • Python tests: 1329 passed, 5 skipped
  • Focused security regression suite: 190 passed
  • UI checks: lint, typecheck, 203 tests, production build
  • Docker smoke: local 0.9.4 image responded on /healthz/live; supervisor used a Unix socket with no username/password in the rendered config

v0.9.3

Choose a tag to compare

@CoderLuii CoderLuii released this 23 Jun 03:25

ChannelWatch v0.9.3 - Report intake

ChannelWatch v0.9.3 adds a built-in way to send a useful support report from the Diagnostics screen without making users assemble everything by hand.

What's New

  • Add Report a Problem in Diagnostics with a sanitized report preview, optional GetChannels/GitHub/email contact fields, screenshot uploads, and ChannelWatch debug-bundle ZIP validation.
  • Add a manual upload path with support codes and offline report packages for containers or browsers that cannot submit directly.
  • Add the hosted ChannelWatch support portal at https://channelwatch.coderluii.dev/report with the real ChannelWatch logo and production verification.
  • Send private screenshots, debug bundles, file names, and private email details only to CoderLuii while keeping the public report text sanitized.

Privacy Notes

Public reports include the summary, expected behavior, public contact handles, and a safe diagnostics summary. Private email, screenshots, debug bundles, raw logs, tokens, and private config values are kept out of the public report text.

Also Included

  • Update app, Docker, and Helm version surfaces to 0.9.3.
  • Keep report-intake API failures on the structured error catalog so UI errors stay consistent.

v0.9.2

Choose a tag to compare

@CoderLuii CoderLuii released this 22 Jun 18:19

ChannelWatch v0.9.2 - Disk space unit fix

This patch fixes the dashboard Disk Space card so large free-space values are shown with the right unit. A DVR with 10.94 TB free now shows 10.94 TB Free instead of a GB label.

The dashboard and diagnostics storage displays now use the same 1024-based disk size formatter, keeping GB and TB output consistent across the app.

v0.9.1

Choose a tag to compare

@CoderLuii CoderLuii released this 21 Jun 20:11

ChannelWatch v0.9.1 - Documentation update

This patch keeps the v0.9 feature set and cleans up the public docs, examples, and packaging metadata for operators.

What's Updated

  • Corrects app, Docker, Helm, API example, and issue-template version references to 0.9.1.
  • Updates setup, security, API, webhook, settings, and dependency guidance to match current behavior.
  • Removes unused sseclient-py, date-fns, and sonner manifest entries.
  • Makes webhook receiver examples require CHANNELWATCH_WEBHOOK_SECRET instead of falling back to placeholder values.
  • Tightens the Docker publish changelog check for release tags.

Upgrade

Pull coderluii/channelwatch:0.9.1 or coderluii/channelwatch:latest and restart the container. Existing v0.9.0 /config data remains compatible.