atsign-foundation / at_client_sdk

The Dart implementation of atSDK used for implementing Atsign's technology into other software
https://pub.dev/publishers/atsign.org/packages
BSD 3-Clause "New" or "Revised" License
1.47k stars 31 forks source link

[Tracker] SDK 4.0 - Breaking changes #1018

Open XavierChanth opened 1 year ago

XavierChanth commented 1 year ago

I opened this ticket as a place to get ahead of the curve in terms of the next round of breaking changes.

The following comes to mind for this list: Renaming AtKey will cause a breaking change, but for the benefit of making the tech easier to understand. With that, we could rename at_client_mobile to at_client_flutter, and potentially other things that we think could be made clearer.

In addition, I'm nearly certain that there are other potential changes that I am not aware of, and it would be useful to list those here as well. Then, when the time comes to actually make the breaking changes, we will have a checklist ready to ensure that we don't miss anything on release.

Other things:

gkc commented 1 year ago

Thanks for creating this ticket Xavier! It's definitely time to get serious about a version 4

Re the renaming of AtKey specifically: we should consider introducing a non-breaking change much sooner by changing AtKey's implementation so that it delegates everything to a new class (likely named AtRecord), and then deprecating AtKey. We could then fully remove AtKey in a version 4

XavierChanth commented 1 year ago

If we want to migrate our signatures to records, this would be a good time to do it!

gkc commented 1 year ago

See also https://github.com/atsign-foundation/at_client_sdk/issues/1113

XavierChanth commented 11 months ago

I want to consider removing KeyStreams in 4.0.0, my original intent for them doesn't really make sense given the work with AtCollections. I will need to take a closer look to confirm that they truly have no use-cases, but I believe that to be the case.

XavierChanth commented 8 months ago

@gkc I know we originally discussed renaming AtKey to AtID, but all of our SDKs use the term AtKey now... it's worth bringing this topic up again.

gkc commented 8 months ago

Discussion & decision from architecture call: