.. Copy-pasted and reformatted from GitHub releases page 2.14.3 (2021-07-21) =================== - Fixed :code:`ChatMember` type detection via adding customizable object serialization mechanism (`#624 `_, `#623 `_) 2.14.2 (2021-07-26) =================== - Fixed :code:`MemoryStorage` cleaner (`#619 `_) - Fixed unused default locale in :code:`I18nMiddleware` (`#562 `_, `#563 `_) 2.14 (2021-07-27) ================= - Full support of Bot API 5.3 (`#610 `_, `#614 `_) - Fixed :code:`Message.send_copy` method for polls (`#603 `_) - Updated pattern for :code:`GroupDeactivated` exception (`#549 `_ - Added :code:`caption_entities` field in :code:`InputMedia` base class (`#583 `_) - Fixed HTML text decorations for tag :code:`pre` (`#597 `_ fixes issues `#596 `_ and `#481 `_) - Fixed :code:`Message.get_full_command` method for messages with caption (`#576 `_) - Improved :code:`MongoStorage`: remove documents with empty data from :code:`aiogram_data` collection to save memory. (`#609 `_) 2.13 (2021-04-28) ================= - Added full support of Bot API 5.2 (`#572 `_) - Fixed usage of :code:`provider_data` argument in :code:`sendInvoice` method call - Fixed builtin command filter args (`#556 `_) (`#558 `_) - Allowed to use State instances FSM storage directly (`#542 `_) - Added possibility to get i18n locale without User instance (`#546 `_) - Fixed returning type of :code:`Bot.*_chat_invite_link()` methods `#548 `_ (`#549 `_) - Fixed deep-linking util (`#569 `_) - Small changes in documentation - describe limits in docstrings corresponding to the current limit. (`#565 `_) - Fixed internal call to deprecated 'is_private' method (`#553 `_) - Added possibility to use :code:`allowed_updates` argument in Polling mode (`#564 `_) 2.12.1 (2021-03-22) =================== - Fixed :code:`TypeError: Value should be instance of 'User' not 'NoneType'` (`#527 `_) - Added missing :code:`Chat.message_auto_delete_time` field (`#535 `_) - Added :code:`MediaGroup` filter (`#528 `_) - Added :code:`Chat.delete_message` shortcut (`#526 `_) - Added mime types parsing for :code:`aiogram.types.Document` (`#431 `_) - Added warning in :code:`TelegramObject.__setitem__` when Telegram adds a new field (`#532 `_) - Fixed :code:`examples/chat_type_filter.py` (`#533 `_) - Removed redundant definitions in framework code (`#531 `_) 2.12 (2021-03-14) ================= - Full support for Telegram Bot API 5.1 (`#519 `_) - Fixed sending playlist of audio files and documents (`#465 `_, `#468 `_) - Fixed :code:`FSMContextProxy.setdefault` method (`#491 `_) - Fixed :code:`Message.answer_location` and :code:`Message.reply_location` unable to send live location (`#497 `_) - Fixed :code:`user_id` and :code:`chat_id` getters from the context at Dispatcher :code:`check_key`, :code:`release_key` and :code:`throttle` methods (`#520 `_) - Fixed :code:`Chat.update_chat` method and all similar situations (`#516 `_) - Fixed :code:`MediaGroup` attach methods (`#514 `_) - Fixed state filter for inline keyboard query callback in groups (`#508 `_, `#510 `_) - Added missing :code:`ContentTypes.DICE` (`#466 `_) - Added missing vcard argument to :code:`InputContactMessageContent` constructor (`#473 `_) - Add missing exceptions: :code:`MessageIdInvalid`, :code:`CantRestrictChatOwner` and :code:`UserIsAnAdministratorOfTheChat` (`#474 `_, `#512 `_) - Added :code:`answer_chat_action` to the :code:`Message` object (`#501 `_) - Added dice to :code:`message.send_copy` method (`#511 `_) - Removed deprecation warning from :code:`Message.send_copy` - Added an example of integration between externally created aiohttp Application and aiogram (`#433 `_) - Added :code:`split_separator` argument to :code:`safe_split_text` (`#515 `_) - Fixed some typos in docs and examples (`#489 `_, `#490 `_, `#498 `_, `#504 `_, `#514 `_) 2.11.2 (2021-11-10) =================== - Fixed default parse mode - Added missing "supports_streaming" argument to answer_video method `#462 `_ 2.11.1 (2021-11-10) =================== - Fixed files URL template - Fix MessageEntity serialization for API calls `#457 `_ - When entities are set, default parse_mode become disabled (`#461 `_) - Added parameter supports_streaming to reply_video, remove redundant docstrings (`#459 `_) - Added missing parameter to promoteChatMember alias (`#458 `_) 2.11 (2021-11-08) ================= - Added full support of Telegram Bot API 5.0 (`#454 `_) - Added possibility to more easy specify custom API Server (example) - WARNING: API method :code:`close` was named in Bot class as close_bot in due to Bot instance already has method with the same name. It will be changed in :code:`aiogram 3.0` - Added alias to Message object :code:`Message.copy_to` with deprecation of :code:`Message.send_copy` - :code:`ChatType.SUPER_GROUP` renamed to :code:`ChatType.SUPERGROUP` (`#438 `_) 2.10.1 (2021-09-14) =================== - Fixed critical bug with getting asyncio event loop in executor. (`#424 `_) :code:`AttributeError: 'NoneType' object has no attribute 'run_until_complete'` 2.10 (2021-09-13) ================== - Breaking change: Stop using _MainThread event loop in bot/dispatcher instances (`#397 `_) - Breaking change: Replaced aiomongo with motor (`#368 `_, `#380 `_) - Fixed: TelegramObject's aren't destroyed after update handling `#307 `_ (`#371 `_) - Add setting current context of Telegram types (`#369 `_) - Fixed markdown escaping issues (`#363 `_) - Fixed HTML characters escaping (`#409 `_) - Fixed italic and underline decorations when parse entities to Markdown - Fixed `#413 `_: parse entities positioning (`#414 `_) - Added missing thumb parameter (`#362 `_) - Added public methods to register filters and middlewares (`#370 `_) - Added ChatType builtin filter (`#356 `_) - Fixed IDFilter checking message from channel (`#376 `_) - Added missed answer_poll and reply_poll (`#384 `_) - Added possibility to ignore message caption in commands filter (`#383 `_) - Fixed addStickerToSet method - Added preparing thumb in send_document method (`#391 `_) - Added exception MessageToPinNotFound (`#404 `_) - Fixed handlers parameter-spec solving (`#408 `_) - Fixed CallbackQuery.answer() returns nothing (`#420 `_) - CHOSEN_INLINE_RESULT is a correct API-term (`#415 `_) - Fixed missing attributes for Animation class (`#422 `_) - Added missed emoji argument to reply_dice (`#395 `_) - Added is_chat_creator method to ChatMemberStatus (`#394 `_) - Added missed ChatPermissions to __all__ (`#393 `_) - Added is_forward method to Message (`#390 `_) - Fixed usage of deprecated is_private function (`#421 `_) and many others documentation and examples changes: - Updated docstring of RedisStorage2 (`#423 `_) - Updated I18n example (added docs and fixed typos) (`#419 `_) - A little documentation revision (`#381 `_) - Added comments about correct errors_handlers usage (`#398 `_) - Fixed typo rexex -> regex (`#386 `_) - Fixed docs Quick start page code blocks (`#417 `_) - fixed type hints of callback_data (`#400 `_) - Prettify readme, update downloads stats badge (`#406 `_) 2.9.2 (2021-06-13) ================== - Fixed :code:`Message.get_full_command()` `#352 `_ - Fixed markdown util `#353 `_ 2.9 (2021-06-08) ================ - Added full support of Telegram Bot API 4.9 - Fixed user context at poll_answer update (`#322 `_) - Fix Chat.set_description (`#325 `_) - Add lazy session generator (`#326 `_) - Fix text decorations (`#315 `_, `#316 `_, `#328 `_) - Fix missing :code:`InlineQueryResultPhoto` :code:`parse_mode` field (`#331 `_) - Fix fields from parent object in :code:`KeyboardButton` (`#344 `_ fixes `#343 `_) - Add possibility to get bot id without calling :code:`get_me` (`#296 `_) 2.8 (2021-04-26) ================ - Added full support of Bot API 4.8 - Added :code:`Message.answer_dice` and :code:`Message.reply_dice` methods (`#306 `_) 2.7 (2021-04-07) ================ - Added full support of Bot API 4.7 (`#294 `_ `#289 `_) - Added default parse mode for send_animation method (`#293 `_ `#292 `_) - Added new API exception when poll requested in public chats (`#270 `_) - Make correct User and Chat get_mention methods (`#277 `_) - Small changes and other minor improvements 2.6.1 (2021-01-25) ================== - Fixed reply :code:`KeyboardButton` initializer with :code:`request_poll` argument (`#266 `_) - Added helper for poll types (:code:`aiogram.types.PollType`) - Changed behavior of Telegram_object :code:`.as_*` and :code:`.to_*` methods. It will no more mutate the object. (`#247 `_) 2.6 (2021-01-23) ================ - Full support of Telegram Bot API v4.6 (Polls 2.0) `#265 `_ - Aded new filter - IsContactSender (commit) - Fixed proxy extra dependencies version `#262 `_ 2.5.3 (2021-01-05) ================== - `#255 `_ Updated CallbackData factory validity check. More correct for non-latin symbols - `#256 `_ Fixed :code:`renamed_argument` decorator error - `#257 `_ One more fix of CommandStart filter 2.5.2 (2021-01-01) ================== - Get back :code:`quote_html` and :code:`escape_md` functions 2.5.1 (2021-01-01) ================== - Hot-fix of :code:`CommandStart` filter 2.5 (2021-01-01) ================ - Added full support of Telegram Bot API 4.5 (`#250 `_, `#251 `_) - `#239 `_ Fixed :code:`check_token` method - `#238 `_, `#241 `_: Added deep-linking utils - `#248 `_ Fixed support of aiohttp-socks - Updated setup.py. No more use of internal pip API - Updated links to documentations (https://docs.aiogram.dev) - Other small changes and minor improvements (`#223 `_ and others...) 2.4 (2021-10-29) ================ - Added Message.send_copy method (forward message without forwarding) - Safe close of aiohttp client session (no more exception when application is shutdown) - No more "adWanced" words in project `#209 `_ - Arguments user and chat is renamed to user_id and chat_id in Dispatcher.throttle method `#196 `_ - Fixed set_chat_permissions `#198 `_ - Fixed Dispatcher polling task does not process cancellation `#199 `_, `#201 `_ - Fixed compatibility with latest asyncio version `#200 `_ - Disabled caching by default for lazy_gettext method of I18nMiddleware `#203 `_ - Fixed HTML user mention parser `#205 `_ - Added IsReplyFilter `#210 `_ - Fixed send_poll method arguments `#211 `_ - Added OrderedHelper `#215 `_ - Fix incorrect completion order. `#217 `_ 2.3 (2021-08-16) ================ - Full support of Telegram Bot API 4.4 - Fixed `#143 `_ - Added new filters from issue `#151 `_: `#172 `_, `#176 `_, `#182 `_ - Added expire argument to RedisStorage2 and other storage fixes `#145 `_ - Fixed JSON and Pickle storages `#138 `_ - Implemented MongoStorage `#153 `_ based on aiomongo (soon motor will be also added) - Improved tests - Updated examples - Warning: Updated auth widget util. `#190 `_ - Implemented throttle decorator `#181 `_ 2.2 (2021-06-09) ================ - Provides latest Telegram Bot API (4.3) - Updated docs for filters - Added opportunity to use different bot tokens from single bot instance (via context manager, `#100 `_) - IMPORTANT: Fixed Typo: :code:`data` -> :code:`bucket` in :code:`update_bucket` for RedisStorage2 (`#132 `_) 2.1 (2021-04-18) ================ - Implemented all new features from Telegram Bot API 4.2 - :code:`is_member` and :code:`is_admin` methods of :code:`ChatMember` and :code:`ChatMemberStatus` was renamed to :code:`is_chat_member` and :code:`is_chat_admin` - Remover func filter - Added some useful Message edit functions (:code:`Message.edit_caption`, :code:`Message.edit_media`, :code:`Message.edit_reply_markup`) (`#121 `_, `#103 `_, `#104 `_, `#112 `_) - Added requests timeout for all methods (`#110 `_) - Added :code:`answer*` methods to :code:`Message` object (`#112 `_) - Maked some improvements of :code:`CallbackData` factory - Added deep-linking parameter filter to :code:`CommandStart` filter - Implemented opportunity to use DNS over socks (`#97 `_ -> `#98 `_) - Implemented logging filter for extending LogRecord attributes (Will be usefull with external logs collector utils like GrayLog, Kibana and etc.) - Updated :code:`requirements.txt` and :code:`dev_requirements.txt` files - Other small changes and minor improvements 2.0.1 (2021-12-31) ================== - Implemented CallbackData factory (`example `_) - Implemented methods for answering to inline query from context and reply with animation to the messages. `#85 `_ - Fixed installation from tar.gz `#84 `_ - More exceptions (:code:`ChatIdIsEmpty` and :code:`NotEnoughRightsToRestrict`) 2.0 (2021-10-28) ================ This update will break backward compability with Python 3.6 and works only with Python 3.7+: - contextvars (PEP-567); - New syntax for annotations (PEP-563). Changes: - Used contextvars instead of :code:`aiogram.utils.context`; - Implemented filters factory; - Implemented new filters mechanism; - Allowed to customize command prefix in CommandsFilter; - Implemented mechanism of passing results from filters (as dicts) as kwargs in handlers (like fixtures in pytest); - Implemented states group feature; - Implemented FSM storage's proxy; - Changed files uploading mechanism; - Implemented pipe for uploading files from URL; - Implemented I18n Middleware; - Errors handlers now should accept only two arguments (current update and exception); - Used :code:`aiohttp_socks` instead of :code:`aiosocksy` for Socks4/5 proxy; - types.ContentType was divided to :code:`types.ContentType` and :code:`types.ContentTypes`; - Allowed to use rapidjson instead of ujson/json; - :code:`.current()` method in bot and dispatcher objects was renamed to :code:`get_current()`; Full changelog - You can read more details about this release in migration FAQ: ``_ 1.4 (2021-08-03) ================ - Bot API 4.0 (`#57 `_) 1.3.3 (2021-07-16) ================== - Fixed markup-entities parsing; - Added more API exceptions; - Now InlineQueryResultLocation has live_period; - Added more message content types; - Other small changes and minor improvements. 1.3.2 (2021-05-27) ================== - Fixed crashing of polling process. (i think) - Added parse_mode field into input query results according to Bot API Docs. - Added new methods for Chat object. (`#42 `_, `#43 `_) - **Warning**: disabled connections limit for bot aiohttp session. - **Warning**: Destroyed "temp sessions" mechanism. - Added new error types. - Refactored detection of error type. - Small fixes of executor util. - Fixed RethinkDBStorage 1.3.1 (2018-05-27) ================== 1.3 (2021-04-22) ================ - Allow to use Socks5 proxy (need manually install :code:`aiosocksy`). - Refactored :code:`aiogram.utils.executor` module. - **[Warning]** Updated requirements list. 1.2.3 (2018-04-14) ================== - Fixed API errors detection - Fixed compability of :code:`setup.py` with pip 10.0.0 1.2.2 (2018-04-08) ================== - Added more error types. - Implemented method :code:`InputFile.from_url(url: str)` for downloading files. - Implemented big part of API method tests. - Other small changes and mminor improvements. 1.2.1 (2018-03-25) ================== - Fixed handling Venue's [`#27 `_, `#26 `_] - Added parse_mode to all medias (Bot API 3.6 support) [`#23 `_] - Now regexp filter can be used with callback query data [`#19 `_] - Improvements in :code:`InlineKeyboardMarkup` & :code:`ReplyKeyboardMarkup` objects [`#21 `_] - Other bug & typo fixes and minor improvements. 1.2 (2018-02-23) ================ - Full provide Telegram Bot API 3.6 - Fixed critical error: :code:`Fatal Python error: PyImport_GetModuleDict: no module dictionary!` - Implemented connection pool in RethinkDB driver - Typo fixes of documentstion - Other bug fixes and minor improvements. 1.1 (2018-01-27) ================ - Added more methods for data types (like :code:`message.reply_sticker(...)` or :code:`file.download(...)` - Typo fixes of documentstion - Allow to set default parse mode for messages (:code:`Bot( ... , parse_mode='HTML')`) - Allowed to cancel event from the :code:`Middleware.on_pre_process_` - Fixed sending files with correct names. - Fixed MediaGroup - Added RethinkDB storage for FSM (:code:`aiogram.contrib.fsm_storage.rethinkdb`) 1.0.4 (2018-01-10) ================== 1.0.3 (2018-01-07) ================== - Added middlewares mechanism. - Added example for middlewares and throttling manager. - Added logging middleware (:code:`aiogram.contrib.middlewares.logging.LoggingMiddleware`) - Fixed handling errors in async tasks (marked as 'async_task') - Small fixes and other minor improvements. 1.0.2 (2017-11-29) ================== 1.0.1 (2017-11-21) ================== - Implemented :code:`types.InputFile` for more easy sending local files - **Danger!** Fixed typo in word pooling. Now whatever all methods with that word marked as deprecated and original methods is renamed to polling. Check it in you'r code before updating! - Fixed helper for chat actions (:code:`types.ChatActions`) - Added `example `_ for media group. 1.0 (2017-11-19) ================ - Remaked data types serialozation/deserialization mechanism (Speed up). - Fully rewrited all Telegram data types. - Bot object was fully rewritted (regenerated). - Full provide Telegram Bot API 3.4+ (with sendMediaGroup) - Warning: Now :code:`BaseStorage.close()` is awaitable! (FSM) - Fixed compability with uvloop. - More employments for :code:`aiogram.utils.context`. - Allowed to disable :code:`ujson`. - Other bug fixes and minor improvements. - Migrated from Bitbucket to Github. 0.4.1 (2017-08-03) ================== 0.4 (2017-08-05) ================ 0.3.4 (2017-08-04) ================== 0.3.3 (2017-07-05) ================== 0.3.2 (2017-07-04) ================== 0.3.1 (2017-07-04) ================== 0.2b1 (2017-06-00) ================== 0.1 (2017-06-03) ================