Releases: CoderLuii/ChannelWatch
Release list
v0.9.10
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/pythonso the stable image launcher can resolve Update Center runtime state with installed dependencies. - Pass core launcher arguments such as
--stay-alivethroughruntime_launcher.pywhile 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
_versionmetadata when defaults are merged so schema migration backups do not repeat after settings reloads. - Accept UTF-8-with-BOM
settings.jsonfiles 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
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
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://andhttps://receivers. - Custom Apprise HTTP-style URLs such as
json://,jsons://,form://,forms://,xml://, andxmls://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
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
latestimage or pin0.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
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 Problemsubmissions 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 startinguntil 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.6andcoderluii/channelwatch:latest - No config migration is required for this patch.
v0.9.5
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_KEYorCHANNELWATCH_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_KEYto a unique value of at least 32 characters, or useCHANNELWATCH_SECRET_STORAGE_KEY_FILEwith a mounted secret file. - Existing plaintext
encryption.keyfiles remain readable for migration. - Keep
/configbackups protected, and preserve the wrapping secret alongside your deployment secrets.
v0.9.4
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
latestand 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-passwordvalues; omitting--passwordnow uses a hidden prompt.
Verification
- Python tests:
1329 passed, 5 skipped - Focused security regression suite:
190 passed - UI checks: lint, typecheck,
203tests, production build - Docker smoke: local
0.9.4image responded on/healthz/live; supervisor used a Unix socket with no username/password in the rendered config
v0.9.3
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 Problemin 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/reportwith 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
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
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, andsonnermanifest entries. - Makes webhook receiver examples require
CHANNELWATCH_WEBHOOK_SECRETinstead 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.