<p>We have generalized collections around our search engine. For that introducing
the <ahref="https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/components/Collection">Collection component</a>.</p>
<p>This structure has the following implication:</p>
<pre><code>Collection -> OrderedCollection
|-> Notes (known as Feed)
|-> Actors (known as Circle)
|-> Other Object (known as Collection of ...)
|-> Attachments: AttachmentCollection
|-> Tags: TagCollection
</code></pre>
<p>And it allow us to centralise the scope system in the core, ensuring that no
actor will have access to notes or other objects that shouldn't be able to see.</p>
<p>Finally, with this, a plugin such as <ahref="https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/NoteTypeFeedFilter">Note Type Feed Filter</a> can be useful in
every note collection (feed).</p>
<p>It also allows plugins such as ActivityPub to <ahref="https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/ActivityPub/Util/OrderedCollectionController.php">translate every collection
<p>We also introduced the <ahref="https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/components/Circle">Circle component</a>, which has a UI similar to the