activity/CHANGELOG

132 行
6.4 KiB
Plaintext

v0.4.0 2018-11-17
* The 'streams' package now has constructors for each of its generated types.
* The README now lists WriteFreely instead of Write.as as a user of this
library, though Write.as does also use go-fed. WriteFreely is the open-
source fork of the proprietary Write.as.
* The 'tools/exp' subdirectory contains a half-built work-in-progress tool that
will be used to generate the v1.X versions of this library. It does not
materially affect the v0.X versions' functionality nor its code
generation. Its presence is merely a consequence of the go-fed/activity
maintainer [continuing to] fail at using git branches.
v0.3.0 2018-08-21
* Interfaces in 'vocab' now properly contain all of the unknown methods
available for all properties. These methods were available on the structs
themselves but only partially listed in the interfaces. Specifically,
multiply-typed properties (regardless of being functional or not) were
omitted.
* 'pub' now supports Announce activities' default behavior. Upon receiving an
Announce activity via S2S, it is added to the 'shares' property of
object(s) owned in the application.
* Add the missing 'shares' property to 'vocab.Object' and its child types as
well as 'streams.Object' and its child types. It is an ActivityPub
specific property not a part of the ActivityStreams specification.
* The Callbackers for the SocialAPI and FederateAPI can have additional
methods of the form 'X(c context.Context, s *streams.X) error' where X is
a Core or Extended type not already a part of the Callbacker interface.
This lets client applications decide which Activity types need further
handling, without being burdened of implementing unused stub methods. The
new Activities supported have no default behavior supported by 'pub',
except for the Announce activity as desribed above. An exhaustive list of
Activities that can be X (as mentioned above) are:
- Announce
- Arrive
- Dislike
- Flag
- Ignore
- Invite
- Join
- Leave
- Listen
- Move
- Offer
- Question
- Read
- TentativeAccept
- TentativeReject
- Travel
- View
* The 'vocab' package now properly generates Intransitive Activity subtype
structs such that they are now convertible to the
vocab.IntransitiveActivityType interface.
* Types in the 'vocab' package now support setting, getting, removing, and
testing existence for unknown properties (extended properties).
v0.2.1 2018-08-19
* Request body is now correctly copied when sending federation messages.
* Change RWType and FollowResponse to bool and uint8, respectively.
* Update README with applications using the go-fed/activity library.
* Update README with links to official implementation reports for go-fed.
* Add unit test to document behavior when maxDeliveryDepth is set to zero.
v0.2.0 2018-08-04
* Begin FederateAPI unofficial implementation report.
* All 'vocab.Object' types and types extending from 'vocab.Object' now have an
'IsPublic' method that will return true if the 'to', 'bto', 'cc', or 'bcc'
properties have the ActivityPub special Public collection IRI. The
'streams' types also have a corresponding 'IsPublic' method.
* Use 'OrderedCollection' as the default type for 'likes', 'liked',
'following', and 'followers' properties if the actor or object does not
have an IRI, 'Collection', or 'OrderedCollection' set for these
properties.
* Examine the IRI of 'objects' when applying the Origin Check policy for Update
and Delete activities.
* If a federated Activity was already received, do not execute its side effects
a second time.
* Add 'Like' activities to the 'likes' collection, instead of adding the
actors. This was a specification-violating behavior.
* No longer try to fetch IRIs when deduping by IRI.
* Remove unused methods from fed_test.go.
* Fix Media Type header detection for ActivityPub messages.
* Improve code generation to remove 230,000 lines of code from the vocab
package.
* Add list of contributors to CONTRIBUTING.md.
* README examples are tagged with golang syntax highlighting.
v0.1.1 2018-06-13
* Begin SocialAPI unofficial implementation report.
* Improved HTTP header detection for ActivityPub requests.
* Activities added to outboxes are now Set (in addition to the outbox itself).
* Fixed panic where the 'bcc' and 'bto' properties were improperly guarded.
* Fixed authn/authz shadowing when serving ActivityStream objects, causing only
HTTP Signatures to be enforced.
* Under certain circumstances, IRIs will be fetched when an Add Activity is
received. This behavior is a stepping stone towards a comprehensive
solution in a future patch.
* SocialAPI Undo Activity has actors enforced the same way as the FederatedAPI.
* IRI normalization: Objects, Activities, and Links will no longer be duplicated
when added to Collection types. Instead, IRIs are added.
* Serving ActivityStream objects will now remove the 'bcc' and 'bto' properties.
* Serving a Tombstone ActivityStream response now uses the HTTP 410 Gone status
code.
* The 'vocab' and 'streams' subpackages now generate code to multiple files
instead of a single large one.
* The 'deliverer' subpackage now has test coverage.
v0.1.0 2018-05-30
* Initial release of the 'deliverer' subpackage.
* Initial release of the 'pub' subpackage.
* Initial release of the 'streams' subpackage.
* Initial release of the 'tools' subpackage.
* Initial release of the 'vocab' subpackage.
* Support for ActivityStream static types in Go.
* Support for ActivityStream serialization and deserialization.
* Support for ActivityPub POST and GET to actor inboxes.
* Support for ActivityPub POST and GET to actor outboxes.
* Support for SocialAPI, FederatedAPI, or both for inbox and outboxes.
* Support for ActivityPub GET to fetch ActivityStreams.
* Support for HTTP Signature verification.
* Support for basic SocialAPI Activity behaviors.
* Support for basic FederatedAPI Activity behaviors.
* Support for Application-customized authn/authz behaviors.
* Support for Tombstone for Delete Activities.
* Test 'vocab' against examples in the spec.
* Test 'streams' against the test repository.
* Test 'pub' with over >100 end-to-end black box tests.