3.42.0 (2026-03-23)
New Features
- add managed news categories and tags with DB-backed CRUD (51392d1)
- add media upload/delete API for news articles (a0d40ad)
- add news articles module with admin CRUD and public API (b932403)
- enforce single featured news article — unfeature others on toggle/create/update (b5853ec)
- show Platega payment methods inline on main screen (#2720) (334db53)
Bug Fixes
- add explicit File(...) to UploadFile param to fix 422 on media upload (89bfdc8)
- add Literal type to SavedMedia and close orphaned PIL Image objects (ce554cb)
- add user ID to payment descriptions for all providers and fix tuple bug (2f19c76)
- catch DecompressionBombError, hoist MP4 brands to module level (172924d)
- comprehensive html.escape() for all user/admin data in Telegram HTML messages (9de3490)
- comprehensive security hardening across payment and API layers (8175bc8)
- correctly price unlimited traffic (0 GB) in classic subscription mode (aec04f0)
- create uploads subdirectories in Dockerfile for correct permissions (5ed3780)
- media upload security hardening from 6-agent review (165d25e)
- news module security hardening, perf optimizations, bug fixes (2b91808)
- phantom user merge on claim failure, referral assignment, account merge hardening (fad77f8)
- register categories/tags/media routers before news to avoid route conflict (d9cda3a)
- reject HEIC as MP4, close UploadFile, narrow exception handling (7ff73e8)
- remove future annotations breaking UploadFile, harden media URL generation (0225fa1)
- replace asyncio.gather with sequential queries on shared session (3e69efe)
- respect per-channel disable_on_leave settings in monitoring service (958ec48)
- respect X-Forwarded-Proto in media URL generation to prevent mixed content (fd41009)
- restore connected_squads and admin notification on daily subscription resume (89341ba)
- simplify 0046 migration downgrade to just drop_table (015c2da)
- suppress harmless TelegramBadRequest errors and fix discount promo display (0fe3c21)
- use IF EXISTS in downgrade for FK indexes (76b1f9b)
- validate FK existence, add FK indexes, expand video brand whitelist (f0cdd5d)
- validate period_days against tariff in purchase-tariff and auto-purchase (4660ca5)