All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Unit tests for the
ActivityPub\Transformer\Post
class
- Reuse constants once they're defined
- "FEP-b2b8: Long-form Text" support
- Do not display ActivityPub's user sub-menus to users who do not have the capabilities of writing posts.
- Proper margins for notices and font size for page title in settings screen
- Remove
meta
CLI command - Remove unneeded translation functions from CLI commands
- Only revert to URL if there is one
- Migration
- Add custom Preview for "Fediverse"
- Support
comment_previously_approved
setting
- Hide sticky posts that are not public
activity_handle_undo
action- Add title to content if post is a
Note
- Fallback to blog-user if user is disabled
- Do not federate "Local" posts
- Help-text for Content-Warning box
4.0.1 - 2024-10-26
- Missing URL-Param handling in REST API
- Seriously Simple Podcasting integration
- Multiple small fixes
- Provide contextual fallback for dynamic blocks
4.0.0 - 2024-10-23
- Fire an action before a follower is removed
- Make Intent-URL filterable
title
attribute to link headers for better readability- Post "visibility" feature
- Attribution-Domains support
- Inbox validation
- WordPress-Post-Type - Detection
- Only validate POST params and do not fall back to GET params
- ID handling for a better compatibility with caching plugins
- The "Shared Inbox" endpoint
- Ensure that sticky_posts is an array
- URLs and Hashtags in profiles were not converted
- A lot of small improvements and fixes
3.3.3 - 2024-10-09
- Sanitization callback
- A lot of PHPCS cleanups
- Prepare multi-lang support
3.3.2 - 2024-10-02
- Keep priority of Icons
- Fatal error if remote-object is
WP_Error
- Adopt WordPress PHP Coding Standards
3.3.1 - 2024-09-26
- PHP Warnings
- PHPCS issues
3.3.0 - 2024-09-25
- Content warning support
- Replies collection
- Enable Mastodon Apps: support profile editing, blog user
- Follow Me/Followers: add inherit mode for dynamic templating
- Cropping Header Images for users without the 'customize' capability
- OpenSSL handling
- Added missing @ in Follow-Me block
3.2.5 - 2024-09-17
- Enable Mastodon Apps check
- Fediverse replies were not threaded properly
3.2.4 - 2024-09-16
- Inbox validation
3.2.3 - 2024-09-15
- NodeInfo endpoint
- (Temporarily) Remove HTML from
summary
, because it seems that Mastodon has issues with it
- Accessibility for Reply-Context
- Use
Article
Object-Type as default
3.2.2 - 2024-09-09
- Fixed: Extra-Fields check
3.2.1 - 2024-09-09
- Fixed: Use
Excerpt
for Podcast Episodes
3.2.0 - 2024-09-09
- Support for Seriously Simple Podcasting
- Blog extra fields
- Support "read more" for Activity-Summary
Like
andAnnounce
(Boost) handler- Simple Remote-Reply endpoint
- "Stream" Plugin support
- New Fediverse symbol
- Replace hashtags, URLs, and mentions in summary with links
- Hide Bookmarklet if site does not support Blocks
- Link detection for extra fields when spaces after the link and fix when two links in the content
Undo
forLikes
andAnnounces
- Show Avatars on
Likes
andAnnounces
- Remove proprietary WebFinger resource
- Wrong followers URL in "to" attribute of posts
3.1.0 - 2024-08-07
menu_order
toap_extrafield
so that user can decide in which order they will be displayed- Line breaks to user biography
- Blueprint
- Simplified WebFinger code
- Changed missing
activitypub_user_description
toactivitypub_description
- Undefined
get_sample_permalink
- Only send Update for previously-published posts
3.0.0 - 2024-07-29
- "Reply Context" support, you can now reply to posts on the Fediverse through a WordPress post
- Bookmarklet to automatically pre-fill the "Reply Context" block
- "Header Image" support and ability to edit other profile information for Authors and the Blog-User
- ActivityPub link HTML/HTTP-Header support
- Tag support for Actors (only auto-generated for now)
- Add setting to enable/disable the
fediverse:creator
OGP tag.
- Deprecated
class-post.php
model
2.6.1 - 2024-07-18
- Extra Fields will generate wrong entries
2.6.0 - 2024-07-17
- Support for FEP-fb2a
- CRUD support for Extra Fields
- Remote-Follow UI and UX
- Open Graph
fediverse:creator
implementation
- Compatibility issues with fed.brid.gy
- Remote-Reply endpoint
- WebFinger Error Codes (thanks to the FediTest project)
- Fatal Error when
wp_schedule_single_event
third argument is being passed as a string
2.5.0 - 2024-07-01
- WebFinger cors header
- WebFinger Content-Type
- The Fediverse creator of a post to OpenGraph
- Try to lookup local users first for Enable Mastodon Apps
- Send also Announces for deletes
- Load time by adding
count_total=false
toWP_User_Query
- Several WebFinger issues
- Redirect issue for Application user
- Accessibilty issues with missing screen-reader-text on User overview page
2.4.0 - 2024-06-05
- A core/embed block filter to transform iframes to links
- Basic support of incoming
Announce
s - Improve attachment handling
- Notifications: Introduce general class and use it for new follows
- Always fall back to
get_by_username
if one of the above fail - Notification support for Jetpack
- EMA: Support for fetching external statuses without replies
- EMA: Remote context
- EMA: Allow searching for URLs
- EMA: Ensuring numeric ids is now done in EMA directly
- Podcast support
- Follower count to "At a Glance" dashboard widget
- Use
Note
as default Object-Type, instead ofArticle
- Improve
AUTHORIZED_FETCH
- Only send Mentions to comments in the direct hierarchy
- Improve transformer
- Improve Lemmy compatibility
- Updated JS dependencies
- EMA: Add missing static keyword and try to lookup if the id is 0
- Blog-wide account when WordPress is in subdirectory
- Funkwhale URLs
- Prevent infinite loops in
get_comment_ancestors
- Better Content-Negotiation handling
2.3.1 - 2024-04-29
- Enable Mastodon Apps: Add remote outbox fetching
- Help texts
- Compatibility issues with Discourse
- Do not announce replies
- Also delete interactions with deleted person
- Check Author-URL only if user is enabled for ActivityPub
- Generate comment IDs for federation from home_url
- Beta label from the #Hashtag settings
2.3.0 - 2024-04-16
- Mark links as "unhandled-link" and "status-link", for a better UX in the Mastodon App
- Enable-Mastodon-Apps: Provide followers
- Enable-Mastodon-Apps: Extend account with ActivityPub data
- Enable-Mastodon-Apps: Search in followers
- Add
alt
support for images (for Block and Classic-Editor)
- Counter for system users outbox
- Don't set a default actor type in the actor class
- Outbox collection for blog and application user
- A better default content handling based on the Object Type
- Improve User management
- Federated replies: Improved UX for "your reply will federate"
- Comment reply federation: support
is_single_user
sites - Mask WordPress version number
- Improve remote reply handling
- Remote Reply: limit enqueue to when needed
- Abstract shared Dialog code
2.2.0 - 2024-02-27
- Remote-Reply lightbox
- Support
application/ld+json
mime-type with AP profile in WebFinger
- Prevent scheduler overload
2.1.1 - 2024-02-13
- Add
@
prefix to Follow-Block - Apply
comment_text
filter to Activity
2.1.0 - 2024-02-12
- Various endpoints for the "Enable Mastodon Apps" plugin
- Event Objects
- Send notification to all Repliers if a new Comment is added
- Vary-Header support behind feature flag
- Some Federated Comment improvements
- Remove old/abandoned Crons
2.0.1 - 2024-01-12
- Comment
Update
Federation - WebFinger check
- Classic editor image finding for large images
- Re-Added Post Model Class because of some weird caching issues
2.0.0 - 2024-01-09
- Bidirectional Comment Federation
- URL support for WebFinger
- Make Post-Template filterable
- CSS class for ActivityPub comments to allow custom designs
- FEP-2677: Identifying the Application Actor
- FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor
- Profile Update Activities
- WebFinger endpoints
- Deprecated Classes
- Normalize attributes that can have mixed value types
1.3.0 2023-12-05
- Threaded-Comments support
- alt text for avatars in Follow Me/Followers blocks
Delete
,Update
andFollow
Activities- better/more effective handling of
Delete
Activities - allow
<p />
and<br />
for Comments
- removed default limit of WP_Query to send updates to all Inboxes and not only to the first 10
1.2.0 - 2023-11-18
- Search and order followerer lists
- Have a filter to defer signature verification
- "Follow Me" styles for dark themes
- Allow
p
andbr
tags only for AP comments
- Deduplicate attachments earlier to prevent incorrect max_media
1.1.0 - 2023-11-08
- audio and video attachments are now supported!
- better error messages if remote profile is not accessible
- PHP 8.1 compatibility
- more reliable [ap_author], props @uk3
- NodeInfo statistics
- don't try to parse mentions or hashtags for very large (>1MB) posts to prevent timeouts
- better handling of ISO-639-1 locale codes
- better error messages if remote profile is not accessible
- broken following endpoint
- blocking of HEAD requests
- PHP fatal error
- several typos
- error codes
- loading of shortcodes
- caching of followers
- Application-User is no longer "indexable"
- more consistent usage of the
application/activity+json
Content-Type
- featured tags endpoint
- filter to hook into "is blog public" check
- broken function call
- more restrictive request verification
- compatibility with WebFinger and NodeInfo plugin
- Constants were not loaded early enough, resulting in a race condition
- Featured image was ignored when using the block editor
- refactoring of the Plugin init process
- better frontend UX and improved theme compat for blocks
- add a
ACTIVITYPUB_DISABLE_REWRITES
constant - add pre-fetch hook to allow plugins to hang filters on
- compatibility with older WordPress/PHP versions
- improved hashtag visibility in default template
- reduced number of followers to be checked/updated via Cron, when System Cron is not set up
- check if username of Blog-User collides with an Authors name
- improved Group meta informations
- detection of single user mode
- remote delete
- styles in Follow-Me block
- various encoding and formatting issues
- (health) check Author URLs only if Authors are enabled
- improve image attachment detection using the block editor
- better error code handling for API responses
- use a tag stack instead of regex for protecting tags for Hashtags and @-Mentions
- better signature support for subpath-installations
- allow deactivating blocks registered by the plugin
- avoid Fatal Errors when using ClassicPress
- improve the Group-Actor to play nicely with existing implementations
- truncate long blog titles and handles for the "Follow me" block
- ensure that only a valid user can be selected for the "Follow me" block
- fix a typo in a hook name
- a problem with signatures when running WordPress in a sub-path
- blog-wide Account (catchall, like
example.com@example.com
) - a Follow Me block (help visitors to follow your Profile)
- Signature Verification: https://docs.joinmastodon.org/spec/security/
- a Followers Block (show off your Followers)
- Simple caching
- Collection endpoints for Featured Tags and Featured Posts
- Better handling of Hashtags in mobile apps
- Complete rewrite of the Follower-System based on Custom Post Types
- Improved linter (PHPCS)
- Add a new conditional,
\Activitypub\is_activitypub_request()
, to allow third-party plugins to detect ActivityPub requests - Add hooks to allow modifying images returned in ActivityPub requests
- Indicate that the plugin is compatible and has been tested with the latest version of WordPress, 6.3
- Avoid PHP notice on sites using PHP 8.2
- Load the plugin later in the WordPress code lifecycle to avoid errors in some requests
- Updating posts
- Hashtag now support CamelCase and UTF-8
- Allow more HTML elements in Activity-Objects
- Fix type-selector
- Return empty content/excerpt on password protected posts/pages
- Remove scripts later in the queue, to also handle scripts added by blocks
- Add published date to author profiles
- "cc", "to", ... fields can either be an array or a string
- Remove "style" and "script" HTML elements from content
- Fix fatal error in outbox
- Fix "update and create, posts appear blank on Mastodon" issue
- Add "Outgoing Mentions" (#213) props @akirk
- Add configuration item for number of images to attach (#248) props @mexon
- Use shortcodes instead of custom templates, to setup the Activity Post-Content (#250) props @toolstack
- Change priorites, to maybe fix the hashtag issue
- Remove custom REST Server, because the needed changes are now merged into Core.
- Enable ActivityPub only for users that can
publish_posts
- Persist only public Activities
- Fix remote-delete
- Better error handling. props @akirk
- Fix Critical error when using Friends Plugin and adding new URL to follow. props @akirk
- Fix "WebFinger not compatible with PHP < 8.0". props @mexon
- Friends support: https://wordpress.org/plugins/friends/ props @akirk
- Massive guidance improvements. props mediaformat & @akirk
- Add Custom Post Type support to outbox API. props blueset
- Better hash-tag support. props bocops
- Fix user-count (NodeInfo). props mediaformat
- fix webfinger for email identifiers
- Create and Note should not have the same ActivityPub ID
- fix Follow issue AGAIN
- fix Inbox issue
- add Autor URL and WebFinger health checks
- fix NodeInfo endpoint
- use "pre_option_require_name_email" filter instead of "check_comment_flood". props @akirk
- save only comments/replies
- check for an explicit "undo -> follow" action. see https://wordpress.org/support/topic/qs-after-latest/
- fix inconsistent
%tags%
placeholder
- fix follow/unfollow actions
- add support for customizable post-content
- first try of a delete activity
- do not require email for AP entries. props @akirk
- fix timezones bug. props @mediaformat
- fix digest header bug. props @mediaformat
- fix inbox activities, like follow
- fix debug
- add image alt text to the ActivityStreams attachment property in a format that Mastodon can read. props @BenLubar
- use the "summary" property for a title as Mastodon does. props @BenLubar
- add new post type: "title and link only". props @bgcarlisle
- support authorized fetch to avoid having comments from "Anonymous". props @BenLubar
- disable shared inbox
- disable delete activity
- some code refactorings
- fix #73
- fixed accept header bug
- all required accept header
- debugging mechanism
- setting to enable AP for different (public) Post-Types
- explicit use of global functions
- better/simpler accept-header handling
- fixed PHP warnings
- Moved followers list to user-menu
- added admin_email to metadata, to be able to "Manage your instance" on https://fediverse.network/manage/
- refactorings
- fixed PHP warnings
- better hashtag regex
- fixed JSON representation of posts https://merveilles.town/@xuv/101907542498716956
- fixed inbox problems with pleroma
- added "following" endpoint
- simplified "followers" endpoint
- finally fixed pleroma compatibility
- fixed default value problem
- add tags as hashtags to the end of each activity
- followers-list improvements
- fixed pleroma following issue
- fixed name-collision that caused an infinite loop
- complete refactoring
- fixed bug #30: Password-protected posts are federated
- only send Activites when ActivityPub is enabled for this post-type
- show avatars
- finally fixed backlink in excerpt/summary posts
- fixed backlink in excerpt/summary posts (thanks @depone)
- finally fixed contact list
0.4.0 - 2019-02-17
- added settings to enable/disable hashtag support
- fixed follower list
- send activities only for new posts, otherwise send updates
0.3.2 - 2019-02-04
- added "followers" endpoint
- change activity content from blog 'excerpt' to blog 'content'
0.3.1 - 2019-02-03
- better json encoding
0.3.0 - 2019-02-02
- basic hashtag support
- added support for actor objects
- temporarily deactivated likes and boosts
- fixed encoding issue
0.2.1 - 2019-01-16
- customizable backlink (permalink or shorturl)
- show profile-identifiers also on profile settings
0.2.0 - 2019-01-04
- option to switch between content and excerpt
- html and duplicate new-lines
0.1.1 - 2018-12-30
- settings for the activity-summary and for the activity-object-type
- "excerpt" in AS JSON
0.1.0 - 2018-12-20
- basic WebFinger support
- basic NodeInfo support
- fully functional "follow" activity
- send new posts to your followers
- receive comments from your followers
0.0.2 - 2018-11-06
- functional inbox
- refactoring
- nicer profile views
0.0.1 - 2018-09-24
- initial