Changelog

All notable changes to ferobot are documented here. Format follows Keep a Changelog. Versioning follows Semantic Versioning.

0.2.0 - 2026-06-02

  • Rewrote ReqwestClient::with_timeout to build the inner client directly

  • Simplified for_api: removed HTTP/2 settings, gzip, connect_timeout; pool reduced from 512 to 200; keepalive changed to 60s

  • Simplified for_polling: removed connect_timeout, pool_idle_timeout, tcp_nodelay, and HTTP/2 settings

  • Removed call_api_raw from Bot and post_json_raw from the BotClient trait

  • Webhook handler reverted to double-spawn for panic isolation; body deserialization back to axum’s Json extractor

  • reqwest feature set reduced: removed http2, rustls-tls, gzip from non-wasm target

  • Removed AI-style section separator comments from .rs and .py source files

  • Replaced en dashes in examples with plain hyphens

  • Version bump across Cargo.toml, docs, and README

0.1.2 - 2026-05-08

Auto-generated from Telegram Bot API 10.0.

0.1.0 - 2026-01-01

Initial release.

  • 285 types generated from Telegram Bot API 9.4 (257 structs, 21 union/enum types, 7 marker types)

  • 165 async methods, 100 optional param structs with builder pattern

  • Bot::new(), Bot::with_api_url(), Bot::new_unverified()

  • ChatId, InputFile, ReplyMarkup, InputMedia

  • Poller for long-polling, BotError with flood-wait helpers, multipart upload

  • Dispatcher with handler groups, CommandHandler, MessageHandler, CallbackQueryHandler

  • ConversationHandler with InMemoryStorage and Redis storage support

  • Middleware trait with LoggingMiddleware and RateLimiter built-in

  • RetryPolicy with exponential back-off and flood-wait handling

  • Updater with long-polling and webhook modes

  • Context struct with effective_chat(), effective_user(), effective_message()

  • Filter system with composable .and(), .or(), .not() operators

  • Codegen: codegen/codegen.py generates gen_types.rs and gen_methods.rs from api.json

  • CI: auto-regenerate on Telegram spec changes, build/test/lint, release, docs workflows

  • Examples: echo_bot, command_bot, colourbutton, webhook, mock_client