New features in 3.3.0.beta1:
Opt in to Discourse Discover if you have not already!
We added a new include in discourse discover
admin setting. When enabled, your site will be considered for inclusion in a showcase site of Discourse communities, launching soon! Learn more
Changes to which reactions are counted as likes
The Discourse Reactions plugin previously recognized only one reaction as a like for topic rankings and badge granting. Now all reactions are counted except those on a deny list, with the default exception being the thumbs-down reaction. If you want to exclude reactions, you can add them to the deny list. Learn more
New Hot topics page
Hot is a new page you can add to your siteâs menu that uses sorts topics using a new algorithm so your members can more easily discover conversations that are popular right now. Learn more
AI Image Captioning
AI Captions is a new module that uses artificial intelligence to suggest captions for images added to posts, which makes them comprehensible for users relying on screen readers. Learn more
New âItâs illegalâ flag reason
To help sites comply with Digital Services Act we added a new âIllegalâ reason to the flagging modal. The reason will be included in the flags report for auditing purposes and notifications and a PM sent to moderators.
CSP âstrict-dynamicâ is the new default
Weâve added a new âstrict-dynamicâ CSP implementation, which should make it much easier to safely integrate themes, plugins and external scripts. This new implementation is now the default. Learn more
Finalizing the Ember 5 upgrade
Our upgrade to Ember 5 has been complete for some time now. With this release we have dropped the legacy EMBER_VERSION=3
flag. Learn more
Security Updates
This release includes fixes for these security issues reported by our community and HackerOne .
20 Likes
Lilly
March 15, 2024, 11:56am
3
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-activity-pub
Bug Fixes
Ensure topic collections exists for full_topic activities (67 )
Use full slugPath to reload categories with permissions (65 )
Delivery job failure log (64 )
discourse-adplugin
New Features
Improve DFP / Ad-manager Content-Security-Policy compat (201 )
Bug Fixes
Calculate no ads for groups server side (200 )
Add exclude groups for each ad platforms (197 )
discourse-ai
New Features
Share conversations with AI via a URL (521 )
AI Quick Semantic Search (501 )
Add GitHub Helper AI Bot persona and tools (513 )
Support for claude opus and sonnet (508 )
Option for AI triage to send a post to the review queue (498 )
AI helper support in non English languages (489 )
Handle secure uploads in image caption (476 )
AI image caption (470 )
New Discourse Helper persona (473 )
Mentionable personas and random picker tool, context limits (466 )
Allow personas to supply top_p and temperature params (459 )
Fine tune llm report to follow instructions more closely (451 )
Bug Fixes
Syntax highlighting for shared-ai conversions with CSP enabled (532 )
Handle unicode on tokenizer (515 )
Expire assets when CSS changes
Missing translation on share page (528 )
Donât show share conversation incorrectly (526 )
Filter soft-deleted topics when backfilling sentiment (527 )
Ai-image-caption should not crash on checking currentUser can_use_assistant (523 )
Image caption feature should respect composer AI helper groups (522 )
Tune function calling (519 )
Improve AI persona editor inputs and optional GitHub auth (518 )
Prevent AI chat thread titles from being created before replies are posted (517 )
Avoid all bot feedback loops (507 )
Backspace in composer custom prompt closes menu (505 )
System persona non English save, missing bot pms
Support multiple tool calls (502 )
Stream messages when directly PMing a persona (500 )
Support spaces within arguments for Open AI (499 )
Composer service call breaking shared edits (494 )
Lower truncation size for Gemini Embeddings (493 )
Image generation in gemini was broken (490 )
Caption was broken with multiple subsequent calls (481 )
Unable to share conversations with persona user (479 )
Cleanup AI search results when a subsequent search happens (469 )
Better AI chat thread titles (467 )
Use a dedicated prompt for thread titles (464 )
Explicit check for empty string in compat migration (463 )
Hide related topics when module is disabled (461 )
Typo causing text_embedding_3_large to fail (460 )
Improve embedding generation (452 )
Add table name to remove ambiguous column reference in SQL (449 )
UX Changes
Add title suffix to shared AI pages (531 )
Add support for dark mode (529 )
Update styles and markup for share feature (525 )
AI Helper positioning (506 )
Minor adjustments for image caption size, behavior (484 )
Minor image caption style adjustments (482 )
Add missing settings descriptions (465 )
Re-introduce embedding settings validations (457 )
Validate embeddings settings (455 )
Security Changes
Place a SSRF protection when calling services from the plugin. (485 )
discourse-akismet
Bug Fixes
500 Error when editing a PostVotingComment (127 )
Missing translation for review_tl1_users_first_post_voting_comment (128 )
discourse-automation
New Features
Allow either custom_fields or user_fields in trigger (253 )
Automated Post creation on user updated (249 )
Bug Fixes
Update how we pass values to ModalJsonSchemaEditor
(257 )
Correctly format placeholders (255 )
Computes next daily recurring from now (248 )
discourse-cakeday
UX Changes
Fix page layout, clean up (123 )
discourse-calendar
New Features
Use new options from downloadCalendar (549 )
Bug Fixes
Editing custom field of event didnât work (550 )
Update test for holiday adjustments (541 )
Security Changes
Hide invitees from users who are not allowed to see the event post (544 )
Disallow self invite to private events (543 )
discourse-client-performance
Bug Fixes
Use the proper plugin name in PLUGIN_NAME
discourse-data-explorer
New Features
Add group_list parameter type (283 )
discourse-global-filter
Bug Fixes
Empty category matrix by converting it to glimmer (133 )
discourse-group-membership-ip-block
Security Changes
Donât expose custom fields from other plugins (13 )
discourse-jira
Bug Fixes
Update jira field to Component API. (61 )
Typo (58 )
discourse-kolide
New Features
New checkbox to mark a device as mobile in onboarding (89 )
discourse-math
UX Changes
Hide mathjax loading toast (78 )
discourse-microsoft-auth
Security Changes
Emails from microsoft are not verified (72 )
discourse-multilingual
Bug Fixes
Failing tests due to i18n.default (3 )
Security Changes
Add max length to content_languages custom field
discourse-oauth2-basic
New Features
Allow specifiying required paths when retrieving userinfo (96 )
discourse-post-voting
Bug Fixes
Next Page issues with crawlers (193 )
discourse-reactions
New Features
Count all reactions as likes with exceptions controlled by a site setting (267 )
Bug Fixes
Stop requesting more reactions when none exist (282 )
Do not show Likes on reactions-received endpoint (279 )
View activity reactions for other users (278 )
_allowHover() function call (277 )
Hovering reaction icon causing error would flood AJAX requests (274 )
Do not show users who Reacted under post ⌠menu (275 )
Do not show likes with reactions on likes-received list (273 )
Handle null post.user_id for UserAction sync (270 )
Require missing scheduled job in plugin.rb (269 )
discourse-solved
Bug Fixes
Nest combobox within LI element (280 )
discourse-steam-login
Bug Fixes
Button styling and label (79 )
discourse-subscriptions
Bug Fixes
Ensure deletion of product upon confirmation (195 )
discourse-templates
New Features
Add a link to template source topic (70 )
Bug Fixes
Slowness when listing templates and the templates category (67 )
discourse-vk-auth
UX Changes
Improve button design to match other logins (29 )
All Features and Fixes
New Features
Optionally show âPowered by Discourseâ link to discourse.org (26162 )
Filter additional keywords for the sidebar (26148 )
Use browser dir="auto"
for support_mixed_text_direction (26129 )
Silence Close Notifications User Setting (26072 )
Improve â+ subcategoriesâ option (26086 )
Enable strict-dynamic Content-Security-Policy by default (26051 )
Show remaining count in category-drop (25938 )
Move back to the forum link above the filter (26070 )
Bulk Silent Close Topics (26043 )
Add â+ subcategoriesâ option back (26035 )
Allows to force a thread (25987 )
Site setting to include post in penalty messages (26025 )
Add onebox for loom (26016 )
Introduce APIs for manipulating header icons (25916 )
Allow specific groups to view raw email (26003 )
Add recover api scopes (25978 )
Support boolean, enum and integer fields for schema theme settings (25933 )
Introduces chat_preferred_mobile_index setting (25927 )
Allow rowspan
and colspan
attributes on HTML tables (20973 )
Filter admin sidebar (25853 )
Add user status to chat members list (25831 )
Schema theme setting input fields (25811 )
Hide user status when user is hiding public profile and presence (24300 )
Add scheduled Twitter login problem check - Part 1 (25830 )
Call hub API to update Discourse discover enrollment. (25634 )
Add automatic before
and after
outlets to wrapper plugin outlets (24254 )
Add plugin-outlet before/after sidebar sections (25807 )
Add a checkbox for users to confirm before flagging as illegal (25762 )
Back button for schema theme settings (25743 )
Create a link to start a new chat (25722 )
Add a .topic
attribute to transformedPost (25757 )
Add experimental option for strict-dynamic CSP (25664 )
Groundwork for schema theme settings UI (25673 )
Shift+j and shift+k will scroll entire posts (25684 )
Apply pinning to hot topic lists (25690 )
Backlink to the site from Logster (25669 )
Auto generate and display video preview image (25633 )
Async load of category and chat hashtags (25526 )
Add new âillegalâ flag reason (25498 )
Show unread post indicator on mobile (25421 )
Permalinks for users (25552 )
Allow disabling user activity tab for non admin users (25540 )
Improvements to hot feature (25533 )
Adds a link to original message (25503 )
Bug Fixes
Correctly strip unneeded csp directives under strict-dynamic (26180 )
Support [code]
in blockquotes (26182 )
Handle nil post_search_data for search result (26179 )
Clicking âmoreâŚâ in emoji autocomplete (26176 )
Clicking âmoreâŚâ in emoji autocomplete (26160 )
Improvements for the admin sidebar (26168 )
Hide suggestion to send PMs when PMs are disabled for user (26157 )
Avoid sending user emails if @ mentioning a staged user in a topic (26102 )
Wait for async Topic.apply_transformations
during loadMore
(26143 )
Lookbehind assertions arenât available in `< iOS 16.4 (26139 )
Close user menu on navigation (26131 )
Code âblockâ detection before showing autocomplete (26023 )
Correctly detect RTL (26127 )
Ensure header topic info updates immediately when navigating away (26128 )
Correct pm icon link in glimmer header (26125 )
Donât prevent opening regular links in wrapper (26126 )
Store registration ip address when creating user via SSO (26121 )
Allow nil for properties values when theyâre not required (26112 )
Use userâs locale for chat push notifications (26107 )
Bug in desktopNotifications service not allowing unsubscription (26103 )
Improves linking of thread messages (26095 )
Dismissing unread not dismissing correctly (26096 )
In topic search for glimmer header (26040 )
Check for options
in dismissRead (26065 )
Brings back discourse-sidebar icon (26050 )
Update Discobotâs UserProfile#bio_raw
when default locale changes (26045 )
<td>
spacing on expanded table (26037 )
Do not show threads with no replies (26033 )
Correctly shows as disabled a user who canât chat (26010 )
Active webhook types exclude inactive plugins (26022 )
ThemeSettingsObjectValidator
not allowing URL paths for string (26005 )
Down downgrade trust level if all requirements are met. (25953 )
Prevents duplicate attachments in incoming emails (25986 )
Return missing href attribute for topic map participants avatars (25981 )
Instantly removes group message when leaving (25961 )
import:rebake_uncooked_*
jobs couldnât be run in parallel (25969 )
Show âno categoryâ in category-chooser (25917 )
Live updates threads from my threads page (25955 )
Channel member status live updates (25925 )
Show deleted bookmark reminders in user bookmarks menu (25905 )
Do not show send pm prompt when user cant pm (25912 )
Add status to channel membership serializer (25906 )
Better handling of error on create DM (25908 )
ThemeSettingsValidator.validate_value
returning wrong error (25901 )
Error when integer values are set as default of string type settings (25898 )
Prevents exception when last reply has deleted user (25852 )
Do not raise error on transition aborted (25841 )
Correctly updates last read on scroll arrow click (25838 )
Prevent admin sidebar errors in safe mode (25832 )
Muted tags breaking hot page when filtered to tags (25824 )
Do not double-highlight admin plugin links in sidebar (25808 )
Regression with onFilesPicked
action (25819 )
Make category-drop search subcategories (25817 )
Show Uncategorized in category-chooser (25794 )
Allows to query a username made of integers (25815 )
FollowRedirects when changing sidebar panel (25814 )
Customize form template view modal footer buttons (25804 )
Make /categories/search order deterministic (25793 )
Ensure model properties are set (25790 )
Cache keys should be strings (25791 )
Load categories with search topic results (25700 )
Category results should be ordered by term (25771 )
Admin sidebar was hiding chat/forum toggle button (25781 )
Do not duplicate admin sidebar plugin links (25780 )
Admin nav active link in dark mode (25759 )
Set the video background to be black (25744 )
Correct category name for auto_join_users_info in chat (25739 )
Full post jump not working (25734 )
Add a boarder around the video placeholder play button (25727 )
Preload parent categories for sidebar (25726 )
Remove strict-dynamic-specific logic from CSP extensions (25725 )
Respect homepage prefs on admin sidebar Back to Forum link (25642 )
Is_my_own? check for users who are anonymously doing actions (25716 )
Make recent search items populate input with value (25704 )
A regression in b797434 (25694 )
Logster backlink config in production (25685 )
Make similar topics selectable (25682 )
Allow several chat channels to have an empty slug (25680 )
Hide timer info on topic status toggle (25596 )
Touch up illegal flag type translations (25670 )
Do not add "tag-"
class to pages with no tag filter (25677 )
Serialize can_ignore_users (25672 )
Donât unnecessarily scrub query params from homepage (25665 )
Preload user-specific category fields (25663 )
Email category badges shouldnât use category text color (25655 )
Quoted private topic url respects subfolder install (25643 )
Sort chat channels by slug (25656 )
No reply as a new topic without permission (25641 )
Webauthn origin was incorrect for subfolder setups (25651 )
Sort chat channels by mentions, unread and channel title (25565 )
Change max_image_megapixels logic (25625 )
Render category badge styles inline for email (25487 )
Look up all channel hashtags (25617 )
Preload associations on subcategories when lazy loading categories (25630 )
Always preload admin plugin list for admin in sidebar (25606 )
Hot not adding recently bumped topics (25619 )
Do not async already loaded categories (25607 )
Respect date range in top traffic sources report (25599 )
Service worker push notifications when cache disabled (25610 )
Always trust admin and moderators with post edits (25602 )
Translation missing for Illegal flag on topic (25603 )
Always allow staff (admins & mods) to post links (25601 )
Add id to warn (25597 )
Omit CSP nonce and hash values when unsafe-inline enabled (25590 )
Restore support for .js.es6
files in PrettyText (25588 )
Similar topics relying on widget search menu (25586 )
Clicking a notification was triggering an error (25583 )
Correct className for notification avatars using system avatar (25578 )
Visits for TL3 actually means âPosts Read: unique daysâ (25468 )
Save previous chat state when navigating with the sidebar (25537 )
Insert Hyperlink search badge spacing (25563 )
Correctly save group invites (25566 )
Update themes javascript cache after running themes migrations (25562 )
Add desktop redirect for mobile only chat routes (25561 )
Handle old Firefox versions that do not support isConditionalMediationAvailable (25549 )
Plugin image assets in production (25547 )
Prevents discourse header to go under ipad navigation (25542 )
Only use mention styling for valid mentions in chat (25523 )
Preload sidebar categories when lazy loading categories (25332 )
Serialize uploaded_avatars_allowed_groups check on current user (25515 )
Better supports ipad and hub footer nav (25518 )
Video playback on iOS (25513 )
Use feedback_category placeholder in i18n string (25514 )
Remap postgres text search proximity operator (25497 )
Missing translation of guidelines_topic.body (25505 )
Conditionally hide âMy Threadsâ on mobile (25494 )
Remove fast-edit regex and string replacement (25496 )
Chat channel row indicator should only show urgent count (25458 )
Default more group settings to staff + TL(N) (25493 )
Remove newlines from img alt & title in HTML to markdown parser (25473 )
Site-setting integer input type (25485 )
UX Changes
Fix chat title margin on drawer and side panel (26171 )
Fix chat navbar header alignment (26161 )
Update glimmer header with new dnd icon (26166 )
Display setting description for objects typed theme setting (26152 )
Improve error handling for DiscourseConnect (26140 )
Chat thread last replied user avatar (26123 )
Remove last reply from My Threads preview + restyle (25568 )
Change default action label from âMessageâ to âSend Messageâ in composer when sending a message (26109 )
Styles for back to the forum link on the hamburger menu (26118 )
Show loading spinner while loading dependencies for ace-editor (26099 )
Chat avatar is-online styling (26012 )
Update Facebook blue hex, add comment about button color (26105 )
Donât hide new navigation item in experimental new new view (26094 )
Add optional grid-area below-content (26091 )
Clean up invite buttons (26068 )
Left align suggested topics header and footer text (26058 )
Add sidebar icon (26046 )
Move top dismiss button from topics
to d-navigation
(26032 )
Fix fontsize and weight for prioritize username setting (26034 )
Chat message creator scss cleanup + design tweak to username display (25928 )
Always show image controls on touch devices (26018 )
Site setting descriptions initial pass (25829 )
Disable the image preview controls while invisible (25990 )
Improve group email setting wrap, cleanup styles (25985 )
Improve advanced search wrapping, remove mobile stylesheet (25975 )
Clean up tag info styles, remove mobile stylesheet (25973 )
Simplify styles for image uploader (25970 )
Enable badge title on mobile, style cleanup (25968 )
Update appropriate btn-flat
instances to btn-transparent
(25945 )
Increase chat pre scrollbar contrast (25930 )
Chat >` general fixes (25929 )
Improve invite error message when a user uses an email that has already redeemed (25695 )
Flexible autocomplete width (25900 )
Make sure a-tag uses border radius var (25882 )
Fix border-radius for dropdown in chat msg actions (25881 )
Remove margin on bookmark icon on chat msg (25859 )
Remove hardcoded value (25499 )
Chat >` send btn alignment + hardcoded value fix (25836 )
Chat composer >` fix typing indicator and top padding (mobile) (25821 )
Group names shouldnât always be capitalized (25820 )
Fix topic map link expansion hover (25822 )
Tweaks for send button (25816 )
Allow fullscreen composer on mobile (25787 )
Chat composer design update (mobile) (25789 )
Fix sidebar section modal styles (25803 )
Modal mobile fixes (25788 )
Chat channel title links to channel settings (25785 )
Change the color of the overriden dot to be slightly visible in dark mode (25782 )
Hide the draggable icon in the sidebar form on mobile (25738 )
Fix the video spinner css (25770 )
Tweak play button css (25754 )
Tweaks on the admin sidebar (25717 )
Allow resetting password when confirming session (25708 )
Better card alignment (25720 )
Show search history for more contexts (25705 )
Chat browse redesign (25698 )
Clean up some label and form inconsistencies, reduce excess bolding (25701 )
Prevent groupname from wrapping (25696 )
Fix group search result alignment and styles (25681 )
Show the full mobile read-state indicator (25678 )
Add loading indicator to ânew or updatedâ PM banner (25676 )
Clarify old dates with YYYY instead of 'YY (25661 )
Set width for the new feature items (25657 )
Add loading indicator when loading ânew or updated topicsâ (25649 )
Onebox container sizing (25658 )
Set zindex of chat action menu higher (25645 )
Make refresh notice copy more friendly (25646 )
Donât display empty state while changing notification filter (25631 )
Fix post count position on avatars in topic map (25622 )
Add padding to bottom of mobile chat channel settings page (25587 )
Grant names some more space on /u (25576 )
Chat Sizing on Mobile (25543 )
Refactor Do Not Disturb indicator (25508 )
Shows PWA/Hub footer navigation on chat (25501 )
Update selected colour var (25500 )
Security Changes
Generate more category CSS on client
Limit invites params length
Prevent large staff actions causing DoS
Add rate limits for uploads
Donât disclose the existence of secret subcategories
Performance
Omit HTML view from sessions by logged on users. (26170 )
Avoid saving ThemeSetting
twice when creating new db override (26076 )
Add indexes to speed up notifications queries by user menu (26048 )
Reduce ActiveRecord allocations in CategoryList#find_relevant_topics
(25950 )
Stop running bootsnap in development mode on all environments (25737 )
Use -ping
option to ImageMagick identify
command (25713 )
Pass the -ping
option to the identify
ImageMagick command to speed it up (25697 )
Donât allow a single user to monopolize the defer queue (25593 )
Add cache for Category.asyncFindByIds (25531 )
Accessibility
Update bulk selection keyboard shortcuts (26069 )
Markup sidebar form errors as live regions (25937 )
When adding custom sidebar link, first input of new row should get focus (25920 )
Change composer role to dialog, improve aria-labels (25666 )
Mark up custom nav section form for screen readers (25623 )
12 Likes