Documentation menu
Getting started
New in v2.0
Feature deep dives
Reference
Releases
Releases & changelog
Release history for AutoTelegramForward: what shipped in v2.2.4, every release before it, and the verified upgrade path.
Verified against the checkout built for v2.2.4 · updated 20 Oct 2026
On this page
v2.0 — Multi-Source Routing, Per-Task Policies, AI Control & Full Observability
v2.0 turns the forwarder into a routing platform: one task fans out from any number of sources to any number of targets, each with its own content policy. AI rewriting is switchable per task, the whole stack is observable, scriptable and upgradeable from the command line, and both clients share one contract-gated system surface.
13 changes in this release
- M sources → N targets per task, with the primary mirror kept in step by a single sanctioned write path
- Per-task content rules (metadata["content_policy"]) plus per-source and per-target overrides that are additive only
- Unicode-folded, word-boundary keyword matching — one blacklist catches Persian, Arabic and English spellings alike
- ReDoS-refused regex gates, single-pass deterministic replacements and cheapest-first evaluation
- AI rewrite enable/disable per task, custom prompt templates with versioning, and delivery that never blocks when the model is unreachable
- Central logger with attributable, queryable history plus a log explorer with live stream, stats and purge
- Dead-letter queue inspect / replay / purge, tenant-scoped, with OUTCOME_UNCONFIRMED as a first-class outcome
- Ordered delivery lanes so a burst is delivered in the order it was posted
- Atomic channel cursor persistence — the poller can no longer race the connection
- Modern system surface shared by web and mobile, protected by a contract gate that fails on drift
- Full-stack DevOps CLI with 29 command groups, plus atf validate as a CI pre-deploy gate
- Automated upgrade engine: git pull → build → recreate → network alias repair → health gate
- 10-language UI with enforced 1:1 catalog parity and strict English fallback
Upgrading
The upgrade command is deliberately gated: it validates the configuration and refuses to proceed on a stack that is already failing, so you never debug two problems at once.
atf validate --strict # fail fast on config drift
atf system upgrade # pull, rebuild, restart through the gate
atf status # live board: ports, reachability, task counts
atf doctor # deeper diagnosis if anything is redgit pull origin master
docker compose build
docker compose up -d
docker compose ps
# Verify before trusting
curl -s localhost:8080/api/system/setup | jq '.ready, .services'Release history
- v1.5.22026-10-13
Mobile release hardening
Android permission and packaging fixes on top of the Flutter client preview.
- INTERNET permission restored in the Android manifest
- Release APK and Play Store bundle pipeline stabilised
- Mobile reachability probing before any credential prompt
- v1.5.12026-10-13
Flutter client parity pass
Mobile client aligned with the dashboard surface and the localization rules.
- RTL/LTR layout handling verified on Android
- Secure credential storage for sessions and passwords
- Protocol version compatibility check against the API
- v1.5.02026-10-13
Flutter mobile client
First packaged mobile release mirroring the dashboard capabilities.
- Native Android build embedding the full control surface
- Encrypted local storage of the dashboard token
- Live health and topology screen on mobile
- v1.4.12026-10-11
Bot-layer tenant isolation
Fail-closed ownership enforcement extended into the Telegram bot layer.
- Numeric-id authorization for every bot action
- Clean onboarding for unlinked users (no premature dashboard links)
- Structured [PIPELINE:*] logging across the bot commands
Full tag history and signed artefacts live on GitHub releases. The version numbers on this page are read from the repository at build time.