3.2.0.beta2: Auto delete unused tags, custom date range for reports, new chat notifications, and more

New features in 3.2.0.beta2

Automatically clean up unused tags

The new automatically clean tags admin setting allows you to automatic remove unused tags. When enabled, a daily job will run that deletes any tags which are not used by any topics.

New custom date range filter admin dashboard

You can now select your a custom date range when looking at reports on the admin dashboard.

image

Add Revise… option for queued post reviewable

We added a new Revise… action that can be taken for queued post reviewables. This will open a modal where the user can select a Reason from a preconfigured list (or by choosing Other…, a custom reason) and provide feedback to the user about their post.

The post will be rejected still, but a PM will be sent to the user so they have an opportunity to improve their post when they resubmit it.

Security Updates

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

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-ai

New Features

  • Support OpenAI-Organization header (245)
  • Claude based scanning and OpenAI retries (243)
  • Bge-large-en embeddings via Cloudflare Workers AI API (241)
  • Automation rule for triaging posts using LLM (236)
  • Allow Anthropic inference via AWS Bedrock (235)
  • Add creative persona (231)
  • Create custom prompts with composer AI helper (214)
  • AI Helper endpoint to generate a thumbnail from text. (224)
  • Add filter support to ai bot semantic search (222)
  • Respect search filters in semantic search (220)

Bug Fixes

  • Allowlist topic custom field used by AI Bot (250)
  • Include OP when building title suggestion prompt. (248)
  • Follow fix for missing claude tags in a7adce0 (242)
  • Fallback to whole response when Claude forgets tags (240)
  • Improvment to embeddings index task (238)
  • Suggest category/tag was broken since 2e5a393 (237)
  • Improve token counting (234)
  • AIHelper custom prompts with OpenAI had wrong type (230)
  • Properly truncate !command prompts (227)
  • Made bot more robust (226)
  • Conditionally render AI suggestion buttons (225)
  • AI Helper UX bugs (223)
  • Use “Related Topics” label consistently (221)

UX Changes

  • Use disable/enable state for custom prompt button (233)

discourse-assign

Bug Fixes

  • Granular webhooks (498)

UX Changes

  • Don’t change topic notification level when unassigning (513)

discourse-automation

Bug Fixes

  • Correctly uses transitionTo on router (224)

UX Changes

  • Do not show implicit placeholders (220)

discourse-calendar

New Features

  • Allow every 4 weeks as an interval (440)
  • Add user option to toggle timezone adjustment (437)

Bug Fixes

  • Calendar events not rendering in Firefox (448)
  • Removes holiday indicator connector for chat (433)

Security Changes

  • Properly escape user input when generating email HTML (455)

discourse-encrypt

Bug Fixes

  • Decrypt posts correctly under Ember 5.x (282)

Security Changes

  • Properly escape encrypted topic titles (283)

discourse-global-filter

Bug Fixes

  • Infer global filter from /new-topic tags query param (118)

discourse-kolide

Bug Fixes

  • Always attach recheck button when user is logged in. (76)

UX Changes

  • Increase non-onboarded device notice’s dismiss duration to 1 week. (77)
  • Hide non-onboarded device notice on mobile view. (75)

discourse-post-voting

Bug Fixes

  • Post voting topic broken when OP is moderator action (168)

discourse-prometheus

New Features

  • Introduce pg_highest_seq metric (63)

Bug Fixes

  • Postgres_highest_sequence naming (78)

discourse-solved

Bug Fixes

  • Delete solution with post (256)
  • Granular webhooks (248)
  • Do not show solved/unsolved filter when editing category (254)

discourse-subscriptions

Bug Fixes

  • Clicking on login should show login modal (177)

discourse-templates

New Features

  • Show copy/new-topic buttons when viewing template topics (43)

Bug Fixes

  • Move plugin into own setting category (50)

discourse-topic-voting

New Features

  • Add topic_unvote event to trigger topic_voting webhook (166)

Bug Fixes

  • Granular webhooks (159)

All Features and Fixes

New Features

  • Add Revise… option for queued post reviewable (23454)
  • Allow searching users using a list of usernames (23902)
  • Option to automatically delete unused tags (23864)
  • Granular webhooks (23070)
  • Remove support for legacy navigation menu (23752)
  • Delete multiple inactive themes/components (23788)
  • Introduce api.renderInOutlet (23719)
  • Support a description attribute on form template fields (23744)
  • Add API key scopes for tag_groups (23634)
  • Add custom date range filter for admin dashboard reports (23702)
  • Add prompt=none functionality to SSO Provider protocol (22393)
  • Add webhooks for user suspend and unsuspend (23684)
  • Improve error message when double liking (23698)
  • Allow filtering posts report by multiple categories (23669)
  • Link chat notifications directly to message (23617)
  • Site settings to revoke api keys older than a number of days (23595)
  • Add outgoing web hooks for Chat messages
  • Add chat message notifications for personal chats (23307)

