Documentation menu

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.2.4Current2026-10-16commit 23bafe6

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.

Recommended: gated upgrade
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 red
Manual path (compose)
git 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

  1. 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
  2. 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
  3. 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
  4. 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.