Skip to content
Added
-----------------------

- Generators:
  - `rails generate federails:copy_factories` copies FactoryBot factories in 'spec/factories', with `federails_` prefix
  - `rails generate federails:copy_client_policies` copies Pundit policies in 'app/policies/federails'
- Actors:
  - added `sync!` method to update distant actors: `Actor.find(1).sync!`
  - added `on_federails_undelete_requested` callback
  - restore actor when `on_federails_undelete_requested` is triggered
- DataEntity:
  - added `federails_sync!` method to update distant content: `Articles.find(1).federails_sync!`
  - added `on_federails_undelete_requested` callback
- Inboxes:
  - dispatch `on_federails_undelete_requested` when receiving an `Undo` activity on a `Delete` one
- Client:
  - Added a field with actor's "at address" to copy in another instance
- Utils:
  - Added `Federails::Utils::JsonRequest` module to replace many similar methods in `Fediverse::Webfinger` and
    `Fediverse::Request`
- Fediverse:
  - Added `Fediverse::NodeInfo` to retrieve nodeinfo data

Changed
-----------------------

- Actors:
  - `entity` relation is now kept when actor is tombstoned with an existing entity
  - `at_address` now have a `prefix` argument to change the address prefix. Defaults to `@` for compatibility.
- `Fediverse::Request`: class is not instantiable anymore

Removed
-----------------------

- `Fediverse::Request.get` has been removed.

Fixed
-----------------------

- Do not create actor when fetching new remote objects
- Added missing condition on DataEntity's `after_update` hook
- Client:
  - Don't fail in `follower` partial when user is not signed-in
  - Require `uri` parameter in new following action
  - Strip parameter value when searching for actors
  - Improve some strings in views
- Server:
  - Fix nodeinfo scheme in schema URL