Upcoming grand rename
breaking change
Folks,
I have been mulling over correcting a mistake that's been bothering me for months but it's a major breaking change and I wanted to get feedback on it because I know a few of you are using the library in anger,
The class name for `AtProtoRecord` is wrong, and that's down to a misunderstanding on my part when I started messing around with this library.
`AtProtoRecord` is not what should be considered an AtProto record, it's a wrapper around a record, wrapping it with a reference to the record. What is currently `AtProtoRecordValue` **is** what ought to be considered the record.
My thoughts here are
1. Keep `AtProtoObject` as the root of all things
2. Rename `AtProtoReferencedObject` to `AtProtoAddressedObjectBase`, or just `AddressedObjectBase` and let the namespace do the work. This would be the root of all addressed things.
3. Rename `AtProtoRecord` and `AtProtoRecord<T>` to be `AddressedRecord<T>`.
4. Rename `AtProtoRecordValue` to be what it should have been, `AtProtoRecord`
5. Reflect this in the Bluesky library and rename as appropriate.
This will be horribly breaking, especially as I'd be renaming `AtProtoRecordValue` to `AtProtoRecord` which already exists.
On the other hand, if all your doing is using the usual Bluesky utility methods, rather than reading or writing raw records everywhere you'll be isolated from most of this.
Once I get this done, some more tests, and the missing list management APIs I think I'm in a good enough place to call it v1.0, at which point I'll be a grown up about such major breaking changes, 🤞.
Please let me have your thoughts.
1 条评论