Even more!
But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.
Plugin improvements
discourse-adplugin
UX Changes
- Introduce min-height for responsive ads
discourse-ai
New Features
- Disable smart commands on Claude and GPT 3.5
- Improve search prompt
- Add support for GPT
<->
Forum integration - Basic StableDiffusion text2img support
- Less friction for starting a conversation with an AI bot.
- Hide various api keys in site settings
- Update summarization token count and add Claude 100k
- Handle invalid media in NSFW module
- Multi-model support for the AI Bot module.
- Allow excluding closed topics from semantic related
- Introduce the ai-bot module
- Add a table to audit OpenAI usage
- Add internal support for streaming mode
- Topic summarization
- Add a basic tokenizer API
Bug Fixes
- Support multiple command executions
- Missing localization
- Ensure embeddings database outages are handled gracefully
- Give up trying to reuse the DB connection and rely on pgbouncer
- Guide GPT 3.5 better
- Ensure we only attempt embedding once every 15 minutes
- Results will be nil for invalid queries
- Hide summarization button from anons
- Non instructor OSS embeddings was broken
- Toxicity automatic flagging should be disabled by default
- Pass correct API Key to summarization service
- Only send supported image types for classification
- Chat-composer is now using glimmer
UX Changes
- Improve drop down menu for enabled bots
- Improvements to the AI Bot header shortcut
- Add missing label translation
- Add a custom sparkles icon for AI action buttons
discourse-akismet
New Features
- Add comment_date_gmt for additional signal
discourse-assign
New Features
- Skip group invite if all members can see topic already.
- Invite user/group to PM if not a participant already.
- Allow adding note when bulk assigning topics
Bug Fixes
- Don’t invite user when already a member of an allowed group.
- Reassigning to a group creates an incorrect mention’s link
- Properly check key values for shortcuts
UX Changes
- Constrain avatar size due to core change
discourse-automation
New Features
- Support subcategories in
post_created_edited
andafter_post_cook
- Adds user_first_logged_in trigger
- Adds new script for user_added_to_group
- Allow post trigger to be limited to create or edit
- Add auto tag topic script
- Script to update category notification level for group members.
Bug Fixes
- Allow choices components to be reset
discourse-category-experts
New Features
- Auto-tagging topics when experts post
Bug Fixes
- Wrap action in parentheses
discourse-chat-integration
New Features
- Trigger follow rules when category changes
Bug Fixes
- Stop ‘tag_added’ rules from firing for normal posts
discourse-data-explorer
Bug Fixes
- Show “false” and “0” in query result
UX Changes
- Fix parameters inputs spacing
discourse-docs
New Features
- Add setting to show tags by group
- Site setting to control search menu tip addition
Bug Fixes
- Toggling categories was requiring two clicks
- Incorrect plugin name in
requires_plugin
- Icons not appearing
discourse-footnote
UX Changes
- Fix height issues with inline footnotes
discourse-gamification
New Features
- API for custom score events
Bug Fixes
- Names were blank on the leaderboard when the user does not have full name
- LikensGiven was awarding to wrong user
- LikesReceived was using post date instead of Like date
- Skip serializing gamification_score when plugin is disabled
discourse-patreon
Bug Fixes
- Retrieve the creator’s access token using the “token” property.
discourse-prometheus
New Features
- Introduce
http_application_duration_seconds
summary metric
discourse-reactions
UX Changes
- Constrain avatars to container for core change
Performance
- Replace
pluck
with aselect
discourse-solved
New Features
- Prioritize_solved_topics_in_search to prioritize solved topics
- Solved topic auto close setting per category
Bug Fixes
- Take
enable_names
setting into account - Respect “display name on posts” site setting
discourse-subscriptions
New Features
- Capture cardholder address fields for Stripe customer
- Skip product listing if only one product is present
Bug Fixes
- A few more syntax fixes for button actions
- Fix syntax for some buttons following recent updates
discourse-theme-creator
Bug Fixes
- Use correct action name for showAdvanced
- Saving theme settings
- Include ‘value’ for serialized ThemeFields for remote themes
UX Changes
- Fix theme settings layout
- Fix empty space in the share URL
- Fix theme actions buttons position alignment
discourse-translator
New Features
- Restrict translations by poster group
- Added restrict_translation_groups to limit posts translation by groups
Bug Fixes
- Fix for anon users visiting posts when the plugin is enabled
discourse-user-notes
Bug Fixes
- Incorrect
PLUGIN_NAME
docker_manager
New Features
- Adds support for git tags
Bug Fixes
- Upgrading was broken when repo uses
master
branch - Update compatibility file for v3.1.0.beta1 and below
All Features and Fixes
New Features
- Dynamic chunk size with uppy
- Add new site setting type for tag-group lists
- Add Mailpace webhook
- Support sub-subcategories in new edit sidebar categories modal
- Image grid in posts (experimental)
- Use new hashtag autocomplete system on all sites
- New dismiss button for combined new and unread view
- Allow S3 ACLs to be disabled
- Offline indicator
- Add API Scope for latest posts
- API Scope for latest.rss feed
- Allow expanding hidden posts for groups in SiteSetting.can_see_hidden_post
- Serve RTL versions of admin and plugins CSS bundles for RTL locales
- Reduce avatar sizes to 6 from 20
- Display PM participant group names in the topics list.
- Chat thread header indicator improvements
- Improving thread list item and header
- Modal for admins to edit Community section
- Support for chronologically merging posts into existing topic
- Initial chat thread unread indicators
- Apply hashtag styles to autocomplete
- Create legal topics for set company name
- Add support for AVIF images
- Add user status to inline mentions in chat
- Allow searching for oldest topics
- Fuzzy search in site settings and raise limit to 100 matches
- Show user cards for inactive users
- Create and update thread memberships
- Chat-replying indicator for threads
- Default to subcategory when parent category does not allow posting
- Thread list initial UI
- Enable user tips by default
- Allow for longer membership domains
- Add new notification for admin problems
- Search_rank_sort_priorities modifier
- Offline indicator controlled by message-bus connectivity (#21324)"
- Offline indicator controlled by message-bus connectivity
- Reimplement offline indicator
- Service to track message bus connectivity + offline indicator(#21259)
- Add support for figure and figcaption tags in embeddings
- Add support for user badge revocation webhook events
- Reintroduce better thread reply counter cache
- Allow admins to delete reviewables via API
- Add new don’t feed the trolls feature
- Allow drafts to be deleted via the API
- Detect current git “branch” even when a tag is checked out
Bug Fixes
- Change dismiss new button label
- Use
_presentChannels.size
instead of_presentChannels.length
- TOC anchors in a subfolder setup
- Scroll top after chat activation
- Various mobile optimizations
- Make serialized watched word regex Javascript compatible
- Correctly re-conciliate message bus backlog
- Prevents long press to hijack reaction event
- Json_schemer no longer allows nil keys
- Create new PM notifications for
watching_first_post
groups - Disables pointer events while showing menu
- Prevents lightbox to close chat on escape
- On iOS PWA prevents touch to click
- Prevents back history loop
- Do not allow blank chat messages
- Pasting files into chat was not working
- Correctly set value on textarea interactor
- Send TL2 promotion message to correct user
- Add category colors back to categories pages
- Add removed image that may still be used
- Non-Interfering Backdrop Clicks
- Apply chat header icon indicator style to urgent only
- Use a default hashtag icon color for user with no permission
- Toggle topic pinning for user only if thumbtack icon is pressed.
- Restore sidebar footer background
- Attempts to exit lock-on early
- Hide delete button to invite as user are unable to delete anyway
- Simplify review community section link
- Prevent undefined on isSafari capabilities test
- Ensure mention autocomplete box doesn’t go off-screen in RTL locales
- Correctly set last message bus ids on resync
- Delete synonym tags if other synonyms are already exist.
- Change Community icons
- Use fixed dimensions for user card avatar
- Correctly resubscribe after restart
- Do not add mentioned groups as mentioned users
- Prevents admins to be silenced
- Elements floating away on overscroll in Safari
- Uses DiscourseURL.routeTo for drawer transitions
- Applies getURL on both app and chat URLs
- Correctly uses getURL to open full page
- Remove unneeded RTL-specific CSS rules
- Removes destroyed mentioned used
- Recover by showing drawer index on 404
u/:username/deleted-posts
route regression- Call composer reset with correct params
- Show Privacy Policy or ToS when they exist
- Page size edge case for null last_read_message_id
- Create original message user thread membership
- Auto fill was not happening on first load
- Ensures chat-thread is not overflowing
- Move thread storage out of chatApi.thread() call
- N+1 query for chat message serializer on mentions
- Hashtag CSS class color specificity
- Do not attempt to mark as read a staged message
- Chat deleted last read message and tracking state issues
- Include more_topic_url in the response to /categories_and_{latest, top}
- Serialize thread membership for user
- Prevents saving draft in incorrect channel
- Correctly nullifies active message
- Flakey spec in sidebar with new font size
- Don’t run validations when invalidating invites
- Improves draft for channels
- Do not preview chat channels to read-only users
- Skip iframe URLs with relative paths in pretty text sanitizer.
- Do not error if admin/owner checks target message
- Improve chat membership update on deleted message
- Allow published pages to be added to sidebar
- Removing arbitrary limit in a Discuz importer script query
- Ensure sidepanel size is correctly applied when showing
- Update client lastReadMessageId on trashed message
- Keeps panel size when changing content
- Video thumbnails can have duplicates
- Cancel fetching messages after channel change
- Page size check for thread messages
- Consider users.created_at for inactive cleanup
- Do not cook icon with hashtags
- Allow admin to change topic notification level via API
- Consider users with trashed topics/posts for inactive cleanup
- Correct replying indicator padding
- Anonymizing a user clears their user status too
- Fix for Default to subcategory when parent category does not allow posting
- Improve mailman email parsing
- Clicking on edited notification should open edit history modal
- Adds missing margin on desktop draft message
- Ensures message has been added before scroll
- Update category tag stats with new or deleted
- Show gif upload size limit error straight away
- Prevent Email Processor errors when mail is blank or nil
- Various fixes to chat styleguide
- More resilient bottom of message check
- Ensures replying indicator has limited height
- Ensures chat composer docks to topic composer
- Remove obsolete references to lounge category
- Searching for svg sprite icons connecting to default database
- Clear topic list cache after archiving a PM
- Compensate for lack of replying indicator on draft
- Sync channel tracking state properly on presence change
- Followups to composer notch adjustments
- Allows notch to have composer bg color
- Show scrollbars under firefox in chat
- Don’t show duplicates in styleguide
- Drawer styles for chat thread icon
- Add new chat threads icon and move thread list button to right
- Ensure modal alert is hidden when empty
- Hide d-modal during page load
- Miscellaneous tagging errors
- Chat height fixes
- Hides global notice on chat
- Moves chat height computation to a mixin
- Various fixes following channel height changes
- Limits max height to viewport on channel only
- Handle all UTF-8 characters
- Sidebar custom sections rendering perf degrades over time
- AddNavigationBarItem api example
- Composer should be sending metaData
- Do not set VH while zooming
- Always listen on window resize
- Refresh site when enable_user_tips changes
- Ensures
all_mentioned_user_ids
is not used as identifier - Thread reply indicator overflow
- Incorrect
PLUGIN_NAME
for “poll” - Avoid double-encoding featured topic title in user profile
- Prevents subscribing with an old id
- Close panel earlier
- Allow integer group_ids for create invite api
- Messages selection with shift + click
- Keyboard on android
- Rely only on one keyboard computation solution
- Chat NotificationLevels extension breaking in prod
- Excerpt overflow and children click events
- Handle deleted original message for thread index
- Don’t autojoin users when they have ready-only permissions
- Show 404 on new category page for moderators when Site Setting disabled
- Fallback to composer for non ascii characters
- Do not allow title stuffing to dominate search
- Prevents fast channel switching to cause an error
- Minor thread changes on mobile
- Create invite api docs
- Likes received count in digest email
- Service worker for Safari
- More precise chat-replying-indicator
- Fast-edit should fall back to composer for non-ascii characters
- Change the limit on badges description
- No event when threading is disabled
- Makes mouse events passive
- Ensure order when moving chat messages to another channel
- Correct link on original message
- Attempts to reconciliate tracking state
- Jumpy more sidebar section
- Update test limit for email domain
- Flaky sidebar-user-community-section-test
- Resolve timezone issues with date-time-input
- Service worker should cache only 200 requests
- Incorrect unread count shown in channel when message deleted
- Thread mention read state and notification links
- Remove double escaped Vimeo titles
- Ensure expand table works regardless of click event target
- Do not log ‘personal message view’ when sending webhook
- Allow re-flagging of ninja-edited posts
- Blank user messages inbox dropdown on subfolder setup.
- More resilient dates separators computation
- Ensure user admin button is present on mobile
- Email receiver should ignore x-auto-response-suppress
- Add thumbnails for Vimeo unlisted lazy videos
- Ensures page height is correct on ipad + hub
- ChatComposerMessageDetails icon was always edit
- Disables send btn while uploads in progress
- Correctly use types for reviewables type
- Quoted images should be lightboxed
- Disallow invisible Unicode characters in usernames
- Rename notify_about_flags_after to notify_about_reviewable_item_after
- Empty video thumbnails
- Correctly differentiates channel/thread upload inputs
- Allows youtube embeds to respect the
t
param - Correctly homogenizes panels min width
- Chat height was incorrect on ipad
- Include group flair in homepage category topic lists
- Ensure group-filtered group user event webhooks fire
- Ensures thread is cleared when closing it
- Cancels saving draft when composer is destroyed
- Correct border color of message actions
- Show large image placeholder for image onebox
- Improve chat route cleanup
- Properly respects chat_minimum_message_length
- Attempts to make cooking less order dependent
- Generates markdown from pasting link
- Require date db_timestamps_mover script
- Safely return from missing post on
check_dont_feed_the_trolls
- Safeguard in case the message is active during transition
- Allows composer to expand
- Bbcode URLs not handling paths correctly
- Don’t display destroy reviewable button on client
- Show auto-group flair according to user preferences
- Blank video thumbnails
- Ensure skip-module JS is transpiled correctly
- Ensure reviewable counts are updated correctly for new user menu
- Error when trying to bump a topic with no category
- Do not delete old chat messages if chat disabled
- Include liked_consolidated and reaction types in the likes tab unread count
- Do not overwrite existing thumbnails
- Better detect text selection in search input
- Increase reorder sidebar delay for desktop
- Don’t render error for bad-sequence
- Send notifications after a chat message was updated with new mentions
- Chat publisher publishing to thread when threading disabled
- Revert “DEV: Add
overflow-x: hidden
to chat message containers (#21030)” - Hashtag subcategory ref incorrect when not highest-ranked type
- Resetting user directory columns
- Quote button doesn’t press on mobile
- Chat composer shortcuts should respect context
- Do not count thread messages for channel unreads
- 500 error when adding restricted category tags
- Nil exception in chat notifier
- Add missing translations strings for lazy-videos
UX Changes
- Better alignment for experimental grids
- Remove rounded border on hover lightbox
- Make user tips more visible
- Dark color palettes need darker shadows
- Chat unread indicator refactor
- Small spacing fix for grid items
- Minor #mention style adjustments
- Increase contrast of “more” sidebar dropdown
- List group label indicator should match existing design
- Remove ‘Create Topics’ notice
- Show tooltip for global nav section icon
- Correctly adds spacing for selection-management
- Improves chat message long press and touch
- Allow users to filter categories in edit sidebar categories modal
- Don’t block render of user messages secondary nav for tracking state
- First pass at edit categories navigation modal for sidebar
- Fix number cutoff in header chat indicator
- Improve /print rate limit description
- Remove title and description block if blank
- Remove sidebar background color
- Fix greyed out add button in chat composer when focussed
- Correct educate message when there are no new topics
- Adjust frequent poster size in topic map
- Chat channel header icons
- Add show more btn to reviewable item
- Adjust various avatars due to size changes
- Style adjustments for sidebar edit modal
- Followups to #1f37fe5
- Tweak user deleted posts items
- Chat composer buttons refactor + emoji
- Fix post history raw view
- Deletes a message when editing to blank
- Add support for flagged chat message in reviewqueue
- Closes drawer on esc if input is not focused
- Minor spacing adjustment in message details
- Drop display of
short_site_description
site settings in sidebar - Long unsetyled category names need truncation
- Minor active state fix for sidebar
- More style adjustments for larger sidebar font
- Increase sidebar font-size
- Add show password on mobile login modal
- Improve edit history display
- IPad footer nav now included in header offset
- Improve tags spacing
- Chat composer step 2
- Add indicator for msg from currentUser
- Add custom section button should not be shown to anon users
- Tweak on logo size to make sure it’s not too small on small screen
- Remove welcome topic admin tip and tweak copy
- General chat composer tweaks
- Minor fix with new composer and reply/edit
- Improve display of short site description in header dropdown
- Include custom headers in
--header-offset
- Show fast edit at top of window on mobile
- Add more mass to thread icon
- Sections not collapsable in “header dropdown” navigation menu
- Chat composer styling on focus
- Removes thread margins
- Implements new composer design
- Better copy for generic error msg
- Update copy of badges granted to others
- Opens side panel early to avoid jitter
- Hide settings btn when disabled
- Various improvements to welcome topic CTA
- Thread panel sizing/spacing on mobile
- Loading slider for select-kit filter
- Groups deleted messages
- Scroll to bottom when message is staged
- Preloads a thread when hovering thread indicator
- Implements draft threads
- Use fixed colors for admin stacked chart reports
- In sidebar dropdown mode expose ‘more’ items
- Fix color scheme setting reset position
- Fix color preference layout
- Resets active message when scrolling
- Two column dropdown sidebar layout
- Cook message before sending edit
- Fix user onebox layout
- Composer use BEM + small tweaks to enabled/disabled styling
- Add a warning that updating min_trust_level_for_user_api_key will disable users from using DiscourseHub
- Use dvh for sidebar height
- Onebox/blockquote/chatreaction slight accent colour change
- Displays channel title in document title
- Fix space position in badge counts
- Minor installation success style adjustments
- Include subcategories in crawler view
- Improves composer and thread panel
- Chat thread hover
- Better digest centering in event of truncation
- Fix time pickers input width on mobile
- Fix kbd tag text’s color in the composer full screen prompt
- Improve layout and styles for solo preferences
- Update ring animation to avoid scroll
- Remove new message element from chatpane
- Slight design changes to chat timestamp
- Ensures cursor is pointer over custom sections
Performance
- Drop throttling from resize node
- Improve workbox loading strategy
- Cache ToS and Privacy Policy paths
- Avoids eager pluck in posts controller
- Prevents eager pluck in post alerter
- Avoid rendering a component that isn’t required most of the time
- Preload user information when visiting user messages routes
- Client side triggering multiple requests when opening composer
- Sends publish_new_channel only when not followed
- Creating a post would cause an N+1
- Strict loading for SidebarSection queries
- Avoid triggering TopicTrackingState change callbacks unnecessarily
- Remove unnecessary queries from Theme#set_field
- Don’t serialize value for theme_fields unnecessarily
Accessibility
- Improve select-kit accessibility (take 2)
- Improve select-kit accessibility
- Select kit close on focus out
- Use correct structure for badge headings