Releases: MasterJ93/ATProtoKit
v0.19.2
Version 0.19.2 includes the following changes:
- Fixed an issue where handles would not resolve properly if the post’s text is in a facet. (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.19.1
Version 0.19.1 includes the following changes:
- Fixed some errors related to data race errors.
- More objects have been marked as
Sendable
.
- More objects have been marked as
- Fixed an issue where creating hashtag facets will result in having double hashtag symbols (
##[hashtag]
] when searching for posts under the hashtag. (Thanks @aaronvegh!) - Fixed the DocC with respect to the error structs and
CodableValue
.
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.19.0
Version 0.19.0 includes the following changes:
- Re-organized the DocC to fit the newer (or edited) lexicons into their appropriate places.
- Updated the latest lexicon changes from Bluesky’s atproto repo.
- Fixed an issue where uploading a video fails the first time you were to call
createPostRecord()
.- If you were to have run
createPostRecord()
again, it would have succeeded.
- If you were to have run
- Fixed some issues with Swift 6 language mode.
- This addresses the issues specific to watchOS.
- Tweaked the name of
BskyAppProgressGuide
toBskyAppProgressGuideDefinition
and fixed an issue where the property contained was of type[String]
. - Fixed the URL link to the Bluesky profile. (Thanks @mmattbtw!)
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.5
Version 0.18.5 includes the following changes:
- Fixed an issue where
searchUsers
would give an error.- If the
cursor
property was empty in the output, the error will appear.
- If the
- Tweaked some methods to better match the Switch API Design Guidelines.
- The guidelines state that “methods and functions should have named that “[…] make use sites form grammatical English phrases.” There are currently methods that have the word
query
in the argument name, which they violate the current guidelines. They usually have_ query
or[by/with/for] query
. Instead,matching query
would be a better version. - The following methods are affected:
searchRepositories()
getPopularFeedGenerators()
searchActorsSkeleton()
searchPosts()
searchPostsSkeleton()
searchUsers()
searchUsersTypeahead()
checkSignupQueue()
- The guidelines state that “methods and functions should have named that “[…] make use sites form grammatical English phrases.” There are currently methods that have the word
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.4
Version 0.18.4 includes the following changes:
- Fixed an issue where threads weren’t handled properly.
createPostRecord
now requires you to get anAppBskyLexicon.Feed.PostRecord.ReplyReference
object for replying to posts. With this change you should have an easier time with respect to making threads all at once.ATProtoTools
is also now open to developers. You can either usecreateReplyReference
(if you want ATProtoKit to do the work for you) or manually create them yourself. This should hopefully allow for more flexibility.
- Temporarily disabled
ComAtprotoLexicon.Label.LabelDefinition.expiresOn
.- This has been a bug that’s struggling to die. Due to the low priority of its use, I’ve elected to temporarily disable it. Unfortunately, this means you won’t be able to directly be able to know if a label can expire at this time, but I’ll figure out a way to ensure it can no longer cause problems. When I do, I’ll re-open it.
- Minor spelling fixes for the README.
- Minor DocC corrections.
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.3
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 theATLexiconModel
macro.
- At this time, there’s a temporary fix for
- 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
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
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.
- One of the methods used in
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
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.
- This is, for the most part, replaces the
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 whereATRecordProtocol
-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.
- This mostly eliminates the need to write custom
- 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.
- Removed the tuple practice that caused a warning to appear.
- 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
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.