Lançamento v2025.12.0: Discourse Rewind, nova fila de revisão e interface para criar tags, personalização de canais de Chat e status de PR ao vivo

Novidades na v2025.12.0

Discourse Rewind

O Discourse Rewind é um resumo de atividades de fim de ano para seus membros que permite que eles celebrem o ano com estilo. Os membros vão adorar o design legal de computação retrô do Rewind e verão estatísticas interessantes sobre sua atividade, escrita e outras contribuições para a comunidade. Saiba mais…

rewind-video

Fila de revisão nova e aprimorada

Recentemente, ativamos a nova fila de revisão para todos por padrão. Ela agora tem um layout totalmente renovado para que os moderadores possam encontrar informações vitais rapidamente e resolver mais facilmente os problemas sinalizados pela sua comunidade. Saiba mais…

Status do Pull Request ao vivo em oneboxes do GitHub

No plugin Discourse GitHub, adicionamos uma opção de indicador de status ao vivo para pré-visualizações de onebox de PR, para que seus membros possam acompanhar as solicitações de pull request rapidamente! Saiba mais…

Marque seus canais de chat favoritos para acesso fácil

Para facilitar a localização de suas conversas mais importantes, adicionamos a capacidade de marcar seus canais, chats em grupo e DMs favoritos. Esta é uma ótima maneira de organizar o chat quando você pertence a muitos canais e deseja garantir que os mais importantes permaneçam de fácil acesso. Saiba mais…

Além disso, agora você pode Customize chat channels with an emoji na página de configurações do canal:

Criação de tags mais fácil

Agora você pode criar uma ou mais tags diretamente da página de índice /tags. Saiba mais…

Permitir que membros executem relatórios pessoais

No plugin Data Explorer, introduzimos um novo tipo de parâmetro current_user_id que pode se conectar automaticamente ao ID do usuário que está executando a consulta. Isso permite consultas seguras de “dados pessoais” em relatórios de grupo, onde os membros podem executar consultas filtradas para suas próprias contas. Saiba mais…

Atualizações de Segurança

Esta versão inclui correções para estes problemas de segurança relatados por nossa comunidade e HackerOne.

  • Usuários podem encontrar outros usuários pelo nome mesmo quando enable_names está desativado (CVE-2025-64528)
3 curtidas

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

UX Changes

  • Use short duration for toast on URI copy in ActivityPub (267)

discourse-akismet

Bug Fixes

  • Remove reviewable_ui_refresh SiteSetting (193)

discourse-deprecation-collector

Bug Fixes

  • Use correct frontend path for dir references (94)

discourse-development-auth

Bug Fixes

  • Convert URI to string before redirect (38)

discourse-doc-categories

Bug Fixes

  • Do not show urls in sidebar but show topic titles instead (68)
  • Do not reassign trashed topics as index (67)

discourse-follow

Bug Fixes

  • Prioritize watching notifications over follow notifications (163)

discourse-jira

Bug Fixes

  • Enqueue sidekiq job to sync jira projects on jira server instance (116)

discourse-livestream

UX Changes

  • Update background variable (70)

discourse-prometheus

Bug Fixes

  • Expand Histogram buckets for http_requests_queue_duration_seconds (157)

All Features and Fixes

