NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Televerse lets you create your own efficient Telegram bots with ease in Dart. Supports latest Telegram Bot API - 10.2!
Last release 2 months ago
27 Jul 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
4 years old
178 releases · first in 2022
One column per quarter.
Fixes an issue with InputFile that caused API call failure on different send methods. Thanks to @devsdocs over #364
Add missing parameters to RawAPI and refactor Context methods by @The0xArchitect in #363
Full Changelog: v3.5.1...v3.5.2
InputFile parameters to RawAPI methods (sendDocument, sendVideo, sendAnimation, sendVoice, sendVideoNote).Context.fileId getter to get file ID from messages if any.Prevent including null richMessage in editMessageText payload by @albor09 in #361
Full Changelog: v3.4.0...v3.5.1
- 🤖 Bot API 9.6 (April 3, 2026)
- Bot API 9.5
Breaking: Changed APICaller signature to use String instead of APIMethod. This gives unrestricted access to Telegram API Methods using RawAPI.call.
APICaller signature to use String instead of APIMethod. This gives unrestricted access to Telegram API Methods using RawAPI.call.Transformer to also use the new updated signature.RawAPI to be more efficient in making API calls.LoggingPlugin to use JSON logging for requests as well.InputFile and other media models are now JSON serializable, and does not require special handling.InlineKeyboard.text, InlineKeyboard.switchInline, InlineKeyboard.switchInlineCurrentChatv3.1.4 by @The0xArchitect in #356
isTest parameter to Bot constructor to support test environment.RawAPI to support test environment and custom base URL.chore: version bump by @The0xArchitect in #354
Full Changelog: v3.1.2...v3.1.3
sourceIsMiddleware property to BotError to identify the source of the error.Bot.onStop method to handle stop events.chore: project moved to weaver labs by @The0xArchitect in #353
Full Changelog: v3.1.1...v3.1.2
Introduce InputFileProvider to streamline file extraction in media models.
InputFileProvider to streamline file extraction in media models.isServiceMessage check.Bot to Composer.Full Changelog: v3.1.0...v3.1.1
See changes here: https://core.telegram.org/bots/api-changelog#december-31-2025
Removed one last stray dynamic type from the library.
dynamic type from the library.Payload's [] operator as Object?.Nothing published for this version
⚠️ Contains Breaking Changes: See migration guide here.
Fixes a bug in Conversation.filter method.
Conversation.filter method.Context.from retrieval order.This is a major breaking release that introduces a complete architectural redesign inspired by grammY, bringing modern patterns and enhanced developer
This is a major breaking release that introduces a complete architectural redesign inspired by grammY, bringing modern patterns and enhanced developer experience to Telegram bot development in Dart.
+ for OR, * for AND, - for NOT)bot.filters property for type-safe filter access without generic specificationsPredicateFilter for custom filtering logic with optional namingbot.filters.photo + bot.filters.videobot.filters.anyMessage - bot.filters.commandBotPlugin<CTX> interface for extensible bot functionalitySessionPlugin<CTX, T> - Persistent user sessions with customizable storageConversationPlugin<CTX> - Advanced multi-step conversations with timeout supportLoggingPlugin<CTX> - Request/response loggingMiddlewarePlugin and TransformerPlugin base classes for easy plugin developmentConversation.wait() with timeout support and ConversationTimeoutExceptionConversation.waitFor() for predicate-based waitingConversation.filter() for filter-based waitingConversation.waitUntil() with validation and otherwise callbackextendTimeout() and setCustomTimeout()ConversationStorage interface with MemoryConversationStorage implementationgetConversationStats()Middleware<CTX> typedefComposer<CTX> class for advanced middleware compositionbot.when()bot.fork()bot.lazy()bot.branch()bot.errorBoundary() and recovery supportbot.startWebhook() for instant webhook deploymentbot.startWebhookDev() for ngrok development workflowBot<CTX extends Context>contextFactory parameterbot.filtersBotStats class with comprehensive metricsbot.statsDioHttpClient as default implementationMiddleware is now a function typedef instead of a classMiddlewareBase - use function-based middlewareBot.use() now only accepts Middleware<CTX> functionsbot.api.use() instead of Bot.use()Bot.local() constructor now takes URL as second positional parameterBot.useContext() to constructor parameter contextFactoryBot.start() methodLoggerOptions - use custom HTTP client with interceptors insteadContext.me is now BotInfo instead of Userctx.me.me?.firstName instead of ctx.me.firstNameConversation.waitForTextMessage() and similar methodsconversation.filter(Filters().text) patternConversationResult classes removed - methods now return Context directlyConversationSuccess/ConversationErrorKeyboard.addText() renamed to Keyboard.text()InlineKeyboard.addUrl() renamed to InlineKeyboard.url()InlineMenu.text() signature changed to (String text, String callbackData, UpdateHandler<CTX>)switchInlineQueryCurrentChat renamed to switchInlineCurrentChatBot.removeMenu() method removedHandler<Context> typedef renamed to UpdateHandler<Context>ID.get() method removed - use api.getChat(id) insteadteleverse.dart to telegram.dartpackage:televerse/telegram.dart for ParseMode, ChatAction, etc.- 🤖 Bot API 9.1
ForumTopic.messageThreadId is int not String
ForumTopic.messageThreadId is int not StringRemoved Update.msg usage in the Conversation.waitForTextMessage, this could unintentionally match callback query message texts.
Update.msg usage in the Conversation.waitForTextMessage, this could unintentionally match callback query message texts.Supports accepting custom Dio instances for HTTP calls - See #337
Fix #334 - thanks to @zelmkhan for raising this!
- 🤖 Bot API 9.0
- Migrated to Freezed 3.x.x
Fixed: ChatMemberOwner is now correctly represented as ChatMember.creator instead of ChatMember.owner.
ChatMemberOwner is now correctly represented as ChatMember.creator instead of ChatMember.owner.Fixed: ChatMemberBanned is now correctly represented as ChatMember.kicked instead of ChatMember.banned.
ChatMemberBanned is now correctly represented as ChatMember.kicked instead of ChatMember.banned.Added missing @JsonKey annotations for InputMessageContent in InlineQueryResultArticle
Fix typo in MessageOriginChannel
MessageOriginChannelAll Telegram models are now re-written with Freezed
Keyboard & InlineKeyboard usage. Check this PR comment for details.Surpress all the invalid_annotation_target warnings
invalid_annotation_target warnings- fix: bot.init (#320) - updated analysis_options.yaml
analysis_options.yamlMinor lint supression - excluded generated files being anlyzed.
All Telegram Models are now built with Freezed.
Keyboard & InlineKeyboard usage. Check this PR comment for details.Check the Telegram Bot API changelog for detailled change info.
Added the methods verifyUser, verifyChat, removeUserVerification, and removeChatVerification, allowing bots to manage verifications on behalf of an or
verifyUser, verifyChat, removeUserVerification, and removeChatVerification, allowing bots to manage verifications on behalf of an organization.upgrade_star_count to the class Gift.pay_for_upgrade to the method sendGift.hide_url from the class InlineQueryResultArticle. Pass an empty string as url instead.Updated switch statements to Switch expressions.
BackgroundTypeType.chatTheme typoAdded class AffiliateInfo and reflected all the changes from Bot API 8.1
AffiliateInfo and reflected all the changes from Bot API 8.1🆕 Supports Middleware chaining for each handler.
Fetcher implementations.bot.dartBot.on method & TeleverseEvent enum.- [Retracted]
- [Retracted]
Updated RawAPI.createInvoiceLink to the docs.
RawAPI.createInvoiceLink to the docs.SuccessfulPayment, TransactionPartnerUser to reflect the new Star Subscription features.editUserStarSubscription, setUserEmojiStatus, savePreparedInlineMessage, getAvailableGifts, sendGift.PreparedInlineMessage, Gift, Gifts.⚠️ Removed baseURL from Bot primary constructor.
baseURL from Bot primary constructor.Bot.local against Bot constructors. Why do we need to keep two copies of the same thing?Bot.local.Fix: Base URL wasn't even being considered.
APIScheme. Now the scheme must be added to the baseURL itself.Fix RawAPI.sendPaidMedia crashes while sending local file using InputFile.fromFile
RawAPI.sendPaidMedia crashes while sending local file using InputFile.fromFile- 🤖 Bot API 7.11 🎃
Fix in Context.hasCallbackQuery
Context.hasCallbackQueryCheck Webhook.secretToken with the header X-Telegram-Bot-Api-Secret-Token before processing the incoming webhook update.
Webhook.secretToken with the header X-Telegram-Bot-Api-Secret-Token before processing the incoming webhook update.Fix typo in ReactionTypeCustomEmoji.customEmojiId
ReactionTypeCustomEmoji.customEmojiIdRedefined Payload.files parameter with the LocalFile objects instead of MultipartFile from Dio.
LocalFile class.Payload.files parameter with the LocalFile objects instead of MultipartFile from Dio.🐞 Fix: Webhook Bots crashed when an invalid body was present in the request.
Added way too many internal changes.
RawAPI construction in BotRawAPI instance will be created along with Bot instance.Context helper methods.Bot._api is now non-nullable._loggerOptions, _baseURL, and _scheme has been removed from Bot. They now solely belong to RawAPI.Context, such as chat, msg are now cached for better performance in recurring access.Updated the Bot.init method to initalize the update streams as well.
[⚠️ Breaking | Plugins] Updated the Transformer class
Transformer classpayload parameter for the Transformer.transform method optional-positional argument.RawAPI.call method for independently calling the Telegram Bot API methods.Added Bot.onPaidMediaPurchase for listening to PaidMediaPurchased updates.
Bot.onPaidMediaPurchase for listening to PaidMediaPurchased updates.ContextPublished Televerse Documentation website
Exposed couple of more properties in Context
Bot.additionalInfoSupport for managing pinned messages on behalf of user (Business Bots)
User.hasMainWebAppJust a re-release to move the repo to @theweaverlabs
- Retracted :)
Fixes #281 (Thanks to @IsD4n73 for raising the issue)
- Retracted
Your coding agent can read these notes before it upgrades. Set up the MCP server →