3.5.0.beta7: Smart link editing, better invite tracking, unique icons, and fixing name management

New features in 3.5.0.beta7

Smart link editing in the composer

As part of the ongoing development of the new composer, we have added a floating toolbar to inline links, making them easier to view, edit, and manage. The toolbar allows you to open the link in a new tab, as well as remove or copy it, and edit its text and destination. The new composer, that includes this link toolbar, is still in development. You can enable it on your site and help us test it by following this guide.

Clipboard-20250623-214837-321

Track individual invites with custom descriptions

Invites can now have a custom description added, making them easier to identify. This helps keep your invites page more ordered, and allows you to track the performance of individual links. You can label invites based on the platform where you share them, who you share them with, what event you shared them at, or any other criteria you like.

Unique user preference icons

The icons on the tabs for user preferences have been improved, so each tab now has a different icon. Going forward, instead of seeing the same icon on multiple tabs, each one will have a relevant and unique icon, making navigation easier for all users.

image

Admin name editing when full names are not enabled

We recently took some time to work on a bug that affects how admins can manage the full names of their users when the enable names setting is disabled. This was reported and discussed, before a fix was implemented with the result that now admins can see and edit their user’s full names, even if they are hidden on the rest of the site. This functionality is frequently required for tracking and compliance, with this fix allowing more effective administration of their sites.

Security Updates

This release includes fixes for these security issues reported by our community and HackerOne.

3 Likes

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

  • Pre-emptively destroy Follow on Reject (230)

discourse-ai

New Features

  • Allow seeing configured LLM on feature page (1460)
  • Persona/tool import and export (1450)
  • Add Qwen3 tokenizer and update Gemma to version 3 (1440)
  • Hybrid artifact security mode (1431)
  • Optionally support OpenAI responses API (1423)
  • Persistent key-value storage for AI Artifacts (1417)
  • Display features that rely on multiple personas. (1411)

Bug Fixes

  • A typo in bot filtration in ai-bot-header-icon (1455)
  • Include JSON instructions in Helper default personas (1458)
  • AI preferences tab button not appearing unless Helper enabled (1452)
  • Streaming related specs (1448)
  • Implement max_output tokens (anthropic/openai/bedrock/gemini/open router) (1447)
  • Bring back empty state message when appropriate (1446)
  • Unable to scroll AI bot persona selector (1445)
  • Cleanup properties on closing DiffModal (1442)
  • Never block spam scanning user (1437)
  • When allowing private content translation, only translate group PMs and not personal PMs (1432)
  • Helper wasn’t working when the persona doesn’t use structured output (1433)
  • Various bugs in AI interface (1430)
  • Don’t check for #blank? when manipulating chunks (1428)
  • Improve admin api for artifact key values (1425)
  • Skip edits if localization exists (1422)
  • No need for XML in gists responses anymore (1420)

UX Changes

  • Make topic list gists link to the topic (1459)
  • Align llm button in ai features (1461)
  • Focus conversation input on route transition and button click (1404)
  • Add features to persona list and other style updates (1405)
  • Show error and ability to try again when no suggestions (1426)

discourse-assign

Bug Fixes

  • Use the correct connector tag name (661)

discourse-cakeday

Bug Fixes

  • Makes user-cakeday props reactive (162)

discourse-calendar

Bug Fixes

  • Id holidays: adds missing years to cn_new_lunar_day (750)
  • Account for local times when rendering blocks (742)

UX Changes

  • Smart format dates (745)
  • Add calendar icon for sidebar (748)

discourse-client-performance

Bug Fixes

  • Allow reports for anon on login-required sites (68)

discourse-code-review

Bug Fixes

  • Use the correct connector tag name (247)

discourse-data-explorer

Bug Fixes

  • Edit button not working (379)

discourse-gamification

Bug Fixes

  • Right-sidebar-blocks no longer wraps args in a params object (206)

discourse-livestream

Bug Fixes

  • Reloads chat channels when moving between events (60)
  • Outer elements blocking auto scroll and iOS keyboard hiding nonmodal livestream chat (58)

UX Changes

  • Fix topic map positioning when user marks as “Going” (59)

discourse-math

Bug Fixes

  • Allows polls to work with discourse-math (110)

discourse-policy

Bug Fixes

  • Hide “no possible users” when regular user (171)
  • Policy-builder: adds “(No reminder)” option (168)

UX Changes

  • Update text formatting (169)

discourse-prometheus

Bug Fixes

  • Parse Sidekiq::Work payload to extract job_name (151)

discourse-reactions

Bug Fixes

  • Opening user cards from reactions list (370)
  • Use the correct connector tag name (369)

discourse-rss-polling

Bug Fixes

  • Ensures user can be set on rss polling feed (105)

discourse-solved

Bug Fixes

  • User directory for solutions should update when value changes from positive value to zero (372)

discourse-surveys

Bug Fixes

  • Render html entities in questions (60)
  • Emoji rendering in radio options (59)

