- Pyrogram core is now fully asynchronous
- Ditched Python 3.5, welcome 3.6 as minimum version.
- Moved all types to pyrogram.types
- Turned the Filters class into a module (filters)
- Moved all filters to pyrogram.filters
- Moved all handlers to pyrogram.handlers
- Moved all emoji to pyrogram.emoji
- Renamed pyrogram.api to pyrogram.raw
- Clock is now synced with server's time
- Telegram schema updated to Layer 117
- Greatly improved the TL compiler (proper type-constructor hierarchy)
- Added "do not edit" warning in generated files
- Crypto parts are executed in a thread pool to avoid blocking the event loop
- idle() is now a separate function (it doesn't deal with Client instances)
- Async storage, async filters and async progress callback (optional, can be sync too)
- Added getpass back, for hidden password inputs
- Add mime.types file to contain a good database of type -> ext mappings
from svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
- Load mime.type at BaseClient creation and add two convenience methods
for guessing mime types from filenames and extensions from mime types,
guess_mime_type and guess_extension
- Make all send_* method as well as download_media use the new mime type
database via guess_mime_type and guess_extension methods