Releases: MasterJ93/ATProtoKit
v0.12.1
Version 0.12.1 includes the following changes:
- Moved
FeatureCodable
outside of the structs.- This fixes an error where protocols can’t be inside of a struct.
- This should potentially fix the issue where the library fails to compile in Swift 5.9.
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.12.0
Version 0.12.0 includes the following changes:
- All lexicon-related models have been reorganized.
- Warning: This is a MAJOR change in ATProtoKit as it changes the names of all lexicon-related models, as well as the method’s return types. Please be mindful about these changes. If there are unexpected changes or if anything breaks, please create an issue so it can be checked and fixed promptly.
- There are now only four main
struct
s:AppBskyLexicon
,ChatBskyLexicon
,ComAtprotoLexicon
, andToolsOzoneLexicon
. - The subdomain level will have their own
struct
(examples:Feed
,Labeler
,Unspecced
, etc.). - Within those
struct
s, they will have additionalstruct
s depending on the action and type. Examples includeProfileViewBasic
,PostRecord
,GetPostThreadOutput
, etc.). - This is a breaking change: please be prepared to change things overtime.
- This change is necessary in order to help lock in the API design of the lexicons.
- In addition, all
chat.bsky
lexicons have been added and organized the same way.
ATProtoBluesky
andATProtoBlueskyChat
classes have been added.- `ATProtoBluesky relates to creating, editing, and deleting records. With some exceptions, all records will have convenience methods for creating, editing, and deleting the records themselves.
createPostRecord()
,createLikeRecord()
, anddeleteLikeRecord()
will all go to this class at a later update.
ATProtoBlueChat
relates to the chat features of Bluesky.
- `ATProtoBluesky relates to creating, editing, and deleting records. With some exceptions, all records will have convenience methods for creating, editing, and deleting the records themselves.
- Changed the lexicons to the latest changes.
- Fixed an issue where multiple instances of
ATProtoKit
may result in duplicate entries ofATRecordProtocol
-conformingstructs
.
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.11.1
Version 0.11.1 includes the following changes:
- Fixed some issues with documentation links.
- Fixed an issue where each event stream data only displayed the binary blocks instead of the entire data.
- For now, these will be print statements; future updates will encode the data better.
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.11.0
Version 0.11.0 includes the following changes:
- Logging initialization has been moved to
ATProtocolConfiguration
.- This is a necessary change; this is effectively a solution to the problem of the
ATProtocolConfiguration
not being able to have any logging functionality. - Log events will be added over time.
- This is a necessary change; this is effectively a solution to the problem of the
- Further work toward
ATEventStreamConfiguration
:- Completed various methods for the standard elements of
- Added a
CBORCoding
to decode CBOR files.- This version will decode everything up to the blocks. A future version will allow for complete decoding of CBOR blocks.
- At this time,
ATEventStreamConfiguration
andATFirehoseStream
is at an experimental phase and will remain for some time until CBOR files can be completely decoded.
- Documentation has been updated, with added missing properties and
switch
cases, a “What’s New With ATProtoKit” section, and support for documented extended classes and frameworks.
This update will also allow for the documentation website to be updated automatically upon creating a new release. Future updates will also allow DocC archives to be automatically added to the release binary files.
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.10.3
Version 0.10.3 includes the following changes:
- Updated the models and methods to the latest lexicon changes from Bluesky’s
atproto
repository. - Tweaked
truncateEncode
andtruncateEncodeIfPresent
to individually be merged with one line.- More specifically, there are times where the property needs to be changed before those two methods truncate and encode it.
- The reason for
truncateEncode
andtruncateEncodeIfPresent
are not combined is so the functions can mirror thecontainer.encode
andcontainer.encodeIfPresent
methods.
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.10.2
Version 0.10.2 includes the following changes:
- Re-organized the Admin and Ozone-related methods and models to their correct location and correct links.
- Also renamed them to the applicable names.
- Add documentation for some private and public methods and model properties respectively.
- Completed checks for conforming to the latest API Design Guidelines.
- Micro formats to the code with respect to formatting.
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.10.1
Version 0.10.1 includes the following changes:
- Fixed an issue in README where the link to atproto's MIT License failed to work.
- Fixed a bug in
UnknownType
. It should now properly decode to[String: Any]
if the type is truly unknown. - Fixed a minor spelling error in the documentation.
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.10.0
Version 0.10.0 includes the following changes:
- Added
ATRecordProtocol
andUnknownType
:- This allows for any properties that are of type
unknown
in the lexicon to be encoded and decoded between the JSON object and the applicable Swift model. - API users can create custom record models as long as they conform to
ATRecordProtocol
.- A lexicon builder tool to convert lexicon JSON files into Swift models and methods will be available in a later update.
- Functionality will be basic with this update; any advancements will be available in a later update.
- This allows for any properties that are of type
- Added
ATProtoTools
:- This is a group of miscellaneous methods that don’t fit neatly into other classes.
- The first batch includes all of the methods related to
GetReplyReference.swift
. - Any methods that have a better place within ATProtoKit will be moved to that location.
- When this class is more stable, those methods will instead be copied over to the applicable class and the one in this class will be deprecated.
- Record Key validation has been added.
- Minor updates have been made to ATProtoKit API Design Guidelines, including some clarification with the limit exceptions for documentation line lengths.
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.9.5
Version 0.9.5 includes the latest updates the models and methods to the latest changes from Bluesky’s atproto
repo (only applying to the merged changes). Some tiny tweaks to documentation have also been made.
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.9.4
Version 0.9.4 includes the following changes:
- Updates the models and methods to the latest changes from Bluesky’s
atproto
repo (only applying to the merged changes) - Added documentation articles
- This will be made over time.
- Updated the documentation that mentions about App Passwords and Two-Factor Authorization.
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.