Discourse Version 2.5

Focus

Codename

Start date

Feb 26th, 2020

Release date

June 24th, 2020

65 Likes

NEW FEATURES

  • Add after-user-name plugin outlet (#10113)
  • Check if selectable avatars exist before enabling them (#10032)
  • Remove deprecated uploads url site settings.
  • Import script for jForum
  • Don’t display muted/ignored users under “who liked”
  • Allows to have header/footer in publshed pages (#10067)
  • Add before_email_send event
  • Allows to ignore a user forever (#10074)
  • Allows published pages to be public (#10053)
  • New category-list-above-each-category plugin outlet (#10037)
  • Add “Now” as an option (default hidden) to the future date input selector (#10047)
  • Allow multiple groups which can vote when creating a poll
  • Include tags in unread/new messages
  • Improve UX support for multiple email addresses (#9691)
  • Multiple use invite links (#9813)
  • Support append when bulk tagging via rake (#9978)
  • New rake task to update first_post_created_at column
  • Add uploads:batch_migrate_from_s3 task to limit total posts migrated at once (#9933)
  • Category setting for default list filter. (#9975)
  • Whitelist theme repo mode (experimental)
  • New plugin outlet under badges page title (#9936)
  • Notify admins about old credentials (#9918)
  • Download remote images even for old posts (#9925)
  • Optionally allow tags in topic tracking state
  • Show a detailed 404 page for private topics (#9894)
  • Notify admins about old credentials (#9854)
  • Send a private message when a group membership is accepted (#9822)
  • Add setting to disable automatic CORS rule install in S3 buckets (#9872)
  • Permalinks for tags
  • Category setting for default list filter.
  • Update the topic excerpt when the OP is rebaked (#9852)
  • Add topic excerpt max length site setting (#9847)
  • Remove ‘flag’ web hook in favor of ‘reviewable’ web hook
  • Remove ‘queued post’ web hook in favor of ‘reviewable’ web hook
  • Add same site cookie ‘None’ option to make cross domain systems possible (#9374)
  • Expose Composer.serializeToTopic in client side plugin api.
  • Extend duration allowed for download
  • Add endpoint for individual SVG icons (#9765)
  • Add structured data to follow Google’s guidelines (#9764)
  • Introduce a staff only override key for discourse-presence.
  • Support for App Shortcuts Menu (#9749)
  • Add noindex header to tags pages (#9748)
  • Allow parameter authentication for UserApiKeys (#9742)
  • Allow plugins to register a callback to ignore DraftSequence.
  • Default canonical URL (#9738)
  • Pass instance of revisor to post_edited DiscourseEvent.
  • Add noindex header to badges, groups, and /my pages (#9736)
  • Let Google index pages so it can remove them
  • Add no_index header if robots is disabled
  • Filter settings by plugin (#9692)
  • Tighten rate limiting rules for forgot password
  • Exclude muted categories from the “top” topics list.
  • Optionally delete bookmark when reminder sent (#9637)
  • Include category position when exporting categories (#9658)
  • Reddit video onebox
  • Facebook video onebox
  • Include optimized thumbnails for topics (#9215)
  • Nokogumbo (#9577)
  • Unconditionally notify on edits at least once a day
  • Adds a filter for all/unread/read on user’s notifications page (#9535)
  • Add category banner for why a user cannot post (#9576)
  • Allows to limit visible reports and tabs in dashboard (#9598)
  • Add setting to controle the Expect header on S3 calls
  • More improvements to crawler and old browsers view
  • Allow user creation with admin api when local logins disabled (#9587)
  • Improve crawler view
  • Add user_profile to user_archive CSV export (#9571)
  • Redesign discourse-presence to track state on the client side. (#9487)
  • Allows to to style published page with themes/plugins (#9570)
  • Support SSO website and location overrides
  • Optionally show local time for user in card (#9527)
  • Dismiss first notification on click anywhere (#9525)
  • When blocking emails prefer blocking canonical
  • Don’t display new/unread notification for muted topics (#9482)
  • Digital Ocean Spaces compatibility for Object Storage
  • Add class to <aside> quote block when quoting an ignored user (#9511)
  • Make report filters reusable (#9444)
  • Admin UI to merge two users. (#9509)
  • Promote bookmarks with reminders to core functionality (#9369)
  • Add copy button to codeblocks (#9451)
  • Add created_at column to user_badges (#9463)
  • Improve rendering of RSS feeds
  • Edit bookmark reminders from post and explicit delete button (#9455)
  • Rake task to export groups (#9450)
  • Users can be ignored for six months. (#9446)
  • Allow editing bookmark reminders (#9437)
  • Decorate topic-level bookmark button with reminder time (#9426)
  • Add support for upload format in theme settings.
  • Add user_session_refreshed trigger (#9412)
  • Extend bookmark cutoff time for “Later Today” to 5pm (#9419)
  • Enforce_canonical_emails site setting
  • New site setting embed_unlisted (#9391)
  • Plugin support for transpiling regular .js files (#9398)
  • Add after-reviewable-post-user plugin outlet (#9397)
  • Webhooks and Event for user being granted a badge
  • Show noscript view to unsupported browsers (#9373)
  • Support for publishing topics as pages (#9364)
  • Screenreader landmarks for main, suggested topics
  • Enable offline browsing and fullscreen PWA in iOS by default
  • Hash user API keys in the database (#9344)
  • Bookmark keyboard shortcuts (#9318)
  • Bookmark reminder type changes and bugfixes (#9329)
  • Allow admins to disable self-service account deletion
  • Add lazy loading to user bookmarks list (#9317)
  • High priority bookmark reminder notifications (#9290)
  • Add setting auto_approve_email_domains to auto approve users (#9323)
  • Display “Last Updated At” on user directory
  • Allows multiple custom emoji groups (#9308)
  • Option to update child theme components via theme CLI.
  • Stricter rules for user presence
  • Invite_code is case-insensitive
  • Allow plugins to exclude wizard steps (#9275)
  • List search menu shortcuts in instructions modal (#9273)
  • Navigate through search results using J/K (#9264)
  • Unassign the review queue topic when a flag is handled
  • Show votes in an “on voted” poll to the creator
  • Automatically delete replies on a topic after N days. (#9209)
  • Google Calendar doesn’t support URL in iCalendar, add fallback description
  • ICalendar feed for Bookmark reminders
  • Demote muted categories on category list (#9226)
  • Show rejected posts count in user summary (#9204)
  • Optional global invite_code for account registration
  • Add enable_bookmark_at_desktop_reminders site setting (#9198)
  • Add support for custom gravatar-like services (#9137)
  • Allow for a larger maximum post length
  • MVP Bookmarks with reminders user list changes (#8999)
  • Allow custom date + time for bookmark reminders (#9185)
  • Send notifications for time-based and At Desktop bookmark reminders (#9071)
  • Allow themes to specify modifiers in their about.json file (#9097)
  • Broader support for post uploads in video markup (#9152)
  • Approve suspect users is now true by default. The suspect users list was removed (#9151)
  • Improve keyboard shortcuts help modal (#9143)
  • Add embed_set_canonical_url setting (#9134)
  • Add site setting to disable staged user cleanup
  • Prevent accidental canceling when drafting penalties (#9129)
  • New route for loading multiple user cards simultaneously (#9078)
  • Prevent accidental canceling when drafting penalties (#9105)
  • Option to connect to Redis using SSL
  • Treat /go/ as a server-side route
  • Add child theme components in theme metadata.
  • Alows to add a description link to a report (#9065)
  • Enable service worker on iOS PWA
  • Always disable customizations on the /safe-mode route (#9052)
  • Unconditionally skip indexing on search controller
  • Auto archive group message if topic is closed. (#9046)
10 Likes

BUG FIXES

  • Properly invalidate inline oneboxes when rebaking
  • Ensures moderation history is accessible from topic/post admin menu (#10118)
  • Use correct URL for unsubscribe (#10077)
  • Skip category notification_level unless scoped
  • Add migration to delete tracking state for staged users (#10083)
  • Use Discourse.system_user when we need a placeholder admin (#9781)
  • Advanced tutorial errors when all categories are secured (#10111)
  • Bump onebox for twitch video and clips embedding fix.
  • Prevent typing “#” when showing “Jump to…”
  • Onebox local topic when using slug-less URL
  • Use ActionDispatch::Http::ContentDisposition for uploads content-disposition (#10108)
  • TurboTests::Runner not failing on errors.
  • Use a mutex when reseting column information while seeding.
  • multisite:migrate failing to properly seed data.
  • These tests are broken
  • Don’t raise an exception if we can’t update the user on demotion
  • Use raw content when checking for watched words to flag (#10104)
  • Pass local scope variable to inner function
  • Hide PM tags if the site setting is disabled (#10089)
  • Fix select kit size (#10094)
  • Improve admin permalink UX (#10101)
  • Do not attempt to pull_hotlinked on emoji images when CDN enabled (#10091)
  • A variable name typo
  • Delete PostUploads on Post deletion (#10090)
  • Handle heroku style HTTP_X_REQUEST_START (#10087)
  • Handle invalid URLs gracefully when pulling hotlinked images
  • Do not attempt to pull_hotlinked on emoji images when CDN enabled
  • Guardian#can_remove_allowed_users? shouldn’t break for ownerless topics
  • Do not incorrectly add topic bookmark on Escape (#10088)
  • Do not change tracked categories for staged users (#10076)
  • Allow multiple hyphens in host (#10078)
  • Added spec for multiple hyphens
  • A much nicer error message if you can’t ignore/mute a user
  • Hide the post history for TL4 (#10065)
  • Do not show Add or Change buttons if email is not editable (#10068)
  • Show unconfirmed emails too when checking emails (#10062)
  • Muted/Ignore should prevent PMs regardless of case sensitivity
  • Cleanup migrations with timestamps in the future
  • Restore missing translation keys
  • Do not send staff welcome message if user already has role
  • Prevent producing “undefined” strings (#10042)
  • Thread safety issues with multisite:migrate and SeedFu.
  • Select-kit components not being hidden.
  • Add attachment content-disposition for all non-image files (#10058)
  • Add table name to topic view query (#10052)
  • Allow plugins to provide test directories with transpiled .js
  • Allow opening FAQ in a new tab (#10039)
  • Restoring backup from PG12 could fail on PG10
  • Ensure users can confirm new emails using security keys
  • Fill acting_user field instead of target_user in history
  • Secondary_emails, unconfirmed_emails, group_users are private fields
  • Change version of incorrect datetime migration (#10051)
  • Do not count youtube thumbnail when counting post images (#10049)
  • Keep onebox styling in edit history
  • Check for inviter group permissions at the time of redeeming invite
  • Process /invites/ route from server side only
  • Get correct right/left offset for topic progress bar on compose
  • Load I18n first in show_confirm_new_email page
  • Hide bootbox after a negative answer (#10028)
  • Allows PM owner to remove any user if >`= TL2 (#10036)
  • Do not migrate backups in the new prefix
  • Preload readonly mode attribute seperately.
  • Improvements and fixes to the image downsizing script (#9950)
  • Incorrect usage of count and exist? typo
  • Download images that currently above the limit (If the image size limit is decreased, then there was no way to resize those images that now fall outside the allowed size range)
  • Allow users to add emails which were deleted before
  • Show tag count for existing tags (#9892)
  • Prevents emoji in links to appear as large emojis (#10027)
  • Ignore Redis readonly errors in RateLimiter#rollback!.
  • Present correct new/unread counts when filtered by tag
  • Use include-subcategories filter in report export (#10007)
  • MigrateInviteRedeemedDataToInvitedUsers should be normal migration (#10013)
  • Return 400 when invalid topic_id is provided when creating invite.
  • Flaky post_alerter_spec.rb because of missing order (#10000)
  • Prevent re-flagging when we have reviewed flags before (#10010)
  • Don’t call cooked decorators in composer if cooked is unchanged
  • Add attributes of params to topic findOpts.
  • Allow merging users when email domains are restricted
  • Don’t show create topic suggestion to users who can’t
  • Emoji autocomplete triggering incorrectly
  • Change bookmark name “name” attr to disable autocomplete
  • Enforce maximum of 100 years on all site settings counted in days (#9991)
  • Update minimum required tag when switching categories in composer
  • Don’t override category text color in dropdown
  • Restore stream position in safari (#9993)
  • Reply notifications should not appear as edited (#9965)
  • Ensures edit-category-setting is correctly casting boolean (#9999)
  • Redirects containing Unicode usernames didn’t work
  • (getURL "") was not working with the i18n helper
  • Use short_path of flair upload to get signed url for secure media.
  • Service Worker URL was broken
  • Client side /my/ redirects were appending extra slash
  • Base import script was not updating first_post_created_at column
  • Rescue from readonly errors when looking up auth tokens.
  • Inline error when converting html to markdown
  • get-url is required for server side code
  • Prevents false boolean param to be filtered as non existant (#9968)
  • Hide rss feed & json if a user profile is hidden.
  • EmailValidator needs to validate format of email.
  • Broken MessageFormat string
  • If creating a flag for a watched word, include the reason
  • Prevent clipping user mentions (#9962)
  • Do not destroy $.fileupload element (#9888)
  • Staff users can bypass tag validation rule (#9924)
  • Catch NoMethodError during precompile_css too (#9940)
  • Digest frequency issue on user creation
  • Only render group card if user title is from group (#9946)
  • Support exporting reports which reference topics (#9957)
  • Correct the misalignment of popover arrows (#9947)
  • Don’t change the button height when spinner appears
  • Restore the ability to rebake posts in deleted topics (#9951)
  • Handle files removed between glob and mtime
  • z helper doesn’t resolve inside calc
  • Topic-admin-popup-menu was overflowing on small screens (#9944)
  • Support IRIs (unicode URIs) when pulling hotlinked images (#9928)
  • Pull hotlinked images even when edited by system users (#9890)
  • Invalidate database theme cache when hostname changes (#9908)
  • Pins down highlight.js to the last commit of the v9 tree (#9921)
  • Don’t rerender whole users page while typing on input.
  • Muted tags removed topics with no tags from counts
  • Don’t raise an exception if a topic cannot be retrieved (#9906)
  • Allows to define label/title properties for display instead of name
  • Sending messages to groups with non-lowercase names
  • Broken query if upload id is missing (#9900)
  • Allows to have custom emoji translation without static file (#9893)
  • Add X-Robots-Tag header for check_xhr-covered GET actions, too (#9868)
  • Don’t send digests to users with no primary email
  • Correctly set values and defaults for group-form-interaction-fields (#9891)
  • When destroying a draft always ensure saving is done
  • Opening cancel draft dialog broke autosave
  • Pass current_user to TopicQuery in for categories_and_top_topics (#9885)
  • Updates variables for HTML to use em instead of px in font-size (#9883)
  • Wizard fails to start when default_theme_id is -1
  • Wizard previews if color step is excluded (#9881)
  • XML files could be detected as SVG files
  • Document.activeElement can be null on IE11 (#9880)
  • rescue_from doesn’t bubble up.
  • Makes focust text area after complete more resilient (#9879)
  • Improve image downsizing script (#9549)
  • Support more upload url formats
  • Use the process_post_#{id} mutex
  • Avoid rebaking twice
  • Also process deleted posts
  • Returns false if the upload url is an invalid mailto link (#9877)
  • Send PM as group owner
  • Copyedit for the dominating topic warning
  • Concurrency bug when creating topic thumbnails
  • Don’t responde with error 500 if domain is invalid when adding automatic membership domain (#9655)
  • Do not allow tag with name ‘none’ (#9867)
  • Properly ban non human users from draft system
  • Include lazyYT-container in cooked post HTML (#9870)
  • Documentation was using incorrect function (#9876)
  • Email Styles were evaluated out of order
  • When creating new PM username/groupname should be case-insensitive
  • No need for downcasing second time
  • Skip onceoff job for groups with invalid flair URL.
  • Do not fallback to flair_url column
  • Keep composer title and reply when switching to PM (#9851)
  • Destroying a user failed when it had title
  • Group card not showing if user can’t see its members.
  • Call getURL method explicitly to prevent this context override.
  • Double Button Alignment Mobile (#9862)
  • Better cross browser topic footer buttons alignment (#9860)
  • We don’t create a Post object if the queued post gets rejected. We need to count review items directly. (#9856)
  • Live reloading of css in development (#9859)
  • Remove access control post FK from uploads (#9853)
  • Tag input says tags are optional when they’re required
  • Allow GitHub app client_id to be used for OAuth configuration
  • Ensures category chooser is case insensitive (#9850)
  • Adds missing tags to published page header (#9835)
  • Badge granter was disabled by default.
  • Sidekiq is using _forim_session (#9825)
  • Show staff counters if the rejected posts count is the only value to show (#9845)
  • Requests were not being logged correctly
  • Path should be addon not app
  • Allow deprecation to work with Ember CLI
  • Select-kit was in the wrong place
  • Update default_template.html
  • guidFor is not part of Ember.Object
  • Do not parameterize tag_id (#9839)
  • Don’t blow up when trying to parse invalid or non-ASCII URLs (#9838)
  • Emit web hooks for flags
  • Do not set a default value for web hooks with no events
  • Migrations should not fail when db is part migrated
  • Switch discobot to pull avatar from gravatar.
  • Purge all associated data on user delete
  • S3 store has_been_uploaded? was not taking into account s3 bucket path (#9810)
  • Restoring backups could fail for database dumps >` 8GiB
  • Check backtrace and backtrace_locations before trying to print an error
  • Description for ‘uncategorized’ category was blank
  • Show a useful message when starting a plugin fails without a backtrace
  • GroupArchivedMessage belongs to Group, not User
  • Applies flex on topic-footer-main-buttons (#9829)
  • Join bookmarks migration on users to avoid missing user records
  • Randomize file name when created from fixtures (#9731)
  • Use /tmp/pid folder to keep fixture files
  • Bump rack version from 2.0.8 to 2.2.2 (#9811)
  • Restoring backup didn’t clear cached translation overrides
  • Reverting multiple translation overrides didn’t clear cache
  • Improves and fixes a regression with category-selector (#9821)
  • More resilient/consistent date-picker loading (#9817)
  • Ensure no image downloads during topic thumbnail serialization
  • Allows to remove a topic timer with delete_replies as type (#9800)
  • Ensures hide is called when card is destroyed (#9814)
  • Do not remove stop words when using English locale
  • Extract reset_last_seen_cache! in user_spec (#9808)
  • Switching composer action does not refresh composer actions content (#9791)
  • Component was still used by data explorer
  • Include plugin CSS assets when previewing themes
  • Displays a title on sk header if no selected name (#9794)
  • Correct plugin api version bump.
  • Use CDN URLs for topic thumbnails
  • Allow post migrations using #change to carry out unsafe migration
  • Always return 0 for non-human user current DraftSequence.
  • WebAPK minting was broken due to shortcut icons
  • Randomly failing user_spec (#9754)
  • Workaround WebAPK server bug with images without sizes
  • Don’t compute draft for bots on categories index route
  • Apply code quoting with no syntax highlighting (#9784)
  • Use proper icons for App shortcut menu
  • Run cookie tests only after logging in
  • Allow lazy-yt thumbnails to fetched by pull_hotlinked_images
  • Deleting old migration
  • Don’t compute draft for (ro)bots :robot: in topics list
  • Specific email error for replies to digest emails (#9770)
  • Detect Wayback Machine using user agent (#9777)
  • Load locale first in wizard app
  • Update mini racer to correct heap dumps
  • Never save draft while it is saving
  • Don’t publish typing presence if composer isn’t opened.
  • Prevent Safari from scrolling when closing composer
  • Prevents SvgSprite.bundle to query ThemeField two times (#9762)
  • Composer presence shows user as editing when replying.
  • Throttle typing function in discourse-presence.
  • Change /bookmarks URL back to topic list and add bookmark poster avatars (#9759)
  • Handle missing provider return sso url
  • Prevent column name conflicts in reviewable code (#9753)
  • Ensures preview is correctly computing timezone for current user (#9758)
  • Add type to shortcut menu icons
  • Don’t raise an exception if a TopicLink cannot be created
  • Add missing rss routes to parameter api whitelist
  • Show Settings button if plugin has settings (#9728)
  • Saving drafts unconditionally increases sequence
  • Remove unnecessary forward slashes in regex
  • Add tabindex=-1 on tabLoc post links
  • Improve mobile footer nav accessibility
  • Sets a title for notifications button (#9745)
  • Multiple schema.org improvements
  • Title should attempt to fallback to label before name (#9739)
  • Handle a deleted topic in thumbnail generation
  • Show category name in badge preview on edit (#9726)
  • Prevents rendering topic-category if empty (#9720)
  • Stop clearing title by mistake
  • Default to blank title on open
  • Resolve issues with Next Monday for bookmarks not working in certain locales (#9737)
  • CurrentUser now must be passed to resolveTimezone and user card local time issues (#9734)
  • ESC to dismiss empty draft topic composer
  • Bookmark Modal Input (#9707)
  • Support transpiling js in plugins with a root admin folder
  • Some adjustment for the UI of the table
  • Don’t trigger user_updated event for bot users.
  • Remove deprecated URI.escape (#9697)
  • Do not allow null options for bookmark manager
  • Migration to set column NOT NULL for delete_when_reminder_sent on bookmarks (#9696)
  • Incorrect CSS class
  • Parenthesis were wrong, resulting in an always true expression (#9690)
  • preload-store was removed
  • Improves positioning of sk in mobile when inside a modal (#9657)
  • Show the Bookmark button for PM topics (#9659)
  • Improve topic timeline calculation logic
  • Correct edit notification username for PMs (#9649)
  • Using the default_locale in locale fallbacks caused problems
  • Make can_invite_to_forum robust against plugin interference (#9644)
  • Displays poll’s close date in local time (#9656)
  • Preload-store was moved
  • End date of ranges in html preview was incorrect (#9654)
  • Change user digest email total unread notification calculation (#9648)
  • Discobot has not been created with our custom avatar.
  • Preserve code blocks when quoting (#9632)
  • Flaky tests. Due to CSS transitions opacity might not be 0 yet.
  • Fixes wrapping of buttons with larger buttons
  • Avoid using a temporary table in image url database migration
  • Resolve Schema.org validation issues
  • Apply sameWidth from 450px screen width
  • Pre-select Later Today on bookmark edit if the time is the same (#9636)
  • PostgreSQL fallback was broken due to Rails masking exception (#9633)
  • Improve digest email styling on Outlook 2016 (#9626)
  • Reverts to use an observer to support loading more notifications (#9628)
  • Shows filter if there’s no notifications to show after filter
  • Do not use cached settings during theme compilation
  • Clear theme caches after database transaction has committed
  • Missing edit notifications in some rare cases
  • Do not apply only-emoji margin for excluded cases (#9619)
  • Unassign user titles when a badge is deleted (#9573)
  • Save bookmark reminder on tap unless custom (#9611)
  • An <a> with a target of _blank wants a new window (#9607)
  • Ensures an anonymous shortcut fn can be used globally (#9605)
  • Bookmark UI tweaks (#9604)
  • Do not raise error if ‘class’ attribute is not found.
  • Change base importer to create new Bookmark records (#9603)
  • The muted message should be sent after edit (#9593)
  • Sprockets was broken when node_modules was present
  • Server-side HtmlToMarkdown improvements (#9586)
  • Better detection of hidden elements when converting HTML to Markdown
  • Take into account the ‘allowed_href_schemes’ site setting when converting HTML <a> to Markdown
  • Added support for ‘mailto:’ scheme when converting <a> from HTML to Markdown
  • Added support for <img> dimensions when converting from HTML to Markdown
  • Added support for <dl>, <dd> and <dt> when converting from HTML to Markdown
  • Added support for multilines emphases, strongs and strikes when converting from HTML to Markdown
  • Added support for <acronym> when converting from HTML to Markdown
  • Rename all instances of bookmarkWithReminder to just bookmark (#9579)
  • Temporarily disable event listener for dismissing the first notification
  • Ensures widget dropdown doesn’t overflow document (#9590)
  • Make lazyYT crawler-friendly
  • Hide browser update notice in print view
  • Enter selected link with ‘o’ on full page search
  • S3 rake task can ignore yarn.lock
  • Copyedit for “You were logged out” modal (#9584)
  • Correctly hides timeline scroller for short posts (#9581)
  • Ensures card cloak is removed (#9582)
  • Discourse-presence breaks composer for users.
  • Correctly account for direct replies with presence
  • Change bookmarks-with-reminders URL back to bookmarks for user activity (#9566)
  • Remove timezone in brackets from user card (#9567)
  • Do not save bookmark if close (X) on modal is clicked (#9541)
  • Error customizing text for badges from plugins
  • Makes tracking shortcuts working when tracking button is not visible (#9575)
  • Improves tag-list setting (#9574)
  • Include default notification level in category serializer (#9572)
  • Improve clearing store cache (#9568)
  • Published pages couldn’t be routed from inside discourse (#9569)
  • Avoid exception when rendering a poll in a trashed post
  • Remove unsuppored rake task
  • Topic user bookmarked column logic was not correct (#9563)
  • CurrentUser might be undefined (#9555)
  • Local time not updating between user cards (#9564)
  • Keep scroll position when minimizing composer in iOS
  • Correctly shows no bookmark message (#9548)
  • Improves bookmark shortcut reliability and other minor issues (#9547)
  • Only show the review page to users that can see it. Do not publish the reviewable count update message to everyone. (#9556)
  • Add additional checks for automatic theme script CSP
  • Apply category priority for empty query (#9516)
  • Use absolute URL for YouTube thumbnail images.
  • Raise a 4xx error instead of a 5xx if draft data is invalid
  • Do not override all title elements with page title
  • Reenable draft check modal and fix focus on iOS for PMs
  • Removes inheriting as it’s too random and can be very hard to track (#9542)
  • Make sure new user narrative returns toggleBookmark promise
  • Copying image markdown for secure media loading full image (#9488)
  • Site settings dropdown can be 440px width (#9539)
  • Removes rounding correction as it can be in either direction (#9538)
  • Do not set title attribute on header-topic-info widget (#9533)
  • Inner content of a row could have no max-width and be very large (#9532)
  • Update GitHub screen_name on login via GitHub
  • Fails gracefully if :scope is not handled by a browser (#9529)
  • Prevents constant composer reloading (#9528)
  • Don’t throw 500 for invalid website url input
  • Ignore removed column
  • Multisite spec was failing in parallel environment
  • Composer problem on the categories page (#9508)
  • Don’t log an error to logster if a topic could not be updated.
  • Copy button was displayed on quoted codeblock (#9514)
  • Handle sub-sub-category paths without an id
  • Caret icon should inherit its color (#9513)
  • Differentiate sk outline handling on single/multi (#9512)
  • Use absolute url for /user_avatar/ links
  • If bookmarking discobot posts, skip the reminder modal (#9505)
  • Make sure reminder_type is parsed on bookmark update (#9503)
  • Properly add ‘two-rows’ class to header-topic-info container (#9497)
  • Improve selector for copy codeblock button (#9493)
  • Only confirm bookmark delete if a reminder has been set (#9484)
  • Reject invalid Category slugs (#9473)
  • PublishedPages error responses
  • TopicsController error responses (There was an issue of two separate Topic instances for the same record. This makes sure there’s only one up-to-date instance.)
  • Make InlineUploads handle more URL formats (#9467)
  • When category or tag is muted, update user (#9456)
  • Temporarily compatibility for Evented on a Topic Route
  • Set category description to first posts cooked value (#9478)
  • Concurrency issues with making topic embedded posts visible
  • Don’t make topics visible unless the posts are regular
  • Allow embed updates of just the title
  • Embedded topics couldn’t update their titles
  • An opts hash was not, in fact, optional :slight_smile:
  • Wizard was creating duplicate Light theme if Light was selected (#9464)
  • Restore to S3 didn’t work without env variables
  • Infinite loop in migrate_to_s3 rake task
  • Prevents custom emoji to show double colons and set background img (#9471)
  • Set user timezone on password reset login (#9461)
  • Do not raise an error if the post action type is nil (#9458)
  • Stops bookmark keybaod event to be propagated into modal (#9457)
  • Topic title in search contains data-topic-id (#9435)
  • Flaky groups_controller_spec (#9439)
  • Template-lint uses strict rel-noopener rule which requires noreferrer (#9449)
  • Abort emit_web_hook_event job cleanly if web hook was deleted (#9445)
  • Reviewable score JS was in the wrong folder
  • Keyboard navigation fixes in setup wizard (#9413)
  • Don’t demote users to TL2 when default trust level is 3
  • Ensures keyboard event is not propagated when using c shortcut (#9441)
  • Reopen sidekiq log files after rotation (#9429)
  • Makes topic-list-item decorator work on mobile (#9433)
  • Minor bookmark with reminder issue cleanup (#9436)
  • Google groups import changed login URL (#9432)
  • Attempts to listen more reliably to scopedCategoryId changes (#9431)
  • Only apply bold font on topic lists (#9396)
  • Remove word boundary regex (\b) for search result highlights. (#9338)
  • Add short_path to upload_serializer (#9417)
  • Allows custom groups updates to be reflected without recompilation (#9421)
  • Toggle bookmark for topic was not working after cancelling the modal (#9418)
  • Include subcategories in ‘posts’ report (#9410)
  • Remove invalid background (#9406)
  • Show today’s date on /users page period chooser
  • Ensures toolbar is updated on composer action change (#9402)
  • Missing timezone guess on email session login (#9404)
  • Use correct command line attribute for gifsicle while scale down the gif.
  • Adds values/entries/NodeList.forEach/before polyfills for iOS 9.3 (#9401)
  • Detect more unsupported browsers
  • Ensure first post is loaded before trying to bookmark topic (#9382)
  • WCAG-AA compliant topic list heatmap colors
  • Labels for modal close and dismiss-error buttons
  • Add index on user_api_keys.key_hash (#9387)
  • Ensure .gap width does not exceed window width
  • Quoting posts (#9378)
  • Correctly attribute quotes when using Reply button
  • Correctly attribute quotes when using replyAsNewTopic
  • Allow quoting a quote
  • Correctly mark quotes as “full”
  • Don’t try to create a quote if it’s empty
  • Prevent low score flags from auto-closing a topic if the reviewable default visibility is higher than low (#9375)
  • Respect automatic group membership when sso changes email
  • Redirect /my/*path to /login-preferences on client side
  • Widen modal on desktop
  • Exclude private messages from TL3 requirements
  • Reset gravatar cache by adding random param to URL (#9370)
  • Fix untitled/long links extending out box
  • CSV Exports were throwing errors with invalid dates
  • Include pending queued users regardless of their score (#9372)
  • Show topic level bookmark with reminder modal (#9336)
  • Revert inadvertently removed css class (#9360)
  • Add category hashtags support for sub-sub categories.
  • Prevents registering multiple topic-notifications-button:changed (#9356)
  • When loading drafts set the topic
  • Remove date from bookmark reminder non-English translations (#9354)
  • Guardian always got user but sometimes it is anonymous (#9342)
  • Ensure category_id is an integer
  • Topic.time_to_first_response should include sub-sub-categories (#9349)
  • Limit personal message participants when converting from topic (#9343)
  • Check active themes for all requests
  • Do not attempt to deselect tags if filter is not empty (#9345)
  • Jobs/delete_replies: Add Time+Duration, not Time+Time #9314
  • Move total rows count & load more URL inside meta.
  • Allows color-input to set hex and color names through input (#9339)
  • Track links in onebox body if it’s same as header link.
  • Default to light theme in wizard so that previews are displayed
  • Show today’s date on /top page period chooser
  • JQuery deprecation warning (#9331)
  • Removing a timer with duration doesn’t work.
  • Set null high_priority columns to false in high priority notification migration (#9335)
  • Replace default welcome topic post with new value from wizard
  • Restore failed if schema contained objects not owned by the current DB user
  • FlagSockpuppets should not flag a post if a post of that user was already rejected by staff (#9328)
  • Ninja edit for replies not working
  • Correctly load drafts based of id
  • Staged users getting user_linked and user_quoted emails
  • Bypass serviceworker cache for auth routes
  • The correct action for group-member-dropdown is now actOnGroup (#9320)
  • When a post is moved copy notifications level (#9311)
  • When switching reply type update options
  • Do not save draft while it is loading
  • Error when changing a topic’s category and creating a tag
  • Makes clicking and displaying date picker more reliable (#9302)
  • Ensures mini-tag-chooser display min tags req if no selection (#9303)
  • Prevents rendering empty timeline-controls (#9304)
  • Correctly take category/group filters into csv export (#9300)
  • Prevents exception when clicking component title above ace editor (#9309)
  • Allows adapters to define a custom primaryKey (#9254)
  • Allow invite email field to be blank for invite tokens
  • Get_size_from_image_sizes should return [width, height] or nil (#9298)
  • Quoting a nested quote should preserve original post info.
  • Custom SQL with a trailing comment might break BadgeGranter SQL (#9285)
  • Check for presence of name before normalizing
  • Keep date object (#9292)
  • Narrative bot not working for bookmarks with reminders (#9289)
  • Ensure wiki editor is assigned consistently
  • Auto redirect had invalid extension
  • Broken transpilation
  • nil != false
  • Mbox import failed if no tags were configured
  • The migrate_to_s3 rake task couldn’t find the AWS SDK
  • Importing with pgbouncer failed
  • Groups filtering input was causing a full page reload (#9282)
  • Perform crop using user-specified image sizes (#9224)
  • Perform crop using user-specified image sizes
  • Use correct spacing in emails with code (#9274)
  • Display small post actions when embedding a topic (#9278)
  • First pass to improve efficiency of secure uploads rake task (#9284)
  • Change secure media to encompass attachments as well (#9271)
  • Allow JS transpilation
  • Resolver wasn’t being set properly
  • Use 1 column instead of 4 for permalink destination (#9260)
  • Ensures we have a date object in date-time-input (#9276)
  • TopicEmbed#absolutize_urls was trying to modify a frozen string
  • Word boundary regex (\b) not working in Unicode languages. (#9163)
  • Fix image optimization pipeline (#9257)
  • Do not use original filename to extract the original filename
  • Ensures search-menu is not briefly showing previous results (#9272)
  • User-selector was not excluding currentUser (#9266)
  • Race conditions in search menu (#9262)
  • Prevent scheduled publishing to deleted category
  • Improve user timezone saving (#9230)
  • Check for permalinks before showing the 404 page
  • Wizard tests were missing
  • Respect prioritize_username_in_ux setting on /about page
  • Middle click was reading every notifications (#9252)
  • Backfill topic timer duration (#9249)
  • Correctly remove authentication_data cookie on oauth login flow
  • Post edited webhook does not reflect updated topic title
  • Permalinks should redirect to category URL including the ID
  • Correctly remove authentication_data cookie on oauth login flow (#9238) (#9251)
  • Moderators should be able to review flagged PMs since this has always been like this
  • Don’t fail if the test environment doesn’t support Webauthn
  • Include entire slug path in permalinks
  • Add support for sub-sub category slugs in search
  • Allow CSP to work correctly for non-default hostnames/schemes (#9180)
  • Update email_digests user option when default_email_digest_frequency updated.
  • Show the envelope icon when the flagged post is a PM. Flagged PM must be exclusively reviewed by admins (#9232)
  • Fix a PostgreSQL error when a draft was concurrently created
  • Use the new duration attribute in set_or_create_timer method.
  • Correctly remove authentication_data cookie on oauth login flow (#9238)
  • N1 issues for bookmark list (#9236)
  • Use id instead of elementId in hbs file
  • Improve HTML to Markdown conversion (#9231)
  • Condense line codes in emails (#9225)
  • Prevent mobile bookmark modal cutoff
  • Theme-javascripts using incorrect subfolder setting
  • Broken computing of userHasTimezone in bookmark modal and missing tap-tile templates for regular users (#9229)
  • Remote themes Github link should go to custom branch #9184
  • Consistency to show mute/ignore menu in user profile
  • Don’t display webhooks for inactive plugins (#9206)
  • Dismiss notifications on middle click (#9098)
  • Add basePath to link for “no timezone” in bookmark modal
  • Improve bookmark modal on mobile and bookmark sync rake task (#9221)
  • Sync-alt is used on composer draft indicator
  • Use delete_all_posts_max to improve consistency when using the delete button from the admin view (#9194)
  • Show time input in poll builder (#9128)
  • Check for existence of post before creating notification
  • Bookmark reminders and improvements changes (#9213)
  • Ensure show_short URLs handle secure uploads using multisite (#9212)
  • Fix html response in development after ApplicationController reload
  • Plugins may have relative symlinks
  • RANDOM_PASSWORD not working rake admin:create
  • Method from Telligent import script was deleted by accident
  • Ignore suspect users that were migrated or users who were created more than six months ago (#9205)
  • Failed to restore backups from versions without translation overrides
  • Remove parent tag from tag group
  • Make sure bookmark serializer works with deleted topics + posts (#9195)
  • Add topic deleted check to email/sender (#9166)
  • Prevents i18n helper to return a SafeString (#9191)
  • Notification emails with attachments are incorrectly structured
  • Enter submits form for hyperlink insert modal (#9190)
  • Prevents crash when to be unescaped emoji is not a string (#9189)
  • Differentiates flag-modal and flag-modal-body (#9187)
  • Show topic progress on iPad when portrait-oriented (#9181)
  • When must_approve_users is enabled, we don’t want to send suspect users to the review queue. Only non-approved users should be sent. Provide a migration to auto-approve every problematic review item (#9179)
  • Missing constant in SMF2 importer (#9178)
  • Typo on draft save
  • ContactPicker was not setting invite input on topics
  • Featured_topic.fancy_title was rendered without emojis (#9176)
  • Some errors and clean up in confirm-new-email
  • Various fixes to support posts with no user (#8877)
  • Last ip address could point at wrong ip
  • Ensures category exists for hideParent in categoryBadgeHTML (#9161)
  • Throw error when removing a user from group fails (#9162)
  • Don’t break the private key when writing it out during theme import
  • Throttles topic tracking shortcut and enforces topic id (#9159)
  • Preserve TopicCreator’s timestamp resolution (#9158)
  • Correctly checks if component is in modal (#9157)
  • Ensures pinned-options header is showing correct state (#9156)
  • Set current user timezone when saving profile timezone (#9155)
  • Incorrect message when logging in via email
  • Error message for 403 when featuring topic on profile (#9149)
  • Preserve PostCreator’s created_at resolution (#9140)
  • Use bio_excerpt when checking for presence (#9148)
  • Removes legacy refreshQueryWithoutTransition (#9145)
  • Import script might have skipped some users due to missing ORDER BY.
  • Ensure category and tags can be changed from reviewable (#9139)
  • Embarassing algoriths typo ->` algorithms for security keys (#9126)
  • Check if auth token exists before revocation (#9095)
  • Prevent race condition when post processing post (#8819)
  • Tolerate quotes with no username and no title
  • Import posts of missing users from phpbb3 (#9085)
  • Prevent avatar flair image from repeating on user/group cards
  • Allows to define placement strategy of select-kit body (#9109)
  • Uses only global allow_uncategorized_topics for category drop (#9130)
  • Correctly format select options for group poll by fields (#9131)
  • Allow quoting from a closed topic while writing a reply
  • Show a nicer error if name/code missing for TOTP/Security Keys (#9124)
  • Don’t allow people to clear the upload bucket while it’s enabled
  • Use destroy_all instead of delete_all for shared drafts
  • Do not raise an error when in:all search is performed by anon (#9113)
  • Clobbering plugin files on startup is problematic
  • Don’t optimize icons during db:migrate when restoring backup
  • Allows to select the action when agreeing with penalty (#9099)
  • Migrating uploads to S3 could miss files
  • Under concurrent usage booting rails could cause plugin corruption
  • Use full URL for secure attachments when secure media enabled (#9037)
  • Stop infinite lookup-urls issue for video/audio on page (#9096)
  • We need to skip users with associated reviewables when auto-approving (#9080)
  • Allow users to create polls in PMs with non human users (#9055)
  • Add aria-labels to topic list items (#9048)
  • Topics should honor auto-close when published to category (#8963)
  • Prevents click on sk header to bubble (#9084)
  • Restoring with disable_emails: false didn’t work anymore
  • Google Groups scraper failed to login
  • Make FooterNav work with PWAs on iPadOS
  • Ensures category url of category drop is built using slug and id (#9069)
  • Sync preload key format for category topic lists
  • Ignore secure-media-uploads for miniprofiler (#9070)
  • Prettier on iframed-html component (#9062)
  • When appending tags to restricted category posts, we need to pass the category id, or it won’t work. (#9020)
  • Prevnets loading to show during debouncing (#9060)
  • Bulk badge awards should work even if the CSV has nil values
  • Skip poll tutorial if user cannot create polls (#9058)
  • Prevents row click event to be caught by filter input event (#9059)
  • Skip ‘invited’ small action if user is in an invited group (#9056)
  • Polyfill Promise for IE11 (#9057)
  • Downloaded image URLs incorrectly replaced in post raw. (#9014)
6 Likes

UX CHANGES

  • Make youtube embeds full width by default (#10106)
  • Ignore modal margin was too tight
  • Include category name in hyperlink modal results on mobile
  • Style video elements, show descriptions (#10040)
  • Improve revert label in post history modal (#10038)
  • Send background color to iPad app too
  • Improve layout of topic pin admin modal
  • Add bottom padding to user lists on mobile
  • Change collapsed draft z-index on mobile
  • Add simple-list setting type (#9970)
  • Ensure that select-kit is hidden consistently.
  • Prevent devices from miscalculating fullscreen composer height
  • Adjustments to topic admin menu on mobile (#9945)
  • Remove box-shadow from kbd, unify styling (#9948)
  • Fix border radius artifacts on dashboard pills (#9949)
  • Remove the period after “Enable Notifications” button
  • Fix inputs alignment in admin/customize/colors
  • Position topic admin menu next to wrench (#9932)
  • Make the menu links header within the user panel more flexible
  • Better alignment of icons in notifications menu (#9934)
  • Relocate before-topic-list outlet so it shows up on Top as well
  • Homogenises sk row padding and topic-admin-menu (#9920)
  • Reworks various menus to homogenize them (#9905)
  • Remove in:unpinned filter from advanced search page. (#9911)
  • Fix activity column display in wizard homepage step
  • Remove edit PM button
  • More consistent alignment of topic timer’s selected datetimes
  • Don’t show the suspension date if the user is permantently suspended. (#9895)
  • Keep focus on input after selecting an autocomplete option
  • Do not show redundant user count
  • Add spacing between +member_count and “more”
  • Rename Priority to score for sorting. (#9846)
  • Use “icon-picker” & “image-uploader” fields to set group flair. (#9779)
  • Remove live theme previewing in favor of refresh (#9798)
  • User name instead username for profile link title
  • Add title for user profile link
  • More consistent mobile banner/alert styles, css cleanup
  • Moves editFirstPost in taggable Pms in dropdown on mobile (#9840)
  • Strip text from PM bookmark and share buttons
  • Rename “Edit Message” to “Edit”
  • Remove bold from category badge text
  • Improves topic-notifications-button loading behavior (#9832)
  • Adds visual feedback when changing topic notifications level (#9831)
  • Remove caret from notifications-button.
  • Allow secure media URLs to be cached for a short period of time
  • Show caret only in topic footer buttons dropdown select boxes (#9816)
  • Allows dropdown-select-box to display a caret (#9803)
  • Fetch higher-resolution youtube thumbnails where available
  • Focus category name when editing category (#9795)
  • Add copied text upon copy button click (#9793)
  • Better composer-action icon when creating new topic.
  • Add symbol in TL3 report if topic reply count is capped
  • Do not use small onebox images as post/topic images
  • Limit iOS modal keyboard changes to composer
  • Introduce composer-actions when editing a post.
  • Don’t disable “create account” button & display error message for required fields. (#9643)
  • Fix hard coded value in Crazy in Love badge description
  • Improve display of site setting validation message.
  • Remove underline from del & ins elements
  • Prevent timeline overlapping topic footer buttons
  • Improve banner & alert close button alignment and consistency
  • Fix modal positioning when iOS keyboard is visible
  • Adjust admin menu to better fit short (horizontal) viewports
  • Remove top padding from reddit onebox description
  • Remove bold to de-emphasize category names on visited topics
  • Fix time alignment on user activity pages
  • Add prefixed property so Firefox also gets 4-space tabs in code
  • Attempts to have a better use of available space with sk (#9639)
  • Bookmark removal tweaks (#9635)
  • Improve second factor UI (#9526)
  • Use created_at as the default order when viewing reviewed items or everything (#9601)
  • Change the user merge button’s label and icon.
  • Collapse extra files when browsing a theme component (#9610)
  • Display info about extra files and uploader (#9595)
  • Adds title attribute to widget dropdown header (#9597)
  • Add margin when displaying unlisted details in composer.
  • Improve discobot random menion copy
  • Fix dashboard version panel width by removing extra wrapper
  • Translating poll chart types wasn’t possible
  • Right align notification item time, adjust mobile space, consolodate
  • Better spacing for composer toggle buttons on mobile
  • Replace closed topic icon with discourse-no-entry
  • Let’s try X for the closed topic icon instead of a \
  • Rework date time input range (#9524)
  • Do not attempt to full width sk on mobile (#9520)
  • Drop the automatic_membership_retroactive column from groups model. (#9430)
  • Add comment-plus icon for reopening topics
  • Display ‘merge’ button in all non-staff user profiles.
  • Better outline support in sk components (#9510)
  • Replaced locked topic “lock” icon with “comment-slash” icon
  • Fix broken image placeholder styling
  • Set focus when launching composer on iOS (#9443)
  • Wizard Font Size (#9448)
  • Prevent category dropdown from wrapping count, limit mobile width
  • Improve published page avatar resolution (#9405)
  • Applies default background color to onebox (#9407)
  • Strip base64 image URLs when converting HTML to markdown.
  • Note “Summarize This Topic” settings behavior
  • Adjust noscript footer nav
  • Displays full date time when displaying ranges (#9386)
  • Ensures timezone is used over localTimezone when displaying dates
  • Display zones without prefix to reduce noise (#9383)
  • Restyle bookmark reminder modal
  • Removes color on categories if no style chosen (#9346)
  • Remove share as link fallback on touch devices (#9332)
  • Use color variable for background of shortcut keys
  • Break very long words in titles within menus
  • Minor tweaks to users directory last updated at styling (#9322)
  • Better customize emoji layout on mobile (#9319)
  • Add flair styles to latest topic list
  • Ensures esc key is correctly working when in dates form (#9299)
  • Fix composer position on iPads with a hardware keyboard
  • Better spacing for icons in select-kit labels
  • Improves date-time-input on mobile (#9291)
  • Align bulk select menu toggle relative to main wrapper when possible
  • Disallow tag creation in “default tags” site setting choosers.
  • Show better error images
  • Display avatar flair in categories route topic list items (#9197)
  • Larger tap areas for profile panel in user menu on mobile devices
  • Hotkey K can select partial posts
  • Disable highlight animation on deleted posts
  • Refresh group membership list when removing users or changing owners
  • Improve suspect user copy on /review
  • Remove “Live Notifications” user profile section on iOS
  • Uses mod+p instead of ctrl+p and command+p for printTopic (#9202)
  • Improve copy for suspect users feature (#9201)
  • Better spacing for icon in select-kit label
  • Respect prioritize_username_in_ux setting for user avatar title
  • Adds support for a color setting type (#9016)
  • Input adjustments for category setting modal (tags tab)
  • Attempts to increate popup menu hitzone on mobile (#9038)
  • Allow correct pluralization for “too few topics and posts” notices (#8947)
  • Differentiate Between PMs and Topics in Search Results (#8933)
  • Prevents jumpyness when displaying poll voters (#9054)

SECURITY CHANGES

  • Make find topic by slug adhere to SiteSetting.detailed_404 (#9898)
  • Use FinalDestination for topic embeds
  • Missing security check prior to redirect
  • Re-adds accidentally reverted commit:
  • Ensure embed_url contains valid http(s) uri
  • ERB execution in custom Email Style
  • Updates juqery to 3.5.0 (#9708)
  • Update onebox to add rel=“noopener”
  • Ensure user can see group and group members
  • Respect topic permissions when loading bookmark metadata
  • Respect topic permissions when loading draft metadata
  • Prevent access to other user’s bookmark lists
  • Add more restrictions on invite emails
  • Ensure the invite JSON API matches the UX

PERFORMANCE

  • Improve loading of indexes in bulk import
  • Improve loading a imported_ids in bulk imports
  • Enable bootsnap globally
  • Cache PrettyText instance for rendering composer preview (#9987)
  • Pass element to resolveAllShortUrl function, not text selector (#9988)
  • Correctly memoize baseUri value in javascript app (#9986)
  • Rate limit search, and add anon cache for search results (#9969)
  • Add FORCE_BOOTSNAP env var
  • Reduce number of queries from 3 ->` 1 when fetching web manifest.
  • Use more efficient query when checking for existence.
  • Avoid traversing DOM in loadScript
  • Remove foreign keys from bookmarks (#9837)
  • Ensure we run full GC on contexts
  • Dematerialize topic_reply_count (#9769)
  • Avoid race conditions when creating topic links
  • Avoid executing the same query twice.
  • Avoid hitting DB when fetching draft sequence of bot user.
  • Reduce exclusive locking when changing tables
  • Move fetching of avatar into hijack for discobot certificate
  • Remove database query when publishing to staff users.
  • Refactor decorateCooked to run in a detached DOM (#9517)
  • Stop firing superfluous onSelectionChange
  • Improve lazy-load performance in Safari
  • Enable new user card route by default (#9442)
  • Cache Category.subcategory_ids (#9350)
  • Speed up migrations on multisite
  • Backup with lots of uploads stored on S3 was slow
  • Allow preloading ‘recent time read’ for a user (#9076)
  • Allow user serializer to make use of preloaded custom fields (#9074)
  • Allow passing an existing list of user field ids when loading (#8970)
  • Improve performance of category topic list
10 Likes