Discourse Version 3.0

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 and read_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 whenenable_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 in DistributedCache#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 if prev30Days 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 and post_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 of Monday 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... More` in Sidebar
  • 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 to discourse-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 of MessageBus.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 during ember 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-labels 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
8 Likes