3.5.0.beta5: Improved admin search, AI forum research, easier site appearance configuration, and simpler plugin development

New features in 3.5.0.beta5

Refining the admin search

We recently released a new full admin search, allowing you to search all areas of your admin from one place. This month, we’ve spent some time refining how it works to make it more usable and more useful. The admin search is now more readily available from the sidebar, only displays a search box to make your searches more focused, and allows you to find what you need more quickly.

Better forum research with AI

The Discourse AI plugin now includes a new Forum Researcher persona. This persona comes with advanced filtering and analysis capabilities, supporting tags, categories, dates, users, and keywords. It will also more efficiently process research results, providing quicker feedback for all queries.

Making your site’s appearance easier to manage

As part of our ongoing work to improve site appearance configuration, we have released further improvement that make it easier for you to get your site looking the way you want it to. Settings for fonts and logos and now easier to find in the admin sidebar, images are easier to upload, and the new themes page loads more quickly. Along with this, we have also made changes to the setup wizard and Getting Started guide for new sites, helping admins get into their site configuration more quickly and effectively.

More developer-friendly plugin creation

A little while ago, we introduced a new type: object schema for theme settings, allowing theme developers to store a collection of objects as JSON in the database. We have now ported this same settings schema to plugins, allowing plugin developers to take advantage of this simpler, cleaner and more usable format for storing data. See the pull request for more details.

10 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

New Features

  • Add support for image attachments (197)

discourse-ai

New Features

  • Add diff streaming animation (1355)
  • Add participants and invite button to AI conversations (1354)
  • Triage can hide posts after adding them to the review queue (1348)
  • Allow passing in data attributes to an artifact (1346)
  • Hashtag and mention autocomplete for first bot message (1342)
  • Allow researcher to also research specific topics (1339)
  • Forum researcher persona for deep research (1313)
  • Examples support for personas. (1334)
  • Improved diff streaming for AI composer helper (1332)
  • New setting to control model for translations (1333)
  • Support configurable thinking tokens for Gemini (1322)
  • Ensure researcher and github helper know the date (1312)
  • Enforce jpg/png for all images (1309)

Bug Fixes

  • Closing AI menu stops post audio from playing (1369)
  • Improve researcher tool - fix topic filters (1368)
  • Apply diffs more consistently (1367)
  • Don’t error when navigating from AI Bot topic to regular (1366)
  • Correctly pass tool_choice when using Claude models. (1364)
  • Improve MessageBus efficiency and correctly stop streaming (1362)
  • Ensures stream update object is scoped to its initial topic (1359)
  • Stabilize diff algorithm for streaming (1358)
  • Retry parsing escaped inner JSON to handle control chars. (1357)
  • Don’t dig on nil when checking for the gemini schema (1356)
  • Add safe navigation to serializer include conditions (1349)
  • AI share page assets via CDN on login-required sites (1343)
  • Structured output discrepancies. (1340)
  • Persona triage should be logged to automation (1326)
  • Correct prompt format for img2text used in our AI Bot PDF Rag pipeline (1323)
  • Do not display empty state while fetching bot conversations (1320)
  • Return structured output on non-streaming mode (1318)
  • Invalid access error in logs (1317)
  • Handle unexpected errors when browsing web (1314)
  • Resource_url replacemente in Persona’s system prompt (1310)

UX Changes

  • Allow rounded corners (1365)
  • Don’t show AI suggestions in composer when inputs are disabled (1331)
  • Stick new question button to top of mobile sidebar (1329)
  • Apply bot conversation sidebar styles to mobile sidebar (1328)
  • Style adjustments for conversations (1325)
  • Stop rendering back to forum link (1319)

discourse-authentication-validations

Bug Fixes

  • Broken spec (43)
  • Broken specs (41)

discourse-code-review

Bug Fixes

  • Remove autolink commits feature (243)

discourse-data-explorer

Bug Fixes

  • Add new attribute that is required when using the basic topic serializer (375)

discourse-doc-categories

Bug Fixes

  • Broken specs (38)

discourse-gamification

Bug Fixes

  • Scope materialized view existence check to current schema (203)

discourse-livestream

Bug Fixes

  • Delete “TopicChatChannel” record when chat channel is trashed (55)
  • Broken specs (53)

discourse-login-client

New Features

  • New “revoke” endpoint (12)

Bug Fixes

  • Automatically skip create confirm when plugin is enabled (11)

UX Changes

  • Add the user’s intent as a query parameter (10)

discourse-preset-topic-composer

Bug Fixes

  • Broken specs (48)

discourse-solved

New Features

  • Apply plugin modifier for answers controller rate limiting (369)

discourse-theme-creator

Bug Fixes

  • Fix failing specs for user schema theme setting editor (111)

discourse-translator

New Features

  • Translate topics on a schedule and on topic create (291)
  • Automatically detect and translate posts into Post and PostLocalization (290)
  • Detect locale and translate posts from core table (287)

Bug Fixes

  • Gate translation to public posts or posts within a certain age (307)
  • Microsoft Azure language support (306)
  • Suppress errors when translating (299)
  • Don’t double cook (297)
  • Skip validation when updating a topic’s locale (293)
  • Switch to DiscourseAi’s StructuredOutput (288)

All Features and Fixes

New Features

  • Improve emoji diversity rendering (32909)
  • Also localize banners (32908)
  • Allow minimizing composer when no text (32880)
  • Trigger an event when chat channel is trashed (32844)
  • Also localize topic excerpts (32839)
  • Show localized posts and topics based on user’s locale (32618)
  • Add the group show endpoint to search groups by id instead of only the slug name (32442)
  • Porting type object to site settings (32706)
  • Add translations to posts (32564)

