v0.20.0
Version 0.20.0 includes the following changes:
ATProtoBluesky
now includes proper implementation for link embeds.- You can use your own implementation on how you grab the URL, title, description, and thumbnail image for the link. You can also use the built-in
ATLinkBuilder
for your client to grab the links for you.Note: If a custom
ATLinkBuilder
is not included, then link previews will not work automatically. Please see the DocC for more details.
- You can use your own implementation on how you grab the URL, title, description, and thumbnail image for the link. You can also use the built-in
- ATProtoKit now has now has
StrictConcurrency
enabled.- This is to check for more data race errors. Once it goes down to 0 and there’s a more established structure, Swift 6 language mode will be turned on.
- Replaced the use of
@DateFormatting
and@DateFormattingOptional
withencodeDate
,encodeDateIfPresent
,decodeDate
, anddecodeDateIfPresent
.- This is due to the constant issues with respect to decoding
Date
andDate?
properties. With these new functions the issues that have been present should no longer exist. ATLexiconModel
will be updated to reflect this change.- The affected article will be archived and will be removed at a later date.
@DateFormatting
and@DateFormattingOptional
will be deprecated.- As a side note:
truncateEncode
andtruncateEncodeIfPresent
will now be publicly available for developers to use.
- This is due to the constant issues with respect to decoding
- Fixed additional data race errors.
- Logging-related code has been separated from
ATProtocolConfiguration
and into a separateactor
.
- Logging-related code has been separated from
- Fixed a crash related to
ATRecordTypeRegistry
. - Made sure swift-syntax works across Swift 5.10 and 6.0. (Thanks @rhysm94!)
- Tweaked
getPopularFeedGenerators
to use authentication. (Thanks, @Dimillian!) - Fixed an issue where
getPreferences()
would fail to decode the output.- This is because
app.bsky.actor.defs#preferences
is anarray
in the lexicon and not anobject
. This was an oversight.AppBskyLexicon.Actor.PreferencesDefinition
has now been converted from astruct
to atypealias
.- Thank you @Dimillian for fixing the bug! While their PR wasn’t merged, it did point to the right direction.
- This is because
- Fixed an issue where the JSON object related to starter packs may incorrectly be decoded as a labeller.
- Made sure
getPopularFeedGenerators()
uses authentication. (Thanks @Dimillian!) - Fixed issue where embed records were not decoding correctly. (Thanks @andylin2004!)
- This format will be a new change for all records and record views in order to ensure that things are decoding and encoding correctly.
- Made some minor fixes to documentation and names.
- Documentation to most of
ATLexiconModel
’s methods have been added.
- Documentation to most of
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.