Features & Improvements
- Added native Rust crypto acceleration to MadelineProto via
madeline_crypto, included in the Docker image. Heavy crypto operations run off the PHP thread. - Improved file download performance and connection reuse.
- Added configurable request batching with size, timeout, and concurrency limits:
REQUESTS_BULK_SIZE,REQUESTS_BULK_INTERVAL, andREQUESTS_BULK_CONCURRENCY. Disabled by default. - Cancel queued requests when HTTP clients disconnect.
- Made file size and filename optional for downloads.
- Updated MadelineProto, Telegram API schema, and dependencies.
- Added the
zstdPHP extension to the Docker image.
Performance
- Up to 2× faster downloads: 473 Mbit/s achived on 2 core VPS.
- ~100× higher crypto throughput and 98.7% less CPU time per GiB in the ARM64 benchmark versus upstream v8/OpenSSL: 1,514 vs 15.16 MiB/s, using 0.85 vs 67.51 CPU-seconds/GiB.
- Async crypto operations. Decryption and encryption operations now run in separate thread in rust extension and dont block main thread and network IO. So other api requests can be processed during downloads/uploads.
Fixes
- Fixed CDN downloads and downloads with unknown file sizes.
- Fixed video playback and HTTP error codes for media responses.
- Fixed media constructor handling in nested request parameters.
- Fixed MySQL startup on macOS.
- Improved graceful shutdown and increased Docker log retention.
Full Changelog: v2.7.2...v2.8.0