# 3.3.0.beta4: Topic view stats, Signup Improvements, Better usercard positioning, and more

**URL:** https://meta.discourse.org/t/3-3-0-beta4-topic-view-stats-signup-improvements-better-usercard-positioning-and-more/315982
**Category:** Announcements
**Tags:** release-notes
**Created:** [July 15, 2024, 12:40pm UTC](https://meta.discourse.org/t/3-3-0-beta4-topic-view-stats-signup-improvements-better-usercard-positioning-and-more/315982 "2024-07-15T12:40:58Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Saif](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saif/32/318253_2.png) [@Saif](https://meta.discourse.org/u/Saif)
#### Post date: [July 15, 2024, 12:40pm UTC](https://meta.discourse.org/t/3-3-0-beta4-topic-view-stats-signup-improvements-better-usercard-positioning-and-more/315982/1 "2024-07-15T12:40:58Z")

</div>

## New features in v3.3.0.beta4

### Topic view stats

See the top 100 most viewed topics, configurable by date range, category, logged in and/or anonymous. Report is available under `/admin/reports/topic_view_stats`.

 ![CleanShot 2024-07-11 at 15.13.16@2x](https://global.discourse-cdn.com/meta/original/4X/5/2/5/525036410a0d53df06cfc606898c6b55daee67d8.png)

### Signup Improvements

Updated signup flow to include username after email (if active), optional fields indicated by sub text, renaming CTA to signup, and login and signup buttons being placed vertically.

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/8/7/48712cb4be609df1837aece52327afc67ec03f87.png)

### Better usercard positioning

Improved accessibility as usercards now appear within your screen, scalable to any browser zoom level or screen size.

 ![Before Image](https://global.discourse-cdn.com/meta/original/4X/6/b/4/6b4c37f992572fca368c6ef958c42d0db80931c3.png) ![After Image](https://global.discourse-cdn.com/meta/original/4X/b/8/8/b88e2ffaf7ff716b97abd9fc008adf46b76d0a73.png)

## Security Updates

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

- DoS via Watched Words ([CVE-2024-38360](https://github.com/discourse/discourse/security/advisories/GHSA-68pm-hm8x-pq2p))

---

<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: [July 15, 2024, 12:40pm UTC](https://meta.discourse.org/t/3-3-0-beta4-topic-view-stats-signup-improvements-better-usercard-positioning-and-more/315982/3 "2024-07-15T12:40:58Z")

</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-adplugin

#### Bug Fixes

- Add a fix for cases where ad record is not found ([214](https://github.com/discourse/discourse-adplugin/pull/214))

### discourse-ai

#### New Features

- Show post helper as bottom modal on mobile ([704](https://github.com/discourse/discourse-ai/pull/704))
- Add breadcrumbs to LLMs and Persona admin pages ([666](https://github.com/discourse/discourse-ai/pull/666))
- Move summary to use llm\_model ([699](https://github.com/discourse/discourse-ai/pull/699))

#### Bug Fixes

- Limit system message size to 60% of available tokens. ([714](https://github.com/discourse/discourse-ai/pull/714))
- Flaky SRV-backed model seeding. ([708](https://github.com/discourse/discourse-ai/pull/708))
- Locale handling in assistant.rb ([705](https://github.com/discourse/discourse-ai/pull/705))
- Don’t reset open state on details tag when morphing ([702](https://github.com/discourse/discourse-ai/pull/702))
- Mixtral models have system role support. ([703](https://github.com/discourse/discourse-ai/pull/703))
- Repair id sequence identity on summary table ([701](https://github.com/discourse/discourse-ai/pull/701))
- Restore ability to fold summaries, which was accidentally removed ([700](https://github.com/discourse/discourse-ai/pull/700))

### discourse-custom-topic-lists

#### New Features

- Use group name instead of id for access control ([19](https://github.com/discourse/discourse-custom-topic-lists/pull/19))
- Start add bulk dismiss read ([18](https://github.com/discourse/discourse-custom-topic-lists/pull/18))

### discourse-data-explorer

#### New Features

- Add [Data Explorer](https://meta.discourse.org/t/32566?silent=true) Params to the URL for group queries ([298](https://github.com/discourse/discourse-data-explorer/pull/298))

### discourse-gamification

#### New Features

- Add breadcrumbs to admin config ([142](https://github.com/discourse/discourse-gamification/pull/142))

#### Bug Fixes

- Incorrect leaderboard range dates on some timezones ([147](https://github.com/discourse/discourse-gamification/pull/147))

### discourse-livestream

#### Bug Fixes

- Don’t show 404 when RSVPing to a calendar event topic without accompanying chat channel ([24](https://github.com/discourse/discourse-livestream/pull/24))

### discourse-preset-topic-composer

#### New Features

- Use group name instead of id for access control ([21](https://github.com/discourse/discourse-preset-topic-composer/pull/21))
- Moves selected row to top ([20](https://github.com/discourse/discourse-preset-topic-composer/pull/20))

#### Bug Fixes

- Add check if tag already exists in topic ([23](https://github.com/discourse/discourse-preset-topic-composer/pull/23))
- Solve incorrect composer cleanup ([22](https://github.com/discourse/discourse-preset-topic-composer/pull/22))

### discourse-rss-polling

#### New Features

- Add an option to disable updating tags from polling ([73](https://github.com/discourse/discourse-rss-polling/pull/73))

### discourse-subscriptions

#### New Features

- Site Setting to enable automatic tax ([218](https://github.com/discourse/discourse-subscriptions/pull/218))

#### Bug Fixes

- Admins unable to cancel a subscription for a user ([220](https://github.com/discourse/discourse-subscriptions/pull/220))

### discourse-user-card-badges

#### Bug Fixes

- Setting page error following core updates ([67](https://github.com/discourse/discourse-user-card-badges/pull/67))

### docker\_manager

#### UX Changes

- Improve UI of software update page & display more info. ([214](https://github.com/discourse/docker_manager/pull/214))

## All Features and Fixes

### New Features

- Allow for multiple GitHub onebox tokens ([27887](https://github.com/discourse/discourse/pull/27887))
- Custom flag can require additional message ([27706](https://github.com/discourse/discourse/pull/27706))
- Prevent chat emails for messages created via SDK ([27875](https://github.com/discourse/discourse/pull/27875))
- Email attachments in a details ([27804](https://github.com/discourse/discourse/pull/27804))
- Allow oneboxing private GitHub URLs ([27705](https://github.com/discourse/discourse/pull/27705))
- Use group based setting for unsafe-none COOP ([27783](https://github.com/discourse/discourse/pull/27783))
- Topic view stats report ([27760](https://github.com/discourse/discourse/pull/27760))
- Add Mechanism to redeliver all failed webhook events ([27609](https://github.com/discourse/discourse/pull/27609))
- Add Instant Run-off Voting to Poll Plugin (Part 1: migrate existing plugin to Glimmer only) ([27204](https://github.com/discourse/discourse/pull/27204))
- Add option to delete user associated account on password reset ([27696](https://github.com/discourse/discourse/pull/27696))

### Bug Fixes

- Refresh flags cache after update ([27909](https://github.com/discourse/discourse/pull/27909))
- Fix broken out of date themes admin notice ([27916](https://github.com/discourse/discourse/pull/27916))
- `StaticController#enter` should not redirect to invalid paths ([27913](https://github.com/discourse/discourse/pull/27913))
- Bold admin sidebar headings ([27912](https://github.com/discourse/discourse/pull/27912))
- Exclude reply count on posts due to required Comment nesting ([27892](https://github.com/discourse/discourse/pull/27892))
- Don’t require fields required on sign-up when updating fields ([27888](https://github.com/discourse/discourse/pull/27888))
- Don’t let table-build automatically fill empty headers with default values ([27894](https://github.com/discourse/discourse/pull/27894))
- Update order of chat message service steps ([27889](https://github.com/discourse/discourse/pull/27889))
- Integer settings wrongly showing overridden from default ([27886](https://github.com/discourse/discourse/pull/27886))
- Mbox import script tried to modify frozen string ([27768](https://github.com/discourse/discourse/pull/27768))
- Ensures chat panel can’t have an invalid width ([27876](https://github.com/discourse/discourse/pull/27876))
- Include permissions in the tag serializer ([27849](https://github.com/discourse/discourse/pull/27849))
- Allow error handling for formats besides JSON ([27811](https://github.com/discourse/discourse/pull/27811))
- Don’t list values from disabled plugins
- Office365/Outlook auth method for group SMTP ([27854](https://github.com/discourse/discourse/pull/27854))
- Poll: Show gear button only when there is more than one dropdown item ([27775](https://github.com/discourse/discourse/pull/27775))
- Destroy Drafts when increasing sequences ([27739](https://github.com/discourse/discourse/pull/27739))
- Make category filter in review page clearable ([27820](https://github.com/discourse/discourse/pull/27820))
- Disallow all client-side routing when action is required ([27817](https://github.com/discourse/discourse/pull/27817))
- Smart list jankiness in Chrome and fix for Firefox ([27762](https://github.com/discourse/discourse/pull/27762))
- Scroll to top shortcut regressed in b757275 ([27807](https://github.com/discourse/discourse/pull/27807))
- Show too long message error on client ([27794](https://github.com/discourse/discourse/pull/27794))
- Deleted topic author in crawler view ([27788](https://github.com/discourse/discourse/pull/27788))
- Typo in poll “closed” ([27748](https://github.com/discourse/discourse/pull/27748))
- Allow safe html in poll options ([27741](https://github.com/discourse/discourse/pull/27741))
- Show primary user group options to members in account prefs ([27664](https://github.com/discourse/discourse/pull/27664))
- Poll: option text wrapping bevahiour styling improvement ([27738](https://github.com/discourse/discourse/pull/27738))
- Show featured topics for categories on mobile ([27715](https://github.com/discourse/discourse/pull/27715))
- Show cooked bio in user profile ([27734](https://github.com/discourse/discourse/pull/27734))
- Poll: critical display issue when results are only shown upon vote ([27732](https://github.com/discourse/discourse/pull/27732))
- Make table builder escape `|` ([27726](https://github.com/discourse/discourse/pull/27726))
- Do not allow , or . in site setting integer input ([27618](https://github.com/discourse/discourse/pull/27618))
- Uses `\n` for line breaks in table builder ([27711](https://github.com/discourse/discourse/pull/27711))
- Use the correct color scheme for default inputs ([27716](https://github.com/discourse/discourse/pull/27716))
- Poll: do not attempt to show voter list on private polls ([27714](https://github.com/discourse/discourse/pull/27714))
- Correctly unhighlight glimmer topic list items ([27713](https://github.com/discourse/discourse/pull/27713))
- Always noindex /u routes ([27712](https://github.com/discourse/discourse/pull/27712))
- Make the table builder respect table alignment specifications ([27709](https://github.com/discourse/discourse/pull/27709))
- Should not raise error when both group & site tag preferences are same. ([27704](https://github.com/discourse/discourse/pull/27704))
- Don’t show that an existing user is invited\_by another user ([27665](https://github.com/discourse/discourse/pull/27665))
- Don’t error out when loading a badge with a deleted image ([27688](https://github.com/discourse/discourse/pull/27688))
- Discrepency between admin page view reports ([27685](https://github.com/discourse/discourse/pull/27685))
- Topic embed blank tags or passed with nil do not blank out existing topic tags ([27699](https://github.com/discourse/discourse/pull/27699))

### UX Changes

- Fix top-list spacing on user summary ([27877](https://github.com/discourse/discourse/pull/27877))
- Wrap text in span ([27853](https://github.com/discourse/discourse/pull/27853))
- Remove PluginOutlet spans ([27845](https://github.com/discourse/discourse/pull/27845))
- Add missing title to notifications-button ([27837](https://github.com/discourse/discourse/pull/27837))
- Modernize the header drop shadow ([27843](https://github.com/discourse/discourse/pull/27843))
- User page copy change responses -\>` replies ([27841](https://github.com/discourse/discourse/pull/27841))
- Remove “Dismiss notifications” autofocus ([27798](https://github.com/discourse/discourse/pull/27798))
- Insert a space before the featured link on mobile topic list view (glimmer) ([27793](https://github.com/discourse/discourse/pull/27793))
- Fix card positioning, allow shrink-to-fit ([27774](https://github.com/discourse/discourse/pull/27774))
- Insert a space before the featured link on mobile topic list view ([27747](https://github.com/discourse/discourse/pull/27747))
- Add max-width to social auth section ([27771](https://github.com/discourse/discourse/pull/27771))
- Plugins may have underscore in the name ([27749](https://github.com/discourse/discourse/pull/27749))
- Chat mobile menu styling update ([27598](https://github.com/discourse/discourse/pull/27598))
- Registration design and validation improvements ([27666](https://github.com/discourse/discourse/pull/27666))

### Security Changes

- Limit the number of characters in watched word replacements.

### Performance

- Update `docker:test` to run QUnit with more cores if available ([27816](https://github.com/discourse/discourse/pull/27816))

### Accessibility

- Improve notification panel layout for high zoom levels ([27848](https://github.com/discourse/discourse/pull/27848))
- Usercard resizing for high zoom levels ([27846](https://github.com/discourse/discourse/pull/27846))
- Improve topic entrance aria-label, title ([27842](https://github.com/discourse/discourse/pull/27842))
- Improve topic list table markup for screenreaders ([27808](https://github.com/discourse/discourse/pull/27808))
- Aria-current=“page” is more appropriate for navigation bar links ([27835](https://github.com/discourse/discourse/pull/27835))
- Topic list links should not be headings ([27700](https://github.com/discourse/discourse/pull/27700))
- Improve /badges structure for screen readers ([27698](https://github.com/discourse/discourse/pull/27698))
