- 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).
- 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()`;
You can read more details about this release in migration FAQ: https://aiogram.readthedocs.io/en/latest/migration_1_to_2.html
- 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.
- 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 `BaseStorage.close()` is awaitable! (FSM)
- Fixed compability with uvloop.
- More employments for `aiogram.utils.context`.
- Allowed to disable `ujson`.
- Other bug fixes and minor improvements.
- Migrated from Bitbucket to Github.
In process: Tests and more pages of docs.