New Features
- Allow
target
attribute in links in user_field descriptions - Make experimental hashtag autocomplete default for new sites
- Warn admins about private group name’s exposure to anonymous users.
- Add user toggle to mask/unmask passwords
- Onebox for Embed Motoko
- Integrate DnD with user status
- Add support for desktop push notifications in core
- Send notifications to admins when new features are released
- Sort hashtags starting with term higher priority
- Show user status on group pages
- Chat and Sidebar are now on by default
- Differentiate notification type for directly vs indirectly watched topic
- Add chat and sidebar toggles to the setup wizard
- Allow category moderators to set auto deletion topic timers
- Show similar users when penalizing a user
- Optionally allow a separate
s3_asset_cdn_url
to be specified - Allow showing hashtag autocomplete results without term
- Better UI to manage 2fa
- Enforce mention limits for chat messages
- Show live user status on inline mentions on posts
- Youtube Short onebox support
- Allow user_status scope for UserApiKey
- Improve composer warnings for mentions
- Channels can allow/disallow @all/@here mentions
- Add experimental plugin API to register messages nav dropdown
- Separate notification indicators for new PMs and reviewables
- Track API and user API requests
- Deleting a user with their posts also deletes chat messages.
- Add import script for Elgg
- Sidebar for narrow desktop screen
- User Status API
- Allow setting
default_enabled
for badges - Add descriptions on hover for hashtag search results
- Allow staff to flag chat messages
- Sync user tips status between client
- API to customize server side composer errors handling in the client side
- Add TL1 to chat_allowed_groups by default
- Generic hashtag autocomplete lookup and markdown cooking
- API to update user’s discourse connect external id
- Hidden site setting to suppress unsecured categories from admins
- Stop hiding “allow archiving channels” setting
- Deprioritize like notifications on all list
- Add user tips for post and topic features
- Introduces
chat_max_direct_message_users
setting - Default Composer Category Site Setting
- Replyable chat push notifications
- Add cooked post to user archive exports
- Rename onboarding popups to user tips
- New site setting to hide user profiles by default.
- Reduce suspicious distance logins warning to 100km
- Control topic width with variables
- Generic hashtag autocomplete sorting
- Hide welcome topic if it hasn’t been edited
- Add button to reset seen popups
- Generic hashtag autocomplete part 1
- Allow user to set preferred sidebar list destination
- Add sidebar link for admin to configure default tags
- Add sidebar link for admin to configure default categories
- Add user status to user preferences
- Implement new onboarding popups
- Show relative time when date is omitted
- Add contentCSSClass for sidebar section-link
- Double color for subcategories prefix
- Hide Privacy Policy and TOS topics
- Adds seeded default categories to the sidebar
- Preload resources via link header
- Add dark mode option for category logos
- Omit showing day when ‘to’ day is same as ‘from’ day
- New outlet topic-list-main-link-bottom added to mobile
- Handle oneboxes for complex GitHub URLs
- Make General the default category
- When entering a topic scroll to last visited line marker
- Add setting to always confirm old email
- Remember adjusted composer height
- Optionally show user status on email group user chooser
- Add review link to community section for logged in user
- Add composer warning when user haven’t been seen in a long time
- JS API interface for hljs plugins
- New site setting to set locale from cookie for anonymous users.
- Add site setting to include user associated account ids.
- Make user status a public experimental feature
- Introduce personal_message_enabled_groups setting
- Overhaul email threading
- Site setting to disable usernames in share links.
- Select emojis in picker via keyboard
- Add tooltips to timeline start/end dates
- Other notifications tab for redesign user menu
- Unified user menu notifications count
- Replace Lounge with General Category
- Show user status description on the mention popup
- Make user status on post streams live
- Add the set user status button to the new user menu
- Anonymous sidebar categories and tags
- Default sidebar categories and tags
- Adding a simple CSV importer
- Count views on published pages
- Limit maximum recipients for group emails
- Show default custom date on time-shortcut-pickers
- Trigger
backup_failed
event on backup failure - Open create invite modal from the bootstrap notice banner
- Allow configuration of smtp timeout settings
- Add safe-mode toggle to
/u/admin-login
- Allow wizard checkbox field to be disabled
- PWA users are prompted for push before first post
- Adds full screen composer submit button and prompt
- Show status in search results when mentioning user in composers
- Allow private themes to be partially installed
- Update bootstrap mode notice to add invite and wizard links
- Add welcome topic cta banner
- Add above-modal-header plugin outlet
- Show status on post streams
- Add image delete button in preview.
- Track stats around failing scheduled jobs
- Show SMTP response on admin email sent list and rearrange columns
- Add support for case-sensitive Watched Words
- Show user status on the user profile page
- Revamped wizard
- Add categories page style to order topics by created date
- My_bb import supports avatars
- Add users and groups links to community section in sidebar
- Replace hamburger dropdown with Sidebar when undock
- Users with no posts shouldn’t able to edit username after the allowed period.
- API for sidebar
- Add plugin API to register About stat group
- Show status in the tooltip on the status bubble on the user menu
- Publish everyone’s status to everyone
- Plugin outlet for sidebar
- Allow iframe
allow
attribute in posts - Auto remove user status after predefined period
- Use full post width for Vimeo embeds
- Store sidebar section display state in local storage
- Decouple category/tag presence in sidebar from notifi level
- Whispers available for groups
- Validate tags in WatchedWords
- User status emoji
- New/unread messages count in experimental sidebar
- Custom unsubscribe options
- Expand messages filter links when viewing private messages.
- Add Croatian language
- Add messages section links to experimental sidebar.
- Log the SMTP response in EmailLog
- Change auto tracking to require 5 minutes vs 4
- Add new/unread counts to tags section links exp sidebar
- First pass tags section for experimental sidebar.
- Display new/unread count for tracked categories in exp sidebar
- Add section links to categories section to exp sidebar
- Create upload_references table
- Allow hotlinked media to be blocked
- Allow for overlapping DiscourseConnect secrets per domain
- Propagate user status via message bus
- Highlight None option by default for bookmarks
- User status
- Make S3 presigned GET URL expiry configurable
- Pull hotlinked images immediately after posting
- Site setting for blocking onebox of URLs that redirect
- Promote polymorphic bookmarks to default and migrate
- Allow locals to be passed in server_plugin_outlet
- Include participants in PN search data
- Add page title to 404 pages
- Allow category moderators to post consecutively
- Introduce site setting to allow for non staff pm tagging
- Restore scroll on user activity pages
- Promote the “delete group” staff action log.
- Polymorphic bookmarks pt. 3 (reminders, imports, exports, refactors)
- Validate setting combination between exif strip and img opt
- Add fallback to suggested value when auth_overrides_username
- Introduce a sitewide setting for disabling suggesting weekends in time pickers
- Optionally skip using full_name when suggesting usernames
- Add
group_messages:
keyword to advanced search - Add in:messages search modifier
- Scope search to PMs when in that context
- Detect emoji from Emoji 14.0
- Polymorphic bookmarks pt. 2 (lists, search)
- Show prompt for required tag groups
- Site setting to cap the recipient list in notification emails
- Enables support for dark mode emails
- Block indexing the embed topic list
- Add
user_suspended
attribute in post serialize. - Add 2FA support to the Discourse Connect Provider protocol
- Improve screened IPs roll up and extend for IPv6
- Let sites add a sitemap.xml file.
- Add a sidekiq job for syncing S3 ACLs
- Add email dark mode
- Sortable json-editor items
- Allow for local theme js assets
- Allow multiple required tag groups for a category
- DiscourseEvent hook for sync_sso
- Polymorphic bookmarks pt. 1 (CRUD)
- Support upload:// urls in img tags
- Let reviewables override the score type title.
- Allow users to paste animated gifs into composer
- Update push notification icons
- Enable canonical url indexing
- Replace share-popup with share-topic
- Use canonical links in posts.rss feed
- Add nofollow to RSS alternate link in topics and categories
- Add mobile support for subcategories-with-featured-topics
- Highlight expired bookmark reminders
- Add link to original image in lightbox
- Add new site setting list type with name and values
- Use Postgres unaccent to ignore accents
- Introduce ‘Subcategories with featured topics’ view
- API to create user’s associated account
- Prioritize group search order based on prefix match
- Return geoname IDs from MaxMindDb
- Add fullscreen button for code blocks
- Add ENV to control themes:update errors
- Upload an avatar option for uploading avatars with selectable avatars
- Automatically select share URL
- Show topic visited state on search page
- Adds the user_promoted event to webhooks
- Rename Reset Read bulk action to Defer
- Replace share post popup with share modal
- Disable indexing of non-canonical pages by default
- Allow moderators to bulk change ownership
- Add settings to scale daily flags limit
- Centralized 2FA page
- Mute subcategory when parent category is muted
- Show error if invite to topic is invalid
- New plugin API to check if upload is used
- Use new topic-chooser for invite modal
- Cache last post number
- Redeem invites for existent users
- Add external_id to topics
- RS512, RS384 and RS256 COSE algorithms
- In result.rb don’t use email for username suggestions until enabled in settings
- Allow sending group SMTP emails with from alias
- Split up text segmentation for Chinese and Japanese.
- Select range in topic list with Shift + click
- Add requestCustomMarkdownCookFunction API
- Ability to re-order value lists
- Onebox for news.ycombinator.com
- Validate domain settings for blocked_onebox_domain only
- New plugin outlets for categories-boxes template
- Partial match aliases in emoji filter
- Use native color-picker
- Show the this weekend option on the bookmark modal
- Make the use_email_for_username_and_name_suggestions setting visible and on by default on existing sites
- Update cppjieba_rb to latest
Bug Fixes
- Channel archive N1 when serializing current user
- Error when publishing TopicTrackingState updates for certain topics
- Make DBHelper.find build valid query
- Continue if checking themes if updating one fails
- Replace all quote-like unicodes with quotes
- Wrap plugin outlets on user preference page
- Correctly support DiscourseEvent kwargs
- Do not error when anon user looks at secure upload for deleted post
- Disable image optimization in iOS Safari
- Error condition in SidebarSiteSettingsBackfiller
- Don’t change the default allowed_attribute when calling #sanitize_field
- Bump messagebus to v4.3.1
- Render_404 is not defined
- Link to category settings should use slug
- Improve tags in email subjects and add filter headers
- Do not error if autogenerated channel slug is blank
- Use reviewer’s guardian permissions to create post/topic while approve.
- Bookmark auto delete preference usage and default value
- Check that the node has a src attr when getting size
- More stable system tests
- Correctly uses request_uri to generate load_more_url
- At this point in time component can be destroyed
- Correctly always return a promise from loadMore
- Ensures loading more doesn’t erase filter on browse
- Update nginx config for v1.23
- Do not show push notification banner for MacOS
- Add missing email template for
user_watching_category_or_tag
- Various fixes to channel archive status
- Show status on mentions on just posted posts
- Avoid race conditions when toggling presence state
- Cancels fetching messages when pane is destroyed
- DButton ellipsis argument
- Show topic titles in deleted-posts
- Gracefully handle DNS issued from SSRF lookup when inline oneboxing
- Removes missed chat_channels legacy paths
- Correctly allows admin to visit a user chat’s preferences page
- Correctly handles navigating to a message
- Whisper tooltip shows the allowed groups
- More reliable archive channel spec
- Ensures recovering network doesn’t create unread mentions
- Workaround a bug in the R2 gem
- Admin can’t see user sidebar preferences of other users
- Flakey spec due to autocomplete
- Increment wait to prevent a specific flakey spec
- Autocomplete fadeout arrow key chat fix
- Allow for nested chat transcripts
- Ensure we have a patched version of CGI gem
- Re-enables using_session tests
- Prevents playing chat sound when in DnD
- Styles of user status on mentions
- Autocomplete arrow scroll for mention
- Prevents creating a null User object
- Sidebar preferences link shown when navigation menu is legacy
- Triggers update last read when message is not staged
- Prometheus plugin expects webrick in production
- Corrects a regression with last_read_message_id
- Allows an admin to access users preferences
- Correctly sorts public channels
- Better chat-api error handling
- Prevents chat-api to generate double slash URLS
- Quoting a mention with status emoji breaks the mention
- Hashtag autocomplete scrolling arrow keys with fadeout
- Include tags inside tag groups for hashtag search
- Responsive buttons and wider content container
- Do not return muted child categories termless hashtag search
- TL0 could not message group with everyone messageable_level
- Don’t assume a clean slate in tests
- Don’t validate channel slug if it hasn’t changed
- Box-sizing for avatars
- Discourse-follow notification types
- Add missing user_id args for ChatMessage.cook
- Access to category chat only when user can create post
- A string usage that was lost during git merge
- Remove magic time ranges
- Allow backspace into hashtag autocomplete
- Scroll autocomplete container on arrow press
- Remove user_option saving for bookmark auto delete pref
- Correctly parse Mandrill webhooks
- Add REPLACEMENTS icons to styleguide
- Email summary subject order should be consistent
- Use correct plural rules for Russian
- Unable to change homepage style via wizard
- Do not duplicate check when editing chat message to remove uploads
- Invalid route path for staff info warnings link
- Properly count DistributedMutex locking attempts
- Remove console warning for “nohighlight”
- Reset search controller state
- Make sure user status on mentions doesnt fail in plugins
- GitHub onebox ellipsis styling regressed in 9d03f20
- Restore missing text for
read_more
andread_more_in_category
- More specific class name to avoid collision
- Make sure generated tsqueries are valid
- Multipart uppy upload regression in 80e422c
- Ensure hashtag autocomplete is not behind keyboard in chat
- Do not return channels for hashtags if user cannot chat
- Broken images on subfolder installs
- Broken emoji url on password reset w/ subfolder
- New pm notification should take precedence over mention
- Server-side hashtag lookups of secure categories for a user
- Correctly hides admin settings in channel settings
- Show last match time of screened IP address
- Admin webhook regression in 321b14d
- Do not provide advice regarding GDPR compliance
- Add translation for setting
- Duplicate hashtag lookup results based on permissions
- Use correct property for theme’s
color_scheme_id
- Do not reset seen popups when skip_new_user_tips is false
- Profile page is not loading
- Error when opening a previously deleted post
- Webhook should touch channel’s last_message_sent_at
- Uses CDN when available for chat mp3 sounds
- URL fragments not purging
- Update match_count of screened IP address
- New message brings a direct message channel to the top
- Nullify active channel only when not on a chat channel
- Only modify secured sidebar links on user promotion/demotion
- Don’t force show topic map on non-first posts
- Ensures chat channel metadata date is updated
- User menu bug when transit from narrow screen
- Deactivate is not called in every cases
- Include CDN in result of
avatarUrl
helper - Change drupal permalink creation to use /node/
- Ensure chat channel slug uniqueness at DB level
- Add MessageBust.last_id to chat channel subscriptions
- Relative URL routing on ember-cli only page
- Watched words replacement emoji render
- Don’t update url in GitImporter
- Observe unlisted topic creation restrictions in post creator specs
- Email hashtag-cooked text replacement error
- Do not replace hashtag-cooked text with WatchedWords
- Handle null svg class for excerpt parsing
- Exclude claimed reviewables from user menu
- Horizontal scrolling was not working correctly
- When following redirects before cloning, use the first git request
- Validate unsubscribe key has an associated user
- ScrollingPostStream regressed in #15313
- Show chat channel info on reviewable items
- Allow reviewable-item components to be template-only
- Margin for sidebar and revamped user menu on iPad
- Allow svg in oneboxer in certain cases
- Improve message when posting a duplicate link
- Don’t notify of post deletion when agreeing with automatic flags.
- Show error message if no uploads are allowed
- Allow hashtag autocomplete at start of line
- Consistent narrow desktop width
- PMs displaying outdated unread counts when read status is processing
- Do not apply hover state to non capable devices
- Ensures date/time don’t linebreak
- Unsilence users on chat message flag disagree.
- Prevents audio to play when appended
- Toggle sidebar when back from narrow screen
- Ensures chat sidebar is present when core sidebar is disabled
- Prevents drawer error when resizing core composer
- Use correct Regexp flag to ignore case
- Push category hashtag slug match to top
- Existing users were mistakenly unable to redeem invite
- Pass period filter to plugin outlet
- Minor hashtag autocomplete fixes
- Experimental hashtag search result matching and limit fixes
- Do not click track .hashtag-cooked
- Set chat_allowed_groups based on chat_enabled setting
- Unescape :emoji: in hashtag search results
- Filtering rows of S3 inventory files was too strict
- When filtering tags for visibility, respect tag group permissions
- Update link in
group_in_subject
site description - Delete associated channel upon category deletion
- Allows to change sound when no sound was ever set
- Revert to old hashtag style for hashtag-raw
- Do not add color style if no prefixColor
- Amend
release_notes_link
in app/models/admin_dashboard_general_data.rb - Amend
release_notes_link
in /tests/fixtures/dashboard-new-features.js - Ensure DButton uses the correct target for string actions
- Enable_auto_join_users was used in create channel
- Better chat-message-actions position
- Correct implementation for user preferences tracking page
- Tag ordering adjustment for new hashtag autocompletion
- Allow new hashtag HTML to be quoted to markdown
- Allow tl4 to bulk select
- Hides user card button when current user can’t DM
- Invite redemption error if user had already redeemed
- Bug with admin trust level growth report
- Regression with special
a
keyword in search - Update user options only once
- Status was clearing after editing user preferences
- Add Custom
Primary-Numbers
- Support unicode in search filter @username
- Deprioritize reaction notifications
- Rename Users to Sign-Ups in About page
- Prevents arrow keys to bubble into parents components
- Only applies scroll position to full page
- Allow sidebar links to register didInsert actions
- Correctly opens drawer to message id when given
- Ensures composer is focused after edit
- Only checks for full page instead of preference
- Correctly highlights active channel
- Allow attr updates of over-size-limit uploads
- Adds back recurring to send_message automation
- Reimplements chat audio into a service
- Ensure moderators_manage_categories_and_groups is respected
- Do not lock account if backup codes are available
- Shrinking images where smaller image upload exists
- Permalinks issues
- Do not preload topic list for new topic/message routes
- Deliver chat summaries when allowed groups include “everyone”
- Use cached RegEx instead of recreating RegEx on every usage
- Automatically generate category channel slugs
- Watched words submit button should be disabled by default
- Uses i18n for saved text
- Handles starting draft dm from sidebar
- Migrate values before adding a not null constraint.
- Makes sidebar links respect drawer mode
- Allow deletion of categories when chat channel is not present
- Update sidebar links when promoted to admin
- Topic tracking stage error when no tags
- Make chat editor IDs not null
- Make ChatMessageUpdater check editing access for guardian
- Follow up to #7fca078
- Retention reminder is absolute and needs relative parent
- Welcome topic should be hidden on the /categories page as well
- Increase NGINX request header buffer
- Correctly render link title in draft preview
- Simplfies previous route handling
- Make can_send_private_messages not reliant on system user
- Add editing user ids to ChatMessage and ChatMessageRevision
- Bug with permanent delete modal
- Restore mention tab for experimental user nav
- When cloning themes via HTTP, try the original URI too
- Theme import error handling needs to happen inside the hijack block
- Prevents chat to enter in endless loop when getting 404
- Do not limit scope to direct messages
- The notification data on the client expects an identifier
- Minor alignment fix for mobile small-actions
- Write to group logs when a user is added to group by invite
- Fix circle indicator on “my posts”, color
- New Topic button is now correctly disabled in a category where they have no permissions, even when filtered by tag
- Correct the post numbers in
lastUnreadUrl
- Can’t change notification level of categories set to regular
- Evaluate all callbacks rather than override them
- Don’t notify topic author about small action posts
- Follow up fixes for password-reset error page
- Simplify display of multiple AJAX errors
- Don’t attempt to add user again to a group when syncing groups via SSO
- Ignore unique conflicts when backfilling sidebar defaults
- Ensure that custom {{action}} modifier works with actions hash
- A couple of topic elements are too wide
- Move group-box group name from class to data attribute
- Allow users already in automatic groups to log in
- Add theme-color
<meta>
tag when a dark scheme is selected - Variable name typo
- Reset error props on Topic model
- Log user addition/deletion from groups when they’re changed via DiscourseConnect
- Category chooser not updating selection when editing reviewable
- Correctly reset
controllerReady
prop - Use only first line from commit message
- Minor typo
- Set max-width on category logo img
- Clientside checks for personal_message_enabled_groups
- Set width on category logo img, not container
- Do not show a 404 page when visiting messages
- Correctly debounce various functions
- Calculate header offset once on load
- Skip all post validations if necessary
- Ensure minification does not break colocated connectors
- Do not include group less emojis in standard list
- Sidebar_list_destination on CurrentUserSerializer
- Ensure dropdown is above sibling labels
- Sidebar list destination for tracked and tags
- Exclude hidden topic posts and small actions from the RSS feed.
- User card focus state appearing on click
- Clarify security key copy
- Reset general_category_id if the general category was deleted
- Prevent layout shift while traversing dropdown
- Adjust the users per trust level cells in RTL mode
- Remove RS384 and RS512 cose ciphers
- Show timelines dates as clickable
- Action_code_path not being loaded for user-stream-item
- Missing category badge for category with color stored as 3-digit hex code
- Category sidebar link not active when filtered by none and all
- Replace prefixCSS with prefixElementColors
- Remove
nil
items before sorting the sha1 string array. - Reset related site settings on general category delete
- Status emoji was shown on the left on mobile
- Alignment of user status emoji on posts
- Correctly handle HTTP errors during dominant color calculation
- Typo
- Warning about sidebar prefix style
- User field styling on login
- Change text
- Staff action log ‘show details’ links
- Ensure local date format shortcuts work correctly
- Ensure poll type toggle buttons function correctly
- Deprecated settings should not override from UI
- Hide old PM settings
- Show error if field is same as password
- Remove public topic invite functionality
- Do not show welcome CTA banner if the welcome topic is deleted
- Ensure group inboxes in messages section is sorted by group name
- Determining local date same range is erroring when there is no date
- Arrive at topic must be hidden when
must_approve_users
- Improve error handling for
calculate_dominant_color!
- Do not prefill default site title value on wizard introduction step
- Make sure first admin users are added to auto groups
- Watched topic overcome muted category
- Ability to trigger emoji after indented code block
- Missing sidebar section link icon for PM tags
- Link to
discovery.category
in sidebar` - Skip quality title validations for static topics when edited by admin
- Count resulting bulk invites correctly
- Do not show user status on posts twice
- New general category changes preventing topic create
- Review sidebar link showing for users that can’t review
- Workaround a bug in the R2 gem to produce valid RTL CSS
- Allow email login for admins in staff-writes-only-mode
- Allow logout for admins in staff-writes-only-mode
- Remove zero-width space when not necessary
- Add better and more strict invite validators
- Revert recursively tag lookup with missing ancestor tags
- Missing theme upload should not break precompile process.
- Removed bookmark reminder alert for reminders set in the past
- Ensure closing sidebar tears down all callbacks.
- Quirks around starting new uploads when one was in progress
- Use
Category#category_text
for sidebar title - Migration typo for secure_uploads
- Ensure composer grippie stays visible
- Some composer messages were broken
- 404 sending beacon “leave all” on subfolder install
- Recursively tag topics with missing ancestor tags
- Make sure featured category topics are unique
- List_suggested_for conditional for personal_message_enabled_groups
- Better virtual keyboard detect on Android
- Update user results page when no users found
- Incorrect casing for CTA
- Query correct model in posts:inline_uploads
- Handle failed download when calculating image dominant color
- Sidebar categories for anonymous not being sorted by name
- Skip uncategorized category in sidebar when disabled
- Respect site settings for sidebar users, groups and badges link
- Hide experimental user navigation changes when disabled
- DB migration fails if old site setting has empty value
- Add missing string for reviewables in user menu when reviewable post is deleted
- Sidebar scroll fade on older iOS
- Fix GitHub onebox syntax highlight
- Overriding text with
admin_js.*
keys didn’t work - Empty inline BBCodes were broken
- Header offset position was not correct in some cases
- Do not attempt to serialize Tag objects when tagging disabled
- In-page anchor links were broken in subfolder setups
- Don’t delete previous messages when we’re inside the
sent_recently
window. - Correctly pass
invite_to_topic
param to invites - Ensure loading thumbnails are used in Safari
- Ensure low-resolution placeholders are used while loading images
- “Exit setup” link should exit the wizard and take user to homepage
- Regression with admin user delete dialog buttons
- Ensure
<script>
handlebars templates are namespaced correctly - Raw translation string in user status tooltip
- Theme components should work with empty locale files
- Use plugin’s defined name for es6 module path
- Ensure discovery-categories always clears PreloadStore
- Create single notification per post and user
- Do not show “create topics” notice on wizard route
- Keep private theme key secret from user
- Return next bookmarks page only if it exists
- Immediately show sql options when badge query is supplied
- Hide welcome topic banner as soon as the welcome topic is edited
- Transpile start-discourse.js to fix iOS12 support
- Allow .git end to miss from Git repo URL
- In prod builds classes may not be “instancesof” EmberObject
- Avoid leaking TopicTrackingState listeners due to sidebar
- Only seed general category on new sites
- Do not save default auto_delete_preference for bookmark
- Do not notify admins watching PM tags
- Do not invite whisper or small action posters
- Show tag chooser if can_tag_pms
- Preload topic_list correctly for categories+latest
- Skip topic allowed user for small actions
- Restore trust level when leaving group
- Reload styling changes for wizard styling step
- LocalJumpError : unexpected return
- Prevents iOS software keyboard to hide sk body
- Remove unexpected scrollbar from the new user menu
- Load admin-specific JS when compiling via ember-cli
- Sidebar hamburger panel dropdown not working for anonymous
- Avoid duplicate topic-list requests
- Hide sidebar toggle button when no sidebar
- Hide sidebar for anonymous when login required
- Backup/Restore didn’t use correct Redis namespace in multisite
- Ignore malformed HTML for title extraction
- Move show like logic to client side
- Track native class deps in discourseComputed
- Remove “–composer-height” style when composer is closed
- Improvements to like button for archived topics
- Allow
match_all_tags
to be passed as a URL param - Remove last_unread_post excerpt logic for bookmarks
- Allow extra whitespace when asking discobot to perform a bot command
- Limit new and existent staged users for email topics
- Show hide bootstrap mode notice in real time
- Disable Twitter onebox without API support
- Set --composer-height when the composer is in collapsed state
- Welcome topic title was not editable
- Recover from guardian check when deleting reviewable users.
- Ensure topic-list adapter never serializes
undefined
- Don’t raise on deleted topic in UpdateHotlinkedRaw
- Markdown-it parse fn requires an env arg with {} as default
- Regression with Categories nav item
- Reset flair group if user is removed from group
- Remove dead and large images from oneboxes
- Don’t preview color scheme if it’s not current user’s profile.
- Don’t notify editor when category or tag change
- Destroy all posts when hard deleting topic
- Swallow SSL errors when generating oneboxes
- Broken onebox images due to url normalization bugs
- Don’t raise an error if file not found in S3.
- Make word watcher work with nil strings
- The phpbbb import script was not parsing youtube tags
- Prevents android keyboard to be hidden instantly on sk focus
- Allow to add the same watched word with a different case
- Properly log all internal job failures
- Do not redeem expired invites on new user signup
- Secondary more section links not marked as active
- Handle actor not having preferences in UserCommScreener
- Don’t memoize site setting in guardian
- Scope memoization of category moderation per category
- Show update banner only once on categories with subcategory lists
- Unsubscribe from the
/reviewable_counts
channel when leaving the review-index route - Links incorrectly marked as active in Sidebar::MoreSectionLinks
- Avoid usage of dig when looking for job class
- Inject appEvents in ScreenTrack
- Use default locale for footer of embedded topics
- Do not overwrite top_menu site setting in wizard styling step
- Bugs with year selector and erase button
- Update word_watcher cache key following schema change
- Wizard last step “corporate” was not saving changes
- Bots could generate errors when slug generation method is encoded
- Accept HEAD requests for mandrill webhook
- Show bookmarks loading spinner correctly
- Ensure all public topic-query options can be used via Ember
- Ensure theme_uploads_local only has one
/
at beginning - Show button bar overflow on iPad & mobile
- UserCommScreener filter acting user ID from target user IDs
- Allow array values for custom fields in category params.
- Ensure error handlers render correctly without preload_json
- Publish membership update events when refreshing automatic groups.
- Support for group everyone in tag setting
- Sidebar is always disabled on wizard route
- Rejected emails should not be cleaned up before their logs
- Ensure uploads work when the user’s browser rewrites ellipsis
- Allow users to quote in closed topics
- Ensure admin templates are not used for non-admin controllers
- Don’t cook user fields to apply watched words
- Make sure user list is complete and sorted
- Make sure every user instance has correct status tracking counter
- Handle correctly the case when several subscribers call trackStatus() on the user model
- Correct mention paths in fixtures
- Linear gradient with stops makes R2 confused
- Improves handling of filter with invalid tag chars
- Don’t raise an error on onebox timeouts
- Title for keyboard shortcuts button in sidebar
- Notify tag watchers when publishing topic
- Make group members bulk operations consistent
- Pass sidebar custom link willDestroy
- Badge backfilling triggers :user_badge_granted DiscourseEvent
- Ensure injections are skipped when rehydrating stale models
- Do not redeem invites if user resets password
- When a user status update received other users statuses were getting cleared
- Correctly pluralize sidebar strings
-
isExistingIconId()
regressed in #17553 - Correctly invoke dynamic components by name
- Can’t hide overflow of d-editor-button-bar on mobile
- Use padding, not margin
- Use URI#merge to merge base and relative URLs
- Prevents multi-select to use noneItem for its list
- Restrict sidebar specific select kit CSS to sidebar
- Pass custom section willDestroy
- Skip job if tag edit notification is disabled
- Allow Symbol objects to be deserialized in PostRevision
- Check if tags edit notifications are disabled
- Unread count badge shown for topics that user is not tracking
- Support systems without SSE 4.2
- Allow Time objects to be deserialized in PostRevision
- Bug with multiselect user field validation
- CSS tweak and production position fix for miniprofiler
- Improve reliability of topic tracking state
- Change UserCommScreener to use user_ids
- Adjust topic avatar height to fix stickiness
- Mobile usability issues in crawler view
- Fixes few regressions in select-kit
- Detect firefox `< 89 as an unsupported browser
- Set resolver options on the legacy resolver
- Update flaky bulk invite spec
- Just inline the QUnit CSS in theme-test html
- Ensure category-tag filter routes are functioning
- Apply all watched words rules to user fields
- Ensure splash screen
<noscript>
is loaded for legacy browsers - Ensure splash screen logic is iOS12 compatible
- Add ember redirect for tags/:tag_id ->` tag/:tag_id
- Min/max username length limits weren’t validated
- Inputs using focusout regressed in #17345
- Allow connector template names to be camelCase
- Should be UploadReference instead of UploadReferences
- Ensure there is no limit on tag list settings
- Ensure pull-hotlinked can rewrite lone oneboxes
- Correct error in ip-lookup component definition
- Posts can belong to hard-deleted topics
- Replace onebox markdown when pulling hotlinked image
- Logout could fail due to cached user
- Correctly display
/admin/emails
errors - Experimental sidebar preferences link not shown for users
- Move
ember-cli-deprecation-workflow
to runtime deps - Incorrect
currentUser
could be cached for requests with API key - Vimeo regex pattern
- Max value for SiteSetting.delete_removed_posts_after
- Add clearfix back for admin contents
- Keep unique post checks separate for PMs vs topics
- Uploading large files (>
5GB) failed when
enable_direct_s3_uploads` is enabled - Didn’t delete upload stub when a new upload is created
- Markdown handling failed on empty attribute value
- Fix bulk_invite flaky tests
- Improve mixcloud oneboxing
- Defer removing the splash screen until the window load event fires take 3
- Skip the window load event for now
- Defer removing the splash screen until the window load event fires take 2
- Remove splash screen in no-js view take 2
- Reverts #17225 & #17223
- Uninitialized class variable error in sidekiq
- Typo in log_thread
- Defer removing the splash screen until the window load event fires
- Remove splash screen in no-js view
- Use first supported type item when JSON-LD returns array
- Use bookmarkable pattern for bookmark cleanup
- In
[DELETE]
/admin/user/:id.json, parse boolean block_* parameter correctly - DarkMode availiability detection was broken
- 99999 is not a valid TCP port
- Tag groups were not visible to allowed group members
- Remove leftover uses of ember_jquery
- Defer scripts on theme-tests route
- Quoting local dates bbcode regeneration
- Link to “recently used devices” in suspicious_login email notification
- Precompile admin-plugins.js (#17154)
- Add wizard.js to ember-cli assets
- Precompile start-discourse.js
- Stop logging blank and invalid CSP reports
- Skip invalid values in site setting upload references migration
- Add missing pluralization rules for Bosnian
- Extra-locale merging didn’t account for fallbacks
- Double selecting replies
- Wizard css was overriding some of core css
- Make watched words uploads work as intended
- JSON Schema editor layout issue with subarrays
- Ensure presence endpoints don’t break the session
- Ensure emoji is inserted in the correct location
- Handle sites with more than 1 JSON-LD element
- Whisper available when reply to topic
- Allow all subdomains of localhost in development
- NavItem and Composer prop overriding was broken
- Rake tasks related to uploads were broken
- Remove tags from experimental sidebar on notification level changed
- Ensure that extract_upload_ids works with all short URLs
- Skip CSRF token check on webhook routes
- Display translated fallback as the group name for custom emoji groups
- Allows image to be displayed at the right size
- Twitter onebox keeps whitespace for expanded links
- Send quote notifications to correct users when prioritizing full names
- Cleanup invalid historic site setting data
- Handle empty string in theme_settings for upload_references
- Make disabling TLS in mail possible again
- Escape youtube title when constructing onebox preview html
- Missing tracked sub category topics from tracked topic list
- Correctly handle invalid auth cookies
- Seed multisite dbs after migrating in development
- Email Send post has already been taken error
- Restore automatic style preview in wizard
- DiscourseConnect login did not auto approve based on email domain
- Ensures composer is not pre-filled with none/all tags
- Don’t throw errors on wizard dropdowns
- Approves user when redeeming an invite for invites only sites
- Do not use SVGs for twitter:image metadata
- Keep composer draft when go back and forth between PM and New Topic.
- Harmonise category body class generation on server/client
- Show suspended by user
- Make f query param sticky when navigating between nav items
- Topic list nav items count not respecting tracked filter.
- Change event target on select kit row
- Tracked filter did not account for max_category_nesting of 3
- Fallback to default push notification icon if none exists
- Do not looks for plugin test js in production
- Add bookmark quick access tests and fix username
- Correctly handle nested quotes in to-markdown
- Respect user timezone in emails about silencing and suspending
- Changing date should recompute input
- Incorrect URL for bookmark quick action menu
- Further refine duplicate bookmark delete query
- Delete extraneous topic bookmarks
- InlineOneboxer watched word censor error
- Apply censored words to inline onebox
- Improve bookmark-icon title
- Limits for PM and group header search
- Skip pulling hotlinked images for nil user bio
- Applying default user options didn’t work for boolean flags
- Site setting changes for boolean should be logged as true/false
- Refactor placement of plugin outlet & index use
- Clear inline onebox cache when a post is rebaked
- Pass empty hash for view locals by default
- Apply ‘allowed_href_schemes’ to all src/srcset attributes
- Allow users to select “regular” categories
- Use CSS transition to make room for composer
-
acted
state in post action like could desync with multiple likes - Apply ‘hide email account’ for invites
- Prevent all kinds of login in readonly mode
- Add safari 12 to ember-cli build targets in production
- Make read only errors respect the request format
- Handle quote rendering for external Discourse instance
- Checked allowed tag when editing Reviewables
- Auto margins cause too-narrow content
- Show error message if extensions cannot be created
- Do not log category custom fields changes if the value is unchanged
- Create PostgreSQL extensions before migrating
- Use our header value instead of custom header on duplicates
- Use registered bookmarkables for BookmarkManager
- Allow .ics for polymorphic bookmarks
- Store scroll position when using Back button
- Apply watched words to user fields
- Polymorphic bookmarks for bookmark report
- Use hidden site setting for batch presign rate limit
- Use polymorphic bookmarks for in:bookmarks search
- Add support for pipelined and multi redis commands
- Background like count update didn’t account for own user actions
- Prioritize names and usernames consistently
- Limit pan event handler to fix scrolling in TOC
- Use proper ActiveRecord method in import scripts
- Ensures d-popover closes when clicking on popper
- Polymorphic bookmarks for new user narrative bot
- Prevents double user_badge_granted event
- Prevent admin theme settings from blowing up
- Validate post’s polls as acting user
- Topic view breaks with topic timer to publish to restricted category.
- Users with unicode usernames unable to load more topics in activity
- Add email to admin user list when show_emails is enabled
- Missing translation when translation override contained a
%{key}
- Skip invalid custom_field json in hotlinked_media migration
- Validate permalink_normalizations setting
- Handle enum types during database restore
- Destroys instance when hiding date popover
- Handle invalid JSON from downloaded_images custom fields
- Handle duplicates in hotlinked_media migration
- Updated filtered replies when replies exist
- Ensure post_hotlinked_media index does not exceed size limit
- Avoid concurrent usage of AR models
- Closes popover when downloading calendar
- Uses tippy for popover
- Show group in filter only if user can see the members list.
- Ensure values are escaped in select-kit dropdowns
- Prepare data before creating chart to avoid side effect
- Remove refresh seconds override on cache_critical_dns
- Cache_critical_dns - add TLS support for Redis healthcheck
- Prefers computed over discourseComputed
- Correctly handle the print param on topics#show.
- Check 2FA is disabled before enabling DiscourseConnect.
- Properly clean Thunderbird emails, don’t remove links
- Ensure lazy-load-images does not remove entire
img.style
- Use username for nested quotes
- Show footer on the categories page
- Replaces discourseComputed by computed
- Showing icons on future-date-input options
- Do not error when json-serialized cookies are used
- Show footer at the end of topic list
- Add missing translations for medium format
- Skip upload extension validation when changing security
- Don’t allow DiscourseConnect logins in readonly mode
- Return a 404 when a sitemap request doesn’t have a format
- Ensure ‘crop’ always returns requested dimensions
- Check if bookmarkable column exists before adding
- Issues with incorrect unread and private message topic tracking state
- Warn_exception expect hash as second arg
- Show dismiss all modal in user-notifications page
- Do not show visibility topic if visible
- Don’t validate and render the polls inside a quoted post.
- Email styles for Gmail app dark mode
- Href attribute for post-date link
- Add href to post-date link element
- Prevents error with emoji autocomplete
- Update dark mode emails styles
- Ensure allowed_tags and allowed_tag_groups can be removed
- Email logs not finding attached incoming email
- Ensure category_required_tag_groups are destroyed with tag_groups
- Fall back to clipboard.writeText if ClipboardItem not supported
- Buggy topic scrolling on iOS 12
- Serialize permissions for everyone group
- Clean required category tag groups with invalid tag_group ids
- Ensure legacy browser handling uses full
<noscript>
content - Hide user notifications tab for moderator users.
- Uppy-image-uploader and uppy-upload mixin minor issues
- Prevent duplicates in API scope allowed URLs
- Include routes in an API scope’s allowed URLs even if they have no format constraints
- Exclude automatic anchors from search index
- Limit max word length in search index
- Include crawler content on old mobile browsers
- Users watching tags in open tag groups not notified
- No need to hide “Later This Week” when showing “Later Today”
- Ensure images do not change height when loading is complete
- Redirect user to topic they were invited to
- Do not attempt to pull_hotlinked_image for raw_html
- Auto-generated emails causing group SMTP email storm
- 500 error when creating a user with an integer username
- Update ‘posted’ column on post owner change
- Review queue scrolling is not working after take an action.
- Stop sorting options in date-pickers on the bookmark modal and the topic-timers modal
- Can_permanently_delete should check for admin
- Abort theme creation if unable to create uploads
- Build correct post and topic shareUrl
- Ensure ActiveSupport::Inflector is used by Zeitwerk
- Hide tag count in tag filter when in a category context
- Flips popper when top position is chosen incorrectly
- Close user/group card on esc key press
- Don’t put the whole sidekiq conf in
to_prepare
- Maintain HTML ``<img` when downloading remote images
- Validate category tag restrictions before sending new topics to review
- Resetting selectable avatars was failing
- Show restricted groups warning when necessary
- Do not wrap unaccent around tsqueries
- Bug setting notification level to muted/ignored on user page
- Add
errors
field if group update confirmation - Don’t attempt to focus .title in topic-list-item if it doesn’t exist
- Closing the picker shouldn’t propagate the pointer event
- Make sure max_oneboxes_per_post is enforced
- Allow
@ember/test
import in embercli prod builds - Don’t listen for focus/blur events if the topic-list opts out of last visited focus
- Do not raise if title cannot be crawled
- Ensure all/none subcategory filters work correctly with tags
- Issue 404 for invalid
/tags/c/...
routes - Add replaceAll to browser-detect
- Staff should not be able to PM groups that “Nobody” can message
- When using Ember CLI, plugin admin code was not being loaded in tests
- Reset last sent for existent bookmarks
- Ember test imports, again
- Ember test entries in discourse-loader
- Show bookmark options by default when editing
- Remove racing requests for admin users
- Skip ember-cli build memory optimisation for multiple rake tasks
- Always include the first poster when converting to PM
- Do not run Ember CLI chunk files through babel twice
- J/K post stream navigation inconsistencies
- Return nil when RetrieveTitle.crawl fails
- Update topic route id param
- Invalidate site settings cache in all instances
- Update group inbox notifications on archive/unarchive
- Apply onebox blocked domain checks on every redirect
- Buggy jump-to-post on Firefox
- Include engine mount path for API scopes added by plugins
- Allow admins to change user ignore list
- Only display the first listed price
- Make reply-ids public by fixing a typo
- Show 404 html on /posts/:id/raw and /p/:id
- Update and rebake uses of the old centralized avatar service
- Prevents self-reference to discoveryTopics from discoveryTopics
- Better 0 file size detection and logging
- Support new layout on Amazon product pages
- IOS do not have working push notifications yet
- Save email rejection error class names for incoming email logs
- Correctly notifies subscribers with post_action_destroyer
- Calculate docking - include offset of main
- Indirectly muted categories for topic-tracking-state
- Minor indentation fix for fullscreen code
- Setting emoji filter from initial autocomplete
- Make sure html_raw is hoisted in custom markdown cook function
- On mobile, overflow on post controls if there are many buttons
- Respect the cooldown window when editing a flagged topic.
- New indirectly muted category
- Avoid validations when destroying posts
- Move selectable_avatars_mode_validator_spec to new directory
- Use the category’s text-only description in the category-chooser
- Sanitize parameters provided to user actions
- Dev subfolder session cookies
- Don’t warn on empty .discourse-compatibility
- Don’t advance draft sequence when editing topic title
- Respect text direction inside quotes
- Show invite button if users can be invited
- Show links with 0 clicks in top links section
- Allow none category if default is none
- Use fresh theme setting values when compiling stylesheets
- Ensure category/tag classes are added and removed correctly
- Conform EmailLog#bounce_error_code to RFC
- Increase FinalDestination MAX_REQUEST_SIZE_BYTES
- Count clicks on links with query params
- ReplyByEmailAddressValidator should leverage EmailAddressValidator
- Update
can_see_members
attribute after leaving a group. - Handle
nil
values inDistributedCache#defer_get_set
- Don’t accept accents in slug if generation_method == ‘ascii’
- Load short upload URLs only once
- Unable to filter user directory when sorted by user field.
- Do not increase invite count for current user
- Redis may not be availiable on Redis initializer
- Tag show - hide no topics footer until there are no topics
- Post migration to fix custom emojis with secure URL
- Update application_helper logic now that Ember CLI is default
- Ensure theme JavaScript cache get consistent SHA1 digest
- Cooking custom emojis should not use a secure URL
- Default settings for phpBB3 import were broken
- Update user stat counts when post/topic visibility changes.
- Subcategory filter limits results
- Defer upload extension check for iOS
- Inline onebox for github
- Topic tracking state for tags
- Use
prev_period
data ifprev30Days
value is not available. - Avoid errors when updating post and topic count user stats.
- Replace Twitter handles one at a time
- Sort group owners and members together
- Clear drafts only when post is created by real user
- Avoid raising error when updating post and topic count user stats.
- Explicitly set
allowfullscreen
on Wistia Oneboxes - Overridden MessageFormat fallbacks
- Align progress text
- Further reduce the input of to_tsvector
- Do not override mobile scroll on docked progress element
- User option fields definition was being mutated on save
- Handle addressable error when parsing an invalid URL.
- Add DB constraints for post & topic counter cache for
UserStat
- Allow native lazy loading attribute for quoted avatar image
- Better param guards for
wiki
andpost_type
posts controller. - Caret moves to a wrong position when uploading an image via toolbar
- Table pasting issues with uppy
- Liking whispers should not contribute to
Topic#like_count
. - Canonical Message-ID was incorrect for some cases
- Regression in timezone name localizations
- Qunit tests were failing if your node was defaulting to IPV6
- Aria label for popup-input-tip
- Post mover validation color and message
- Image sizes were slightly off in some cases
- Composer fields on small desktop sizes
- Remove svg icons from webmanifest shortcuts
- Some options on the topic timer modal weren’t timezone aware
- Show the
Next Monday
label instead ofMonday
on Sundays - Remove duplicated word from client strings
UX Changes
- Add btn-primary class on email confirm page
- Change language from “Do Not Disturb” to “Pause Notifications”
- Improve use of space for readability of admin email modal
- More descriptive sidebar titles, casing
- Fix the positioning of topic admin popup menu
- Remove unused strings
- Fix for misalignment in autocomplete
- Improve copy for contact email and url description
- Switch webkit to pseudoelement for fadeout
- Setup wizard copy changes and vertically stack logo fields
- Temporarily revert autocomplete highlight change
- Update classname to something non-conflicting
- Wizard Step Enhancements
- Redesign and refactor penalty modals
- Hashtag autocomplete styling
- Rename “Do Not Disturb” to “Pause Notifications”
- Add tooltip why file upload is disabled
- Change color of preview card in channels
- Update small action text to use sentence case
- Add new boxshadow variation
- Change highlight colour
- Include space between elements in kbd tag
- More consistent style for the new topic banner
- Add lightbox information to max image width/height settings
- Exclude child catgegories of muted category in similar to search
- Omit instruction note when
email_time_window_mins
is off - Improve nav for user messages on small screens
- Adjust emoji size in mentions
- Exclude search ignored and user muted categories in similarity search
- Refactor & update small post styles
- Add target to start discussion link
- Improve UI of group delete dialog
- Removes silence from chat message actions
- Chat index refactor
- Align user page dismiss notifications btn with new navigation
- Add instructions for multiple category emails
- Chat index UX fixes
- Reworks channel index (drawer and mobile)
- Alters chat icon behavior on drawer and mobile
- Show educational messages for the likes tab when it’s empty
- Improve mention styling, simplify
- Styling backwards compatibility for old user page navigation
- Style adjustments & addition of login button on admin invite page
- Use solid envelope icon for consistency
- Improve mention styling
- Update “education.dominating_topic” and raise default percentage
- Ensures browse view input is focused on page load
- Do not automatically refresh page while composer is open
- Removed tracked section link from Community section in Sidebar
- Padding adjustment for empty channel message
- Reorganize user prefs for experimental user nav
- User message controls need some padding
- Better email login pages
- Mark pre-populated dropdowns as not required
- Redesign of chat settings + add chat retention info
- Improves arrow support in chat emoji picker
- Move horiz nav margin to padding
- Force sidebar to occupy full height
- Add channel header offset to browse page height
- Adds chat section in settings and hide it in plugins
- More contrast for sidebar counts
- Better password reset error page
- Tweaks to msg actions menu
- Replace concatenated translation
- Fix spelling of “Sidekiq”
- Chat index tweaks
- Fix spelling and capitalization
- Change ordering of categories shown in sidebar
- Less link-like unread/new color in sidebar
- Add back button in chat browse screen on mobile
- Scope chat-channel-title hover effect
- Muted style for entire chat section link when muted
- Increase padding of back button in chat draft screen
- Hide new/unread counts in sidebar, use dot by default
- Hide welcome topic from admins as well if not edited
- Change placement of welcome cta
- Update and consolodate published page styles
- Ensure image size is maintained even after loading error
- Switch no categories/tags configured text in sidebar to a link
- Fix grammar typo in trust_level_unlocked_tip
- Change emoji graphic on invite error page
- Make whole category box clickable
- Allow linebreaks mid-word in github onebox file paths
- Use a friendlier educational message
- Send notification of type
replied
to topic author if they’re watching the topic - Drag new user menus, scroll primary user nav
- Fix user status display in autocomplete
- Stop falling back to topic image on embeds
- Improve autocomplete styling
- Show category edit button when in tag intersection
- Extend horizontal user nav to all user pages
- Correct capitalization
- Fix alt text cancel button in dark mode
- Change button to grey
- Simplify bootstrap mode visuals
- Prevent reply to name from being longer than 400px
- Welcome CTA edits
- Theme setting highlight update
- Horitzontal scroll controls for new user nav
- Hide keyboard shortcuts on mobile
- Onboarding edits
- Conditionally display sidebar tags section for user
- Conditionally hide sidebar categories section for user
- Hide tags section in sidebar when user has no visible tags
- Danger colour update
- Updated styles for user nav with sidebar
- Hide tags section from anonymous user when site has no tags
- Correct colour to nav instead of danger
- Default to dark category logo on dark schemes
- Add more spacing to tab btns
- Ensures we don’t focus invisible button in sidebar
-
More...
→ - Hide sidebar on 2FA route
- Change notifications nav icon in user page to bell
- Add max-width to digest email, format erb
- Fix post placeholder on mobile
- Move dismiss button on the bottom to the right of the footer message
- Fix composer position on Firefox for Android
- Add flag icon for review section link in sidebar
- Correct padding and height for sidebar section message
- Add icons to all section links in Sidebar
- Restore full sized composer on mobile
- Style changes to match updates
- Restrict width of “reply where” modal
- Fix cut-off accents in sidebar headings
- Fix topic stream placeholders
- Truncate site text titles in a cleaner way
- Add short site description for anonymous user in sidebar
- Clicking on a button in sidebar on mobile should collapse it
- Add ability to scroll when height is limited
- Use dominant color as image loading placeholder
- Add icons to all navigation link on user page
- Welcome topic CTA adjustments
- Use the same text for linking to more categories and tags in sidebar
- Avoid showing text cursor on unselectables
- Remove height CSS preventing sidebar touch scrolling on mobile
- Improve styling of sidebar on mobile
- Do not mark activity table heading as a cursor
- Retry “left-align title with content for sidebar (#18202)”
- Improve composer toolbar flexibility
- Left-align title with content for sidebar
- Sidebar more link for categories & tags
- Switch wizard SVG colors for dark mode
- Trigger tooltips on click for touch devices
- Change
posted
notification icon todiscourse-bell-exclamation
- Make user status emoji on post stream smaller
- Fix width of preview pane to fix scroll
- Close the revamped user menu when opening modals
- Show information about badge errors when saving
- Improve
max-height
value on toolbar popup menu - Increase sidebar fontsize on mobile
- Remove focus on hamburger icon after toggle
- Fix styles for the wizard congrats step
- Remove confusing fallback locale warning
- More apparent focus styles for sidebar headers
- Revert sidebar scrollbar repositioning
- Sidebar styling, spacing consistency, etc
- Hide background image in crawler view
- Add badges section link to community section.
- Remove sidebar section header background highlight on focus
- Do not show site header on wizard pages
- Fix topic admin menu hidden on narrow screens
- Adjust scrollbar behaviour in sidebar
- Hide chat image overflow
- Correctly center the reply-where modal
- Fix typo in a blank page copy
- Improve empty state copy on the activity/replies page
- Show blank page placeholder instead of the blue panel that says “No Activity”
- Don’t shrink avatar/number box
- Revamp styling of sidebar
- Make popup menu options scroll on limited screen height
- Sort tags alphabetically in sidebar
- Sort categories alphabetically in Sidebar
- Make category section link icons consistent with Sidebar’s interface
- Make Sidebar more consistent with user menu on mobile
- Add flat text button styles and use in date/time cancel modal
- Improve safe-mode usability
- Reduce font-size of sidebar section link suffix icon
- Improve styles of the user status message component
- Remove extraneous margins in profile pic modal
- Add left sidebar toggle when sidebar enabled
- Improve empty state copy on the activity/topics page
- Display gap between tag sort options on PMs
- Move About and FAQ links into secondary section in More… dropdown
- Update register admin wizard page styles
- Fix chat lock icon position and background
- Account for iPad hub nav when calculating top
- Move links in Sidebar footer under community section
- Add ellipsis for long category names in category chooser dropdown
- Change unrelated icon in the CTA Signup prompt
- Remove count from more section links
- Adjust sidebar margin to avoid composer height
- Fix extra spacing for group metadata in user profile
- Updated account activation page design
- Add the TOS disclaimer to the invite signup
- Only set user bookmarks loading state when loading
- Sidebar appearance shouldn’t shrink fonts
- Sidebar focus styles, remove hover for touch
- Reduce number of links displayed in Community by default
- Copy change
- Sidebar transition and styling adjustments
- Add bulk-select to mobile topic lists
- Replace site-settings link with “Admin” link in sidebar
- Make sidebar hamburger menu occupy full width
- Only transition header on sidebar toggle
- Prevent color flicker on dark themes
- Docking/undocking sidebar toggles sidebar hamburger dropdown
- Set theme color on splash a bit earlier
- Let hamburger-sidebar restrict child width
- Updates sign up CTA copy
- Prevent jitter in some onebox images
- Properly size emoji in sidebar section link text
- Remove bookmarks link from community section
- Rename Sidebar ‘Topics’ section to ‘Community’
- Set width on hamburger menu drop down to prevent overflow
- Only hide section header icons when sidebar is pinned on Desktop
- Option to account for the sidebar in the breakpoint mixin
- Plus icon for sidebar messages section header
- Prevent sidebar count from wrapping
- Prevent long toolbars from resizing the column
- Make space for scrollbar in mini-profiler
- Increase text size for mobile exp sidebar
- Remove .btn-default from admin btn
- Prevent pre tag from making posts too wide
- Better account-created page
- Fixes navigation 1px jitter
- Add classes to create-account modal for easier customization
- Fix exp sidebar toggle alignment, add hovers
- Skip length check on reply drafts
- Less janky animation for experimental sidebar
- Add border-box to stop padding from overflow
- Makes splash dots use theme colors
- A save should always have a cancel action
- Don’t animate experimental sidebar on reload
- Improve experimental sidebar transitions
- Switch highlight/select colours in select-kit
- Prevent experimental sidebar scroll jumps
- Splash should always stick to top left corner of the viewport
- Staff notice should utilize full post width
- Prevent overlap between splash loader and splash text on some browsers take 2
- Prevent overlap between splash loader and splash text on some browsers
- Hide user menu bookmark link when experimental sidebar is enabled
- Update categories/tags in sidebar only after saving.
- Enforce bullet category style in sidebar
- Mobile experimental sidebar improvement
- Remove hardcoded colour value
- Missing specificity
- Retain category badge style on categories select kit.
- Makes splash screen setting enabled by default
- Use discourse-ready as a baseline for removing the splash
- Made “Dismiss New” button clickable by replacing
float
method. - Hide sidebar li overflow, remove title margin
- Improve experimental sidebar scrollbar
- Minor experimental sidebar alignment changes
- Remove experimental sidebar notification text
- Reduces splash animation delay
- Core adjustments and styles for the experimental sidebar
- Update color on arrow tippy box
- Change copy for user-selector placeholder
- Update topics stats automatically
- Allow more mobile topic elements to be tapped
- Truncate long category names in sidebar
- Makes splash setting visible
- Splash screen v1 improvements
- Improve group page grid sizes
- Introduces a splash screen behind a hidden site setting
- Change wording for ‘regular’ categories to ‘normal’
- Skip special paste handling in email-group-user-chooser when maximum is 1
- Remove extra whitespace in github onebox
- Remove limit for emoji search in composer
- Larger images in mobile emoji picker
- Hide select-kits when the parent element is outside the viewport
- Don’t tether popper to the viewport if reference is out of the viewport
- Update chat menu popover styling
- Show message if rebake fails
- Make YouTube playlist onebox full width to match video onebox
- Reordered topics in INSTALL-cloud.md to add a ‘Before you start’ section
- Align the trash button on the bookmark modal
- Update hljs-builtin-name colour
- Update hljs-builtin-name highlight
- Consistent spacing on group interaction form
- Fix status icon size in suggested topics
- Add back link on taggroup page
- Fix various login modal issues on mobile
- Allows to close popover on escape
- Prevent user grid blowout on full page search
- Remove horizontal scoll from narrow screens
- Ensure
#main-outlet-wrapper
takes full width. - Fix hover state for flat buttons in WCAG schemes
- Add a brief accessibility summary to the README
- Display user.username on user cards
- Reset
mark
element highlight for WCAG schemes - Add time_shortcut.now translation
- Improve the list of options on the slow mode modal
- Move post date under title in share-modal
- Larger clickable area for mobile topic list
- Fix topic admin menu layout for short screens
- Tweak topic-admin-menu alignment/size
- Prevent group mention from wrapping
- Ask for confirmation when deleting a post using shortcut
- Fix a few WCAG color scheme contrast issues
- Organize topic admin menu into groups
- Show all pie legend options for long polls
- Add title to read time stats from user page
- More descriptive moderator manage setting
- Improves select-kit body placement when vertical space is short
- Add more detail to remove full quote site setting description
- Minor email group chooser alignment fix
- Minor adjustment to login/signup close position
- Improve small action button alignment
- Minor mobile topic list alignment adjustments
- Make full topic row clickable on mobile
- Add margin to security key button
- Less specific styling for Auth logins
- Apply crawler styling to
<noscript>
content - Make header/footer HTML consistent for crawler and noscript
- Make crawler view usable under different color schemes
- Inline code block edit
- Update crawler view styles to be more readable
- Require a password for invited users
- Add details button to admin bounced/rejected lists
- Use committed date for GitHub oneboxes
- Indicate that “Show replies” button does not work for deleted posts
- Cleaner messages for empty state on the user activity topics page
- Styling changes to global banner
- Hide group avatar flair block if it’s empty
- Tweak the “new” badge size, position, color
- Allow d-editor to be shrunk
- Print view always shows 0 votes, hide it
- Fix misaligned avatar
- Add description to the 2FA page when adding new admins
- Differentiate ‘emails disabled’ notice for ‘yes’ and ‘non-staff’
- Remove loading spinner from emoji picker
- Change color functions to match original primary, tertiary functions
- Improve timeline touch hit areas
- Add discourse-follow to official plugin list
- Display post count badge even when user has only two posts.
- Fix alignment on full page search
- Styleguide changes & color variable additions
- Change styling of admin bulk invite button
- Add ‘update’ to theme error message
- Prevent user menu overflow on tiny screens
- Control whitespace on categories topic list
- Use autocomplete=“off” for date-picker
- Improve default_code_lang copy
- Crawler view always shows 0 votes, hide count
- Add whos-online to official plugin list
- Search spacing & position changes
- Fix login header z-index
- Support
type=search
inputs in inline forms - Highlight “Users” link when on adminUser path
- Slightly tweak admin/customize/themes CSS
- Add hover style to refresh-page dismiss button
- Add text-decoration to
<ins>
and<del>
- Try select-kit autocomplete Chrome fix
Security Changes
- Convert send_digest to a post request
- Use rstrip instead of regex gsub to prevent ReDOS
- Delete email tokens when a user’s email is changed or deleted
- Check the length of raw post body
- Escape quotes in tag description when rendering
- Don’t expose user post counts to users who can’t see the topic
- Sanitize PendingPost titles before rendering to prevent XSS
- BCC active user emails from group SMTP
- Restrict unlisted topic creation
- Filter tags in user notifications for visibility
- Limit chat message char length
- Hide notifications for inaccessible topics
- Prevent email from being nil in InviteRedeemer
- Fix invite link email validation
- Expand and improve SSRF Protections
- Restrict display of topic titles associated with user badges
- Prevent arbitrary file write when decompressing files
- Moderator shouldn’t be able to import a theme via API
- Handle incomplete quote bbcode
- Limit user profile field length
- Limit email invitations to topic
- Prevent abuse of the update_activation_email route
- Do not cache error responses for static assets
- Bump Rails to 7.0.3.1
- Validate email constraints when trying to redeem an invite
- Banner-info
- Remove auto approval when redeeming an invite
- Ensure user-agent-based responses are cached separately
- Update Nokogiri to 1.13.4.
- Category group permissions leaked to normal users.
- Avoid leaking private group name when viewing category.
- Hide private categories in user activity export
- Onebox response timeout and size limit
Performance
- Use user-specific channel for message-bus logout
- Avoid running redundant bookmarks query for anon viewing topic
- Memoize topic level checks in PostGuardian
- Remove redundant DB queries from
TopicView
- Make chat mention notifications async.
- Ignore repeated PresenceChannel leave/join calls
- Optimize the performance of
TopicLink.topic_map
query - Fix N+1 queries problem on topic view page
- Fix N+1 queries on /categories route
- Remove unnecessary query from
TopicQuery.remove_muted_tags
- Fix N+1 queries when serializing topic posters
- Stop serializing user in
ChatChannelSerializer#current_user_membership
- Use
MessageBus.last_ids
instead ofMessageBus.last_id
for chat - Remove unnecessary SQL UNION query when search public channels
- Add index for chat unread counts query
- Remove unnecessary DB queries when preloading for chat
- Perform only one category update when creating a new topic
- Improve
Accept
header handling for stylesheets and theme-js - Add GlobalSetting to redirect avatars instead of proxying
- Do not cancel debounce and prevents popper on scroll
- Update
Group#user_count
counter cache outside DB transaction - Stop downloading images from post processor and lean on uploads
- Speed up S3 inventory updates
- Adjust node memory threshold for assets:precompile
- Limits use of redis cache while building emojis list
- Disable auto-import sourcemaps in production
- Make stylesheet hashes consistent between deploys
- Update
s3:expire_missing_assets
to delete in batches - Ensure JS chunk content and filenames are deterministic
- Correct should_skip? logic in
s3:upload
- Exclude anon sidebar tags in site serializer for logged in user
- Move dominant color calculation to separate job
- Do not double bundle common langs in hljs bundle
- Skip image placeholders when secure_media is enabled
- Rely on preload for first_post for TopicBookmarkable
- Minify admin and wizard JS bundles to match app
- Only load the current user’s topic_user for bookmarks list
- Add exponential backoff for DistributedMutex
- Add index for TopicTimer#topic_id
- Avoid extra object created on each User#validatable_user_fields call
- Remove server plugin outlet for post
- Remove total for time to first response report.
- Improve to-markdown speed, update the code
- Lazily lookup emoji-picker selected-diversity
- Speed up secure media and ACL sync rake tasks
- Update all user_histories with one query in UserDestroyer
- Speed up admin user list main query
- Throttle updates to API key last_used_at
- Update UserDestroyer to fetch histories and actions in batch
- Fix n+1 for categories + featured topics
- Avoid following links in topic RSS feeds
- Only subscribe to
/new
when logged in - Perform all cached counting in background
- Bump message_bus to 4.2
- Use a shared message for replies to tracked topics
- Load all common passwords in one go
- Reduce anon_polling_interval to match long_polling_interval
- Bump message_bus to 4.1
- Skip running ‘auto_leave’ during every PresenceChannel method
- Introduce site/global emoji cache
- Reduce number of EXPIRE calls from CachedCounting
- Use Redis
SET EX GET
instead of LUA script for counting - Terminate
rake
process duringember build
- Update ember-auto-import and webpack
- Update ember-auto-import
- Attempts to resort to compute markdown in less cases
- Prevents any fast edit work if you can’t edit
Accessibility
- Improve “my posts” sidebar link title
- Improved titles for chat in the sidebar
- Add title & aria-expanded for sidebar toggle
- Improve the accessibility of sidebar content
- Add live area for search menu, labels
- Improve accessibility for saved status message
- Add keyboard support to youtube embeds
- Add title to drafts remove icon button
- Add
for
attributes for location, website in profile - Sortable header elements should have pointer
- Add
aria-label
to topic post badges - Return focus to header search button upon escape of search
- Improve group search accessibility
- Improve user card appearance in WHCM
- Add aria labels for posts in group activity
- Improve topic timeline in WHCM
- Bookmarks modal
- Add
href
to frequent poster avatars - Improve accessibility in WHCM themes
- Add more information to the “reply to” button label.
- Signal the toggle header can reorder table elements.
- Trap focus on auth security modal
- Make input popup errors keyboard-accessible
- Fix tab order in “Feature topic” modal
- Make “Load parent post” element accessible
- Set role=presentation if alt attr is missing
- Improve user card accessibility
- Multiple fixes to user stream items
- Associate label with input in bookmark modal
- Add aria label to composer messages
Esc
button - Accessible full-screen and minimize composer buttons
- Use button in
d-modal-cancel
component - Don’t include aria on reply count
span
element - Add clearer focus states for date picker elements
- Keep composer as focused element when dismissing Link modal via keyboard
- Add focus state for advanced search toggles
- Improve group box hover highlight on dark schemes
- Ensures featured topic btn is focused when modal closes
- Makes toolbar tabindex independent from its context
- Moves anchor rendering out of conditional to prevent losing focus
- Add keyboard support for do-not-disturb modal
- Keyboard access for
/u
table headings - Fix WCAG contrast for notification header
- Make user avatars in posts stream untabbable
- Improve accessibility of embedded replies below post
- Improve accessibility of likes/read count post buttons
- Change tabLoc tagName from
<a>
to<span>
- Include username in aria-label of post region
- Make the views column in topics lists tabbable
- Improve topic entrance modal
- Add
aria-label
s to topics list column headers - Add aria-label to the Replies cell in topics list
- Focus last viewed topic in topic lists (take 3)
- Focus last viewed topic in topic lists
- Use dynamic type scaling on iOS devices
- Use
autocomplete=off
more widely - Use
autocomplete="off"
for composer title