PyUp Safety actively tracks 263,329 Python packages for vulnerabilities and notifies you when to upgrade.
Fixed critical bug with getting asyncio event loop in executor. (424) `AttributeError: 'NoneType' object has no attribute 'run_until_complete'`
- **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)
Fixed Message.get_full_command() 352 Fixed markdown util 353
- Added full support of [Telegram Bot API 4.9](https://core.telegram.org/bots/api-changelogjune-4-2020) - 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 InlineQueryResultPhoto parse_mode field (331) - Fix fields from parent object in KeyboardButton (344 fixes 343) - Add possibility to get bot id without calling `get_me` (296)
- :dart: Added full support of [Bot API 4.8](https://core.telegram.org/bots/api-changelogapril-24-2020) - Added `Message.answer_dice` and `Message.reply_dice` methods (306)
- :game_die: 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
* Fixed reply KeyboardButton initializer with request_poll argument (266) * Added helper for poll types (`aiogram.types.PollType`) * Changed behavior of Telegram_object `.as_*` and `.to_*` methods. It will no more mutate the object. (247)
- Full support of [Telegram Bot API v4.6](https://core.telegram.org/bots/api-changelogjanuary-23-2020) (Polls 2.0) 265 - Aded new filter - IsContactSender ([commit](https://github.com/aiogram/aiogram/commit/5db726d7585c5252343642f1201c4775ac47bfeb)) - Fixed proxy extra dependencies version 262
- 255 Updated CallbackData factory validity check. More correct for non-latin symbols - 256 Fixed `renamed_argument` decorator error - 257 One more fix of CommandStart filter
- Get back `quote_html` and `escape_md` functions
- Hot-fix of CommandStart filter
- Added full support of Telegram Bot API 4.5 (250, 251) - 239 Fixed `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 ([docs.aiogram.dev](https://docs.aiogram.dev)) - Other small changes and minor improvements (223 and others...)
- 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 :sob: 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 :man_shrugging: 215 - Fix incorrect completion order. 217
- 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
- Provides latest Telegram Bot API ([4.3](https://core.telegram.org/bots/apimay-31-2019)) - Updated [docs for filters](https://aiogram.readthedocs.io/en/latest/dispatcher/filters.html) - Added opportunity to use different bot tokens from single bot instance (via context manager, 100) - IMPORTANT: Fixed Typo: `data` -> `bucket` in `update_bucket` for RedisStorage2 (132)
- Implemented all new features from [Telegram Bot API 4.2](https://core.telegram.org/bots/apiapril-14-2019) - `is_member` and `is_admin` methods of `ChatMember` and `ChatMemberStatus` was renamed to `is_chat_member` and `is_chat_admin` - Remover `func` filter - Added some useful Message edit functions ( `Message.edit_caption`, `Message.edit_media`, `Message.edit_reply_markup`) (121, 103, 104, 112) - Added requests timeout for all methods (110) - Added `answer*` methods to `Message` object (112) - Maked some improvements of `CallbackData` factory - Added deep-linking parameter filter to `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 `requirements.txt` and `dev_requirements.txt` files - Other small changes and minor improvements
- Implemented CallbackData factory ([example](https://github.com/aiogram/aiogram/blob/master/examples/callback_data_factory.py)) - 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 (`ChatIdIsEmpty` and `NotEnoughRightsToRestrict`)
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). Changelog - Used contextvars instead of `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 `aiohttp_socks` instead of `aiosocksy` for Socks4/5 proxy; - `types.ContentType` was divided to `types.ContentType` and `types.ContentTypes`; - Allowed to use rapidjson instead of ujson/json; - `.current()` method in bot and dispatcher objects was renamed to `get_current()`; Full changelog You can read more details about this release in migration FAQ: https://aiogram.readthedocs.io/en/latest/migration_1_to_2.html
- Bot API 4.0 (57)
- Fixed markup-entities parsing; - Added more API exceptions; - Now InlineQueryResultLocation has live_period; - Added more message content types; - Other small changes and minor improvements.
- 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
- Allow to use Socks5 proxy (need manually install `aiosocksy`). - Refactored `aiogram.utils.executor` module. - [Warning] Updated requirements list.
- Fixed API errors detection - Fixed compability of `setup.py` with pip 10.0.0
- Added more error types. - Implemented method `InputFile.from_url(url: str)` for downloading files. - Implemented big part of API method tests. - Other small changes and mminor improvements.
- Fixed handling Venue's [27, 26] - Added parse_mode to all medias (Bot API 3.6 support)  - Now regexp filter can be used with callback query data  - Improvements in InlineKeyboardMarkup & ReplyKeyboardMarkup objects  Other bug & typo fixes and minor improvements.
- Full provide Telegram Bot API 3.6 - Fixed critical error: `Fatal Python error: PyImport_GetModuleDict: no module dictionary!` - Implemented connection pool in RethinkDB driver - Typo fixes of documentstion - Other bug fixes and minor improvements.
- Added more methods for data types (like `message.reply_sticker(...)` or `file.download(...)` - Typo fixes of documentstion - Allow to set default parse mode for messages (`Bot( ... , parse_mode='HTML')` - Allowed to cancel event from the `Middleware.on_pre_process_<event type>` - Fixed sending files with correct names. - Fixed MediaGroup - Added RethinkDB storage for FSM (`aiogram.contrib.fsm_storage.rethinkdb`)
- Added middlewares mechanism. - Added example for middlewares and throttling manager. - Added logging middleware (aiogram.contrib.middlewares.logging.LoggingMiddleware) - Fixed handling errors in async tasks (marked as 'async_task') - Small fixes and other minor improvements.
- Implemented `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 (`types.ChatActions`) - Added [example](https://github.com/aiogram/aiogram/blob/master/examples/media_group.py) for media group.