Skip to content

🎉 CatraProto 1.1 released!

Latest
Compare
Choose a tag to compare
@Aquathing Aquathing released this 21 Jun 19:16
· 141 commits to master since this release
v1.1
e5bcb4a

🎉 CatraProto 1.1 released!

This release ships many, many improvements that make the library way easier, less troublesome and more reliable.

🔝 Features:

  • Two Factor Authentication (2FA) login is now supported.
  • Layer version updated to 143
  • Add a built-in text formatter which allows you to style your texts in beautiful ways!
  • The login flow was written in order use updates to control it
  • You will now receive updates whenever the session is invalid for any reason
  • The updates-limiter feature can now be disabled
  • The Logger class now offers a TemplateExpression property that returns a template to be parsed by Serilog.Expressions
  • UpdateNewChannelMessage and UpdateEditChannelMessage are now automatically replaced by UpdateNewMessage and UpdateEditMessage corrispetively
  • Added GetSelfAsync method to return all information about the logged-in user.
  • Almost all requests will now be postponed until the user is logged-in

🐛 Bug fixes:

  • Less resources are now used when filling update gaps
  • Fixed some bugs that could cause the instance to not be responsive after a certain period of time
  • Cancellation now gets respected when requests get migrated to other DCs
  • The overall implementation of MTProto has been improved
  • Bug fixes and other improvements

⚠️ Breaking changes:

  • All methods requiring raw InputPeer* objects, InputChannel and methods are now hidden in order to only expose their simplified version.
  • The following raw methods are now hidden: auth.signIn, auth.signUp, auth.resendCode, auth.sendCode, auth.checkPassword, auth.importBotAuthorization, auth.logOut, auth.bindTempAuthkey.
  • The login flow must be implemented through the OnSessionUpdateAsync method declared in the IEventHandler interface
  • The SerializationFailed class was renamed to SerializationFailedError
  • The ClientState values returned by InitClientAsync can now only be Working and Corrupted.
  • Client-side error codes are not prefixed by -10 anymore

❗️ Note: Breaking changes have been made to the serialization scheme. Once a session gets serialized by this version, it becomes unusable on older versions.

❤️ Also big thanks to @iDubno for the suggestions on how to improve the documentation!

📖 The documentation has also been updated to reflect these changes and further improved
📦 Nuget: https://www.nuget.org/packages/CatraProto.Client/1.1.0
🗣 Discussion group: https://t.me/CatraProtoDiscussion
📣 Telegram Channel: https://t.me/CatraProto