Skip to content

Releases: MasterJ93/ATProtoKit

v0.18.3

20 Oct 06:55
Compare
Choose a tag to compare

Version 0.18.3 includes the following changes:

  • Made sure the createPostRecord only passes the truncated post text to the facet parser.
  • Fixed an issue where @DateFormattingOptional wouldn’t gracefully fail if there was no date.
    • At this time, there’s a temporary fix for LabelDefinition.expiresOn since it’s acting like a required property in its previous written code. It will most likely be a permanent thing and will be incorporated into the ATLexiconModel macro.
  • Fixed an issue where ThreadgateRecord.allow wasn’t set to optional even though it was supposed to be.
  • Fixed an issue where embeds containing records with media wouldn’t encode properly.
  • Fixed an issue where ATUnion would fail with respect to embeds.
  • Progress towards adding the new lexicons from the October updates.

Note: 0.18.0’s release notes erroneously said uploading videos is not in the that release. To be clear, it is, in fact, available; I forgot to change that line when I changed my mind and decided to push through with adding the ability into the project. My apologies for the mistake.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.18.2

19 Oct 06:08
Compare
Choose a tag to compare

Version 0.18.2 includes the following changes:

  • Another fix towards build failures in iOS and tvOS.
  • Fixed an issue where fetchRecordForURI() will fail because it has no concept of a session. (Thanks @aaronvegh!)
  • Fixed an issue where non-ASCII characters might not be able to be parsed correctly. (Thanks @aaronvegh!)

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.18.1

18 Oct 05:12
Compare
Choose a tag to compare

Version 0.18.1 includes the following changes:

  • Fixed an issue where the build fails for iOS and tvOS.
    • One of the methods used in uploadVideo() only works for iOS and tvOS versions 16 or later. This fix will create a more manual version of performing the action.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.18.0

17 Oct 02:43
Compare
Choose a tag to compare

Version 0.18.0 includes the following changes:

  • Improved the normalization of all identifiers.
  • Added macros.
    • ATUnion
      • This is, for the most part, replaces the ATUnion structure. While this technically changes nothing, this does mean less boilerplate code.
      • Known issue: the expanded code may not be formatted correctly. This won’t cause any crashes or bugs, but it may not be 100% readable if you try to view the expanded code.
    • ATLexiconModel
      • This is the final part that completely erases the need to use custom encoding methods.
      • This doesn’t eliminate the need for the CodingKeys enum.
      • Known issue: using this marco prevents the ability to add custom implementations. This will be fixed in a future update.
  • Improved the effectiveness of the @DateFormatting and @DateFormattingOptional property wrappers.
    • This mostly eliminates the need to write custom init and decoding methods. However, there’s a known issue where ATRecordProtocol-conforming structs won’t be able to work unless a custom decoding method is implemented. This is not consistent among all of the affected structs.
  • Updated the latest lexicon changes from Bluesky’s atproto repo, which includes app.bsky.video.* lexicons.
    • This is true as of October 1, 2024. Missing lexicon changes will be added on the following update.
  • Added advanced error handling in uploadVideo().
    • This is a test to see if this form of error handling will work. The next major update will implement this if it indeed works.
  • Made the following changes to ATProtoBluesky.createPostRecord():
    • Removed the tuple practice that caused a warning to appear.
      • Creating a record that contains a record and media at the same time has yet to be implemented.
      • Known issue: another warning has taken its place. This will be resolved in a future update.
    • Tweaked the documentation to reflect the above change.
    • Important to note: either on a hotfix or minor release, ATProtoBluesky will include the ability to upload videos. I haven’t been able to make a completely clear and elegant way to handle this, as, unlike images, videos can take a bit of time to upload. I also want the transcript array and alt text to properly be uploaded as well.
  • Fixed an issue with Swift 6 language mode.
    • Slightly modified the way record structs are added so as to ensure the process is completed before any method that accesses the structs are retrieved in a safe manner.

Important to note: at this time, Swift 6.0 will be the only officially supported platform for Linux platforms. Linux can build and run successfully on Swift 6.0, but you’ll need to add @preconcurrency before importing. If you want to make some pull requests so Linux is supported on Swift 5.9 and 5.10, then please feel free to do so.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.5

25 Aug 05:47
Compare
Choose a tag to compare

Version 0.17.5 includes the following changes:

  • Fixed an issue where some misplaced code examples were in the “Getting Started With ATProtoKit” article.
  • Added missing record models in ATProtoKit.recordLexicons.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.4

25 Aug 05:19
Compare
Choose a tag to compare

Version 0.17.4 includes the following changes:

  • Updated the latest lexicon changes from Bluesky’s atproto repo.
  • Updated the documentation for re-organization.
  • Split the ATProtocolConfiguration and one of the APIClientService methods into separate files, and kept them into their respective classes via an extension.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.3

08 Aug 06:10
Compare
Choose a tag to compare

Version 0.17.3 includes the following changes:

  • Updated the latest lexicon changes from Bluesky’s atproto repo.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.2

01 Aug 03:05
Compare
Choose a tag to compare

Version 0.17.2 includes the following changes:

  • Updated the latest lexicon models and methods from Bluesky’s atproto repo changes.
  • Removed duplicate entries and added missing entries in the DocC.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.1

28 Jul 21:48
Compare
Choose a tag to compare

Version 0.17.1 includes the following changes:

  • Updated examples in the README and DocC.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.

v0.17.0

28 Jul 21:29
Compare
Choose a tag to compare

Version 0.17.0 includes the following changes:

  • Opened APIClientService up for dependency injection.
    • This will allow developers to customize certain attributes when creating an instance of ATProtocolConfiguration, or use the defaults provided by ATProtoKit.
  • Moved the record creating, putting, and deleting methods for Bluesky into ATProtoBluesky.
    • This includes createPostRecord, createLikeRecord, and createDeleteRecord.
  • Added FoundationNetworking.
    • This is mainly for Linux support. This will hopefully fix any issues related to non-Apple platforms, but testing ATProtoKit on each of the Linux distros will be needed in order to more confidently state that the project can officially build and run successfully on the operating system.
  • Updated the lexicon models and methods for the latest versions.
  • Fixed some spelling mistakes in the DocC.

Once again, thank you for your support. Please give feedback, bug reports, and contributions if you have time. You can also speak to me on Bluesky (@cjrriley.com) for any questions.