New Features

  • Add category ignore list for GitHub linkbacks (35921)
  • Introduce set_topic_timer automation script (36660)
  • Add granular API scope for changing post ownership (36835)
  • Add site setting to force old reviewable UI (36774)
  • When moving posts to a PM also add acting user (36789)
  • Add site settings for spam scanner thresholds (36780)
  • Introduce tag localizations with API, without UI yet (36754)
  • Create tags inline on the /tags route (36645)
  • Format eval comparison results into a table (36724)
  • Respect user presence when chat is on screen (36652)
  • Share Rewind reports publicly by default and allow for making them private (36587)
  • Add thinking animation when thinking blocks are in progress (36673)
  • Inline and block wrap nodes rich editor support (36591)
  • Add current_user_id parameter type to Data Explorer (36655)
  • Store rewind dismiss state in database instead of localStorage (36625)
  • Discourse ID setting page (36316)
  • Reset the ‘show original content’ status when the user changes content language (36620)
  • New automation for emailing specific users when a post is flagged (36580)
  • Add upcoming change CSS classes to <body> (36586)
  • Enhance onebox descriptions with URL fragment/anchor context (36536)
  • Enhance screenshot support for themes with dark/light modes (36422)
  • Unhide Discourse Rewind (36578)
  • Add scrub action for rejected reviewable users (36556)
  • Native support for attachments in llms (36415)
  • Support topics filter UI when ordering on votes (36516)
  • Resolve reviewables when author deletes post (36471)
  • Add “changes requested” status to GitHub PR oneboxes (36531)
  • Enhance onebox titles with URL fragment/anchor context (36515)
  • Automatic promotion of upcoming changes (36211)
  • Bundle discourse-rewind plugin in core (36409)
  • Allow pie chart colors to be overridden with CSS (36495)
  • Add reasoning to spam detection (36431)
  • Log staff actions when creating and updating automations (36458)
  • Add support for retrying a completion (36450)
  • GitHub PR live status icon (36313)
  • Use a log based heuristic to check for LLM problems. (36432)
  • Ability to star chat channels (36142)
  • Add modifier hook for tags being saved (36400)
  • Accept tags param when opening a /new-message (36421)
  • Improve bulk selection in search (36373)
  • Implement ad impressions tracking (35797)
  • Show gists in suggested and related topics (36303)
  • Add claim history to reviewable timeline (36243)
  • Add new configurable moderation guide (36287)
  • Run eval comparisons against a dataset (36223)
  • Include IP info in refreshed reviewable insight tab (36273)
  • Add support for “updating” an application on discourse id (35384)
  • Chat channel emojis (36288)
  • Use GET /health for DNS SRV availability checks (36300)
  • Log admin’s choice to backfill when updating a default site (36296)
  • Add reviewable link to user notes (36190)

