Skip to content

Releases: MasterJ93/ATProtoKit

v0.26.1

14 May 18:39

Choose a tag to compare

Version 0.26.1 includes the following changes:

  • Moved createReport() to the ATProtoKit class.
    • It was originally in the ATProtoAdmin class, but was done by mistake.
  • ATProtoKit, ATProtoBluesky, ATProtoBlueskyChat, ATProtoAdmin are now marked as Sendable and final.
    • This is to make things a little easier for those who are using declarative DSLs like SwiftUI.
  • Fixed a crash bug when attempting to encode from CodableValue to a JSON object.
  • Fixed an issue where ChatBskyLexicon.Conversation.MessageInputDefinition is unable to be initiated properly.
  • Began the process of updating the lexicon models and methods from the latest lexicon changes in bluesky-social’s atproto library.
    • This goes up to app.bsky.unspecced.defs. Future updates will continue to update to the latest version over time.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.26.0

11 May 06:45

Choose a tag to compare

Version 0.26.0 includes the following changes:

  • Reworked SessionConfiguration and ATProtocolConfiguration.
    • This change is supposed to handle ease of use with respect to how to handle session management, retrieving and sending tokens, and storing tokens securely.
    • ATProtocolConfiguration is supposed to be for app passwords and as such, the way things are managed for sessions will only relate to App Password-related authentication.
    • Included with the rework:
      • UserSessionRegistry is an actor that manages multiple instances of UserSession. This is useful for situations where an app can let the user log into multiple accounts at once.
      • SecureKeychainProtocol is a protocol used for managing the access token, refresh token, and password. The refresh token and password are stored in the keychain, while the access token is stored in-memory.
        • An actor named AppleSecureKeychain is provided for applications running on all Apple platforms. Linux and Windows developers will need to implement this on their own for now. A future update may include actors specifically for Linux and Windows.
      • All required and optionally authenticated methods will check to see if the token has expired (and will auto-refresh the token if it is).
  • Added support for the following in ATProtoBluesky:
    • Adding, editing, and deleting Profile records.
    • Adding, editing, and deleting List records.
    • Adding and deleting ListItem records.
    • Adding and deleting ListBlock records.
      • Also made improvements to determine whether a block record can be created (for example, if the DID of the user account doesn’t exist).
  • Made sure the last remaining lexicon methods no longer uses Result<Success, Failure> as its return` type.
  • Custom URLSessionConfiguration objects can now be used, whether on SessionConfiguration protocol, or the main ATProtoKit class.
    • Please note: the URLSessionConfiguration object in ATProtoKit will override the URLSessionConfiguration object in SessionConfiguration.
  • Removed the shouldAuthenticate argument from getSearchActors().
    • According to Bluesky’s new documentation, this method can only be used with authentication.
  • Improved on the truncation of links in Bluesky posts. (Thanks, @aaronvegh!)
  • Please note: the lexicons models and methods have not been updated since the beginning of April. They will be updated overtime.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.25.3

16 Mar 15:06

Choose a tag to compare

Version 0.25.3 includes the following changes:

  • Switched the order of how post text is handled in ATProtoBluesky.createPostRecord. (Thanks, @aaronvegh!)
  • Updated the lexicon models and methods from the latest lexicon changes in bluesky-social’s atproto library.
  • Fixed an issue where createAppPassword as a GET request instead of a POST request.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.25.2

04 Mar 00:03

Choose a tag to compare

Version 0.25.2 includes the following changes:

  • When uploading videos, ATProtoBluesky.createPostRecord() will now check if the video size exceeds the current maximum amount.
  • Updated the documentation to reflect that fact that you can now upload videos that’s as large as 100 MB.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.25.1

03 Mar 02:29

Choose a tag to compare

Version 0.25.1 includes the following changes:

  • Changed all ATProtoBlueskyChat methods to use the session’s service endpoint as part of the request URL.
    • This fixes a bug where ATProtoKitBlueskyChat.listConversations would give out a 404 error.
    • Also fixed several decoding issues related to the method’s output.
  • Fixed an edge case where pdsURL may be nil at an inappropriate time. (Thanks, @aaronvegh!)
  • Fixed a decoding issue with AppBskyLexicon.Feed.GetPostThreadOutput.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.25.0

28 Feb 21:21

Choose a tag to compare

Version 0.25.0 includes the following changes:

  • Added support for the following in ATProtoBluesky:
    • Adding, editing, and deleting Postgate records.
    • Adding, editing, and deleting Threadgate records.
  • Moved the pdsURL argument from non-authentication and authentication optional methods into an argument within the ATProtoKit and ATProtoAdmin initializers.
    • This is to simply make things cleaner, as well as to give the lexicon generator less of a burden to deal with.
  • Improved how ATRecordTypeRegistry notifies methods of when recordRegistry is ready to be read.
  • Updated the lexicon models and methods from the latest lexicon changes in bluesky-social’s atproto library.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.24.3

25 Feb 04:58

Choose a tag to compare

Version 0.24.3 includes the following changes:

  • Updated the lexicon models and methods from the latest lexicon changes in bluesky-social’s atproto library.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.24.2

24 Feb 00:32

Choose a tag to compare

Version 0.24.2 includes the following changes:

  • Fixed a deadlocking bug in ATRecordTypeRegistry.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.24.1

23 Feb 11:26

Choose a tag to compare

Version 0.24.1 includes the following changes:

  • Fixed the sample code in the documentation and README.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.24.0

23 Feb 10:57

Choose a tag to compare

Version 0.24.0 includes the following changes:

  • Changes to ATRecordTypeRegistry:
    • Moved responsibility of checking the readiness of ATRecordTypeRegistry.recordRegistry from UnknownType to APIClientService.
    • Gave ATRecordTypeRegistry a singleton.
    • Removed static from recordRegistry.
    • Replaced initializers with the equivalent functions.
      • There is now only one private initializer.
    • Added a DispatchGroup property to ensure that reading and writing on recordRegistry doesn’t run at the same time.
    • Added an AsyncStream property to manage when the registry is ready.
    • Removed DispatchGroup.
  • Updated the lexicon models and methods with the latest changes from bluesky-social’s atproto repo.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. Consider starring this project if you find it helpful, and feel free to donate an amount that reflects the value it has brought to you. Your support helps ensure the continued development and improvement of this project. You can also speak to me on Bluesky (@cjrriley.com) for any questions.