Skip to content

Latest commit

 

History

History
1855 lines (1700 loc) · 200 KB

CHANGELOG.md

File metadata and controls

1855 lines (1700 loc) · 200 KB

Release Notes

Breaking Changes

  • Dropping PHP 8.2 support in favor of 8.3

Updates

  • Moved composer autoload on Dockerfile
  • Allow login with full handle
  • Composer lock update
  • Update UI to reflect project name

Updates (from Upstream)

  • Implement Admin Domain Blocks API (Mastodon API Compatible) ThisIsMissEm (#5021)

  • Authorize Interaction support (for handling remote interactions) (4ca7c6c3)

  • Contact Form Admin Responses (52cc6090)

  • Profile Carousels (8af77a3f)

  • Moderated Profiles (39f16321)

  • Add ActiveSharedInboxService, for efficient sharedInbox caching (1a6a3397)

  • Add MovePipeline queue jobs (9904d05f)

  • Add ActivityPub Move validator (909a6c72)

  • Add delay to move handler to allow for remote cache invalidation (8a362c12)

  • Update ApiV1Controller, add support for notification filter types (f61159a1)

  • Update ApiV1Dot1Controller, fix mutual api (a8bb97b2)

  • Update ApiV1Controller, fix /api/v1/favourites pagination (72f68160)

  • Update RegisterController, update username constraints, require at least one alpha char (dd6e3cc2)

  • Update AdminUser, fix entity casting (cb5620d4)

  • Update instance config, update network cache feed max_hours_old falloff to 90 days instead of 6 hours to allow for less active instances to have more results (c042d135)

  • Update ApiV1Dot1Controller, add new single media status create endpoint (b03f5cec)

  • Update AdminSettings component, add link to Custom CSS settings (958daac4)

  • Update ApiV1Controller, fix v1/instance stats, force cast to int (dcd95d68)

  • Update BeagleService, disable discovery if AP is disabled (6cd1cbb4)

  • Update NodeinfoService, fix typo (edad436d)

  • Update ActivityPubFetchService, reduce cache ttl from 1 hour to 7.5 mins and add uncached fetchRequest method (21da2b64)

  • Update UserAccountDelete command, increase sharedInbox ttl from 12h to 14d (be02f48a)

  • Update HttpSignature, add signRaw method and improve error checking (d4cf9181)

  • Update AP helpers, add forceBanCheck param to validateUrl method (42424028)

  • Update layout, add og:logo (4cc576e1)

  • Update ReblogService, fix cache sync issues (3de8ceca)

  • Update config, allow Beagle discover service to be disabled (de4ce3c8)

  • Update ApiV1Dot1Controller, allow upto 5 similar push tokens (7820b506)

  • Update AdminReports, add missing click handler. Fixes #5332 (fe48b8ad)

  • Improve media filtering by using OffscreenCanvas, if supported (aea5392)

Updates (from Upstream)

  • Update ApiV1Controller, fix self relationship response (28bc7aa4)
  • Update ApiController, add pe support to like/unlike endpoints (679ef677)
  • Update ApiV1Dot1Controller, fix username to id endpoint (4d6cea9a)
  • Update StatusController, cache AP object (a75b89b2)
  • Update status embed, add support for album carousels (f4898db9)
  • Update profile embeds, add support for albums (4fd156c4)
  • Update DirectMessageController, add timestamps to threads (b24d2554)
  • Update DirectMessageController, add carousel entity to threads (96f24f33)
  • Update and refactor total local post count logic, cache value and schedule updates twice daily to eliminate the perf issue on larger instances (4f2b8ed2)
  • Update Media model, fix broken thumbnail/gray thumbnail bug (e33643c2)
  • Update StatusController, fix unlisted post guest/ap access bug (83098428)
  • Update discover, add network trending using Beagle API (2cae8b48)
  • Fix migrations bug (4d1180b1)
  • Update ApiV1Controller, add support for notification filter types (f61159a1)
  • Update ApiV1Dot1Controller, fix mutual api (a8bb97b2)

Framework (from Upstream)

  • Updated to Laravel 11 (requires php 8.2+)

Updates (from Upstream)

  • New api/v1/instance/peers API endpoint, disabled by default (4aad1c22)
  • Added disable_embeds setting, and fix cache invalidation in other settings (c5e7e917)
  • Update CollectionsController, add new self route (bc2495c6)
  • Update FederationController, add webfinger support for actor uri. Fixes #5068 (24194f7d)
  • Update FetchNodeinfoPipeline, set last_fetched_at timestamp (a7fce91e)
  • Update task scheduler, add weekly instance scan to check nodeinfo for known instances (dc6b9f46)
  • Update AP fetch service and domain service (42915ff9)
  • Update ApiV1Controller, add settings to verify_credentials endpoint (3f4e0b94)
  • Update ApiV1Controller, fix update_credentials boolean handling (19c62aaa)
  • Update ApiV1Controller, fix cache invalidation bug in update_credentials (d56a4108)

Updates

Updates (from Upstream)

  • Update ApiV1Controller, add pe (pixelfed entity) support to /api/v1/statuses/{id}/context endpoint (d645d6ca)
  • Update Admin Curated Onboarding, add select-all/mass action operations (b22cac94)
  • Update AdminCuratedRegisterController, fix existing account approval (cbb96cfd)
  • Update ActivityPubFetchService, fix Friendica bug (e4edc6f1)
  • Update ProfileController, fix atom feed cache ttl. Fixes #5093 (921e2965)

Updates (from Upstream)

  • Update ApiV1Dot1Controller, fix in app registration bug that prevents proper auth flow due to missing oauth scopes (cbf996c9)
  • Update ConfigCacheService, fix database race condition and fallback to file config and enable by default (60a62b59)
  • Update DirectMessageController, add 72 hour delay for new accounts before they can send a DM (61d105fd)
  • Update AdminCuratedRegisterController, increase message length from 1000 to 3000 (9a5e3471)

Updates (from Upstream)

  • Update SoftwareUpdateService, add command to refresh latest versions (632f2cb6)
  • Update Post.vue, fix cache bug (3a27e637)
  • Update StatusHashtagService, use more efficient cached count (592c8412)
  • Update DiscoverController, handle discover hashtag redirects (18382e8a)
  • Update ApiV1Controller, use admin filter service (94503a1c)
  • Update SearchApiV2Service, use more efficient query (cee618e8)
  • Update Curated Onboarding view, fix concierge form (15ad69f7)
  • Update AP Profile Transformer, add suspended attribute (25f3fa06)
  • Update AP Profile Transformer, fix movedTo attribute (63100fe9)
  • Update AP Profile Transformer, fix suspended attributes (2e5e68e4)
  • Update PrivacySettings controller, add cache invalidation (e742d595)
  • Update ProfileController, preserve deleted actor objects for federated account deletion and use more efficient account cache lookup (853a729f)
  • Update SiteController, add curatedOnboarding method that gracefully falls back to open registration when applicable (95199843)
  • Update AP transformers, add DeleteActor activity (bcce1df6)
  • Update commands, add user account delete cli command to federate account deletion (4aa0e25f)
  • Update web-api popular accounts route to its own method to remove the breaking oauth scope bug (a4bc5ce3)
  • Update config cache (5e4d4eff)
  • Update Config, use config_cache (7785a2da)
  • Update ApiV1Dot1Controller, use config_cache for in-app registration (b0cb4456)
  • Update captcha, use config_cache helper (8a89e3c9)
  • Update custom emoji, add config_cache support (481314cd)
  • Update ProfileController, fix permalink redirect bug (75081e60)
  • Update admin css, use font-display:swap for nucleo icons (8a0c456e)
  • Update PixelfedDirectoryController, fix boolean cast bug (f08aab22)
  • Update PixelfedDirectoryController, use cached stats (f2f2a809)
  • Update AdminDirectoryController, fix type casting (ad506e90)
  • Update image pipeline, use config_cache (a72188a7)
  • Update cloud storage, use config_cache (665581d8)
  • Update pixelfed.max_album_length, use config_cache (fecbe189)
  • Update media_types, use config_cache (d670de17)
  • Update landing settings, use config_cache (40478f25)
  • Update activitypub setting, use config_cache (5071aaf4)
  • Update oauth setting, use config_cache (ce228f7f)
  • Update stories config, use config_cache (d1adb109)
  • Update ig import, use config_cache (da0e0ffa)
  • Update autospam config, use config_cache (a76cb5f4)
  • Update app.name config, use config_cache (911446c0)
  • Update UserObserver, fix type casting (949e9979)
  • Update user_filters, use config_cache (6ce513f8)
  • Update filesystems config, add to config_cache (087b2791)
  • Update web-admin routes, add setting api routes (828a456f)
  • Update hashtag component (cee979ed)
  • Update AdminReadMore component, add .prevent to click action (704e7b12)
  • Update admin dashboard, add admin settings partials (eb487123)
  • Update admin settings, refactor to vue component (674e560f)
  • Update ConfigCacheService, encrypt keys at rest (3628b462)
  • Update RemoteFollowImportRecent, use MediaPathService (5162c070)
  • Update AdminSettingsController, add user filter max limit settings (ac1f0748)
  • Update AdminSettingsController, add AdminSettingsService (dcc5f416)
  • Update AdminSettings component, fix user settings (aba1e13d)
  • Update AdminInstances component (ec2fdd61)
  • Update AdminSettings, add max_account_size support (2dcbc1d5)
  • Update AdminSettings, use better validation for user integer settings (d946afcc)
  • Update spa sass, fix timestamp dark mode bug (4147f7c5)
  • Update relationships view, fix unfollow hashtag bug. Fixes #5008 (8c693640)
  • Update PrivacySettings controller, refresh RelationshipService when unmute/unblocking (b7322b68)
  • Update ApiV1Controller, improve refresh relations logic when (un)muting or (un)blocking (b8e96a5f)
  • Update context menu, add mute/block/unfollow actions and update relationship store accordingly (81d1e0fd)
  • Update docker env, fix config_cache. Fixes #5033 (858fcbf6)
  • Update UnfollowPipeline, fix follower count cache bug (6bdf73de)
  • Update VideoPresenter component, add webkit-playsinline attribute to video element to prevent the full screen video player (ad032916)
  • Update VideoPlayer component, add playsinline attribute to video element (8af23607)
  • Update StatusController, refactor status embeds (9a7acc12)
  • Update ProfileController, refactor profile embeds (8b8b1ffc)
  • Update profile embed view, fix height bug (65166570)
  • Update CustomEmojiService, only return local emoji (7f8bba44)
  • Update Like model, increase max likes per day from 500 to 1500 (4223119f)

Features (from Upstream)

Updates (from Upstream)

  • Update Inbox, cast live filters to lowercase (d835e0ad)
  • Update federation config, increase default timeline days falloff to 90 days from 2 days. Fixes #4905 (011834f4)
  • Update cache config, use predis as default redis driver client (ea6b1623)
  • Update .gitattributes to collapse diffs on generated files (ThisIsMissEm)
  • Update api v1/v2 instance endpoints, bump mastoapi version from 2.7.2 to 3.5.3 (545f7d5e)
  • Update ApiV1Controller, implement better limit logic to gracefully handle requests with limits that exceed the max (1f74a95d)
  • Update SoftwareUpdateService, add command to refresh latest versions (632f2cb6)

Features (from Upstream)

  • Autospam Live Filters - block remote activities based on comma separated keywords (40b45b2a)
  • Added Software Update banner to admin home feeds (b0fb1988)

Updates (from Upstream)

  • Update ApiV1Controller, fix network timeline (0faf59e3)
  • Update public/network timelines, fix non-redis response and fix reblogs in home feed (8b4ac5cc)
  • Update Federation, use proper Content-Type headers for following/follower collections (fb0bb9a3)
  • Update ActivityPubFetchService, enforce stricter Content-Type validation (1232cfc8)
  • Update status view, fix unlisted/private scope bug (0f3ca194)

Fixes (from Upstream)

Glitch improvements

Glitch improvements

  • Refactor Docker/Compose by @jippi & @Murazaki in #3 and #5 (based on pixelfed#4844)
  • Docker now uses PHP 8.3, Debian Bookworm by default. Latest is based on Nginx (Apache and FPM are available as flavors)
  • Introducing proper docker tagging and semantic versioning based on upstream
  • Small fixes around tagging

Added (from Upstream)

  • Resilient Media Storage (#4665) (fb1deb6)
  • Video WebP2P (#4713) (0405ef12)
  • Added user:2fa command to easily disable 2FA for given account (c6408fd7)
  • Added avatar:storage-deep-clean command to dispatch remote avatar storage cleanup jobs (c37b7cde)
  • Added S3 command to rewrite media urls (5b3a5610)
  • Experimental home feed (#4752) (c39b9afb)
  • Added app:hashtag-cached-count-update command to update cached_count of hashtags and add to scheduler to run every 25 minutes past the hour (1e31fee6)
  • Added app:hashtag-related-generate command to generate related hashtags (176b4ed7)
  • Added Mutual Followers API endpoint (33dbbe46)
  • Added User Domain Blocks (#4834) (fa0380ac)
  • Added Parental Controls (#4862) (c91f1c59)
  • Added Forgot Email Feature (67c650b1)
  • Added S3 IG Import Media Storage support (#4891) (081360b9)

Federation (from Upstream)

  • Update Privacy Settings, add support for Mastodon indexable search flag (fc24630e)
  • Update AP Helpers, consume actor indexable attribute (fbdcdd9d)

Updates (from Upstream)

  • Update FollowerService, add forget method to RelationshipService call to reduce load when mass purging (347e4f59)
  • Update FollowServiceWarmCache, improve handling larger following/follower lists (61a6d904)
  • Update StoryApiV1Controller, add viewers route to view story viewers (941736ce)
  • Update NotificationService, improve cache warming query (2496386d)
  • Update StatusService, hydrate accounts on request instead of caching them along with status objects (223661ec)
  • Update profile embed, fix resize (dc23c21d)
  • Update Status model, improve thumb logic (d969a973)
  • Update Status model, allow unlisted thumbnails (1f0a45b7)
  • Update StatusTagsPipeline, fix object tags and slug normalization (d295e605)
  • Update Note and CreateNote transformers, include attachment blurhash, width and height (ce1afe27)
  • Update ap helpers, store media attachment width and height if present (8c969191)
  • Update Sign-in with Mastodon, allow usage when registrations are closed (895dc4fa)
  • Update profile embeds, filter sensitive posts (ede5ec3b)
  • Update ApiV1Controller, hydrate reblog interactions. Fixes (#4686) (135798eb)
  • Update AdminReportController, add profile_id to group by. Fixes (#4685) (e4d3b196)
  • Update user:admin command, improve logic. Fixes (#2465) (01bac511)
  • Update AP helpers, adjust RemoteAvatarFetch ttl from 24h to 3 months (36b23fe3)
  • Update AvatarPipeline, improve refresh logic and garbage collection to purge old avatars (82798b5e)
  • Update CreateAvatar job, add processing constraints and set is_remote attribute (319ced40)
  • Update RemoteStatusDelete and DecrementPostCount pipelines (edbcf3ed)
  • Update lexer regex, fix mention regex and add more tests (778e83d3)
  • Update StatusTransformer, generate autolink on request (dfe2379b)
  • Update ComposeModal component, fix multi filter bug and allow media re-ordering before upload/posting (56e315f6)
  • Update ApiV1Dot1Controller, allow iar rate limits to be configurable (28a80803)
  • Update ApiV1Dot1Controller, add domain to iar redirect (1f82d47c)
  • Update ApiV1Dot1Controller, add configurable app confirm rate limit ttl (4c6a0719)
  • Update LikePipeline, dispatch to feed queue. Fixes (#4723) (da510089)
  • Update AccountImport (5a2d7e3e)
  • Update ImportPostController, fix IG bug with missing spaces between hashtags (9c24157a)
  • Update ApiV1Controller, fix mutes in home feed (ddc21714)
  • Update AP helpers, improve preferredUsername validation (21218c79)
  • Update delete pipelines, properly invoke StatusHashtag delete events (ce54d29c)
  • Update mail config (0e431271)
  • Update hashtag following (015b1b80)
  • Update IncrementPostCount job, prevent overlap (b2c9cc23)
  • Update HashtagFollowService, fix cache invalidation bug (84f4e885)
  • Update Experimental Home Feed, fix remote posts, shares and reblogs (c6a6b3ae)
  • Update HashtagService, improve count perf (3327a008)
  • Update StatusHashtagService, remove problematic cache layer (e5401f85)
  • Update HomeFeedPipeline, fix tag filtering (f105f4e8)
  • Update HashtagService, reduce cached_count cache ttl (15f29f7d)
  • Update ApiV1Controller, fix include_reblogs param on timelines/home endpoint, and improve limit pagination logic (287f903b)
  • Update StoryApiV1Controller, add self-carousel endpoint. Fixes (#4352) (bcb88d5b)
  • Update FollowServiceWarmCache, use more efficient query (fe9b4c5a)
  • Update HomeFeedPipeline, observe mutes/blocks during fanout (8548294c)
  • Update FederationController, add proper following/follower counts (3204fb96)
  • Update FederationController, add proper statuses counts (3204fb96)
  • Update Inbox handler, fix missing object_url and uri fields for direct statuses (a0157fce)
  • Update DirectMessageController, deliver direct delete activities to user inbox instead of sharedInbox (d848792a)
  • Update DirectMessageController, dispatch deliver and delete actions to the job queue (7f462a80)
  • Update Inbox, improve story attribute collection (06bee36c)
  • Update DirectMessageController, dispatch local deletes to pipeline (98186564)
  • Update StatusPipeline, fix Direct and Story notification deletion (4c95306f)
  • Update Notifications.vue, fix deprecated DM action links for story activities (4c3823b0)
  • Update ComposeModal, fix missing alttext post state (0a068119)
  • Update PhotoAlbumPresenter.vue, fix fullscreen mode (822e9888)
  • Update Timeline.vue, improve CHT pagination (9c43e7e2)
  • Update HomeFeedPipeline, fix StatusService validation (041c0135)
  • Update Inbox, improve tombstone query efficiency (759a4393)
  • Update AccountService, add setLastActive method (ebbd98e7)
  • Update ApiV1Controller, set last_active_at (b6419545)
  • Update AdminShadowFilter, fix deleted profile bug (a492a95a)
  • Update FollowerService, add $silent param to remove method to more efficently purge relationships (1664a5bc)
  • Update AP ProfileTransformer, add published attribute (adfaa2b1)
  • Update meta tags, improve descriptions and seo/og tags (fd44c80c)
  • Update login view, add email prefill logic (d76f0168)
  • Update LoginController, fix captcha validation error message (0325e171)
  • Update ApiV1Controller, properly cast boolean sensitive parameter. Fixes #4888 (0aff126a)
  • Update AccountImport.vue, fix new IG export format (59aa6a4b)
  • Update TransformImports command, fix import service condition (32c59f04)
  • Update AP helpers, more efficently update post count (7caed381)
  • Update AP helpers, refactor post count decrement logic (b81ae577)
  • Update AP helpers, fix sensitive bug (00ed330c)
  • Update NotificationEpochUpdatePipeline, use more efficient query (4d401389)
  • Update notification pipelines, fix non-local saving (fa97a1f3)
  • Update NodeinfoService, disable redirects (240e6bbe)
  • Update Instance model, add entity casts (289cad47)
  • Update FetchNodeinfoPipeline, use more efficient dispatch (ac01f51a)
  • Update horizon.php config (1e3acade)
  • Update PublicApiController, consume InstanceService blocked domains for account and statuses endpoints (01b33fb3)
  • Update ApiV1Controller, enforce blocked instance domain logic (5b284cac)
  • Update ApiV2Controller, add vapid key to instance object. Thanks thisismissem! (4d02d6f1)

Added

Updates

  • Update Notifications.vue component, fix filtering logic to prevent endless spinner (3df9b53f)
  • Update Direct Messages, fix api endpoint (fe8728c0)
  • Update nginx config (fbdc6358)
  • Update api routes, add DeprecatedEndpoint middleware. For more info, visit pixelfed.org/kb/10404 (a8453e77)
  • Update admin dashboard, improve users section (36b6bf48)
  • Update AdminApiController, add instance stats endpoint (89c3710d)
  • Update config, re-add PF_MAX_USERS .env variable to limit max users to 1000 by default (a6d10f03)
  • Update AdminApiController, fix stats (5c5541fc)
  • Update AdminApiController, include more data for getUser method (4f850e54)
  • Update AdminApiController, improve admin moderation tools (763ce19a)
  • Update ActivityPubFetchService, fix authorized_fetch compatibility. Closes #1850, #2713, #2935 (63a7879c)
  • Update IG Import commands, fix stalled import queue (b18f3fba)
  • Update TransformImports command, improve handling of imported posts that already exist or are from deleted accounts (892907d5)
  • Update console kernel, add import upload gc (afe6948d)
  • Update ImportService, filter deleted posts from getImportedPosts endpoint (10dd348c)
  • Update FixStatusCount, improve command and support remote count resync (04f4f8ba)
  • Update StatusRemoteUpdatePipeline, fix missing mime and size attributes that cause empty media previews on our mobile app (ea54413e)
  • Update ComposeModal.vue, fix scroll issue and dont hide scrollbar (2d959fb3)
  • Update AccountImport, add select first 100 posts button (625a76a5)
  • Update ApiV1Controller, add include_reblogs attribute to home timeline (37fd0342)
  • Update rate limits, fixes #4537 (1cc6274a)
  • Update Services, use zpopmin on predis (4b2c66f5)
  • Update Inbox, allow storing Create->Note activities without any local followers, disabled by default (9fa6b3f7)
  • Update AP Helpers, preserve admin unlisted state before adding to NetworkTimelineService (0704c7e0)
  • Update SearchApiV2Service, improve resolve query logic to better handle remote posts/profiles and local posts/profiles (c61d0b91)
  • Update FollowPipeline, improve follower/following count calculation (0b515767)
  • Update TransformImports command, increment status_count on profile model (ba7551d8)
  • Update AP Helpers, improve url validation and add optional dns verification, disabled by default (2bef3e41)
  • Update admin users blade view, show last_active_at and other info (e0b48b29)
  • Update MediaStorageService, improve head header handling (3590adbd)
  • Update admin user view, improve previews (ff2c16fe)
  • Update FanoutDeletePipeline, fix AP object (0d802c31)
  • Update Remote Auth feature, fix custom domain bug and enforce banned domains (acabf603)
  • Update StatusService, reduce cache ttl from 7 days to 6 hours (59b64378)
  • Update ProfileController, allow albums in atom feed. Closes #4561. Fixes #4526 (1c105a6c)
  • Update admin users view, fix website value. Closes #4557 (c469d475)
  • Update StatusStatelessTransformer, allow unlisted reblogs (1c13b518)
  • Update ApiV1Controller, hydrate reblog state in home timeline (13bdaa2e)
  • Update Timeline component, improve reblog support (29de91e5)
  • Update timeline settings, add photo reblogs only option (e2705b9a)
  • Update PostContent, add text cw warning (911504fa)
  • Update ActivityPubFetchService, add validateUrl parameter to bypass url validation to fetch content from blocked instances (3d1b6516)
  • Update RemoteStatusDelete pipeline (71e92261)
  • Update RemoteStatusDelete pipeline (fab8f25e)
  • Update RemoteStatusPipeline, fix reply check (618b6727)
  • Update ApiV1Controller, add bookmarked to timeline entities (ca746717)

API Changes

  • Added following_since attribute to /api/v1/accounts/relationships endpoint when _pe=1 (pixelfed entity) parameter is present (992d910b)
  • Added /api/v1.1/accounts/app/settings endpoint and UserAppSettings model to store app specific settings (a2305d5f)

Added

Updates

  • Update StatusService, fix bug in getFull method (4d8b4dcf)
  • Update Config, bump version for post edit support without having to clear cache (c0190d84)
  • Update EditHistoryModal, fix caption rendering (0f803446)
  • Update StatusRemoteUpdatePipeline, fix typo (109d0419)
  • Update StatusActivityPubDeliver, fix delivery addressing (1f2183ee)
  • Update UpdateStatusService, fix formatting issue. Fixes #4423 (4479055e)
  • Update nginx config (ee3b6e09)
  • Update Status model, increase max mentions, hashtags and links (1430f532)

API Changes

Added

  • Added store remote media on S3 config setting, disabled by default (51768083)
  • Added Autospam Advanced Detection (132a58de)

Updates

  • Update admin dashboard, fix search and dropdown menu (dac0d083)
  • Update sudo mode view, fix trusted device checkbox (8ef900bf)
  • Update SearchApiV2Service, improve postgres support (666e5732)
  • Update StoryController, show active self stories on home timeline (633351f6)
  • Update ApiV1Controller, fix trending accounts format. Closes #4356 (37bd2ee5)
  • Update instance config, enable config cache by default (970f77b0)
  • Update Admin Dashboard, allow admins to designate an admin account for the landing page and instance api endpoint (6ea2bdc7)
  • Update config, enable oauth by default (6a2e9e8f)
  • Update StatusService, fix missing account condition (f48daab3)
  • Update ProfileService, add softFail param (6bc20a37)
  • Update MediaTagService, fix ProfileService to soft fail on missing or deleted accounts (df444851)
  • Update LikeService, improve likedBy logic to soft fail on missing or deleted accounts (91ba1398)
  • Update StatusTransformers, fix ProfileService to soft fail on missing or deleted accounts (43d3aa2b)
  • Update ApiV1Controller, fix hashtag timeline (fc1a385c)
  • Update settings view, add fallback avatar (1a83c585)
  • Update HashtagFollow model, add MAX_LIMIT of 250 tags per account (ed352141)
  • Update Notification logic, remove message and rendered fields (6cdb5bc6)
  • Update InstanceService, fix banner blurhash memory bug (3aad75ab)
  • Update models, remove deprecated toText and toHtml method (ea943333)
  • Update Notification components, add autospam notification support (0d3b4bc2)
  • Update AutoSpam Bouncer, generate notification on positive detections (d5f63f8a)
  • Update admin autospam apis, remove autospam warning notifications when appropriate (588ca653)
  • Update StatusEntityLexer, stop saving entities (a91a5e48)
  • Update UserCreate command, fix is_admin flag (ad25ed67)
  • Update Bouncer, adjust advanced Autospam logic (18cddd43)
  • Update atom view, fix atom feed bug (63b72c42)
  • Update StatusController, disable post embeds from spam accounts (c167af43)
  • Update ProfileController, require login to view spam accounts, and disable profile embeds and atom feeds for spam accounts (dd2f5bb9)
  • Update Settings, allow users to disable atom feeds (3662d3de)
  • Update ApiV1Controller, filter muted/blocked accounts from tag timeline (f42c1140)
  • Update admin moderation logic, only re-add top level posts (c6ffda96)
  • Update admin dashboard, add mass account deletes (b8426cce)
  • Update scheduler, fix S3 media garbage collection not being executed when cloud storage is enabled via dashboard without .env/config being enabled (adb070f1)
  • Update MediaController, add fallback for local files that are later stored on S3 but still are referenced in cached objects remotely (4973cb46)
  • Update PublicTimelineService, improve warmCache query (9f901d65)
  • Update AP Inbox, fix delete handling (2800c888)
  • Update login/register views and captcha config, enable login or register captchas or both (c071c719)
  • Update login form, allow admins to enable captcha after X failed attempts. Admins can set the number of attempts before captcha is shown, default is 2 attempts before captcha is required (221ddce0)

Added

  • Add php 8.2 support. Bump laravel version, v9 => v10 (fb4ac4eb)
  • New media:fix-nonlocal-driver command. Fixes s3 media created with invalid FILESYSTEM_DRIVER=s3 configuration (672cccd4)
  • New landing page design (09c0032b)
  • Add cloud ip bans to BouncerService (disabled by default) (50ab2e20)
  • Redesigned Admin Dashboard Reports/Moderation (c6cc6327)

Fixes

  • Fixed violates check constraint "statuses_visibility_check" bug affecting postgres instances + various api endpoints (79b6a17e)
  • Fixed duplicate hashtags on postgres (64059cb4)
  • Fixed custom emoji domain search on postgres. Closes #4333 (3dac45f3)

Updates

  • Update ApiV1Controller, fix blocking remote accounts. Closes #4256 (8e71e0c0)
  • Update ComposeController, fix postgres location search. Closes #4242 and #4239 (64a4a006)
  • Update app.js, add title attribute to iframe embeds to comply with accessibility requirements (4d72b9e3)
  • Update MediaPathService, fix story path (aebbad96)
  • Update Story v1.1 api endpoints (855e9626)
  • Update ApiV1Controller, filter mute/blocks on statuses/context and statuses/replies endpoints (73aa01e8)
  • Update filesystems, store all files as public by default and add default permissions. Fixes #4273, #4275. Closes #3825 (22da2647)
  • Update Profile model, fix avatar url path generation. Fixes #4041, Fixes #4031, Fixes #3523 (28bf8649)
  • Update filesystem config, change FILESYSTEM_DRIVER env variable to DANGEROUSLY_SET_FILESYSTEM_DRIVER and remove from default env configs. Changing the default filesystem should be avoided, use FILESYSTEM_CLOUD for s3 support, otherwise you can break things (573c88d7)
  • Update MediaS3GarbageCollector, fix handle (2eee36cf)
  • Update StatusController, allow users to delete replies to posts (738925c2)
  • Update admin autospam/report email templates, remove image previews (76be49ac)
  • Update LandingService, enable landing directory/explore feed by default and move configuration to config/instance.php file (780f2507)
  • Update ImageOptimizePipeline, improve support for disabling image optimizations (e76289e4)
  • Update LandingController, fix config variable names (b716926b)
  • Update Privacy Settings, add Directory setting (634c15e4)
  • Update site config (6d59dc8e)
  • Update db:raw queries to support laravel v10 (849e5103)
  • Update RegisterController, store client ip during registration (d4c967de)
  • Update ApiV1Controller, fix account blocks. Closes #4304 (98739139)
  • Update RegisterController, improve max_users calculation and add kb page to redirect to if conditions are met (1bbee6d0)
  • Update SecuritySettings, remove imagick depdency for 2FA qr code generation image (506f95c6)
  • Update 2fa checkpoint view design (86c472ac)
  • Update sudo mode checkpoint view design (091e0b2c)
  • Update ForgotPasswordController, add captcha support, improve security and a new redesigned view (f6e7ff64)
  • Update ResetPasswordController, add captcha support, improve security and a new redesigned view (0ab5b96a)
  • Update Inbox, remove handleCreateActivity logic that rejected posts from accounts without followers (a93a3efd)
  • Update ApiV1Controller and DiscoverController, fix postgres hashtag search (055aa6b3)
  • Update StatusTagsPipeline, deduplicate hashtags on postgres (867cbc75)
  • Update SearchApiV2Service, fix postgres hashtag search and prepend wildcard operator to improve results (6e20d0a6)

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 and app.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)

New Features

  • Custom content warnings/spoiler text (d4864213)
  • Add NetworkTimelineService cache (1310d95c)
  • Customizable Legal Notice page (0b7d0a96)

Breaking

  • Replaced predis with phpredis as default redis driver due to predis being deprecated, install phpredis if you're still using predis.

Updates

  • Improve S3 support by removing ListObjects call in media deletion (#3438)
  • Enforce UTC in incoming activities (18931a1f)
  • Add storage flags to admin dashboard diagnostics (#3444)
  • Hardcode UTC application timezone to prevent timezone issues (b0d2c5e1)
  • Remove arbitrary metro url redirect timeout (84209c24)
  • Fix JSON-LD contexts (#3464)
  • Fix json-ld attributes, fixes #3423 (95f902b1)
  • Add trusted proxies flag to admin dashboard diagnostics (#3450)
  • Fix json-ld attributes, fixes #3423 (95f902b1)
  • Update exp config, enforce mastoapi compatibility by default (a160b233)
  • Update home timeline, redirect to /i/web unless force_old_ui is present (5ff4730f)
  • Update adminReportController, fix mail verification request 500 bug by changing filter precedence to catch deleted users that may still be cached in AccountService (3f322e29)
  • Update AP Helpers, fix getSensitive and getScope missing parameters (657c66c1)
  • Fix mastodon api compatibility (#3499)
  • Add ffmpeg config, disable logging by default (108e3803)
  • Refactor AP profileFetch logic to fix race conditions and improve updating fields and avatars (505261da)
  • Update network timeline api, limit falloff to 2 days (13a66303)
  • Update Inbox, store follow request activity (c82f2085)
  • Update UserFilterService, improve cache strategy by using in-memory state via UserFilterObserver for empty lists with a ttl of 90 days (9c17def4)
  • Update ApiV1Controller, add network timeline support via NetworkTimelineService (f54fd6e9)
  • Bump max_collection_length default to 100 from 18 (65cf9cca)
  • Improve follow request flow, federate rejections and delete rejections from database to properly handle future follow requests from same actor (4470981a)
  • Update follower counts on follow_request approval (e97900a0)
  • Update ApiV1Controller, improve local/remote logic in public timeline endpoint (4ff179ad)
  • Update ApiV1Controller, fix network timeline (11e99d78)
  • Update ApiV1Controller, fix public timeline min/max id pagination (a7613bae)
  • Improve CollectionService cache invalidation, fixes #3548 (44f4a9ed)
  • Improve inbox status deletion cache invalidation (1eba7f81)
  • Update MediaDeletePipeline, fix async media deletion (bb1cccbe)
  • Fix timeline infinite scroll (03a85460)
  • Fix remote avatar urls when not using cloud storage (672f7c8c)
  • Update ResetPasswordController redirectTo path to /i/web as /home is deprecated (8803c6de)
  • Fix v1 api block/mute endpoints, refresh RelationshipService cache after relationship changes (54a5c3be)
  • Fix NotificationService bug returning html response on /api/v1/notifications endpoint when a notification id belonging to a deleted account is rendered by checking AccountService before NotificationTransformer. (734b30e5)
  • Hydrate favourited and reblogged state on v1 context endpoint (abb4f7e1)
  • Improve admin dashboard by moving expensive stats to its page and loading stats and recent data async on the dashboard home page (9d52b9c2)
  • Update unfollow api endpoint to only decrement when appropriate, fixes #3539 (44de1ad7)
  • Improve cache invalidation after processing VideoThumbnail to eliminate "No Preview Available" on grid feeds (47571887)
  • Use poster in VideoPresenter component (a3cc90b0)
  • Fix mastoapi notification type casting to include comment and share (mention and reblog) notifications (eba84530)
  • Fix email verification requests filtering to gracefully handle deleted accounts and accounts already verified (b57066d1)
  • Add configuration to v1/instance endpoint. Fixes #3605 (2fb18b7d)
  • Fix remote account post counts (149cf9dc)
  • Enforce blocks on incoming likes, shares, replies and follows on all endpoints (1545e37c)
  • Fix unlisted post web redirect and api response (6033d837)
  • Remove quilljs from admin page editor, fixes #3616 (75fbd373)
  • Fix AdminStatService cache key, fixes #3612 (d1dbed89)
  • Improve mute/block v1 api endpoints, fixes #3540 (c3e8a0e4)
  • Set Last-Modified header for atom feeds, fixes #2988 (c18dcde3)
  • Add instance post/profile embed config setting (7734dc03)
  • Remove remote posts from NetworkTimelineService when processing Tombstones (2e4f2377)
  • Limit NotificationService to 400 items (f6ed560e)
  • Refactor discover accounts endpoint, cache popular accounts and remove following check as most invocations are from new accounts (016b11f3)
  • Fix cache invalidation in AdminSettingsController when updating rules (fe6787f7)
  • Update SearchApiService, improve account/webfinger results (533f7165)
  • Update NotificationService, fix account attribute (949b7bb6)
  • Update DeleteWorker, remove cache lock (6d6a033a)
  • Fix SearchApiV2Service, improve webfinger condition (9d31f73b)
  • Update inbox handler, upsert statuses to fix duplicate bug. Fixes #2670, #2961, #3556 (2c20d9e3)
  • Update AP helpers, remove cache lock from profileUpdateOrCreate method and move webfinger + key_id to unique constraints to fix sql duplicate errors (bc2bbc14)
  • Add migrations to fix webfinger profiles (66aa8bf9)
  • Update ap helpers, move remote_url constraint (acd8f5bb)
  • Update ApiV1Controller, fix typo in statavouriteById method (c91a6a75)
  • Update InboxPipeline, fix peertube attributedTo parsing (99fb80bf)
  • Update Collection components, fix addId bug #3230 (62c05665)
  • Update DirectMessageController, include account entity in lookup endpoint (9e223a6b)
  • Update ApiV1Controller update_credentials endpoint to support app response (61d26e85)
  • Update PronounService, fix json_decode null parameter (d72cd819)
  • Update ApiV1Controller, normalize profile id comparison (374bfdae)
  • Update ApiV1Controller, fix pagination header. Fixes #3354 (4fe07e6f)
  • Update ApiV1Controller, add optional place_id parameter to POST /api/v1/statuses endpoint (ef0d1f84)
  • Update SettingsController, fix double json encoding and cache settings for 7 days (4514ab1d)
  • Update ApiV1Controller, fix mute/block entities (364adb43)
  • Update atom feed, remove invalid entities (e362ef9e)
  • Update StatusObserver, handle events after all transactions are committed (805a014e)
  • Update ApiV1Controller, add collection_ids parameter to /api/v1/statuses endpoint (7ae21fc3)
  • Update ApiV1Controller, add comments_disabled param to /api/v1/statuses endpoint (95b58610)
  • Update ap helpers to handle disabled comments (92f56c9b)
  • Update CollectionController, limit max title and description length (6e76cf4b)
  • Update collection components, fix title/description padding/overflow bug and add title/description limit and input counter (6e4272a8)
  • Update Media model, fix thumbnail cdn paths (9888af12)

Added

  • Custom Emoji (#3166)
  • LDAP Authentication (#3296)

Metro 2.0 UI

  • Dark Mode (cb540373)
  • Added Hovercards (16ced7b4)
  • Fix word-break on statuses (16ced7b4)
  • Add pronouns to hovercards (33f863e8)
  • Improved onboarding (042c5b6c)
  • Add Hide Counts & Stats setting (01af7d80)
  • Fix nsfw videos not displaying sensitive warning (01af7d80)
  • Easy Avatar updates - update from timelines with drag-n-drop support (f37d3798)
  • Comment hovercards (f37d3798)
  • Mod tools button on posts for admins (f37d3798)
  • Improved Media Previews - disable to restore original preview aspect ratios (c55eeac8)
  • Moved media license to post header (390f3ab0)
  • Mobile app drawer menu (7b4318fd)
  • Add Preferred Profile Layout UI setting (a816ea66)
  • Fix profile masonry layout on mobile. Fixes #3203 (fdf90f2d)
  • Add search bar to mobile breakpoints and adjust avatar size when necessary (77b9b6bd)
  • Improved profile layout on mobile breakpoints (77b9b6bd)
  • New Discover layout with My Hashtags, My Memories, Account Insights, Find Friends and Server Timelines (0b680099)
  • Fix private profile feed not loading for owner (e950b3b2)
  • Add "Shared by" link to posts that opens a list of accounts that reblogged the post (e4b4bfc1)
  • Notification filters (537af6df)
  • Full screen preview on photo albums (ac40fde1)

Updated

  • Updated MediaStorageService, fix remote avatar bug. (1c20d696)
  • Updated WebfingerService. Fixes #3167. (aff74566)
  • Updated ComposeModal, add max file size and allowed mime types. Fixes #3162. (879281cc)
  • Updated profile embeds, fix NaN bug and improve performance. (3bd211d7)
  • Updated ApiV1Controller, improve follow count cache invalidation. (4b6effb9)
  • Updated web routes, fix atom feeds for account usernames containing a dot. (8c54ab57)
  • Updated atom feeds, include media alt text. Fixes #3184. (5d9b6863)
  • Updated ApiV1Controller, add custom_emoji endpoint. (16e72518)
  • Updated InternalApiController, redirect remote post and profiles to Metro 2.0. (3c35158e)
  • Updated BaseApiController, improve favourites endpoint. (f063cb01)
  • Updated ApiV1Controller, invalidate status reply cache on new reply. (3c261bbf)
  • Updated PublicApiController, add bookmark state to timeline endpoints. (c0b1e042)
  • Updated ApiV1Controller, fix private status replies returning 404. (73226360)
  • Updated StatusService, use BookmarkService for bookmarked state. (a7d71551)
  • Updated Apis, added ReblogService to improve reblogged state for api entities (6cfd6be5)
  • Updated InstanceActorController, fix content-type header. (21792246)
  • Updated Exception handler to report validation message bag errors. (74905ba1)
  • Updated ApiV1Controller, add validation messages to update_credentials endpoint. (cd785601)
  • Updated ComposeController, improve location search results ordering by use frequency. (29c4bd25)
  • Updated AvatarController, fix mimetype bug. (7fa9d4dc)
  • Updated PostComponent.vue, filter out non-text comments. (a7346f21)
  • Updated Profile.vue component, fix v-once bug. (4d003d00)
  • Updated filesystems config, set S3 visibility to public by default. Fixes #2913. (49a53c27)
  • Updated CommentPipeline, improve parent reply_count calculation. (ccc94802)
  • Updated StatusTagsPipeline, process federated hashtags and mentions (a84b1736)
  • Updated Inbox, fix undo announce. (cf286fb0)
  • Updated ApiV1Controller, improve favourites endpoint. (151dc17c)
  • Updated StatusController, set missing reblog/share type. (548a12a4)
  • Updated index view, remove shortcut from favicon meta tag. Fixes #3196. (6e2cb3cd)
  • Updated CollectionController, fix broken unauthenticated access. Fixes #3242. (bd249f0c)
  • Updated ComposeController, add collection support to compose endpoint. (ec2cfaf5)
  • Updated instance config, match default oauth settings in AuthServiceProvider. (52f25ff1)
  • Updated ComposeModal.vue, fix redirect after posting. Fixes #3254. (5db64e94)
  • Updated StatusController, redirect status view for authed users to Metro 2.0 UI. (71dff472)
  • Updated ProfileController, redirect profile view for authed users to Metro 2.0 UI. (7f8129a7)
  • Updated SpaController, fix variable typo. Fixes #3268. (8d1af1d6)
  • Updated ComposeModal, fix post redirect on old UI. (160e32a5)
  • Updated LikeService, improve caching logic and add profile id to likedBy method to fix #3271. (6af842eb)
  • Updated admin diagnostics, add more configuration data to help diagnose potential issues. (eab96fc3)
  • Updated ConfigCacheService, fix discover features. (ad48521a)
  • Updated MediaTransformer, fix type case bug. Fixes #3281. (c1669253)
  • Updated SpaController, redirect web ui hashtags to legacy page for unauthenticated users. (a44b812b)
  • Updated ApiV1Controller, fixes #3288. (3e670774)
  • Updated AP Helpers, fixes #3287. (b78bff72)
  • Updated AP Helpers, fixes #3290. (53975206)
  • Updated AccountController, refresh relationship after handling follow request. (fe768785)
  • Updated CollectionController, fixes #3289. (c7e1e473)
  • Updated SpaController, handle web redirects. (b6c6c85b)
  • Updated presenter components, remove video poster attribute. (4d612dfa)
  • Improved reblog api performance (3ef6c9fe)
  • Updated ApiV1Controller, fix unlisted replies. (c13bca76)
  • Updated SearchApiV2Service, filter banned instances. (281443d7)
  • Updated DiscoverController, fix favourited state on memories. (b91747b4)
  • Updated InboxPipeline, fixes #3306. (20710f4d)
  • Updated inbox workers, fixes #3304. (cd4f73be)
  • Updated Inbox, fixes #3305. (14231632)
  • Updated Inbox, fixes #3313. (1c3e72c0)
  • Updated Inbox, fixes #3314. (dfcd2e6d)
  • Updated search service, fix banned instance edge case. (74018e9c)
  • Updated inbox, fixes #3315. (c3c3ce18)
  • Updated ApiV1Controller, fix instance endpoint. (c383f100)
  • Updated ApiV1Controller, marshal json without escaped slashes. (89303fa4)
  • Updated ApiV1Controller, fix statusCreate validator. (b6b15b0c)
  • Updated ApiV1Controller, fix notification entities. (afe903c3)
  • Updated FederationController, fix webfinger endpoint. (a0e15d89)
  • Updated ApiV1Controller, fix context entities. (b1ab41e0)
  • Updated ApiV1Controller, fix timeline default limit. (a87f8301)
  • Updated ApiV1Controller, fix search v2 entities. (9dac861e)
  • Updated ApiV1Controller, fix apps endpoint. (50baae52)
  • Updated ApiV1Controller, add apps/verify_credentials endpoint. (c4d38c20)
  • Updated ApiV1Controller, increase max limion timelines. (df22f2e4)
  • Updated ApiV1Controller, add preferences endpoint. (c3e56b87)
  • Updated ApiV1Controller, fix tag timeline limits and remove has(media) constraint. (8c65d60b)
  • Updated ApiV1Controller, add trends endpoint. (d40a8453)
  • Updated ApiV1Controller, add announcements endpoint. (fbe07c51)
  • Updated ApiV1Controller, add markers endpoint. (93a9769e)
  • Updated ApiV1Controller, increase limits from 80 to 100. (15eccd44)
  • Updated ApiV1Controller, fix accountStatusesById endpoint. (db7b1af3)
  • Updated ApiV1Controller, update statusCreate entity. (a84ab6ea)
  • Updated ApiV1Controller, remove pinned attribute to match MastoAPI Status entity. (6057de30)
  • Updated controller signatures, fix mysql 8 support. (72e3d891)
  • Updated ApiV1Controller, remove no-preview image from media urls. (37dfb101)
  • Updated DeleteAccountPipeline, fix perf issues. (a9edd93f)
  • Updated DeleteAccountPipeline, improve coverage. (4870cc3b)
  • Updated media model, use original photo url for non-existent thumbnails. (9b04b9d8)
  • Updated PlaceController, require authentication. (e7783af6)
  • Updated PublicApiController, disable legacy public access to local timeline. (6ba7d433)
  • Updated DiscoverController, cache public tag feed and only include local posts for unauthenticated users. (0541aed5)
  • Updated DiscoverController, improve tag feed performance. (d8ff40eb)
  • Updated ApiV1Controller, fix timeline pagination. (a5cdc28b)
  • Updated ApiV1Controller, add missing pagination header. (5649873a)
  • Updated CollectionController, limit unpublished collections to owner. (a0061eb5)
  • Updated AP Inbox, fixes #3332. (f8931dc7)
  • Updated AdminReportController, add account delete button. (563817a9)
  • Updated ApiV1Controller, added /api/v2/media endpoint, fixes #3405. (f07cc14c)
  • Updated AP fanout, added Content-Type and User-Agent for activity delivery. (@noellabo) (209c125)
  • Updated DirectMessageController to support new Metro 2.0 UI DMs. (a4659fd2)
  • Updated Like model, bump max likes per day from 100 to 200. (71ba5fed)
  • Updated HashtagService, use sorted set for followed tags. (153eb6ba)
  • Updated Discover component, fixed post side effects (fixes #3409). (fe5a92b2)

Breaking

  • Dropped support for PHP 7.3 #3041

Metro 2.0 UI

  • Added UI Settings modal and fixed height media previews setting (f2467e71)
  • Set max-width of 1440px for larger screens (af68872a)
  • Add link to sidebar profile card (85964510)
  • Improved search bar, now resolves (and imports) remote accounts and posts, including webfinger addresses (c8a667f2)
  • Added user facing changelog at /i/web/whats-new (e61dc66a)

Configuration

  • Enable network timeline by default (b95aec12)

Postgres Compatibility

  • Fix Story recent endpoint on postgres instances (ddf41dc3)
  • Fix Direct Message conversations endpoint on postgres instances (fcabc9be)

Added

  • Manual email verification requests. (bc659387)
  • Added StatusMentionService, fixes #3026. (e5387d67)
  • Cloud Backups, a command to store backups on S3 or compatible filesystems. #3037 (3515a98e)
  • Web UI Localizations + Crowdin integration. (f7d9b40b) (7ff120c9)
  • Store remote avatars locally if S3 not enabled. (b4bd0400)

Updated

  • Updated NotificationService, fix 500 bug. (4a609dc3)
  • Updated HttpSignatures, update instance actor headers. Fixes #2935. (a900de21)
  • Updated NoteTransformer, fix tag array. (7b3e672d)
  • Updated video presenters, add playsinline attribute to video tags. (0299aa5b)
  • Updated RemotePost, RemoteProfile components, add fallback avatars. (754151dc)
  • Updated FederationController, move well-known to api middleware and cache webfinger lookups. (4505d1f0)
  • Updated InstanceActorController, improve json seralization by not escaping slashes. (0a8eb81b)
  • Refactor following & relationship logic. Replace FollowerObserver with FollowerService and added RelationshipService to cache results. Removed NotificationTransformer includes and replaced with cached services to improve performance and reduce database queries. (80d9b939)
  • Updated PublicApiController, use AccountService in accountStatuses method. (bef959f4)
  • Updated auth config, add throttle limit to password resets. (2609c86a)
  • Updated StatusCard component, add relationship state button. (0436b124)
  • Updated Timeline component, cascade relationship state change. (f4bd5672)
  • Updated Activity component, only show context button for actionable activities. (7886fd59)
  • Updated Autospam service, use silent classification for better user experience. (f0d4c172)
  • Updated Profile component, improve error messages when block/mute limit reached. (02237845)
  • Updated Activity component, fix missing types. (5167c68d)
  • Updated Timeline component, apply block/mute filters client side for local and network timelines. (be194b8a)
  • Updated public timeline api, use cached sorted set and client side block/mute filtering. (37abcf38)
  • Updated public timeline api, add experimental cache. (192553ff)
  • Updated dark mode styles, fix black box on stories. Closes #2982. (3169f68e)
  • Updated verify_credentials api endpoint to improve performance. (7df3540b)
  • Updated Localization util, filter out .DS_Store. (0107e8fd)
  • Updated PublicApiController, fix private account statuses api. Closes #2995. (aa2dd26c)
  • Updated Status model, use AccountService to generate urls instead of loading profile relation. (2ae527c0)
  • Updated Autospam service, add mark all as read and mark all as not spam options and filter active, spam and not spam reports. (ae8c7517)
  • Updated UserInviteController, fixes #3017. (b8e9056e)
  • Updated AccountService, add dynamic user settings methods. (2aa73c1f)
  • Updated MediaStorageService, improve header parsing. (9d9e9ce7)
  • Updated SearchApiV2Service, improve performance and include hashtag post counts when applicable (fbaed93e)
  • Updated AccountTransformer, add note_text and location fields. (98f76abb)
  • Updated UserSetting model, cast compose_settings and other as json. (03420278)
  • Updated ApiV1Controller, improve settings and add discoverPosts endpoint. (079804e6)
  • Updated LikePipeline jobs, fix likes_count calculation. (fe64e187)
  • Updated InternalApiController, prevent moderation actions against admin accounts. (945a7e49)
  • Updated CommentPipeline, move reply_count calculation to comment pipeline job and improve count calculation. (b6b0837f)
  • Updated ApiV1Controller, improve statusesById perf and dispatch CommentPipeline job when applicable. (466286af)
  • Updated MediaService, return empty array if cant find status. (c2910e5d)
  • Updated StatusService, improve cache invalidation. (83b48b56)
  • Updated Hashtag component, fix spinner. (fefbc44a)
  • Updated NotificationCard, update api endpoint and add group notification types. (e09a14d8)
  • Updated ContextMenu component, fix account url paths. (01ca1edd)
  • Updated PollCard component, add showBorder prop. (0c8fffbd)
  • Updated PhotoPresenter component, add lightbox toggle. (0cc1365f)
  • Updated console kernel, add db session garbage collector that runs twice daily. (03b0a62a)
  • Updated ComposeController, refactor compose_settings. (edc2958b)
  • Updated StatusEntityLexer, prevent boosts and replies from being added to PublicTimelineService. (32707372)
  • Updated SpaController, persist web language changes. (7bc684e5)
  • Updated LoginController, bump decayMinutes from 1 to 60. (6bf92bed)
  • Updated SPA, rewrite autolink urls to SPA when applicable. (0837b410)
  • Updated site config, increase ttl and enable SPA by default. (469d49d8)
  • Updated Webfinger, fixes #3050. (ff7ee3bd)
  • Updated status api, autolink caption before returning response. (b00a453b)
  • Updated Timeline, add new ui promo in timelines that can be hidden using localstorage. (e13959ae)
  • Updated FederationController, increase webfinger cache ttl from 12 hours to 14 days. (745c3580)
  • Updated DiscoverController, add yearly option and increase limit from 15 to 30 posts. (10b6058c)
  • Updated RemoteAvatarFetch job, fixed bug preventing new avatars from being stored. (92bc2845)
  • Updated AccountService, fix json casting. (e5f8f344)
  • Updated ApiV1Controller, fix illegal operator bug by setting default min_id. (415826f2)
  • Updated StatusService, add getMastodon method for mastoapi compatibility. (36a129fe)
  • Updated PublicApiController, fix accountStatuses pagination operator. (85fc9dd0)
  • Updated PublicApiController, enforce only_media on accountStatuses method. Fixes #3105. (861a2d36)
  • Updated ApiV1Controller, add mastoapi strict mode. (46485426)
  • Updated AccountController, refresh RelationshipService on mute/block. (6f1b0245)
  • Updated ApiV1Controller, fix version on instance endpoint. (a6261221)
  • Updated components, fix api endpoints. Fixes #3138. (e724633e)
  • Updated ApiV1Controller, fix public timeline endpoint. (80c7def3)
  • Updated PublicApiController, fix public timeline endpoint. (dcb7ba9c)
  • Updated ApiV1Controller, fix home timeline entities. (6fc0dcb3)
  • Updated ApiV1Controller, fix favourites endpoints (d6d99385)
  • Updated ApiV1Controller, fix reblogs endpoints (de42d84c)
  • Updated SearchApiV2Service, resolve remote queries. (c8a667f2)

Added

  • WebP Support (069a0e4a)
  • Auto Following support for admins (68aa2540)
  • Mark as spammer mod tool, unlists and applies content warning to existing and future post (6d956a86)
  • Diagnostics for error page and admin dashboard (64725ecc)
  • Default media licenses and media license sync (ea0fc90c)
  • Customize media description/alt-text length limit (072d55d1)
  • Federate Media Licenses (14a1367a)
  • Archive Posts (e9ef0c88)
  • Polls (77092200)
  • Federated Stories (#2895)

Updated

  • Updated PrettyNumber, fix deprecated warning. (20ec870b)
  • Updated landing page, use config_cache. (54920294)
  • Updated Timeline, implement suggested post opt out. (66750d34)
  • Updated Notification component, add at (@) symbol for remote profiles and local urls for remote posts and profile. (aafd6a21)
  • Updated Activity component, add at (@) symbol for remote profiles and local urls for remote posts and profile. (a2211815)
  • Updated Profile, add linkified bio, joined date, follows you label and improved website handling. (8ee10436)
  • Updated routes, add legacy webfinger profile redirect. (93c7af74)
  • Updated StoryController, fix expiration time bug. (39e57f95)
  • Updated Profile component, fix remote urls. (6e56dbed)
  • Updated verify email screen, add contact admin link. (f37952d6)
  • Updated RemoteProfile component, implement pagination. (02b04a4b)
  • Updated AP Helpers, generate notification for remote replies. (8edd8294)
  • Updated like api, store status_profile_id and is_comment. (c8c6b983)
  • Updated Remote Post + Profile hashtag to redirect to local urls. (1fa08644)
  • Updated Inbox, delete notifications on tombstone. (ef63124d)
  • Updated NotificationCard, fix missing status bug. (a3a86d46)
  • Updated Activity component, fix comment bug. (9a2db8eb)
  • Updated Inbox, fix tombstone bug. (929ff5eb)
  • Updated LikeService, skip self likes. (3741c76d)
  • Updated StatusController, improve share api perf (11s to 72ms). (d48ebb82)
  • Updated ApiController, fix nulls in hashtag endpoint. (f1208de0)
  • Updated SharePipeline, add Undo->Announce support. (c8e40e0f)
  • Updated NetworkTimeline, fix remote comment urls. (308acc91)
  • Updated Timeline component, abstracted reusable partials. (858f3f9e)
  • Updated Timeline, fix suggested posts. (3ba5c88c)
  • Updated Timeline, disable new post update checker and hide reaction bar on network timeline. (1e3d3a69)
  • Updated PublicApiController, improve network timeline perf. (e5f683fd)
  • Updated Network Timeline, use existing Timeline component. (0deaafc0)
  • Updated PostComponent, show like count to owner using MomentUI. (e9c46bab)
  • Updated ContextMenu, add missing statusUrl method. (3cffdb11)
  • Updated PublicApiController, add LikeService to Network timeline. (82895591)
  • Updated moderator api, expire cached status in StatusService. (f215ee26)
  • Updated StatusHashtagService, fix null status bug. (51a277e1)
  • Updated NotificationService, use zrevrangebyscore for api. (d43e6d8d)
  • Updated ApiV1Controller, use PublicTimelineService. (f67c67bc)
  • Updated ApiV1Controller, use ProfileService for verify_credentials. (352aa573)
  • Updated RemotePost.vue, fix content warning button. (7647e724)
  • Updated AdminMediaController, improve perf and use simple pagination. (f2686cac)
  • Updated PostComponent, fix MomentUI like counter. (42c6121a)
  • Updated status views, remove like counts from status embed. (1a2e41b1)
  • Updated Profile, fix unauthenticated private profiles. (9017f7c4)
  • Updated PublicApiController, impr home timeline perf. (4fe42e5b)
  • Updated Timeline.vue, fix comment button. (b6b5ce7c)
  • Updated StatusEntityLexer, only add specific status types to PublicTimelineService. (1fdcbe5b)
  • Updated ActivityPub helpers, fix comment threading in statusFetch() method (26b9c140)
  • Updated NotificationCard, fix typo in mention, share and comments. Fixes #2848. (b37bb426)
  • Updated StatusCard.vue, add togglecw events to other presenters. (9607243f)
  • Updated presenters, fix content warning layout. (fc56acb8)
  • Updated reply blade view, fix missing avatar and media images. (5fb33772)
  • Updated components, add fallback default avatar. (726553f5)
  • Updated job queue, separate deletes into their own queue. (7f421392)
  • Updated DiscoverController, use UserFilterService on trendingApi. (135474ae)
  • Updated PublicApiController, use UserFilterService in public timeline endpoint. (ca6e491c)
  • Updated ContextMenu, add View Profile link. (8544bcbd)
  • Updated presenters, improve content warnings. (86422c81)
  • Updated Timeline.vue, increase pagination limit from 3 to 12 and add empty feed placeholder. (916e8f71)
  • Updated Timeline.vue, improve followed hashtags. (728f10d7)
  • Updated PostComponent, use profileUrl method for comments. (7ed65fc9)
  • Updated Timeline, fix empty timeline card. (11eb6acd)
  • Updated ap helpers, set text type when appropriate. (9f4f983f)
  • Updated StatusCard, add text support. (ed14ee48)
  • Updated PublicApiController, filter out text replies on home timeline. (86219b57)
  • Updated RemotePost.vue, improve text only post UI. (b0257be2)
  • Updated Timeline, make text-only posts opt-in by default. (0153ed6d)
  • Updated LikeController, add UndoLikePipeline and federate Undo Like activities. (8ac8fcad)
  • Updated Settings, add default license and enforced media descriptions. (67e3f604)
  • Updated Compose Apis, make media descriptions/alt text length limit configurable. Default length: 1000. (072d55d1)
  • Updated ApiV1Controller, add default license support. (2a791f19)
  • Updated StatusTransformers, remove includes and use cached services. (09d5198c)
  • Updated RemotePost component, update likes reaction bar. (1060dd23)
  • Updated FollowPipeline, fix cache invalidation bug. (c1f14f89)
  • Updated PublicApiController, improve accountStatuses api perf. (bce8edd9)
  • Updated ApiControllers, use NotificationService. (f9516ac3)
  • Updated Notification components, fix old notifications with missing attributes. (b6e226ae)
  • Updated LikeController, improve query perf. (f3d6023e)
  • Updated License util, add nameToId method. (f6131ed7)
  • Updated RemoteProfile, add warning about potentially out of date information. (7274574c)
  • Updated NotifcationCard.vue component, add refresh button for cold notification cache. (0e178a33)
  • Updated RemoteProfile component, add follower modals. (c4146a30)
  • Updated FollowerService, cache audience. (22257cc2)
  • Updated StatusService, add non-public option and improve cache invalidation. (15c4fdd9)
  • Updated ContactAdmin mail, set New Support Message subject. (bc3add05)
  • Updated StatusTransformer, prioritize scope over deprecated visibility attribute. (6e45021f)
  • Updated StatusService, invalidate profile embed cache on deletion. (acaf630d)
  • Updated status.reply view, fix archived post leakage. (4fb3d1fa)
  • Updated PostComponents, re-add time to timestamp. (c5281dcd)
  • Updated follow intent, fix follower count leak. (03199e2f)
  • Updated Status model, add poll relation and allow up to 2 urls to autolink. (2593cdee)
  • Updated snowflake id generation to improve randomness. (e5aea490)
  • Updated Timeline, remove recent posts. (7641b731)
  • Updated InstanceCrawlPipeline, remove unused variable. (e73cf531)
  • Updated StoryComposeController, fix expiry bug. (7dee8f58)
  • Updated Profile, fix following count bug. (ee9f0795)
  • Updated DirectMessageController, fix autocomplete bug. (0f00be4d)
  • Updated StoryService, fix division by zero bug. (6ae1ba0a)
  • Updated ApiV1Controller, fix empty public timeline bug. (0584f9ee)

Added

Updated

  • Updated AdminController, fix variable name in updateSpam method. (6edaf940)
  • Updated RemoteAvatarFetch, only dispatch jobs if cloud storage is enabled. (4f40f6f5)
  • Updated StatusService, add ttl of 7 days. (6e44ae0b)
  • Updated StatusHashtagService, use StatusService for statuses. (0355b567)
  • Updated StatusHashtagService, remove deprecated methods. (aa4c718d)
  • Updated ApiV1Controller, add StatusService del calls to update likes_count, reblogs_count and reply_count. (05b9445c)
  • Updated Like, Status and Comment controllers to add StatusService del() method to update counts. (eab4370c)
  • Updated ComposeController, use placeholder image for video media. Fixes #2595. (789ed4b4)
  • Updated DiscoverController, change api schema. (2eea0409)
  • Updated StatusDelete pipeline, call StatusService::del() to remove status from cache. (3f772ff8)
  • Updated StatusHashtagTransformer, add blurhash attribute. (899bbeba)
  • Updated status square previews, add blurhash and improved content warnings. (39e389dd)
  • Updated Blurhash util, add default hash for invalid media. (38a37c15)
  • Updated VideoThumbnail job, generate blurhash for videos. (896452c7)
  • Updated MediaTransformers, add default blurhash attribute. (3f14a4c4)
  • Updated Timeline.vue, fix hashtag status previews. (7768e844)
  • Updated AP helpers, fix statusFetch 404s. (3419379a)
  • Updated InternalApiController, update discoverPosts method to improve performance. (9862a855)
  • Updated DiscoverComponent, add blurhash and like/comment counts. (a8ebdd2e)
  • Updated DiscoverComponent, add spinner loaders and remove deprecated sections. (34869247)
  • Updated AccountController, add mutes and blocks endpoint to pixelfed api. (1fb7e2b2)
  • Updated AccountService, cache object and observe changes. (b299da93)
  • Updated webfinger util, fail on invalid webfinger url. Fixes (#2613) (2d11317c)
  • Updated MediaStorageService, dispatch deletes to MediaDeletePipeline. (37dbb3de)
  • Updated ComposeController, use MediaStorageService for media deletes. (ab5469ff)
  • Updated StatusDeletePipeline, use MediaStorageService for media deletes. (9fd90e17)
  • Updated Discover, allow public discover access. (1404ac6e)
  • Updated pixelfed config, add media_fast_process setting. (6bee5072)
  • Updated ComposeController, add mediaProcessingCheck method. (33b625f5)
  • Updated ComposeModal, add processing step disabled by default. (e6e76e80)
  • Updated DiscoverComponent, allow unauthenticated if enabled. (a1059a6e)
  • Updated components, improve content warnings. (a9e98965)
  • Updated ComposeModal, prevent tagging empty users. Fixes #2633. (ceae664c)
  • Updated ComposeModal, show filter warning for unsupported browsers. (12ce7602)
  • Updated Hashtag component, fix null infinite loading bug. Fixes #2637. (55136518)
  • Updated filesystems config, add backup driver to store backups on other filesystems. (ae90eef9)
  • Updated Embeds. Fix Profile + Status embeds, remove following count and improve cache invalidation and hidden follower counts. (5ac9d0e8)
  • Updated FederationController, return 404 for invalid webfinger addresses. Fixes (#2647). (deb6f115)
  • Updated InboxPipeline, fail earlier for invalid public keys. Fixes (#2648). (d1c5e9b8)
  • Updated Status model, refactor liked and shared methods to fix cache invalidation bug. (f05c3b66)
  • Updated Timeline component, add inline reports modal. (e64b4bd3)
  • Updated federation pipeline, add locks. (ddc76887)
  • Updated MediaStorageService, improve head checks to fix failed jobs. (1769cdfd)
  • Updated user admin, remove expensive db query and add search. (8feeadbf)
  • Updated Compose apis, prevent private accounts from posting public or unlisted scopes. (f53bfa6f)
  • Updated font icons, use font-display:swap. (77d4353a)
  • Updated ComposeModal, limit visibility scope for private accounts. (001d4105)
  • Updated ComposeController, add autocomplete apis for hashtags and mentions. (f0e48a09)
  • Updated StatusController, invalidate profile embed cache on status delete. (9c8a87c3)
  • Updated moderation api, invalidate profile embed. (b2501bfc)
  • Updated Nodeinfo util, use last_active_at for monthly active user count. (d200c12c)
  • Updated PhotoPresenter, add width and height to images. (3f8202e2)
  • Updated Compose Apis, refactor rate limits. (42375b3d)
  • Updated PublicApiController, show unlisted comments. (e1c6297e)
  • Updated ApiV1Controller, add missing variable. (886ea617)
  • Updated PublicApiController, limit network pagination to 3 months. (10119bbb)
  • Updated admin instance page, add search and improve performance. (f5829373)
  • Updated AdminInstanceController, invalidate banned domain cache when updated. (35393edf)
  • Updated AP Helpers, use instance filtering. (66b4f8c7)
  • Updated ApiV1Controller, add missing instance api attributes. (64b86546)
  • Updated story garbage collection, handle non active stories and new ephemeral story media directory. (c43f8bcc)
  • Updated Stories, add crop and duration settings to composer. (c8edca69)
  • Updated instance endpoint, add custom description. (668e936e)
  • Updated StoryCompose component, improve full screen preview. (39a76103)
  • Updated Helpers, fix broken tests. (22dddaa0)
  • Updated StoryController, fix cache crop bug. (c2f8faae)
  • Updated StoryController, optimize photo size by resizing to 9:16 aspect. (e66ed9a2)
  • Updated StoryCompose crop logic. (2ead622c)
  • Updated StatusController, allow license edits without 24 hour limit. (c799a01a)
  • Updated Settings, remove reports page. (9cf962ff)
  • Updated ProfileService, use account transformer. (391b1287)
  • Updated LikeController, hide like counts. (ea687240)
  • Updated StatusTransformers, add liked_by attribute. (372bacb0)
  • Updated PostComponent, change like logic. (0a35f5d6)
  • Updated Timeline component, change like logic. (7bcbf96b)
  • Updated LikeService, fix likedBy method. (a5e64da6)
  • Updated PublicApiController, increase public timeline to 6 months from 3. (8a736432)
  • Updated LikeService, show like count to status owner. (4408e2ef)
  • Updated admin settings, add rules. (a4efbb75)
  • Updated LikeService, fix authentication bug. (c9abd70e)
  • Updated StatusTransformer, fix missing tags attribute. (dac326e9)
  • Updated ComposeController, bail on empty attachments. (061b145b)
  • Updated landing and about page. (92dc7af6)
  • Updated AdminStatsService, fix postgres bug. (af719135)
  • Updated api, remove auth requirement for hashtag timeline. (c8e43c60)
  • Updated NotificationCard component, fix default value. (78ad4e77)
  • Updated Timeline component, show counts and make sidebar footer lighter. (0788bffa)
  • Updated AuthServiceProvider, increase default token + refresh token lifetime. (178ed63d)
  • Updated liked by, fix remote username urls. (f767d99a)
  • Updated StatusController, add cache invalidation for timeline cursor. (f3bf2fd4)
  • Updated PublicApiController, add recent feed support to home timeline. (1e230e80)
  • Updated Inbox, fix reply/comment bug by moving attachment validation to Note with attachments. (28df9f7e)
  • Updated PrettyNumber, add decimal option. (84520fe1)
  • Updated app config, change default descriptions. (7d24560d)
  • Updated NotificationCard, fix loading bug. (69567e19)
  • Updated DirectMessageController, disable exception logging for invalid urls. Fixes (#2752). (2d0a253e)

Added

  • Direct Messages (d63569c)
  • ActivityPubFetchService for signed GET requests (8763bfc5) (3ee1215a)
  • Custom content warnings for remote posts (6afc61a4)
  • Thai translations (74cd536)
  • Added Bookmarks to v1 api (99cb48c5)
  • Added New Post notification to Timeline (a0e7c4d5)
  • Add Instagram Import (e2a6bdd0)
  • Add notification preview to NotificationCard (28445e27)
  • Add MediaPathService (c54b29c5)
  • Add Media Tags (711fc020)
  • Add MediaTagService (524c6d45)
  • Add MediaBlocklist feature (ba1f7e7e)
  • New Discover Layout, add trending hashtags, places and posts (c251d41b)
  • Add Password change email notification (de1cca4f)
  • Add shared inbox (4733ca9f)
  • Add federated photo filters (0a5a0e86)
  • Add AccountInterstitial model and controller (8766ccfe)
  • Add Blurhash encoder (fad102bf)
  • Add autospam feature (b892bcf0)
  • Add hCaptcha (082c1ccb)
  • Add StatusView model to store views for discover algorithm (7a68ee94)
  • Add Year in Review feature (mysql only) (f32072a3)

Updated

  • Updated PostComponent, fix remote urls (42716ccc)
  • Updated PostComponent, fix missing like button on comments (132c1dce)
  • Updated PostComponent.vue, fix load more comments button (847599ad)
  • Updated 2FA Checkpoint, add username + logout button and numeric inputmode (26affb11)
  • Updated RemoteProfile, fix missing content warnings (e487527a)
  • Updated RemotePost component, fix missing like button on comments (7ef90565)
  • Updated PublicApiControllers, fix block/mutes filtering on public timeline (08383dd4)
  • Updated FixUsernames command, fixes remote username search (0f943f67)
  • Updated Timeline component, fix mod tools (b1d5eb05)
  • Updated Profile.vue component, fix pagination bug (46767810)
  • Updated purify config, fix microformats support (877023fb)
  • Updated LikeController, fix likes_count bug (996866cb)
  • Updated AccountController, added followRequestJson method (483548e2)
  • Updated UserInvite model, added sender relation (591a1929)
  • Updated migrations, added UIKit (fcab5010)
  • Updated AccountTransformer, added last_fetched_at attribute (38b0233e)
  • Updated StoryItemTransformer, increase story length to 5 seconds (924e424c)
  • Updated StatusController, fix reblog_count bug (1dc65e93)
  • Updated NotificationCard.vue component, add follow requests at top of card, remove card-header (5e48ffca)
  • Updated RemoteProfile.vue component, add warning for empty profiles and last_fetched_at (66f44a9d)
  • Updated ApiV1Controller, enforce public timeline setting (285bd485)
  • Updated SearchController, fix self search bug and rank local matches higher (f67fada2)
  • Updated FederationController, improve webfinger logic, fixes (#2180) (302ff874)
  • Updated ApiV1Controller, fix broken auth check on public timelines. Fixes (#2168) (aa49afc7)
  • Updated SearchApiV2Service, fix offset bug (#2116) (a0c0c84d)
  • Updated api routes, fixes (#2114) (50bbeddd)
  • Updated SiteController, add legacy profile/webfinger redirect (cfaa248c)
  • Updated checkpoint view, fix recovery code bug (3385583f)
  • Updated Inbox, move expensive HTTP Signature validation to job queue (f2ae45e5a)
  • Updated MomentUI, fix bugs and improve UI (90b89cb8)
  • Updated PostComponent, improve embed model. Fixes (#2189) (b12e504e)
  • Updated PostComponent, hide edit button after 24 hours. Fixes (#2188) (a1fee6a2)
  • Updated AP Inbox, add follow notifications (b8819fbb)
  • Updated Api Transformers, fixes (#2234) (63007891)
  • Updated ApiV1Controller, fix instance endpoint (#2233) (b7ee9981)
  • Updated AP Inbox, remove trailing comma (5c443548)
  • Updated AP Helpers, update bio + name (4bee8397)
  • Updated Profile component, add bookmark loader (c8d5edc9)
  • Updated PostComponent, add recent posts (b289f2f6)
  • Updated ApiV1Controller, add status ancestor and descendant context (a0bde855)
  • Updated NotificationCard, improve popover image scaling (0153e596)
  • Updated StoryController, fix deprecated getClientSize() use (725fc6c6)
  • Updated ComposeModal, fix rotate icon direction. Fixes (#2241) (e8a14640)
  • Updated Timeline.vue, add profile links to grid mode (fa40f51b)
  • Updated Timeline.vue, hide like counts on grid mode. Fixes (#2293) (cc18159f)
  • Updated Timeline.vue, make grid mode photos clickable. Fixes (#2292) (6db68184)
  • Updated ComposeModal.vue, use vue tooltips. Fixes (#2142) (2b753123)
  • Updated AccountController, prevent blocking admins. (2c440b48)
  • Updated Api controllers to use MediaPathService. (58864212)
  • Updated notification components, add modlog and tagged notification types (51862b8b)
  • Updated StoryController, allow video stories. (b3b220b9)
  • Updated InternalApiController, add media tags. (ee93f459)
  • Updated ComposeModal.vue, add media tagging. (421ea022)
  • Updated NotificationTransformer, add modlog and tagged types. (49dab6fb)
  • Updated comments, fix remote reply bug. (f330616)
  • Updated PostComponent, add tagged people to mobile layout. (7a2c2e78)
  • Updated Tag People, allow untagging yourself. (c9452639)
  • Updated ComposeModal.vue, add 451 http code warning. (b213dcda)
  • Updated Profile.vue, add empty follower modal placeholder. (b542a3c5)
  • Updated private profiles, add context menu to mute, block or report. (487c4ffc)
  • Updated webfinger util, fix bug preventing username with dots. (c2d194af)
  • Updated upload endpoints with MediaBlocklist checks. (597378bf)
  • Updated Timeline.vue component, fixes (#2352) and (#2343). (e134a9ac)
  • Updated PostComponent.vue, improve MetroUI and fixes (#2363). (0c8ebf26)
  • Updated Timeline.vue, fixes (#2363). (f53f10fd)
  • Updated Profile.vue, add atom feed link to context menu. Fixes (#2313). (89f29072)
  • Updated Hashtag.vue, add nsfw toggle. Fixes (#2225). (e5aa506c)
  • Updated Timeline.vue, move compose button. (9cad8f77)
  • Updated status embed, allow photo albums. Fixes (#2374). (d11fac0d)
  • Updated DiscoverController, fixes (#2378). (8e7f4f9d)
  • Updated SearchController, update version. (8d923d77)
  • Updated email confirmation middleware, add 2FA to allow list. Fixes (#2385). (27f3b29c)
  • Updated NotificationTransformer, fixes (#2389). (c4506ebd)
  • Updated Profile + Timeline components, simplify UI. (38d28ab4)
  • Updated Profile component, make modals scrollable. (d1c664fa)
  • Updated PostComponent, fixes #2351. (7a62a42a)
  • Updated DirectMessageController, fix pgsql bug. (f1c28e7d)
  • Updated RegisterController, make the minimum user password length configurable. (09479c02)
  • Updated AuthServiceProvider, added support for configurable OAuth tokens and refresh tokens lifetime. (7cfae612)
  • Updated EmailService, make case insensitive. (1b41d664)
  • Updated DiscoverController, fix trending api. (2ab2c9a)
  • Updated Dark Mode layout. (d6f8170)
  • Updated federation config, make sharedInbox enabled by default. (6e3522c0)
  • Updated PostComponent, change timestamp format. (e51665f6)
  • Updated PostComponent, use proper username context for reply mentions. Fixes (#2421). (dac06088)
  • Updated Navbar, added profile avatar. (19abf1b4)
  • Updated package.json, add blurhash. (cc1b081a)
  • Updated Status model, fix thumb nsfw caching. (327ef138)
  • Updated User model, add interstitial relation. (bd321a72)
  • Updated StatusStatelessTransformer, add missing attributes. (4d22426d)
  • Updated media pipeline, add blurhash support. (473e0495)
  • Updated DeleteAccountPipeline, add AccountInterstitial and DirectMessage purging. (b3078f27)
  • Updated ComposeModal.vue component, reuse sharedData. (e28d022f)
  • Updated ApiController, return status object after deletion. (0718711d)
  • Updated InternalApiController, add interstitial logic. (20681bcf)
  • Updated PublicApiController, improve stateless object caching. (342e7a50)
  • Updated StatusController, add interstitial logic. (003caf7e)
  • Updated middleware, add AccountInterstitial support. (19d6e7df)
  • Updated BaseApiController, add favourites method. (76353ca9)
  • Updated dockerfile, fix composer issue. (ef45c4b21)
  • Updated reply/comment view, improve layout and include child reply. (2eca670e)
  • Updated Collections, add custom limit. (048642be)
  • Updated AccountInterstitialController, add autospam type. (c67f0c57)
  • Updated Profile model, improve counter caching. (4a14e970)
  • Updated ComposeModal, fix filter bug on safari. (8e3e7586)
  • Updated StatusStatelessController, remove unused attributes. (d0d46807)
  • Updated Profile, fix follower counter bug. (d06bec9c)
  • Updated NotificationTransformer, add missing types. (3a428366)
  • Updated StatusService, fix json bug. (1ea2db74)
  • Updated NotificationTransformer, handle tagged deletes. (881fa865)
  • Updated horizon config, add new default values. (90c8a721)
  • Updated ComposeModal, add maxlength attribute to alt text input. Fixes (#2490). (526b5531)
  • Updated PublicApiController, add state endpoint. (9fc5a80c)
  • Updated PostComponent, add reply modal. (a10d851f)
  • Updated Timeline, remove simple mode and set labs deprecation date. (df9c3adf)
  • Updated 2FA setup, fix qrcode handler. (cd2661fc)
  • Updated avatars, use jpeg default. (f6528c84)
  • Updated antispam bouncer, change recent from 1 week to 3 months. (7d818197)
  • Updated Post components, fix remote post and profile urls. (cfcf17f3)
  • Updated migrations, fix broken oauth change. (4a885c88)
  • Updated LikeController, store status_profile_id and is_comment attributes. (799a4cba)
  • Updated Profile, fix status count. (6dcd472b)
  • Updated StatusService, cast response to array. (0fbde91e)
  • Updated status model, use scope over deprecated visibility attribute. (f70826e1)
  • Updated Follower model, increase hourly limit from 30 to 150. (b9b84e6f)
  • Updated StatusController, fix scope bug. (7dc3739c)
  • Updated AP helpers, fixed federation bug. (a52564f3)
  • Updated Helpers, cache profiles. (1f672ecf)
  • Updated DiscoverController, improve trending api performance. (d8d3331f)
  • Updated InboxWorker, fix race condition in account deletes. (4a4d8f00)
  • Updated StoryItemTransformer, increase story duration from 5 seconds to 10 seconds. (5b0b14fc)
  • Updated StatusController, add view method. (0cfc12c5)
  • Updated MediaPathService, add story method. (aac44309)
  • Updated StatusDelete job, handle cloud storage media deletes. (4b1a0fd7)
  • Updated ImageOptimizePipeline, add skip_optimize and MediaStorageService support. (234f72f3)
  • Updated Media model, add cdn support to url and thumbnailUrl methods. (57fa889d)
  • Updated MediaController, remove deprecated endpoint. (8132db74)
  • Updated api controllers, deprecate old endpoints. (4415af1b)
  • Updated mobile apis, add blurhash. (cf40526e)
  • Updated Image media util, store dimensions of media not thumbnail. (40bd64aa)
  • Updated MediaTransformers, include meta attribute with focus and dimensions. (f8cbe1e4)
  • Updated storage, add remote media cache directory. (0eabbfdd)
  • Updated backup config, prevents gateway timeouts for large databases using mysql. (9cd4bd74)
  • Updated MediaPipeline, handle cloud object storage. (be6d12fc)
  • Updated AP Helpers, use MediaStoragePipeline. (01a1ffd6)
  • Updated RemoteProfile component, change thumbnail url. (c1118956)
  • Updated blade views. (9683e846)
  • Updated cache config, use phpredis by default. (ed6877df)
  • Updated components, fix url rewriter. Closes #2538. (e8cc66dc)
  • Updated UserCreate command, closes #2581. (b2b8c9f9)
  • Updated AvatarController, remove deprecated thumb_path. (889c3d87)
  • Updated VideoThumbnail, add MediaStoragePipeline. (98c44f7b)
  • Updated StatusDelete pipeline, fix object storage thumbnail deletion. (f930c4bd)
  • Updated MediaStorageService, clear transformer cache after storing media. (ce6ab80d)
  • Updated MediaTransformer, remove cache busting. (258b2729)
  • Updated AP helpers, only run MediaStoragePipeline if using cloud storage. (77f21b4b)
  • Updated AvatarObserver, add logic to delete avatars stored in S3. (9eafc31e)
  • Updated Profile model, use cdn_url for avatars. (ea8e4261)
  • Updated ActivityPubFetchService, add url validation. (654b08d3)
  • Updated MediaStorageService, add avatar method. (94a9f685)
  • Updated AvatarPipeline, add remote avatar fetch. (4c148055)
  • Updated ComposeController, update media version. (cc2d4bf8)
  • Updated AP Helpers, add blurhash and RemoteAvatarFetch. (de8828e8)
  • Updated Timeline, prevent nextTick() when reloading same comment modal. Fixes #2584. (cc84125b)
  • Updated site config, add labels to config. (abe9cb3d)
  • Update StatusLabelService, change config key. (4abfe76a)

Added

  • Added Profile Following Search (e3280c11)
  • Added Trusted Devices to Sudo Mode (0c82c970)
  • Added reply modal to posts and timelines (974e6bda)
  • Added remote posts and profiles (95bce31e)
  • Added Labs deprecation page (9b215001)
  • Added new landing page (84e203a9)

Fixed

  • Stories on postgres instances (5ffa71da)

Updated

  • Updated StatusController, restrict edits to 24 hours (ae24433b)
  • Updated RateLimit, add max post edits per hour and day (51fbfcdc)
  • Updated Timeline.vue, move announcements from sidebar to top of timeline (228f5044)
  • Updated lexer autolinker and extractor, add support for mentioned usernames containing dashes, periods and underscore characters (f911c96d)
  • Updated Story apis, move FE to v0 and add v1 for oauth clients (92654fab)
  • Updated robots.txt (25101901)
  • Updated mail panel blade view, fix markdown bug (cbc63b04)
  • Updated self-diagnosis checks (03f808c7)
  • Updated DiscoverController, fixes #2009 (b04c7170)
  • Updated DeleteAccountPipeline, fixes #2016, a bug affecting account deletion.
  • Updated PlaceController, fixes #2017, a postgres bug affecting country pagination in the places directory (dd5fa3a4)
  • Updated confirm email blade view, remove html5 entity that doesn't display properly (aa26fa1d)
  • Updated ApiV1Controller, fix update_credentials endpoint (a73fad75)
  • Updated AdminUserController, add moderation method (a4cf21ea)
  • Updated BaseApiController, invalidate session after account deletion (826978ce)
  • Updated AdminUserController, add account deletion handler (9be19ad8)
  • Updated ContactController, fixes #2042 (c9057e87)
  • Updated Media model, fix remote media preview (9947050b)
  • Updated PostComponent, improve likes modal (664fd272)
  • Updated StoryViewer, preload media (336571d0)
  • Updated StoryCompose, add expand label for lightbox preview (fdf59753)
  • Updated session config, increase session timeout from 2 days to 60 days (b8795271)
  • Updated WebfingerService, cache lookup (8b9faf31)
  • Updated v1 notifications api, fix optional params (4e3c952c)
  • Updated ApiV1Controller, fix unfavourite bug #2088 (3a828522)
  • Updated SharePipeline, fix item relation bug (b5899648)
  • Updated Profile.vue, add v-once to thumbnails to prevent re-render (a54685f6)
  • Updated SearchResults.vue, improve layout (7e41b4ae)
  • Updated PostMenu.vue, fix styling of list-group (4c3b0b7d)
  • Updated PostComponent.vue, update styling (844566b9)
  • Updated NotificationCard.vue, fix share notifications (3cb676b1)
  • Updated PostComponent.vue, remove like count from title, fixes #2091 (6026998c)
  • Updated SearchController, add WebfingerService support (869b4ff7)
  • Updated Profile model, use change_count for version (0eae9f8b)
  • Updated Timeline.vue, add remote post/profile links (d4147083)
  • Updated StoryTimelineComponent, added list prop for new timeline layout (1692a95a)
  • Updated blank layout, add sharedData js (4a293ed9)
  • Updated oauth api, allow multiple redirect_uris. Fixes #2106 (0540a28a)
  • Updated ActivityPub Outbox, fixes #2100 (c84cee5a)
  • Updated ApiV1Controller, fixes #2112 (324ccd0a)
  • Updated StatusTransformer, fixes #2113 (eefa6e0d)
  • Updated InternalApiController, limit remote profile ui to remote profiles (d918a68e)
  • Updated NotificationCard, fix pagination bug #2019 (32beaad5)

Added

  • Added BANNED_USERNAMES .env var, an optional comma separated string to ban specific usernames from being used (6cdd64c6)
  • Added RestrictedAccess middleware for Restricted Mode (17c1a83d)
  • Added FailedJob garbage collection (5d424f12)
  • Added Password Reset garbage collection (829c41e1)

Fixed

  • Fixed Story Compose bug affecting postgres instances (#1918)
  • Fixed header background bug on MomentUI profiles (#1933)
  • Fixed TRUST_PROXIES configuration (#1941)
  • Fixed settings page default language (4223a11e)
  • Fixed DeleteAccountPipeline bug that did not use proper media paths (578d2f35)
  • Fixed mastoapi StatusTransformer, fix in_reply_to_id cast to string instead of int (6ed00c94)

Updated

  • Updated presenter components, load fallback image on errors (273170c5)
  • Updated Story model, hide json attribute by default (de89403c)
  • Updated compose view, add deprecation notice for v3 (57e155b9)
  • Updated StoryController, orientate story media and strip exif (07a13fcf)
  • Updated admin reports, fixed 404 bug (dbd5c4cf)
  • Updated AdminController, abstracted dashboard stats to AdminStatsService (41abe9d2)
  • Updated StoryCompose component, added upload progress page (2de3c56f)
  • Updated instance config, cleanup and add restricted mode (3be32597)
  • Update RelationshipSettings Controller, fixes #1605 (4d2da2f1)
  • Updated password reset, now expires after 24 hours (829c41e1)
  • Updated nav layout (73249dc2)
  • Updated views with noscript warnings (eaca43a6)

Changed

Added

  • Added drafts API endpoint for Camera Roll (bad2ecde)
  • Added AccountService (885a1258)
  • Added post embeds (1fecf717)
  • Added profile embeds (fb7a3cf0)
  • Added Force MetroUI labs experiment (#1889)
  • Added Stories, to enable add STORIES_ENABLED=true to .env and run php artisan config:cache && php artisan cache:clear. If opcache is enabled you may need to reload the web server.

Fixed

  • Fixed like and share/reblog count on profiles (86cb7d09)
  • Fixed non federating self boosts (0c59a55e)
  • Fixed CORS issues with API endpoints (6d6f517d)
  • Fixed mixed albums not appearing on timelines (e01dff45)

Changed

  • Removed relationship from AccountTransformer (4d084ac5)
  • Updated notification api endpoint to use NotificationService (f4039ce2) (6ef7597)
  • Update footer to use localization for the Places link (39712714)
  • Updated ComposeModal.vue, added a caption counter. Fixes #1722. (009c6ee8)
  • Updated Notifications to use the NotificationService (f4039ce2)
  • Updated PrivacySettings controller, clear cache after updating (d8d11d7b)
  • Updated BaseApiController, add timestamp to signed media previews for client side cache invalidation (73c08987)
  • Updated AdminInstanceController, remove db transaction from instance scan (5773434a)
  • Updated Help Center view, added outdated warning (0e611d00)
  • Updated language view, added English version of language names (ebb998d2)
  • Updated app.js, added App.utils like .format.count, .filters and .emoji (34c13b6e)
  • Updated CollectionCompose.vue component, fix api namespace change (71ed965c)
  • Updated PostComponent, mark caption sensitive if post is and use util.emoji (35d51215)
  • Updated Profile.vue component, use formatted counts (30f14961)
  • Updated Timeline.vue component, use formatted counts, util.emoji and increase pagination limit to 5 (abfc9fe7)
  • Updated album presenters, use better carousel (31b114cc) (0617fada) (767fc887)
  • Updated Timeline.vue component, remove tap for lightbox as it conflicts with new carousel (96e25ad2)
  • Updated ComposeModal.vue, added album support, editing and UI tweaks (3aaad81e)
  • Updated InternalApiController, increase license limit to 140 to match UI counter (b3c18aec)
  • Updated album carousels, fix height bug (8380822a)
  • Updated MediaController, add timestamp to signed preview url (49efaae9)
  • Updated BaseApiController, uncache verify_credentials method (3fa9ac8b)
  • Updated StatusHashtagService, reduce cached hashtag count ttl from 6 hours to 5 minutes (126886e8)
  • Updated Hashtag.vue component, added formatted posts count (c71f3dd1)
  • Updated FixLikes command, fix postgres support (771f9c46)
  • Updated Settings, hide sponsors feature until re-implemented in Profile UI (c4dd8449)
  • Updated Status view, added video open graph tag support (#1799)
  • Updated AccountTransformer, added local attribute (d2a90f11)
  • Updated Laravel framework from v5.8 to v6.x (3aff6de33)
  • Updated FollowerController to fix bug affecting private profiles (a429d961)
  • Updated StatusTransformer, added local attribute (484bb509)
  • Updated PostComponent, fix bug affecting MomentUI and non authenticated users (7b3fe215)
  • Updated FixUsernames command to allow usernames containing . (e5d77c6d)
  • Updated landing page, add age check (d11e82c3)
  • Updated ApiV1Controller, add mobile_apis to /api/v1/instance endpoint (57407463)
  • Updated PublicTimelineService, add video media scopes (7b00eba3)
  • Updated PublicApiController, add AccountService (5ebd2c8a)
  • Updated CommentController, fix scope bug (45ecad2a)
  • Updated CollectionController, increase limit from 18 to 50. (c2826fd3)

Deprecated

Added

  • Added /api/v1/accounts/update_credentials endpoint 6afd6970
  • Added /api/v1/accounts/{id}/followers endpoint 41c91cba
  • Added /api/v1/accounts/{id}/following endpoint 607eb51b
  • Added /api/v1/accounts/{id}/statuses endpoint 8ce6c1f2
  • Added /api/v1/accounts/{id}/follow endpoint f3839026
  • Added /api/v1/accounts/{id}/unfollow endpoint fadc96b2
  • Added /api/v1/accounts/relationships endpoint 4b9f7d6b
  • Added /api/v1/accounts/search endpoint b1fccf6d
  • Added /api/v1/blocks endpoint ac9f1bc0
  • Added /api/v1/accounts/{id}/block endpoint c6b1ed97
  • Added /api/v1/accounts/{id}/unblock endpoint 35226c99
  • Added /api/v1/custom_emojis endpoint 6e43431a
  • Added /api/v1/domain_blocks endpoint 83a6313f
  • Added /api/v1/endorsements endpoint 1f16221e
  • Added /api/v1/favourites endpoint b9cc06da
  • Added /api/v1/statuses/{id}/favourite endpoint 4edeba17
  • Added /api/v1/statuses/{id}/unfavourite endpoint 437e18e3
  • Added /api/v1/filters endpoint b3d82edd
  • Added /api/v1/follow_requests endpoint 97269136
  • Added /api/v1/follow_requests/{id}/authorize endpoint 7bdd9b2a
  • Added /api/v1/follow_requests/{id}/reject endpoint 62aa922a
  • Added /api/v1/suggestions endpoint e52aeeed
  • Added /api/v1/lists endpoint 2a106c4e
  • Added /api/v1/accounts/{id}/lists endpoint dba172df
  • Added /api/v1/lists/{id}/accounts endpoint dba172df
  • Added /api/v1/media endpoint 39f3e313
  • Added /api/v1/media/{id} endpoint fcf231f4
  • Added /api/v1/mutes endpoint b280d183
  • Added /api/v1/accounts/{id}/mute endpoint 3e98dce4
  • Added /api/v1/accounts/{id}/unmute endpoint 41c96ddd
  • Added /api/v1/notifications endpoint 39449f36
  • Added /api/v1/timelines/home endpoint cf3405d8
  • Added /api/v1/conversations endpoint 336f9069
  • Added /api/v1/timelines/public endpoint f3eeb9c9
  • Added /api/v1/statuses/{id}/card endpoint 92251208
  • Added /api/v1/statuses/{id}/reblogged_by endpoint 118006ed
  • Added /api/v1/statuses/{id}/favourited_by endpoint 5cdff57d
  • Added POST /api/v1/statuses endpoint 3aa729a3
  • Added DELETE /api/v1/statuses endpoint 0a20b832
  • Added POST /api/v1/statuses/{id}/reblog endpoint 43cef282
  • Added POST /api/v1/statuses/{id}/unreblog endpoint 3147fe5c
  • Added GET /api/v1/timelines/tag/{hashtag} endpoint 2ff53be4

Fixed

  • Update developer settings pages, fix vue bug cd365ab3
  • Update User model, fix filter relationship 5a0c295e

Changed

  • Updated Inbox Accept.Follow to use id of remote object #1715
  • Update StatusTransformer, make spoiler_text non-nullable b66cf9cd
  • Update FollowerController, make follow and unfollow methods public 6237897d
  • Update DiscoverComponent, change api namespace 35275572

Deprecated

  • Removed deprecated AttachmentTransformer, superceeded by MediaTransformer 9b5aac4f

To enable mobile app support

  • Run php artisan passport:keys
  • Add OAUTH_ENABLED=true to .env
  • Run php artisan config:cache

Added

  • Added software back to AccountTransformer 93c687c7

Fixed

  • Fixed cache bug in privacy and terms pages #1712

Changed

Added

  • Added Welsh translations #1706
  • Added Api v1 controller 85835f5a
  • Added database migration that adds a language column to the users table c87d8c16
  • Added persistent preferred language 18bc9c30

Fixed

  • Fixed count bug in StatusHashtagService #1694
  • Fixed private account bug #1699
  • Fixed comments on MomentUI posts #1704

Changed

  • Updated EmailService, added new domains #1690
  • Updated quill.js to v1.3.7 #1692
  • Cache ProfileController #1700
  • Updated ComposeUI v4, made cropping optional #1702
  • Updated DiscoverController, limit Loops to local only posts #1703
  • Namespaced internal apis 3c306c5e
  • Updated .env.example with proper remote follow variable 0697f780
  • Updated show all comments view 0a5eaa31
  • Updated language page layout 01fb5af
  • Updated privacy policy page layout a4229d5
  • Updated terms page layout 4f8c5e5
  • Update v1 API, added /api/v1/instance endpoint 951b6fa0 9dc2234b

Deprecated

  • Remove deprecated profile following/followers #1697
  • Remove old comment permalink 05f6598

Added

  • Append .json to local status urls to view ActivityPub object #1666

Fixed

  • Reverted strict Same-Site Cookies to null to fix 2FA/session expiry #1667
  • Fixed AP errors by storing ActivityPub object id and url #1668 #1683
  • Fixed content warnings that had filter applied #1669

Changed

  • Japanese Translations #1673
  • Occitan Translations #1679
  • Use footer partial on landing page #1681
  • Change admin badge so it doesn't look like a verified badge #1684

Deprecated

  • Personalized Discover has been deprecated due to low use #1670

Fixed

  • Typo in Inbox prevented proper federation support #1664

Added

  • Remote follows! Search for an actor URI, send AP Follow, plus handle incoming AP Accept Follow
  • Compose UI v4: a rework of the v3 flow to allow basic cropping and better support future post types
  • Profile badges show if a user is following you or is an admin
  • Show confirmation message when muting or blocking a user from a post
  • Allow "read more" to be disabled on posts #1545
  • Loops! Discover short videos
  • Preliminary support for profile PropertyValue metadata
  • Preliminary support for Direct Messages
  • Places! Run the artisan task import:cities
  • Emails are now validated and banned email domains are disallowed at signup. Artisan task email:bancheck will validate existing users.
  • .env vars REDIS_SCHEME and REDIS_PATH allow for using Redis over a Unix socket instead of TCP #1602
  • .env var IMAGE_DRIVER allows using imagick instead of gd

Fixed

  • Show delete button while composing video posts #1529
  • Show pending follow requests on private profiles
  • Allow muted users to comment on your posts #1537
  • Bugs with carousel cursor and tooltips
  • Collections can now be deleted from collection page
  • Compose modal now indicates album media limits
  • Unlisted and private posts are now delivered
  • Don't show Register link in navbar when registrations are closed

Changed

  • Use vue-masonry for Moment UI layout #1536
  • User post limit changed from 20/hr to 50/hr
  • Better mobile profile layout
  • Dark mode is now a bit bluer
  • Sample nginx.conf in contrib/ now uses HTTPS instead of HTTP. Docs updated to reference this file
  • Updated register form
  • Allow users to edit email after registrations

Added

  • Collections! Add posts to Collections, similar to categories. #1511
  • Profile donate links: add links to Patreon, Liberapay, and OpenCollective on your profile #1500

Fixed

  • Show correct mode when viewing followers / following

Changed

  • Profile model now uses snowflake id #1502

Removed

  • OStatus legacy code has been removed #1510

Fixed

  • Hashtag post count off-by-one #1485

Added

Changed

  • Update SearchController, fix AP verb typo #1387, dc8acf9
  • Update StatusTransformer, increase media cache ttl to 14 days #1387, f35718b
  • Update webpack config, extract vendor librarys #1387, b42db89
  • Update admin statuses view, make table header light #1387, 44afcc7
  • Update settings, move disable/delete to Security Settings #1388, ca0d638
  • Update Installer command #1388, 506dd8b
  • Update UserObserver #1388, 4ee3d10
  • Update AuthLogin listener #1388, c27c751 1e8b092
  • Update Image Optimization to not store EXIF by default #1414
  • Update Settings, hide OAuth/Developer pages when not enabled #1413
  • Update Presenter Components, move alt tag and filters to <img> element #1415
  • Update Api Controllers, add missing caption limit to composePost() and missing is_nsfw attribute to comment queries #1429, 1cff278
  • Update instances admin view, add scan button to find new instances #1436 a94a3ee
  • Update registration page, add links to terms and privacy pages #1488

Removed

PSA: Due to the removal of Google Recaptcha, a one-time manual intervention is required. Please try the following after installing with composer:

rm -rf bootstrap/cache/*
composer dump-autoload
php artisan config:cache

Added

  • Notification service
  • Notification card on timeline
  • Double-tap to like posts (no animation yet)
  • Moderator Mode for timelines
  • Emoji reaction bar
  • Like and reply to comments
  • Hello Loops! Short videos will now loop and be discoverable from the Discover page.
  • Labs: Optional profile recommendations
  • Labs: Show full caption instead of "read more" button
  • Labs: Simple "distraction-free" timeline -- no buttons, just images and captions

Changed

  • Refactored notification view into a Vue component
  • Preparations for Circles, DMs, and other upcoming functionality
  • Default limit of 7500 follows
  • Default limit of 20 follows per hour
  • Default limit of 5 mentions per comment/caption
  • Default limit of 30 hashtags per comment/caption
  • Default limit of 2 links per comment/caption
  • Thumbnail info overlays on profiles should now scale down to small screens (#1234)
  • Moment UI containers are now properly sized (#1236)
  • Album posts now have contrast for next/prev arrows (#1238)
  • Filter previews now fit the image instead of stretching it (#1239)

Removed

  • Google Recaptcha is no longer supported (#1231)
  • Lightbox has been deprecated in favor of double-tap-to-like; it will return as a dedicated button in the future (#1277)

Added

  • Allow users to delete existing profile photos.
  • Preliminary support for managing developer tokens, as well as authorizing apps
  • Unmute and unblock users more easily. Profiles now reflect muting/blocking status.
  • Lazy-loading images with loading="lazy", as supported in Blink
  • Added Network Timeline which includes non-local posts
  • Add broadcast events for real-time updates
  • Compose view now shows upload progress bar
  • You can now audit logged-in devices
  • Added WIP installer
  • Moment UI! This alternative profile view is less square and more full-width pictures.

Changed

  • Allow admins to view reported private posts
  • Show sensitivity and privacy/audience in status views
  • Cleanup of legacy code
  • commentsDisabled has been replaced with preliminary support for Litepub Capability Enforcement (LiCE)
  • rel="me" now added to profile websites
  • Posts from locked accounts now default to followers-only

Removed

  • Removed identicons due to SVG compatibility issues with federation. New users will instead be assigned a default avatar.

Added

  • Add COSTAR - Confirm Object Sentiment Transform and Reduce

COSTAR is a filtering system that allows admins to define environment variables that will dynamically apply certain policies to posts of a defined scope, similar to Pleroma's MRF system.

Scopes:

  • Domain: apply to posts from a specific website
  • Actor: apply to posts from a specific profile/user
  • Keyword: apply to posts containing a specific string

Policies:

  • Block: Default blocks the defined scope
  • CW: Automatically rewrites the scope to apply a warning
  • Unlist: Removes the scope from public timelines