All Features and Fixes

New Features

  • Hide topic if OP is hidden (33201)
  • Add link to “associated accounts” providers (33275)
  • Add revamped new and unread topic filter education (32669)
  • Add emojis to seeded categories (33248)
  • Add plugin outlet to category settings images tab (33155)
  • Add description to invites (33207)
  • Allow date-based filters to accept a day count (33197)
  • Sharing link to PWA renders url in title in new Topic to leverage core link expansion (32631)
  • System themes (32681)
  • Clear bookmark reminders from bookmark menu (33168)
  • Add post language on creating a new post (33160)
  • Add post language on creating a new post (33001)
  • Add utilities for importing and exporting backups (32992)
  • Rich editor link ui for editing it (32583)
  • Indicate if a localization might be outdated based on version number (33148)
  • Validate Mentions in Rich Text Editor (32879)
  • Add X-Discourse-Sender Header to outgoing mail (33123)

Bug Fixes

  • Correctly displaying the failure error message
  • Hide secret admin fields by default (33255)
  • Make topic optional in render-tags so reviewables can use discourseTags (33181)
  • Return the post’s raw when GET /post (33325)
  • Make Ctrl+K shortcut work consistently in RTE, and not always show chat channel switcher
  • Correct new_user_posting_on_first_day? logic (33303)
  • Improvements to keyboard shortcuts from toolbar API (33290)
  • Correctly follow enable_emoji_shortcuts in chat (33297)
  • Do not set locale when replying and also default to none (33312)
  • Admin search labels doubled up with parent label (33308)
  • Add @disabled parameter support to the FormKit Submit component (33307)
  • FormKit textarea value attribute binding (33306)
  • Broken link in admin quick start guide (33295)
  • Ensures colors are set for tl-growth report (33294)
  • Chat message inline onebox url target (33288)
  • Exclude experimental system theme palettes (33267)
  • Ensures empty fields don’t store an empty array (33274)
  • Ensures empty tags field is not storing an empty array (33270)
  • Add channel hashtag color when lazy load is disabled (33269)
  • Prevent login loop when logging out when only one idp (33266)
  • Correctly refreshes associated fields after update (33246)
  • Incorrect key being used in S3Helper#upsert_tag (33245)
  • Upload#update_secure_status not updating s3 access control (33232)
  • Wrong argument error in FileStore::S3Store#update_access_control (33231)
  • Import Horizon system theme (33229)
  • Ignore SiteSetting.max_image_size_kb for theme screenshots (33215)
  • Rich editor mention case sensitivity (33222)
  • Make mentions autocomplete search prioritise exact matches for groups more (33195)
  • Multiple video uploads in composer failed (33216)
  • Admin can edit the name even if enable_names is disabled (33170)
  • Chat video thumbnails in Safari (33199)
  • Import Horizon system theme (33193)
  • Include common_theme CSS in published pages (33179)
  • Improves text selection of posts (33143)
  • Unread-icon-size (33163)
  • Add @enabled arg to <LoadMore /> component (33122)
  • Allow setting blank secret on an existing webhook (33096)
  • Clicking send invites and export button on admin users page (33121)
  • Stop silently dropping first two rows during load_mapping (33076)
  • Stop blocking auto scroll on iOS (33129)
  • Restore backwards-compatibility of templates/components/*.hbs (33131)
  • Moment locale loading in type=module (33128)
  • Chat: shows placeholder instead of timer for empty chats (33105)

UX Changes

  • Fix tag suggestion alignment (33315)
  • Consistent sizing for configure default nav links (33314)
  • Fix new/unread topic banner overlap with topic filter empty state (33305)
  • Order Form Template TagChooser choices alphabetically (33109)
  • Apply colour vars to svg (33287)
  • Scroll to top of form on error (33276)
  • Add tertiary-25 color variable (33273)
  • Add labels and update title of insert link modal (33252)
  • Fix rich editor link toolbar misalignment (33249)
  • Fix toolbar tooltip regression (33237)
  • Strip base url and https/mailto protocol from link toolbar (33228)
  • Reload the page when the default theme is changed (33217)
  • Make the theme title fully clickable + accessible (33205)
  • Suppress chat’s Mod-K on rich editor (33206)
  • Add classes to read/unread user menu messages items (33203)
  • Display URL on rich editor link toolbar (33188)
  • Make all preference icons unique (33202)
  • Few composer and toolbar style changes (33187)
  • Onebox margin-top of first child (33088)
  • Adjust bookmark hover and active states (33177)
  • Remove duplicate class from time-gap in post-stream widget (33175)
  • Redirect message actions wheel event to channel (33172)
  • Add missing toolbar separator css (33166)
  • Properly center-align buttons in login-required screen (33159)
  • Fix-border-radius (33147)
  • Composer toolbar changes (icon, style, placement) (32918)
  • Scale down banner (33132)

Security Changes

  • Don’t display user’s old whispers if not in allowed group
4 Likes