New Features
- Mobile App Registration (#3829)
- Portfolios (#3705)
- Server Directory (#3762)
- Manually verify email address (php artisan user:verifyemail) (682f5f0f)
- Manually generate in-app registration confirmation links (php artisan user:app-magic-link) (73eb9e36)
- Optional home feed caching (3328b367)
- Admin Invites (b73ca9a1)
- Hashtag administration (84872311)
- Admin report email notifications (4e1d0ed5)
- Add Licenses help page, fixes #4238 (3c712a70)
Updates
- Update ApiV1Controller, include self likes in favourited_by endpoint (58b331d2)
- Update PublicApiController, remove expensive and unused relationships (2ecc3144)
- Update status deletion, fix database lock issues and side effects (04e8c96a)
- Fix remote profile avatar urls when storing locally (b0422d4f)
- Enable network timeline caching by default (c990ac2a)
- Redirect /home to / (97032997)
- Fix 2FA backup code bug (a231b3c5)
- Update federation config, enable remote follows by default (59702d40)
- Update ApiV1Controller, fix followAccountById with firstOrCreate() (1d52ad0b)
- Update AccountService, fix delete status (8b7121f9)
- Update ap helpers, fix duplicate entry bug (85cfa1ba)
- Update Inbox, fix handleUndoActivity (d660e46b)
- Update HomeSettings controller, bail earlier when attempting to update email that already exists (399bf5f8)
- Update ProfileController, cache actor object and atom feed (8665eab1)
- Update NotificationTransformer, fix mediaTag and modLog types (b6c06c4b)
- Update landing view, add
app.name
andapp.short_description
for better customizability (bda9d16b) - Update Profile, fix avatarUrl paths. Fixes #3559 #3634 (989e4249)
- Update InboxPipeline, bump request timeout from 5s to 60s (bb120019)
- Update web routes, fix missing home route (a9f4ddfc)
- Allow forceHttps to be disabled, fixes #3710 (a31bdec7)
- Update MediaStorageService, fix size check bug (319f0ba5)
- Update AvatarSync, fix sync skipping recently fetched avatars by setting last_fetched_at to null before refetching (a83fc798)
- Refactor AvatarStorage to support migrating avatars to cloud storage, fix remote avatar refetching and merge AvatarSync commands and add deprecation notice to avatar:sync command (223aea47)
- Update AvatarStorage, improve overview calculations (733b9fd0)
- Update filesystem config, fix DO Spaces root default (720b6eb3)
- Update Avatar pipeline, fix cloud storage media_path (02edd19d)
- Update FederationController, add instance actor profile to webfinger (6e3c8097)
- Update MediaService, add summary attribute for better alt text federation (a12712cc)
- Update AvatarObserver, fix cloud delete bug by checking if cloud storage is enabled (9f7672f5)
- Update DeleteAccountPipeline, dispatch on low queue (6eabe07c)
- Update DeleteAccountPipeline, handle flysystem v3 changes by checking files exist before attempting to delete (23e2998f)
- Update FollowerService, use redis sorted sets for follower relations (356cc277)
- Update FollowerService, use redis sorted sets for following relations (f46b01af)
- Update PublicApiController, refactor follower/following api endpoints to consume FollowerService instead of querying database (b39f91b4)
- Update follower/following profile layout, optimized for mobile devices and use FollowerService (78a5575d)
- Update sidebar menu, when clicking on the active feed/timeline buttons force a reload and scroll to top of feed (78a5575d)
- Update InboxPipeline, increase timeout from 60s to 300s (d1b888b5)
- Update backup config, fixes #3793, #3920, #3931 (b0c4cc30)
- Update FederationController, add two new queues (follow, shared) to prioritize follow request handling (8ba33864)
- Dispatch follow accept/reject pipeline jobs to follow queue (aaed2bf6)
- Update MediaStorageService, improve support for pleroma .blob avatars (66226658)
- Update ApiV1Controller, remove min avatar size limit, fixes #3715 (2b0db812)
- Update InboxPipeline, add inbox job queue and separate http sig validation from activity handling (e6c1604d)
- Update InboxPipeline, dispatch Follow/Accept Follow jobs to follow queue (f62d2494)
- Add MediaS3GarbageCollector command to clear local media after uploaded to S3 disks after 12 hours (b8c3f153)
- Update MediaS3GarbageCollector command, disable logging by default and optimize huge invocations (a14af93b)
- Update MediaStorageService, clear MediaService and StatusService caches after localToCloud (de56b0f0)
- Add CloudMediaMigrate command to migrate older local media to cloud storage (382d00d9)
- Update MediaS3GarbageCollector command, handle thumbnail deletion (95bbcc38)
- Update StatusReplyPipeline, remove expensive reply count re-calculation query (a2f8aad1)
- Update CommentPipeline, remove expensive reply count re-calculation query (b457a446)
- Update FederationController, improve inbox/sharedInbox delete handling (2180a2de)
- Update HashtagController, improve trending hashtag endpoint (4873c7dd)
- Fix CustomEmoji, properly handle shortcode updates and delete old copy in case the extension changes (bc29073a)
- Update reply pipelines, restore reply_count logic (0d780ffb)
- Update StatusTagsPipeline, reject if
type
not set (91085c45) - Update ReplyPipelines, use more efficent reply count calculation (d4dfa95c)
- Update StatusDelete pipeline, dispatch async (257c0949)
- Update lexer/extractor to handle banned hashtags (909a8a5a)
- Update FederationController, fix double lock bug (9fcccca9)
- Update AdminInvite component, fix email regex (2aea77d3)
- Update database config, use single transaction and skip lock tables for mysql dump (936f1e7a)
- Update database config, add sticky flag https://laravel.com/docs/9.x/database#the-sticky-option (10b65980)
- Update profile audience to filter blocked instances (e0c3dae3)
- Update SearchApiV2Service, improve query performance (4d1f2811)
- Update InstanceService, improve unlisted/banned network post filtering (a0da6ec3)
- Update ApiV1DotController, fix inAppRegistrationConfirm logic (6cfbedd9)
- Update ApiV1Controller, allow description (alt text) updates after status is published (869c3ed1)
- Update AdminApiController, fix postgres support (84fb59d0)
- Update StatusReplyPipeline, fix comment counts (164aa577)
- Update ComposeModal, add Alt Text button to caption screen (4db48188)
- Update AccountService, fix actor cache invalidation (498b46f7)
- Update SharePipeline, fix share handling and notification generation (83e1e203)
- Update SharePipeline, fix ReblogService and undo handling (016c6e41)
- Update AP Helpers, fix media validation bug that would reject media with alttext/name longer than 255 chars and store remote alt text if set (a7f58349)
- Update MentionPipeline, store non-local mentions (17149230)
- Update Like model, increase rate limit to 500 likes per day (ab7676f9)
- Update ComposeController, fix validation issue (80e6a5a9)
- Update reply view, fix visibility filtering (d419af4b)
- Update AP helpers, ingest attachments in replies (c504e643)
- Update Media model, use cloud filesystem url if enabled instead of cdn_url to easily update S3 media urls (e6bc57d7)
- Update ap helpers, fix unset media name bug (083f506b)
- Update MediaStorageService, fix improper path (964c62da)
- Update ApiV1Controller, fix account statuses and bookmark pagination (9f66d6b6)
- Update SearchApiV2Service, improve account search results (f6a588f9)
- Update profile model, improve avatarUrl fallback (620ee826)
- Update ApiV1Controller, use cursor pagination for favourited_by and reblogged_by endpoints (e1c7e701)
- Update ApiV1Controller, fix favourited_by and reblogged_by follows attribute (1a130f3e)
- Update notifications component, improve UX with exponential retry and loading state (937e6d07)
- Update likeModal and shareModal components, use new pagination logic and re-add Follow/Unfollow buttons (b565ead6)
- Update profileFeed component, fix pagination (7cf41628)
- Update ApiV1Controller, add BookmarkService logic to bookmark endpoints (29b1af10)
- Update ApiV1Controller, filter conversations without last_status (e8a6a8c7)
- Update ApiV1Controller and BookmarkController, fix api differences and allow unbookmarking regardless of relationship (e343061a)
- Update ApiV1Controller, add pixelfed entity support to bookmarks endpoint (94069db9)
- Update PostReactions, reduce bookmark timeout to 2s from 5s (a8094e6c)
- Update CollectionController, fixes #3946 (abd52f4d)
- Update ComposeController, fix add to collection logic (9f8957b9)
- Update v1.1 api, add post moderation endpoint (9bbd6dcd)
- Update StatusService, on purge remove from NetworkTimelineService cache (18940cb2)
- Update mute/block logic with admin defined limits and improved filtering to skip deleted accounts (5b879f01)
- Update FollowPipeline, fix followers_count and following_count counters (6153b620)
- Update ApiV1Controller, fix media update. Fixes #4196 (f3164650)
- Update SearchApiV2Service, fix hashtag search. (1992b5bc)
- Update ApiV1Controller, allow optional mastodonMode on v2/search endpoint. (f4a69631)
- Update ApiV1Controller, add cursor pagination and pagination link headers to account/{id}/followers and account/{id}/following endpoints with legacy support for
page=
simple pagination (713aa5fd) - Update legacy Profile component to use new cursor pagination for following/follower modals (7a1495e6)
- Update ApiV1Controller, fix link header pagination in /api/v1/statuses/{id}/favourited_by (adc82eca)
- Update ApiV1Controller, fix link header pagination in /api/v1/statuses/{id}/reblogged_by (e346b675)
- Update ApiV1Controller, fix following/follower entities, use masto schema by default and update components accordingly (4716c280)
- Update FollowerController, remove deprecated /i/follow endpoint (4739d614)
- Update queue config, set "after_commit" to true (304ea956)
- Update ApiV1Controller, fix home timeline bug (a8ec8445)
- Update ApiV1Controller, increase home timeline max limit to 100 to fix compatibility with mastoapi (5cf9ba78)
- Update ApiV1Controller, preserve album order. Fixes #3708 (deb26971)
- Update site config endpoint (f9be48d6)
- Update Portfolios, add ActivityPub + RSS support, light mode, style customization and more (5ad0d883)
- Update atom feed, improve cache expiry and fix double encoding bug. Fixes #4121 (467c9d75)
- Update email settings, add dangerzone middleware to prompt for password before you can change your email address. Fixes #4101 (186ba7f0)
- Update InboxPipelines, improve handling of missing signature validation headers (419c0fb0)
- Update admin instances dashboard (ecfc0766)
- Update ap helpers, fix album order bug by setting media order (871f798c)
- Update image pipeline, dispatch jobs to mmo queue and add "replace_id" param to v2/media endpoint to dispatch delayed MediaDeletePipeline job for original media id to improve media gc on supported clients (5a67e9f9)
- Update admin instance management, improve filtering/sorting and add import/export support (d5d9500d)
- Update Post component, show state error when status account is null or missing (e6dc6234)
- Update private profile view, add rel=me support, hide avatar/bio when not logged in and add robots meta tag to block search engine indexing on private profiles (ab4bb9a0)
- Update settings, set maxlength on name and bio inputs. Fixes #4248 (558700fc)
- Update api routes, add post method support to /api/v1/accounts/update_credentials to properly handle binary form data (avatars). Fixes #4250 (1ae19ea5)
- Update ApiV1Controller, improve timeline account hydration (4e79c772)