Bug Fixes

  • Open invite modal correctly from topic share UI (23940)
  • Add missing type to form template upload (23935)
  • Transitioning to tag-intersection route (23931)
  • Revert (edited) layout in chat message (23927)
  • Pass category param on /tags/intersection (23352)
  • Chat layout shift with GitHub onebox (23909)
  • Ensure nested ember components can be used with mustache syntax (23912)
  • Support PluginOutlet invocations with deprecated tagName (23913)
  • Ensures threads list button is not showing (23895)
  • Correctly untrack topics when dismiss unread (23894)
  • Prevent browser refresh when clicking search menu result (23881)
  • List parent/child tags correctly for categories restricted to tag groups (23708)
  • Remove border-radius from thread list item (23878)
  • Disable overflow-anchor on composer textarea (23875)
  • Update upload security on post rebake from UI (23861)
  • Display error when moving post fails (23860)
  • Minor chat styleguide fixes (23849)
  • Hide consolidated chat message notifications temporarily (23846)
  • Fetch csrf token if needed before uploading (23825)
  • Correctly reset active message on destroy (23844)
  • Uses correct label on mobile view for members (23845)
  • Properly create a mention when followed by dots (23829)
  • Handle thread participants limit on the frontend (23839)
  • Multiple delete themes spec fail in parallel (23837)
  • Always use the current session token in uppy (23812)
  • Embroider breaking index html structure (23811)
  • Correctly checks user activation on use (23793)
  • Long press chat message test failure (23791)
  • Call UserBadge.grant with badgeReason in admin interface (23753)
  • Don’t nest all user info in one link (23783)
  • Ensures close arg from d-menu/:content works (23773)
  • Allow category moderators to move topics to their categories (20896)
  • Use correct subfolder format for ember-cli config (23754)
  • Pass email correctly when resending activation email (23741)
  • Remove reference to removed site setting from num_users_to_silence_new_user setting (23718)
  • Make CookText component reactive (23709)
  • Keep bookmark modal open when using keyboard (23707)
  • Correctly clear the quote state (23705)
  • Allow history modal columns to shrink width (23700)
  • A regression in RequestGroupMembershipForm (23699)
  • Disallow moderators from custom public sidebar sections (23683)
  • Copy button JS test failures (23687)
  • Broken error reporting in modals (and other places) (23680)
  • Copy codeblocks needs client: true (23686)
  • Correct error on add user modal (23679)
  • Enable copy code block by default (23662)
  • Correctly sort channels with null last message (23672)
  • Ensures we reuse existing thread if existing (23618)
  • Custom sidebar section link with / path leading to blank page (23661)
  • Ensures an empty last message won’t cause errors (23647)
  • Parse the digest_suppress_tags setting correctly (23623)
  • Use the destination_url cookie as return_path if present (23594)
  • Add back missing ‘delete spammer’ flag option (23605)
  • Message date is incorrect when replying as new thread (23608)
  • Return 403 instead of redirect on username routes when hiding profiles (23545)
  • Discourse-local-dates mobile layout following 8a577984 (23564)
  • Scope animated-images-pause to topic-post (23561)
  • Prevent lightbox images from double escaping titles (23458)
  • Min_personal_message_post_length not applying to first post (23531)

UX Changes

  • Better align user count (23941)
  • Improves reminder setting text (23918)
  • Fix likes notification for multiple users on mobile (23896)
  • Opens thread on channel with unread threads (23361)
  • Keep form template client state when shrinking/reopening the composer (23858)
  • Prevent (edited) and following from being copied (23882)
  • Composer and sidebar better fit (23841)
  • Correct description on ‘create topic’ composer dropdown (23871)
  • Place (edited) on same line (23866)
  • Makes avatar non interactive in thread participants list (23847)
  • Redesigned settings/members (23804)
  • Thread list fixes for alignment and more spacing on mobile (23823)
  • Flat design for thread list (23821)
  • Keep timestamp on single line (23819)
  • Remove excerpt + style change to thread list item (23776)
  • Prevent unexpected preview scroll in Firefox when using grid (23777)
  • Center loading spinner for editing nav menu tags modal (23786)
  • Enhances chat copy features (23770)
  • Update ‘gtm_container_id’ site setting description (23763)
  • Removes username from bookmark notification (23760)
  • More topics mobile spacing (23745)
  • Focused spacing in more topics table (23730)
  • Selected indicator more topics spacing (23696)
  • Improve history modal layout (23675)
  • Restore wizard confetti in final step (23533)
  • Correct tab selection in Wizard styling preview (23639)
  • Improve activity column title data (23614)
  • Unhide experimental_form_templates (23615)
  • Only close modal for full ‘click’ events outside (23566)
  • Fix “More” menu at small tablet width (23616)
  • Fix overflow channel row + mobile remove styling tweak (23611)
  • Chat-channel-row alignment (23607)
  • Creates a vertical space between the title and the back link (23558)
  • Improves remove channel animation (23585)
  • Removes a duplicate modal footer. (23226)
  • Hide warning if all users mentioned via group are already invited. (23557)

Accessibility

  • Move new account disclaimer above buttons (23884)
  • Remove positive tabindex from create modal (23883)
  • Improve summary page user link structure (23746)
  • Composer tip close link should be a button (23731)
  • Improve small-post markup for screen readers (23732)
  • Fix keyboard nav for custom bookmark time (23710)
  • Improve about page profile link markup (23695)
  • Correctly markup /about stat table headers, tweak style (23733)
  • Remove title from notification menu icons (23735)
  • Add page title to account activation step (23736)
  • Improve contrast on the WCAG color schemes (23692)
  • Add aria-label to share copy button (23706)
  • UI emoji are decorative, use alt="" (23690)
  • Add aria-current to active navigation item (23691)
  • Aria-label for mobile topic list avatar (23693)
  • “more” nav link should use aria-expanded (23613)
  • Disable non-essential CSS animations for reduced-motion users (23571)
  • Activate user menu tab on keydown too (23593)
  • Avatar upload button should be focusable (23575)
  • Add focus state for advanced search button (23573)
9 Likes