# 3.4.0.beta2: Betere pageview-statistieken, meerdere moderator-groepen per categorie, chat-threads volgen en meer

**URL:** https://meta.discourse.org/t/3-4-0-beta2-better-pageview-metrics-multiple-category-moderator-groups-watch-chat-threads-and-more/329340
**Category:** Announcements
**Tags:** release-notes
**Created:** [7 oktober 2024 om 04:30 UTC](https://meta.discourse.org/t/3-4-0-beta2-better-pageview-metrics-multiple-category-moderator-groups-watch-chat-threads-and-more/329340 "2024-10-07T04:30:19Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [7 oktober 2024 om 04:30 UTC](https://meta.discourse.org/t/3-4-0-beta2-better-pageview-metrics-multiple-category-moderator-groups-watch-chat-threads-and-more/329340/1 "2024-10-07T04:30:19Z")

</div>

## New features in 3.4.0.beta2

### Better pageview metrics with the new site traffic report

We’ve added a new “site traffic” report on the admin dashboard that highlights pageviews from users and hides traffic from crawlers and other sources like bots by default. This now give you a far more accurate gauge of traffic to your site from logged in members to anonymous visitors. [Learn more…](https://meta.discourse.org/t/better-pageview-metrics-with-the-new-site-traffic-report/324068)

 ![The image is a screenshot of a webpage displaying a line graph showing the "Community Health" of a particular location over a six-month period, with a legend indicating the colors used for different categories. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/1/4/b/14b5275a676214caba22ebdaa436ce3b5db38dfd.png)

### Ability to watch chat threads

You can now choose to get notified of all replies to a chat thread by watching the thread. People who are watching a thread will see a green indicator on the chat icon when there are new unread messages, an item in their list of notifications, along with other helpful indicators in the channel list and on the thread itself in the channel where it resides.

 ![The image shows a computer screen with a dropdown menu for a thread titled "Thread" with three options: Watching, Tracking, and Normal. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/6/a/4/6a4262ba1a753eaf8113d02ae2262bd332aff481.png)  
 ![The image is a screenshot of a text conversation in a messaging app, where one person is asking another for the latest General Channel news. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/6/3/d/63d75bc67d2bbb6b6d3b5584e8b2d0daf09971bc.png)  
 ![The image shows a screenshot of a messaging platform with a General Channel message that reads "This is dummy thread title, let's see what happens when we make it longer". (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/2/8/3/283fea68107ec03bd442c0905b9b0c84dbc21986.png)

### Ability to add multiple groups as moderators for a category

We’ve added the ability to configure multiple groups as moderators for a given category. [Learn more…](https://meta.discourse.org/t/ability-to-set-more-than-one-group-category-moderator/243290)

 ![The image shows a computer screen displaying settings for a WordPress plugin called "Creator's Corner." (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/5/6/d/56dcd700b32cc8580e00e0f68b6a7fa590798f4d.png)

### New setting to exclude groups from /about page

Sites can now hide particular users from the admins and moderators section on the /about page by adding them to a group included in the “about page hidden groups” site setting. This allows sites to better highlight which admins are active in the community by hiding admins who are primarily assisting in a more technical role. [Learn more…](https://meta.discourse.org/t/new-and-improved-about-page-is-live/324212/38)

![image](https://global.discourse-cdn.com/meta/original/4X/d/0/e/d0ed15bf8be73a268b9ffa30acb940c3711d773d.png)

### New location for AI helper in the composer

The AI helper has been moved to the composer toolbar, for greater consistency with other composer options and to avoid interrupting a user’s writing and editing experience.

 ![The image shows a computer screen with a chat or text editing application window open, displaying a blue text box with the placeholder text "This is how to invoke the AI helper". (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/f/7/e/f7e91cf6347bf27fa8ba9d8cdd614e012a8d8e04.png)

### Option to use full names in chat direct message titles

In chat direct message channel titles, full names are now used instead of usernames for sites that have configured the existing preferences to do so elsewhere. Where a full name is unavailable, titles will still fall back to using the username [Learn more…](https://meta.discourse.org/t/provide-option-to-choose-showing-full-names-in-chat/269487)

 ![The image displays a list of DM names in a chat interface, with each name accompanied by a profile picture and the date of their last activity. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/1/1/b/11b84b69a6e2b17d6e33ed5ec318fc154372c9b3.png)

### Ability to dismiss admin notices

Admins can now dismiss notices shown on the admin dashboard.

![This is a screenshot of a webpage with settings related to a software update or configuration. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/8/5/1/8510c3ce10c032a2b438c4e4809b239ce10fd38d.gif)

As we’ve begun to surface more minor problems here that deserve some attention, we’ve also discovered a need to allow admins to dismiss things that they may not be able to address right away.

## Security Updates

This release includes fixes for these security issues reported by our community and [HackerOne](https://hackerone.com/discourse).

- DoS by the absence of restrictions on replies to posts ([CVE-2024-43789](https://github.com/discourse/discourse/security/advisories/GHSA-62cq-cpmc-hvqq))
- Bypass of email address validation via encoded email addresses ([CVE-2024-45051](https://github.com/discourse/discourse/security/advisories/GHSA-2vjv-pgh4-6rmq))
- Prevent topic list filtering by hidden tags for unauthorized users ([CVE-2024-45297](https://github.com/discourse/discourse/security/advisories/GHSA-58xw-3qr3-53gp))
- XSS via chat excerpts when CSP disabled ([CVE-2024-47772](https://github.com/discourse/discourse/security/advisories/GHSA-67mh-xhmf-c56h))
- Anonymous cache poisoning via XHR requests ([CVE-2024-47773](https://github.com/discourse/discourse/security/advisories/GHSA-58vv-9j8h-hw2v))

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [7 oktober 2024 om 04:39 UTC](https://meta.discourse.org/t/3-4-0-beta2-better-pageview-metrics-multiple-category-moderator-groups-watch-chat-threads-and-more/329340/3 "2024-10-07T04:39:52Z")

</div>

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

- Adding tags in admin UI ([116](https://github.com/discourse/discourse-activity-pub/pull/116))
- Support multiple moderation groups on category ([114](https://github.com/discourse/discourse-activity-pub/pull/114))

#### Performance

- Static id for like post action type ([112](https://github.com/discourse/discourse-activity-pub/pull/112))

### discourse-ai

#### New Features

- Allows forced LLM tool use ([818](https://github.com/discourse/discourse-ai/pull/818))
- Allow llm triage to automatically hide posts ([820](https://github.com/discourse/discourse-ai/pull/820))
- Add Ollama provider ([812](https://github.com/discourse/discourse-ai/pull/812))
- RAG search within tools ([802](https://github.com/discourse/discourse-ai/pull/802))
- Basic support for GPT-o models ([804](https://github.com/discourse/discourse-ai/pull/804))
- Make tool support polymorphic ([798](https://github.com/discourse/discourse-ai/pull/798))
- Add a SambaNova LLM provider ([797](https://github.com/discourse/discourse-ai/pull/797))
- Disable rate limiting when skipping hyde ([793](https://github.com/discourse/discourse-ai/pull/793))
- More accurate and faster titles ([791](https://github.com/discourse/discourse-ai/pull/791))
- API scope for semantic search ([785](https://github.com/discourse/discourse-ai/pull/785))
- Smooth streaming animation for summarization ([778](https://github.com/discourse/discourse-ai/pull/778))
- Improve site setting search ([780](https://github.com/discourse/discourse-ai/pull/780))
- Initial support for seeded LLMs ([756](https://github.com/discourse/discourse-ai/pull/756))
- Allow embedding based search without hyde ([777](https://github.com/discourse/discourse-ai/pull/777))
- Triage rule can skip posts created via email ([775](https://github.com/discourse/discourse-ai/pull/775))

#### Bug Fixes

- AI Helper not visible on iPads ([805](https://github.com/discourse/discourse-ai/pull/805))
- Diff modal closing along with composer menu on mobile ([803](https://github.com/discourse/discourse-ai/pull/803))
- Keyboard shortcut should be platform specific ([801](https://github.com/discourse/discourse-ai/pull/801))
- Support case insensitive setting lookup ([795](https://github.com/discourse/discourse-ai/pull/795))
- Display cached summaries with our new streamer. ([792](https://github.com/discourse/discourse-ai/pull/792))
- Bail earlier when a chat thread has no messages ([789](https://github.com/discourse/discourse-ai/pull/789))
- Correctly display errors when parent module needs to be disabled first ([788](https://github.com/discourse/discourse-ai/pull/788))
- Coerce value before downcasing the hyde param ([787](https://github.com/discourse/discourse-ai/pull/787))
- We were never reindexing old content ([786](https://github.com/discourse/discourse-ai/pull/786))
- Prevent proofreading when there is no content ([779](https://github.com/discourse/discourse-ai/pull/779))

#### UX Changes

- Update icon and text for copying message ([815](https://github.com/discourse/discourse-ai/pull/815))
- Move templates to main LLM config tab, restyle ([813](https://github.com/discourse/discourse-ai/pull/813))
- AI composer helper z-index issue ([809](https://github.com/discourse/discourse-ai/pull/809))
- Take composer height into account when calculating the max-height for topic summary ([806](https://github.com/discourse/discourse-ai/pull/806))
- Improve toast message location ([800](https://github.com/discourse/discourse-ai/pull/800))
- AI post helper DMenu styling ([770](https://github.com/discourse/discourse-ai/pull/770))
- Replace “share” with “share-alt” icon ([784](https://github.com/discourse/discourse-ai/pull/784))
- Summary container should be fixed instead of growing ([783](https://github.com/discourse/discourse-ai/pull/783))

#### Performance

- Speed up spec ([794](https://github.com/discourse/discourse-ai/pull/794))

### discourse-assign

#### Bug Fixes

- If a group is deleted also remove assignments ([592](https://github.com/discourse/discourse-assign/pull/592))

### discourse-calendar

#### UX Changes

- Prioritize events with high participant counts ([610](https://github.com/discourse/discourse-calendar/pull/610))
- Allow event time to be hidden if desired ([606](https://github.com/discourse/discourse-calendar/pull/606))

#### Security Changes

- Fix XSS in calendar event name ([607](https://github.com/discourse/discourse-calendar/pull/607))

### discourse-category-experts

#### New Features

- Added Category Experts unapproved post WebHook Event ([161](https://github.com/discourse/discourse-category-experts/pull/161))
- Added Category Experts approved WebHook Event ([156](https://github.com/discourse/discourse-category-experts/pull/156))

#### Bug Fixes

- New post sending unapproved post webhook event ([162](https://github.com/discourse/discourse-category-experts/pull/162))

### discourse-chat-integration

#### New Features

- Add chat integration reference post ([216](https://github.com/discourse/discourse-chat-integration/pull/216))

#### Bug Fixes

- Adjust `full_url` method in `ChatIntegrationReferencePost` to return the correct URL ([220](https://github.com/discourse/discourse-chat-integration/pull/220))
- Revert chat-integration move to discourse-automation ([219](https://github.com/discourse/discourse-chat-integration/pull/219))
- Revert chat-integration move to discourse-automation ([214](https://github.com/discourse/discourse-chat-integration/pull/214))

### discourse-data-explorer

#### UX Changes

- Automatically convert to lowercase in explorer-schema ([325](https://github.com/discourse/discourse-data-explorer/pull/325))

### discourse-encrypt

#### Bug Fixes

- Add missing event handler ([336](https://github.com/discourse/discourse-encrypt/pull/336))
- Errors may be null-ish ([334](https://github.com/discourse/discourse-encrypt/pull/334))

### discourse-gamification

#### UX Changes

- Convert admin leaderboard forms to FormKit ([157](https://github.com/discourse/discourse-gamification/pull/157))

### discourse-livestream

#### New Features

- Add update to chatable when topic category changes ([33](https://github.com/discourse/discourse-livestream/pull/33))

### discourse-patreon

#### Bug Fixes

- Use current Patreon logo for social login ([145](https://github.com/discourse/discourse-patreon/pull/145))

### discourse-reactions

#### Performance

- Remove unnecessary ‘includes’ call ([309](https://github.com/discourse/discourse-reactions/pull/309))

### discourse-salesforce

#### Bug Fixes

- Use correct user\_id field from return auth result ([90](https://github.com/discourse/discourse-salesforce/pull/90))
- Remove incorrectly added ‘App not approved’ message ([89](https://github.com/discourse/discourse-salesforce/pull/89))

### discourse-saml

#### Security Changes

- Upgrade ruby-saml to 1.17.0 which fix CVE-2024-45409 ([104](https://github.com/discourse/discourse-saml/pull/104))

### discourse-solved

#### Bug Fixes

- Support multiple moderation groups on category ([307](https://github.com/discourse/discourse-solved/pull/307))

### discourse-staff-alias

#### Bug Fixes

- Convert type in whisper params ([75](https://github.com/discourse/discourse-staff-alias/pull/75))

### discourse-subscriptions

#### Bug Fixes

- Redirect to the pricing table page when enabled ([239](https://github.com/discourse/discourse-subscriptions/pull/239))
- Payments not showing up for users ([233](https://github.com/discourse/discourse-subscriptions/pull/233))
- Create customer for one off pricing table purchases ([232](https://github.com/discourse/discourse-subscriptions/pull/232))

### discourse-translator

#### New Features

- Add ProblemCheck for google ([167](https://github.com/discourse/discourse-translator/pull/167))

### discourse-zoom

#### New Features

- Add Zoom description and location to Google Calendar ([87](https://github.com/discourse/discourse-zoom/pull/87))

### docker\_manager

#### Bug Fixes

- Remove `\<3.4.0.beta1 version pin ([241](https://github.com/discourse/docker_manager/pull/241))

#### UX Changes

- Suppress pnpm upgrade notifications in build logs ([240](https://github.com/discourse/docker_manager/pull/240))

## All Features and Fixes

### New Features

- Limit client side image compression on Safari to version \>`= 18 ([28373](https://github.com/discourse/discourse/pull/28373))
- Improve the suppression for admins when required ([29041](https://github.com/discourse/discourse/pull/29041))
- Supports mark tag in chat messages ([28949](https://github.com/discourse/discourse/pull/28949))
- Increasing name length in automation ([28945](https://github.com/discourse/discourse/pull/28945))
- Add ability to dismiss admin notices ([28916](https://github.com/discourse/discourse/pull/28916))
- Allow names in chat channel title ([28843](https://github.com/discourse/discourse/pull/28843))
- Toolbar API supports custom action for keyboard shortcuts ([28883](https://github.com/discourse/discourse/pull/28883))
- Add setting to exclude groups from /about page ([28809](https://github.com/discourse/discourse/pull/28809))
- Convert chat plugin UI to new show plugin and admin UI guidelines ([28632](https://github.com/discourse/discourse/pull/28632))
- Switch to new methods of pageview measurement and reporting ([28729](https://github.com/discourse/discourse/pull/28729))
- Added Category Experts unapproved post WebHook Event ([28802](https://github.com/discourse/discourse/pull/28802))
- Log tag group changes in staff action log ([28787](https://github.com/discourse/discourse/pull/28787))
- Only play chat sound when chat badge icon is shown ([28387](https://github.com/discourse/discourse/pull/28387))
- Add user to topic\_tags\_changed event ([28714](https://github.com/discourse/discourse/pull/28714))
- Add ‘Edit this page’ link at the top of the new /about page ([28766](https://github.com/discourse/discourse/pull/28766))
- Support designating multiple groups as mods on category ([28655](https://github.com/discourse/discourse/pull/28655))
- Added Category Experts approved WebHook Event ([28525](https://github.com/discourse/discourse/pull/28525))
- Add ability to watch chat threads ([28639](https://github.com/discourse/discourse/pull/28639))
- Post created/edited trigger can skip posts created via email ([28615](https://github.com/discourse/discourse/pull/28615))

### Bug Fixes

- Skips caching a generated secret key base token if `skip_redis` is true. ([29029](https://github.com/discourse/discourse/pull/29029))
- Import script didn’t set `public` attribute of polls ([28864](https://github.com/discourse/discourse/pull/28864))
- Create an automation with forced\_triggerable enabled ([29030](https://github.com/discourse/discourse/pull/29030))
- Fix broken client-side review actions ([29025](https://github.com/discourse/discourse/pull/29025))
- Unscoped plugin config page actions outlet ([29026](https://github.com/discourse/discourse/pull/29026))
- Custom flag name should be unique ([28869](https://github.com/discourse/discourse/pull/28869))
- Permanent delete of posts by deleted users ([28992](https://github.com/discourse/discourse/pull/28992))
- Don’t raise on some search terms
- .badge-posts alignment on mobile glimmer topic list ([28959](https://github.com/discourse/discourse/pull/28959))
- Appropriately handle uninstalled problem checks ([28771](https://github.com/discourse/discourse/pull/28771))
- Show topic admin menu if can\_split\_merge\_topic ([28937](https://github.com/discourse/discourse/pull/28937))
- Prevents user status selection in mentions ([28944](https://github.com/discourse/discourse/pull/28944))
- Support getters in hbr `#each` context ([28941](https://github.com/discourse/discourse/pull/28941))
- Retry updating webview background color ([28912](https://github.com/discourse/discourse/pull/28912))
- Prevent recurring automations from getting stalled under specific conditions ([28913](https://github.com/discourse/discourse/pull/28913))
- Don’t show move topic for private messages for TL4 ([28871](https://github.com/discourse/discourse/pull/28871))
- Error when moving the group default notification state ([28910](https://github.com/discourse/discourse/pull/28910))
- Remove anonymous users from users directory ([28892](https://github.com/discourse/discourse/pull/28892))
- Flaky system admin flags specs ([28873](https://github.com/discourse/discourse/pull/28873))
- Exclude inactive and silenced users from /about page stats ([28877](https://github.com/discourse/discourse/pull/28877))
- Regression in short description in admin badges page ([28884](https://github.com/discourse/discourse/pull/28884))
- Support date field in FormKit page object ([28872](https://github.com/discourse/discourse/pull/28872))
- Incorrect titles in two components ([28865](https://github.com/discourse/discourse/pull/28865))
- Align bulk award button with the other header action buttons ([28859](https://github.com/discourse/discourse/pull/28859))
- Use a custom prefix for custom flags ([28839](https://github.com/discourse/discourse/pull/28839))
- Errors may be null-ish ([28826](https://github.com/discourse/discourse/pull/28826))
- Poll voters list wasn’t expanding properly ([28823](https://github.com/discourse/discourse/pull/28823))
- Form template limit validation ([28791](https://github.com/discourse/discourse/pull/28791))
- Poll preview list styling remove redundant bullets ([28592](https://github.com/discourse/discourse/pull/28592))
- Prevent chat channel not found ajax error ([28818](https://github.com/discourse/discourse/pull/28818))
- Add “in:first” to user summary category search ([28688](https://github.com/discourse/discourse/pull/28688))
- Prevent layout shift caused by locale description length ([28807](https://github.com/discourse/discourse/pull/28807))
- Remove breaking super call in scroll-tracker component ([28810](https://github.com/discourse/discourse/pull/28810))
- Open file handles ‘just in time’ during s3 migration ([28806](https://github.com/discourse/discourse/pull/28806))
- Replace shield-blank with shield-halved for font awesome ([28804](https://github.com/discourse/discourse/pull/28804))
- Requested changes from dev ([28784](https://github.com/discourse/discourse/pull/28784))
- Reset cache after flags are seed ([28801](https://github.com/discourse/discourse/pull/28801))
- Supports groups field in post\_created\_edited ([28783](https://github.com/discourse/discourse/pull/28783))
- Supports groups field in post\_created\_edited ([28773](https://github.com/discourse/discourse/pull/28773))
- Add traffic info footer to the new /about page ([28779](https://github.com/discourse/discourse/pull/28779))
- Toggle chat drawer on channel thread list ([28759](https://github.com/discourse/discourse/pull/28759))
- Creating an automation without script should error ([28752](https://github.com/discourse/discourse/pull/28752))
- Ensures message field is rendering placeholders ([28753](https://github.com/discourse/discourse/pull/28753))
- Don’t let static pages overflow on some devices ([28751](https://github.com/discourse/discourse/pull/28751))
- Don’t use post ID as timeline collapse delay ([28712](https://github.com/discourse/discourse/pull/28712))
- Passkey login when Discourse used as SSO provider ([28672](https://github.com/discourse/discourse/pull/28672))
- Prevents PM to large groups ([28681](https://github.com/discourse/discourse/pull/28681))
- Return proper results when searching for a topic in Japanese
- Keep the original URLParams in navigation item ([28696](https://github.com/discourse/discourse/pull/28696))
- Ensures global notices are destroyed on post created ([28684](https://github.com/discourse/discourse/pull/28684))
- Ensures default required validator handles 0 ([28686](https://github.com/discourse/discourse/pull/28686))
- Correctly pass updateGroupings to the modal ([28683](https://github.com/discourse/discourse/pull/28683))
- Mini-profiler CSP nonce when in report-only mode ([28664](https://github.com/discourse/discourse/pull/28664))
- Chat emoji picker positioning ([28643](https://github.com/discourse/discourse/pull/28643))
- Chat mailer log noise ([28616](https://github.com/discourse/discourse/pull/28616))
- Change `eq` to `match_array` in `topic_tags_changed_spec.rb` to solve flaky test ([28640](https://github.com/discourse/discourse/pull/28640))
- Ensure About#stats uses the cache ([28634](https://github.com/discourse/discourse/pull/28634))
- Use `.login-right-side` instead of `.has-alt-auth` ([28628](https://github.com/discourse/discourse/pull/28628))
- Do not enforce 2fa when an account is created with OAuth ([28625](https://github.com/discourse/discourse/pull/28625))
- Correctly filter user bookmarks ([28612](https://github.com/discourse/discourse/pull/28612))
- Restore `propertyEqual` following native-class conversions ([28605](https://github.com/discourse/discourse/pull/28605))
- Correctly render ace editor in FormKit ([28601](https://github.com/discourse/discourse/pull/28601))
- Poll ensure ranked choice results can handle options with rich text and links ([28195](https://github.com/discourse/discourse/pull/28195))
- Sum pageviews with number instead of string ([28596](https://github.com/discourse/discourse/pull/28596))
- Flaky flags spec ([28591](https://github.com/discourse/discourse/pull/28591))
- Correctly apply translate mod key ([28520](https://github.com/discourse/discourse/pull/28520))

### UX Changes

- Improve bottom padding to chat index on mobile ([29086](https://github.com/discourse/discourse/pull/29086))
- Chat index mini refactor ([29082](https://github.com/discourse/discourse/pull/29082))
- Change twitter share link to X ([29056](https://github.com/discourse/discourse/pull/29056))
- Prevent user stream title from overflowing page ([29032](https://github.com/discourse/discourse/pull/29032))
- Add label for delete own post button in review queue ([28991](https://github.com/discourse/discourse/pull/28991))
- Proper description of the `allowed_iframes` setting ([28997](https://github.com/discourse/discourse/pull/28997))
- Minor admin mobile fixes ([29028](https://github.com/discourse/discourse/pull/29028))
- Remove alias from chat direct message channel titles ([28958](https://github.com/discourse/discourse/pull/28958))
- Chat composer style tweaks ([28938](https://github.com/discourse/discourse/pull/28938))
- Small colour change to chat composer insert button ([28904](https://github.com/discourse/discourse/pull/28904))
- Sort chat channels by activity in desktop drawer ([28822](https://github.com/discourse/discourse/pull/28822))
- Upodate stying of chat composer focused state ([28900](https://github.com/discourse/discourse/pull/28900))
- Add link to bootstrap mode docs ([28898](https://github.com/discourse/discourse/pull/28898))
- Link to sections in getting started guide ([28882](https://github.com/discourse/discourse/pull/28882))
- Tell 1Password to ignore the link name input ([28559](https://github.com/discourse/discourse/pull/28559))
- Fix confusing “claim reviewable” positioning ([28870](https://github.com/discourse/discourse/pull/28870))
- Fix admin report filter stacking ([28875](https://github.com/discourse/discourse/pull/28875))
- Fix double li-element in mobile list control ([28840](https://github.com/discourse/discourse/pull/28840))
- Update banner to handle responsive images with aspect ratio scaling ([28825](https://github.com/discourse/discourse/pull/28825))
- Prevent a focus-visible outline on mobile ([28815](https://github.com/discourse/discourse/pull/28815))
- Hide ‘other’ and ‘crawler’ site traffic on report page ([28817](https://github.com/discourse/discourse/pull/28817))
- Add learn more URL for admin flags page ([28816](https://github.com/discourse/discourse/pull/28816))
- Add a description on the about config area ([28790](https://github.com/discourse/discourse/pull/28790))
- Upgrade to fontawesome 6.6.0 ([28778](https://github.com/discourse/discourse/pull/28778))
- Fix wizard link in getting started guide ([28768](https://github.com/discourse/discourse/pull/28768))
- Remove btn-default class from chat thread tracking dropdown ([28789](https://github.com/discourse/discourse/pull/28789))
- Apply the admin page header component ([28767](https://github.com/discourse/discourse/pull/28767))
- Change organization alert type from error to info ([28762](https://github.com/discourse/discourse/pull/28762))
- Add links to getting started check list ([28761](https://github.com/discourse/discourse/pull/28761))
- Update chat channel sorting ([28760](https://github.com/discourse/discourse/pull/28760))
- Fix spacing of emoji in chat channel title ([28756](https://github.com/discourse/discourse/pull/28756))
- Chat drawer increase unread channel visibility ([28731](https://github.com/discourse/discourse/pull/28731))
- Apply admin UI to Badges ([28724](https://github.com/discourse/discourse/pull/28724))
- Update Chat Group Name and Placeholder ([28703](https://github.com/discourse/discourse/pull/28703))
- Update post\_menu and post\_menu\_hidden\_items copy ([28723](https://github.com/discourse/discourse/pull/28723))
- Avoid flashing error when loading form template ([28700](https://github.com/discourse/discourse/pull/28700))
- Adjustments for the about page banner image ([28692](https://github.com/discourse/discourse/pull/28692))
- Change admin plugins list to follow UI guidelines ([28478](https://github.com/discourse/discourse/pull/28478))
- Add descriptions to auto groups and auto group indicator ([28630](https://github.com/discourse/discourse/pull/28630))
- Change usercard selector to new identifier ([28641](https://github.com/discourse/discourse/pull/28641))
- Add progress bar to the registration flow ([27694](https://github.com/discourse/discourse/pull/27694))
- Add group link to category permission row ([28560](https://github.com/discourse/discourse/pull/28560))
- Fix spacing in topic map views menu ([28583](https://github.com/discourse/discourse/pull/28583))

### Security Changes

- Prevent topic list filtering by hidden tags for unathorized users
- Block registrations for encoded emails that are invalid
- Add pagination to post replies
- Correctly parse URLs in chat excerpts

### Performance

- Cache serialized voters at topic view level ([28894](https://github.com/discourse/discourse/pull/28894))
- Update migration to drop index concurrently. ([28955](https://github.com/discourse/discourse/pull/28955))
- Drop `user_search_similar_results` site setting ([28874](https://github.com/discourse/discourse/pull/28874))
- Use insertText more efficiently in `replaceText` ([28880](https://github.com/discourse/discourse/pull/28880))
- Preload user options when status is enabled ([28827](https://github.com/discourse/discourse/pull/28827))
- Preload voters\_count and has\_voted ([28808](https://github.com/discourse/discourse/pull/28808))
- Don’t do initialization for every DB if RAILS\_DB is set ([28668](https://github.com/discourse/discourse/pull/28668))

### Accessibility

- Add aria-label to user profile link in topic list ([29088](https://github.com/discourse/discourse/pull/29088))
- Announce “link copied!” confirmation for screen readers ([29058](https://github.com/discourse/discourse/pull/29058))
