v2 is still not complete. A lot of cleanup still needs to be done.
In particular, entities still need some care. However, most of it
is there, and keeping up with two branches is annoying.
This also lets me close a lot of issues to reduce noise
and focus on the important ones.
Closes#354 (input entities have been reworked).
Closes#902 (sessions were overhauled).
Closes#1125, #3253, #1589, #1634, #3150, #3668 (updates are reworked, gaps are properly handled now).
Closes#1169 (2.0 is now merged).
Closes#1311 (proper usage should not trigger this issue on the reworked connection code).
Closes#1327 (there have been some stringify changes).
Closes#1330 (gaps are now detected).
Closes#1366 (sessions are now async).
Closes#1476, #1484 (asyncio open connection is no longer used).
Closes#1529 (commonmark is now used).
Closes#1721 (update gaps are now properly handled).
Closes#1724 (a gap that fixes this will eventually trigger).
Closes#3006 (force_sms is gone).
Closes#3041 (a clean implementation to get difference now exists).
Closes#3049 (commonmark is now used).
Closes#3111 (to_dict has changed).
Closes#3117 (SMS is no longer an option).
Closes#3171 (connectivity bug is unlikely to be a bug in the library).
Closes#3206 (Telethon cannot really fix broken SSL).
Closes#3214, #3257, #3661 (not enough information).
Closes#3215 (this had already been fixed).
Closes#3230, #3674 (entities were reworked).
Closes#3234, #3238, #3245, #3258, #3264 (the layer has been updated).
Closes#3242 (bot-API file IDs have been removed).
Closes#3244 (the error is now documented).
Closes#3249 (errors have been reworked).
This behaviour is deprecated and will be removed in future versions
of Python. Technically, it could be considered a bug (invalid usage
causing different behaviour from the expected one), and in practice
it should not break much code (because .get_event_loop() would likely
be the same event loop anyway).