Changelogs » Aiogram

PyUp Safety actively tracks 263,329 Python packages for vulnerabilities and notifies you when to upgrade.

Aiogram

2.10.1

Fixed critical bug with getting asyncio event loop in executor. (424)
  `AttributeError: 'NoneType' object has no attribute 'run_until_complete'`

2.10

- **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

Fixed Message.get_full_command() 352
  Fixed markdown util 353

2.9.1

\-

2.9

- 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)

2.8

- :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)

2.7

- :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

2.6.1

* 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)

2.6

- 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

2.5.3

- 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

2.5.2

- Get back `quote_html` and `escape_md` functions

2.5.1

- Hot-fix of CommandStart filter

2.5

- 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...)

2.4

- 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

2.3

- 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

- 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)

2.1

- 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

2.0.1

- 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`)

2.0

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

1.4

- Bot API 4.0 (57)

1.3.3

- 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

- 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

- Allow to use Socks5 proxy (need manually install `aiosocksy`).
  - Refactored `aiogram.utils.executor` module.
  - [Warning] Updated requirements list.

1.2.3

- Fixed API errors detection
  - Fixed compability of `setup.py` with pip 10.0.0

1.2.2

- 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.

1.2.1

- 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 InlineKeyboardMarkup & ReplyKeyboardMarkup objects [21]
  Other bug & typo fixes and minor improvements.

1.2

- 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.

1.1

- 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`)

1.0.3

- 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.

1.0.1

- 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.