<table><tr><td>Scheme layer used: <code>66</code></td></tr></table>
_This update brings a lot of changes, so it would be nice if you could **read the whole change log**!_
Things that may break your code
* Every Telegram error has now its **own class**, so it's easier to fine-tune your `except`'s.
* Markdown parsing is **not part** of Telethon itself anymore, although there are plans to support it again through a some external module.
* The `.list_sessions()` has been moved to the `Session` class instead.
* The `InteractiveTelegramClient` is **not** shipped with `pip` anymore.
New features
* A new, more **lightweight class** has been added. The `TelegramBareClient` is now the base of the normal `TelegramClient`, and has the most basic features.
* New method to `.create_new_connection()`, which can be ran **in parallel** with the original connection. This will return the previously mentioned `TelegramBareClient` already connected.
* Any file object can now be used to download a file (for instance, a `BytesIO()` instead a file name).
* Vales like `random_id` are now **automatically inferred**, so you can save yourself from the hassle of writing `generate_random_long()` everywhere. Same applies to `.get_input_peer()`, unless you really need the extra performance provided by skipping one `if` if called manually.
* Every type now features a new `.to_dict()` method.
Bug fixes
* Received errors are acknowledged to the server, so they don't happen over and over.
* Downloading media on different data centers is now up to **x2 faster**, since there used to be an `InvalidDCError` for each file part tried to be downloaded.
* Lost messages are now properly skipped.
* New way to handle the **result of requests**. The old `ValueError` "*The previously sent request must be resent. However, no request was previously sent (possibly called from a different thread).*" *should* not happen anymore.
Minor highlights
* Some fixes to the `JsonSession`.
* Fixed possibly crashes if trying to `.invoke()` a `Request` while `.reconnect()` was being called on the `UpdatesThread`.
* Some improvements on the `TcpClient`, such as not switching between blocking and non-blocking sockets.
* The code now uses ASCII characters only.
* Some enhancements to `.find_user_or_chat()` and `.get_input_peer()`.