Discourse tracks email bounces to ensure that we stop sending email to an address that is repeatedly failing. Now, whenever an email is successful a small we erode the bounce score. This helps auto correct so users continue to receive email even if there is an erratic failure or two.
Split Themes and Components
Continuing our work to improve Discourse theming we’ve started to split themes and components. Each customization is either a theme or a component, it cannot be both. Users are now prompted to choose between a theme or a component when it is created. Note: splitting themes and components is ongoing and more changes will follow in Discourse 2.2.
@neil wrote a new importer to that uses the Zendesk API to move content to Discourse. See our list of importers to discover more.
Rails Plugin Generator
Writing a new Discourse plugin? Take advantage of the new plugin generator to create the initial files and directory structure. See Rails plugin generator for all the details.
But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.
Security Updates
This beta includes 2 security fix for issues reported by our community and HackerOne.
Prevents XSS in local-dates
Prevent users from modifying custom fields
Plugin improvements
Data Explorer
Don’t save placeholder text if description is empty
Sort queries by last_run_at as default
Improved username alignment
Render creation date instead of run date if query was never run
Make entire row clickable
Improve padding while editing a query and text-field width consistency
Force refresh model to update last_run_at after a query is run
Checklist
Added translations files (can now be translated via Transifex
Voting
Update vote counts only if voters are visible
Onebox
Do not load instagram video instead just display preview image
Azure-AD
Don’t break the site if ENV variables aren’t present
Staff Notes
Use trash-icon to delete staff note
Patreon
Display quick link to Patron’s detail page in admin user page
Sync groups after saving webhook data for the user
Sync local patrons to groups in dedicated job
Additional Features and Fixes
Click to expand
New Features
Adds support for seconds in local-dates
Displays “today” if event is… today
Zendesk importer that uses its API to get data
Correctly store width and height on uploads
Add Content-Type header to CORS
Hide enable_personal_email_messages and min_trust_to_send_email_messages
Use S3 dualstack endpoints
Makes reports loadable in bulk
Pop revise modal on post edited notification
Clean up PostReplyKey records.
Make initial admins TL1
Bug Fixes
Changing component settings should trigger refresh for parent theme CSS
Use tight list format for GDocs html to markdown
Allow user actions to be saved even if the post has nil user
Reset email preferences controller.
Changing tag name class to data attribute
Poll avatar spacing too large
Don’t try to send invite email when invite was deleted
Prevents remove user btn to overflow parent
Keep emojis and remove clicks count on html to markdown
Keep emojis and remove clicks count
Queue heartbeats in readonly modes
/rules route showed error page
Mobile admin menu iOS rendering bug
Drop title updates through RSS feeds
Links in rss feeds are sometimes wrong on subfolder installs
Use proper markdown syntax for image urls
Term should be handled as text
Find tags with non-latin names
Second factor input for username password is disabled when hidden.
Redirect to wrong URL after account creation on subfolder install
Update TopicEmbed’s title and user correctly
Improve last_modified date returned for avatars
Remove diacritics instead of transliterating
Remove diacritics when tokenizing html for search
Prefills username for new message on first post (#6305)
Create BaseDropper functions in a different schema.
Post time query filter not set correctly when loaded from params.
Avoid race condition creating posts
Don’t allow inviting more than max_allowed_message_recipients
Don’t allow inviting more than max_allowed_message_recipients setting allows
Tag intersection not populating
Uses localized string for 429 in reports
Better handling of no prev30Days
Don’t send email when the post was deleted
Handle rate limiting from nginx
Counters were showing future instead of past
Better message if request for report is rate limited
Defer actions in a static method
Client duplicate registration should be cleaned up
Improve support for subfolder S3 CDN
Flagged Post custom fields were not respecting type
Upload URLs from S3 on subfolder installs
Only allow printable characters in uploads filename
UX Changes
Improve email testing admin tool.
Reserved_usernames should be a compact list
More compact polls on mobile
Show only the expand icon in lightboxes on mobile.
Improve copying from IP lookup component.
Do not show the groups directory if disabled.
Styles for user-cards should the same with badges on / off
Super short tags shouldn’t display on same line as title
Youtube embed title overlaps with select-kit
Show full name on /latest page
Keyboard shortcuts will automatically select hovered post
Blue “Resend Activation Email” button in wizzard
Don’t show the whisper toggle when replying to a whisper