Bug Fixes

  • Update topic excerpts when the first post is localized (36885)
  • Ensure upload reference is available before cooking (36887)
  • Dismissing admin notices fails with 422 when tracker has NULL target (36878)
  • Poll plugin breaking when local-dates plugin is disabled (36889)
  • Respect sidebar panel set by destination route when leaving AI Bot (36868)
  • Calendar not refreshing on navigating between categories (36851)
  • Render hashtag icons in category descriptions (36867)
  • Make LLM triage review items visible to moderators (36881)
  • Removes an N+1 in channel with user options (36773)
  • Respect persona’s vision setting in LLM triage automation (36871)
  • Don’t show edit indicator when only hidden tags changed (36870)
  • Translation selector not visible on mobile (36861)
  • Respect custom date format selection in local dates (36860)
  • Warn moderators before group changes that would lock them out (36811)
  • Filter restricted email template keys from site text search (36857)
  • Preserve all date attributes in rich text editor (36781)
  • API key scopes display and navigation issues (36844)
  • FinalDestination ignoring all URLs on domain for subfolder installs (36785)
  • Remove flair, title, when user is removed from automatic group (e.g. admin, moderator) (36842)
  • Retrying with thinking could cause strange errors (36841)
  • Plus encoding (+) was not handled correctly in onebox and UI (36822)
  • Disable load_more_replies button until more replies are loaded (36816)
  • Remove topic voting custom field from category logs when there is no change (36832)
  • Only save post if post content changed when editing title (36817)
  • New DM channels not being published (36799)
  • Correct primary-very-low value (36809)
  • Also show the ‘post language indicator’ when the post gets updated to translated content (36806)
  • Reduce deadlocks in Topic.reset_highest updates (36805)
  • Extract polls correctly when post contains multiple quotes (36802)
  • Restore bold usernames on the about page (36803)
  • Delete other posts in a topic shouldn’t unanswer the answer post (36800)
  • Skip failure tracking for unsaved LLM models (36735)
  • Skip topic bump when date is in the past (36784)
  • Properly terminate chains of tool calls across multiple providers (36750)
  • Persist default reaction when toggling reaction (36778)
  • Legacy-array-like-object in listTags (36775)
  • Add local date support in poll options and improve rich editor date formatting (36718)
  • Ensures moderators can see category permissions (36772)
  • Support escaping checkbox syntax with backslash (36763)
  • Strip quotation marks from names in quote BBCode (36666)
  • Edit sidebar tags navigation model “selected” filter not working (36765)
  • Live update upcoming change body classes (36748)
  • Also check if user can see post or topic prior to letting them localize it (36749)
  • Add version number to Rewind cache key (36745)
  • Address race condition in PostStream while loading posts (36744)
  • Rewind: replace currentUser with user (36742)
  • Ensures scrollable-list is passing scroller element (36736)
  • Use event timezone for Google Calendar export (36727)
  • Do not use public IP address space for tests
  • Various SMTP timeouts should be used as floats
  • SMTP: explicitly disable STARTTLS when TLS is enabled
  • Prevent unread threads notification on non threaded channels (36719)
  • More Rewind visibility fixes (36713)
  • Do not use private categories for Rewind best posts or topics (36712)
  • False permission change logs in non-English forums (36676)
  • Preserve model/feature dropdown options when filtering on AI usage page
  • Missing locales for the automation plugin due to lacking fallback logic for missing locales (36497)
  • Attribute automation-triggered AI usage to system user
  • Render emojis in topic titles on reactions pages
  • Flaky DST handling tests in post_event_spec
  • Require login for AI bot conversations page (36669)
  • Show error highlighting on password field in finish installation form
  • Unable to save a new persona with RAG uploads (36667)
  • AI search discoveries user preference not saving
  • Use group IDs instead of names for “everyone” group checks (36656)
  • Preserve padding parameter through user API key authorization flow (36640)
  • Related setting toggle on what’s new page for admins (36646)
  • Add fix all target to lefthook to support bin/lint --fix (36644)
  • Rewind’s urls missing subfolder path (36632)
  • Silent option not working for bulk category moves via PostRevisor (36626)
  • Sort by topic activity when searching in:title (36630)
  • Copy-paste html block by increasing its parsing priority (36617)
  • Login redirect to root path in subfolder setup (36609)
  • Remove ItemList schema from linkbacks in crawler view (36608)
  • Allow Enter key to work inside select-kit within modals (36596)
  • Add OAEP padding option for user API key encryption (36592)
  • Do not prepend #fragment with https:// on link modal (36619)
  • Better handling of syllables in rewind writing analysis (36616)
  • Avoid dangling base64 images on rich editor (36615)
  • Exclude muted and ignored users from FBFF calculation (36610)
  • Can’t paste text when upload authorized extensions is empty (36601)
  • Rewind subfolder paths (36612)
  • Don’t publish small_action event for removed PM user (36606)
  • Rack middleware dev warnings (36460)
  • Handle missing heading when traversing DOM in onebox anchor enhancement (36598)
  • On edit, ensure community section remains at top of sidebar (36597)
  • Hide rewind profile link when user has opted out (36594)
  • Topic-navigation crash when viewport crosses mobile/desktop threshold (36590)
  • Correctly place select-kit dropdown in RTL mode (36593)
  • Redirect to channels list when no starred channels exist (36575)
  • When rejoining a chat channel dont overwrite membership settings (36528)
  • Ensure regeneration always uses the correct llm (36585)
  • Unhide rewind from plugin list too (36581)
  • Skip notifications when rebaking chat messages from GitHub webhooks (36577)
  • Skip rebaking posts with inline GitHub PR oneboxes (36576)
  • Inline ids in responses api (36572)
  • ReFix the loading loop when a topic is removed. (36410)
  • Default to starred channels only in mobile/drawer modes (36569)
  • Avoid intermediate state when rebaking posts with oneboxes (36567)
  • Rebake chat messages when GitHub PR status changes (36561)
  • Replies not syncing to Zendesk for linked topics (36560)
  • Make sure user is present before checking for starred messages (36538)
  • Unstar channel when unfollowing (36520)
  • Allow moderators to unhide posts using acting_user context (36512)
  • Bulk select overlap with avatar in search results (36553)
  • Filter bot LLMs to only those assigned to enabled personas (36545)
  • Handle missing sketch logo during backup restore (36541)
  • AI usage reports unable to filter by seeded models (36540)
  • Remove nameless uploads from deleted posts (36484)
  • Event not found after being edited to earlier date (36481)
  • Normalize dates without leading zeros in local-dates plugin (36539)
  • Support onebox cache invalidation in chat messages (36529)
  • Displays max level of readability score (36525)
  • Rewind was not dismissing when clicking callout (36518)
  • Bottom margin for last rewind report (36514)
  • Add support for default title in localdates (36511)
  • Consider all eligible notification types when notifying about a post (36472)
  • Revert composer-open body style to #36253 to fix reply box flicker on IOS devices (36449)
  • FoldContent#truncate was reversing parts of the content by mistake (36498)
  • Prevent sending chat/PMs to bots when LLM has exceeded credit limits (36496)
  • Pass user to Discovery BotContext for usage tracking (36493)
  • Chat unread indicators shouldn’t be right aligned (36492)
  • Handle cancelled completions before issuing HTTP requests. (36489)
  • Regression causing sidebar counts to not be right aligned (36485)
  • Rich editor getSelected.value to return markdown (36483)
  • Spacing between second factor CTA and form (36480)
  • Login input placeholder overflow (36468)
  • Unhide the “lazy videos enabled” site setting (36478)
  • Assign URL to group was pointing to topic, not group (36477)
  • Failed to load the next page in discourse-reactions (36451)
  • Regression causing missing chat unread indicators (36466)
  • Regression causing missing indicator in sidebar (36447)
  • Correctly filter out event attendees (36459)
  • Pushing replies to topics already in zendesk (36424)
  • Ensure tag diffs use persisted topic tags (35187)
  • Discord Bot crash due to missing BotContext in PersonaReplier (36429)
  • Missing LLM options on Azure (36448)
  • Regression in channel list and make improvements (36436)
  • CategoryModerationGroups import step query (36392)
  • Update rack sendfile middleware for x-accel-redirect (36354)
  • Show AI gists on tag routes when enabled (36402)
  • Also merge topic votes when a user is merged (36416)
  • Don’t show empty switcher (36407)
  • Ensures user-threads are scrollable (36401)
  • Allows float-kit to accept a portalOutletElement (36259)
  • Migration issues of HouseAd records from the plugin-store-rows table when they reference non existing categories (36380)
  • Retranslate topic excerpts and avoid using post versions to indicate change (36382)
  • Rich editor spoiler on firefox (36378)
  • Allow entering 0.002 in number inputs (36374)
  • Chat-settings/member list failed to scroll on IOS/iPadOS (36331)
  • Fix migration of HouseAd records from the plugins-store-rows table when visible_to_logged_in_users and/or visible_to_anons options are not set in the DB (36362)
  • Add space to onebox category badges (36355)
  • Related topics causing page render issues (36357)
  • Emoji.exists? should be consistent with Emoji[] (36347)
  • Topic Notifications User Tip wasn’t properly anchored (36356)
  • Check for pgvector before CREATE EXTENSION (35070)
  • Distinguish queued post from topic in refreshed review queue (36330)
  • Edit theme navigation link should be in active state (36350)
  • Correct semantic related age penalty (36327)
  • Allow streaming 2 posts concurrently (36311)
  • Don’t look up IP if user doesn’t exist, adjust whitespace (36326)
  • Don’t wrap email log subject in a link if there’s no link present (36324)
  • Ai design fixes (36320)
  • Add area attribute to must_approve_users (36317)
  • Update rack sendfile middleware for x-accel-redirect (36279)
  • Lightbox failed to start in components due to null imgEl element. (36310)
  • Remove ellipsis in “assigned to” copy inside assign extend menu (36314)
  • Fallback to upload URLs when SHA1 doesn’t match (36299)
  • Modals should not leak keypresses outside of the modal (36268)
  • BadgeQueries.sharing_badge not counting unique visitors (36281)
  • UserDestroyer should unclaim any claimed reviewables. (36277)
  • GlobalSetting should treat negative integers as integers (36276)
  • Blocks post action merge for duplicated flags (36265)
  • Drafts page category name overflow (36262)
  • Update PM tracking state when marking messages as unread (36258)
  • Closed recurring events (36255)
  • Limits hidden overflow to composer open and chat (36253)