Bug Fixes

  • Make post created/edited automation trigger regexes more specific (32944)
  • Skip importing solved topics when plugin isn’t installed (32922)
  • Unblock social signup when name is required and `auth overrides… (32923)
  • Add missing about group ordering option (32931)
  • Avoid infinite loop when synonym tag is self (32932)
  • Back to forum button should lead to forum and not chat (32913)
  • Serve RTL CSS for themes and components (32916)
  • Also show the toggle localization button on mobile (32912)
  • Resolve discard draft keep editing (32667)
  • Back to forum button only from admin (32911)
  • Prevents double load of automation.index (32899)
  • Allows zooming of images in chat (32891)
  • Fix label and description not working in type objects for site settings (32868)
  • Fix category title link to update when category changes, add tests (32840)
  • Avoid double redirect after installing a theme (32876)
  • Fullscreen composer regression (32864)
  • Forgotten background (32857)
  • Themes and components page title (32856)
  • Bring back sidebar filter (32837)
  • Add missing translation for reviewable post action (32813)
  • Ensures we have changed page first (32802)
  • HeaderSearch not always appearing when welcomeBanner is removed (32804)
  • Catch postcss errors correctly for theme fields (32800)
  • Wait for data before showing admin search results (32796)
  • N+1 in admin themes page (32763)
  • Skip flaky specs (32786)
  • Rely on capybara waiters (32789)
  • Uses correct capybara waiter (32788)
  • Attempts to fix flaky in review media (32787)
  • Attempts to fix flaky in stat spec (32784)
  • Uses correct waiters and APIs (32778)
  • Check if sidebar hidden and remove scrollLock when hiding hamburger menu (32775)
  • Bug with 2FA setup right after signup (32754)
  • Reset password link broken for non-staff user in confirm session dialog (32765)
  • Allow existing users to accept invites that add them to a group. (32762)
  • Correctly guard for missing close method (32760)
  • Adds missing search-input-wrapper (32749)
  • Lock Bullet gem to a compatible version (32724)
  • This was hiding the top of the composer on iOS (32734)
  • Ensure we can lookup identical ip addresses (32725)
  • Wrong class in schema setting editor stylesheet file (32715)
  • Header search mobile z-index issue (32683)
  • Correct reload edit theme page (32658)
  • Ensure old email set correctly when updating email (32309)
  • Purge ExtraLocalesController cache correctly for multisite (32654)
  • Link to browser support section of website (32647)
  • Redirect to new themes page after deletion (32638)
  • Prioritize pages over other categories in admin search (32614)
  • Ensure hashtag_lookup falls back to system user if post user is deleted (32466)
  • Don’t enforce strict loading on anon user main record (32590)
  • Improvements for admin search (32574)
  • Badge not showing as disabled when it is (32591)
  • Key optimized images on format (32575)
  • Autocomplete being cut on rich editor (32586)

UX Changes

  • Handle long URLs in theme grid with overflow-wrap (32942)
  • Improve UX when profiles are hidden from anon (32938)
  • Add fallback width for modal (32937)
  • Update composer educational tips copy (32933)
  • Modal close animation (32842)
  • Fix search results unreachable bottom results and more button (32883)
  • Match theme install icon with component icon (32894)
  • Remove background from nav pill hover (32893)
  • More border radius application (32892)
  • Switch sidebar focus to focus-visible (32882)
  • Establish a larger default border radius (32889)
  • Improve intermediate state in social signup flow (32887)
  • Fix positioning of loading spinner (32885)
  • Rich editor checklist undoable input rule (32877)
  • Re-add similar topics styles (32866)
  • New styling for composer tips (32843)
  • Update unsaved changes popup (32849)
  • Fix overflow name in usercard (32838)
  • Close admin search modal immediately when result is selected (32811)
  • Improve mobile date picker slightly (32822)
  • Better error message when social login fails (32772)
  • Adjust styling for composer tip similar topics + limit amount (32774)
  • Fix alignment of more topics nav pills (32808)
  • Follow-up search fixes for welcome banner (32776)
  • Make the notification panel consistent with new search panel styles (32753)
  • Improve spacing of text in topic list items (32755)
  • Refactor the edit topic title UI (32339)
  • More consistent admin search hover/focus color (32752)
  • Improve admin search focus states (32751)
  • Add discourse text icon (32744)
  • Simplify admin search, make more accessible (32733)
  • Focus on sign up form in social auth flow (32728)
  • Split admin logo and fonts to separate pages (32700)
  • Modal to inherit border radius (32709)
  • Minor style adjustments for experimental translation feature (32708)
  • Add missing import to admin_base.scss (32707)
  • Add fixed scrollbar gutter to avoid jump with modals (32702)
  • Search CSS refactor + fixes (32401)
  • Always close hamburger menu when navigating to admin (32651)
  • Don’t always fill username for forgot password (32646)
  • Do not reserve space for the tip message on the signup page (32627)
  • Improve image uploader setting control layout (32626)
  • Include custom text field description in signup form (32624)
  • Various improvements to the new color palette page (32597)
  • Composer starts with allowPreview default false (32589)
  • Link to /new-invite in quick start guide (32580)

Performance

  • Introduce lazyHash and update PluginOutlet calls to use it (32823)
  • Prevents N+1 on last_updated_by (32817)
  • Correctly use preloaded association (32814)
  • Fixes N+1 for automation plugin (32810)
  • Improve performance of the new themes listing page (32641)

Accessibility

  • Update accessible headings for more flexible translations (32863)
7 Likes