UX Changes

  • Require confirmation for clean_up_inactive_users_after_days setting (36898)
  • Use correct syntax for selected (36891)
  • Styling fixes (36888)
  • Display all tool names for disabled select kits (36883)
  • Styling changes to header-actions button (36877)
  • Update period display when custom date range is selected in dashboard (36858)
  • Improve user API key authorization page (36777)
  • Modernize composer UI (36838)
  • Use inline title editor instead of composer when editing translation (36847)
  • Fix edit reason button position when localization is enabled on small screens (36839)
  • Alignment fix for edit reason on small screens (36837)
  • Prevent header search flash when welcome banner is visible (36834)
  • Improve lightbox btns in RTL layout (36826)
  • Add animations to closing DMenu content (36737)
  • Clarify ‘Unassign on close’ behavior in site setting description (36798)
  • Fix placement of “new new” menu (36808)
  • Further fix for show more topics alert (36807)
  • Add hover state for selected items in dmenu and select-kit (36776)
  • Moves chat search to its own tab (36787)
  • Style mismatches when emoji exists in chat-onebox mention links (36801)
  • Add render check for multi-select caret icon (36796)
  • Minor what’s new card improvements (36797)
  • Fix misalignment of “See x new or updated topics” (36767)
  • Add admin sidebar icons for preinstalled plugins (36764)
  • Fix full width background (36790)
  • Use English as language label where appropriate (36762)
  • Prevent nav-pill items from wrapping (36779)
  • Sort admin sidebar plugin links alphabetically (36674)
  • Warn moderators before they lock themselves out of a category (36663)
  • Show currently selected locale in header dropdown (36756)
  • Use positive intent for rewind preferences checkboxes (36723)
  • AI settings: add missing button classes, update button name (36741)
  • Update header language switcher style (36738)
  • Localize badge form section titles (36729)
  • Add ids to badge section titles (36725)
  • Animate new topic alert (36726)
  • Show reorder buttons on touch devices for emoji-list settings (36695)
  • Change code font-size to REM (36559)
  • Makes rewind private by default (36717)
  • Prevent HorizontalOverflowNav component from scrolling viewport (36715)
  • Enable refreshed review page (36711)
  • Prevent title edit icon from wrapping onto its own line (36709)
  • Remove background and adjust position (36710)
  • Replace advanced search filters with multi-select
  • Wrap chat thread title to nearest word (36698)
  • Adjust composer-popup styling to allow close button to always appear (36700)
  • Topic timeline minor fixes (36589)
  • Horizon >` z-index (36692)
  • Add missing hover state to review buttons (36651)
  • Add missing btn-default class to activation page (36671)
  • Fullscreen desktop and replaces discourse logo (36661)
  • More tweaks to scope chat channel icon (36654)
  • Apply default button styling to review buttons (36648)
  • Show contextual dates on GitHub PR oneboxes (36637)
  • Allow moderators to see admin sidebar AI sentiment links (36635)
  • Chat channel icons v2 (36634)
  • Minor style adjustments for rewind on mobile (36633)
  • Add review queue link to admin sidebar (36611)
  • Preserve formatting in solution excerpts (36552)
  • Rewind feedback and fixes 2 (36614)
  • Handle frequent stemmer words in Rewind (36584)
  • Fix chat appearance of subcategories with emoji (36579)
  • Starred chat channel icons (36568)
  • Moves rewind link inside profile tab (36564)
  • Default to starred channels when opening chat (36562)
  • Reduce GitHub PR status icon size on mobile (36558)
  • Rewind feedback and fixes 1 (36555)
  • Add compatibility w livestream plugin (36534)
  • Show specific review actions in timeline (36524)
  • Show the user status next to the username in the group’s view (36482)
  • Various visual fixes to rewind plugin (36535)
  • Remove old css rules (36533)
  • Fix input width wrapped in detail-tags to use full width (36530)
  • Add radius to chat notices + alignment for dismiss btn (36527)
  • Fix replies number wrapping (36526)
  • Change status pre-alpha to experimental for upcoming changes (36517)
  • User status in sidebar should have gap (36490)
  • Fix the status on pr in github oneboxes (36488)
  • Improvements to styleguide (36457)
  • Improvements to starred chat channels on mobile and drawer (36470)
  • Keep email / username between signup and login pages (36442)
  • Trim chat channel description (36454)
  • Fix buttons that are supposed to have a bg color (36446)
  • Make reactions given/received consistent with likes (36430)
  • Chat channel emoji size in DM channels (36427)
  • Fix blank space for discourse-subscriptions plugin on user-main-nav (36408)
  • Review queue refresh - add missing translation, avoid undefined counts (36393)
  • Update heading style in review queue refresh (36391)
  • Avoid showing empty state before content loads on user activity pages (36390)
  • Ensure credit limit tooltip css is correctly applied (36389)
  • Display moderation history in review insights (36370)
  • Improvements on Welcome banner config page (36301)
  • Display user’s email in review queue insights (36344)
  • Improvements to flow when credit limits are exceeded (36360)
  • Change visibility warning flair when creating a hidden group with an icon or an image (36304)
  • Adjust styling of own avatar link on user card (36297)
  • Switch ‘Allow user locale’ setting to be true by default (36244)
  • Update user notes text formatting to follow guide (36280)
  • AI usage users column needs a little more space when the sidebar is shown (36264)
  • Transparent button modifiers (36252)
  • Remove “Getting Started” button in header when in bootstrap mode (36231)
  • Tiny polish for the chat thread message info layout on narrow view (36250)
  • Update lightbox quote icon to apply shadow (36247)

Security Changes

  • enable_names should be respected in Search
  • Private category channels are not included (36716)

Performance

  • Use SQL COUNT for chat_enabled_user_count in group serializer (36893)
  • Reject anonymous requests with 503 upon aggressive queuing (36519)
  • Optimize GitHub PR onebox rebaking (36739)
  • Use fixed-height textarea in note form (36650)
  • Improve performance of DiscourseTagging.hidden_tag_names (36636)
  • Optimize reviewable queries by eager loading (36618)
  • Load rewind reports asynchronously while scrolling (36563)
  • Cache rewind for longer, and remove disabled report (36532)
  • Optimize CategoryList#relevant_topics_query SQL query (36476)
  • Avoid materializing eligble_users CTE in Chat::Mailer.users_with_unreads (36473)
  • Remove unused MessageBus subs to PM unread indicator channels (36376)
  • Cache LlmModel lookups in backfill jobs (36359)
  • Fix memory leak in server-side plugin outlets (36284)

Accessibility

  • Remove role=“button” from solved quote title (36783)
  • Respect prefers-reduced-motion for rewind features (36521)
1 curtida