Even more!
But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.
Security Updates
This beta includes 4 security fixes for issues reported by our community and HackerOne.
- Re-adds accidentally reverted commit:
- Ensure embed_url contains valid http(s) uri
- ERB execution in custom Email Style
- Updates juqery to 3.5.0
Plugin improvements
Many Plugins
- Add rubocop-discourse
- Bug fixes
- We’ve patched numerous bugs in many of our plugins
Encrypt
- Remove reply-by-email instructions from encrypted PM notifications - replying isn’t supported
Policy
- Policy reminder notifcations are now high priorty - use green notification icon instead of blue
Font Awesome Pro
- Initial Release
Discourse FontAwesome Pro
Chat Integration
- Add GroupMe as a supported chat provider
Knowledge Explorer
- Display if a topic is closed on unlisted
Affiliate
- Add support for search URLs
Data Explorer
- Add additional queries
Assign
- Assign notifications are now high priorty - use green notification icon instead of blue
- Display assigned avatar in button and dropdown
Subscriptions
- Use models to store data
- This enables the plugin to show only subscription information which was generated on Discourse. Subscription data storage is limited to the external identifiers Stripe generates so we can interact with the API.
Zoom
- Add option to use join url instead of SDK
- Add ability to update title/date of past webinar entries
Voting
- Move archived votes when merging topics
Code Review
- Add option to default mute new categories created by the plugin
- Add option to set a parent category for new categories created by the plugin
Discourse Hub App (Android and iOS)
- Adds support for new high-priority notifications (i.e. bookmarks with reminders)
- Improves button accessibility
- Fixes an issue with a blank screen in some rare cases when returning to app from background
Additional Features and Fixes
Click to expand
New Features
- Add setting to disable automatic CORS rule install in S3 buckets
- Permalinks for tags
- Category setting for default list filter.
- Update the topic excerpt when the OP is rebaked
- Add topic excerpt max length site setting
- Add same site cookie ‘None’ option to make cross domain systems possible
- Expose
Composer.serializeToTopic
in client side plugin api. - Extend duration allowed for download
- Add endpoint for individual SVG icons
- Add structured data to follow Google’s guidelines
- Introduce a staff only override key for discourse-presence.
- Add noindex header to tags pages
- Allow parameter authentication for UserApiKeys
- Allow plugins to register a callback to ignore DraftSequence.
- Default canonical URL
- Pass instance of revisor to
post_edited
DiscourseEvent. - Add noindex header to badges, groups, and /my pages
- Let Google index pages so it can remove them
- Add no_index header if robots is disabled
- Filter settings by plugin
- Tighten rate limiting rules for forgot password
- Exclude muted categories from the “top” topics list.
- Optionally delete bookmark when reminder sent
- Include category position when exporting categories
- Reddit video onebox
- Facebook video onebox
- Nokogumbo
Bug Fixes
- Improve image downsizing script
- returns false if the upload url is an invalid mailto link
- Copyedit for the dominating topic warning
- Concurrency bug when creating topic thumbnails
- Don’t responde with error 500 if domain is invalid when adding automatic membership domain
- Do not allow tag with name ‘none’
- Properly ban non human users from draft system
- Include lazyYT-container in cooked post HTML
- Documentation was using incorrect function
- Email Styles were evaluated out of order
- When creating new PM username/groupname should be case-insensitive
- No need for downcasing second time
- Skip onceoff job for groups with invalid flair URL.
- Do not fallback to flair_url column
- Keep composer title and reply when switching to PM
- Destroying a user failed when it had title
- Group card not showing if user can’t see its members.
- Call
getURL
method explicitly to preventthis
context override. - Double Button Alignment Mobile
- Better cross browser topic footer buttons alignment
- We don’t create a Post object if the queued post gets rejected. We need to count review items directly.
- Live reloading of css in development
- Remove access control post FK from uploads
- Tag input says tags are optional when they’re required
- Allow GitHub app client_id to be used for OAuth configuration
- Ensures category chooser is case insensitive
- Adds missing tags to published page header
- Badge granter was disabled by default.
- Sidekiq is using _forim_session
- Show staff counters if the rejected posts count is the only value to show
- Requests were not being logged correctly
- Path should be
addon
notapp
- Allow deprecation to work with Ember CLI
- Select-kit was in the wrong place
- Update default_template.html
-
guidFor
is not part ofEmber.Object
- Do not parameterize tag_id
- Don’t blow up when trying to parse invalid or non-ASCII URLs
- Emit web hooks for flags
- Do not set a default value for web hooks with no events
- Migrations should not fail when db is part migrated
- Switch discobot to pull avatar from gravatar.
- Purge all associated data on user delete
- S3 store has_been_uploaded? was not taking into account s3 bucket path
- Restoring backups could fail for database dumps >` 8GiB
- Check backtrace and backtrace_locations before trying to print an error
- Description for ‘uncategorized’ category was blank
- Show a useful message when starting a plugin fails without a backtrace
- GroupArchivedMessage belongs to Group, not User
- Applies flex on topic-footer-main-buttons
- Join bookmarks migration on users to avoid missing user records
- Randomize file name when created from fixtures
- Use /tmp/pid folder to keep fixture files
- Bump rack version from 2.0.8 to 2.2.2
- Restoring backup didn’t clear cached translation overrides
- Reverting multiple translation overrides didn’t clear cache
- Improves and fixes a regression with category-selector
- More resilient/consistent date-picker loading
- Ensure no image downloads during topic thumbnail serialization
- Allows to remove a topic timer with delete_replies as type
- Ensures hide is called when card is destroyed
- Do not remove stop words when using English locale
- Extract reset_last_seen_cache! in user_spec
- Switching composer action does not refresh composer actions content
- Component was still used by data explorer
- Include plugin CSS assets when previewing themes
- Displays a title on sk header if no selected name
- Correct plugin api version bump.
- Use CDN URLs for topic thumbnails
- Allow post migrations using
#change
to carry out unsafe migration - Always return 0 for non-human user current DraftSequence.
- WebAPK minting was broken due to shortcut icons
- Randomly falling user_spec
- Workaround WebAPK server bug with images without sizes
- Don’t compute draft for bots on categories index route
- Apply code quoting with no syntax highlighting
- Use proper icons for App shortcut menu
- Run cookie tests only after logging in
- Allow lazy-yt thumbnails to fetched by pull_hotlinked_images
- Deleting old migration
- Don’t compute draft for (ro)bots in topics list
- Specific email error for replies to digest emails
- Detect Wayback Machine using user agent
- Load locale first in wizard app
- Update mini racer to correct heap dumps
- Never save draft while it is saving
- Don’t publish typing presence if composer isn’t opened.
- Prevent Safari from scrolling when closing composer
- Prevents SvgSprite.bundle to query ThemeField two times
- Composer presence shows user as editing when replying.
- Throttle typing function in discourse-presence.
- Change /bookmarks URL back to topic list and add bookmark poster avatars
- Handle missing provider return sso url
- Prevent column name conflicts in reviewable code
- Ensures preview is correctly computing timezone for current user
- Add type to shortcut menu icons
- Don’t raise an exception if a TopicLink cannot be created
- Add missing rss routes to parameter api whitelist
- Show Settings button if plugin has settings
- Saving drafts unconditionally increases sequence
- Remove unnecessary forward slashes in regex
- Add tabindex=-1 on tabLoc post links
- Improve mobile footer nav accessibility
- Sets a title for notifications button
- Multiple schema.org improvements
- Title should attempt to fallback to label before name
- Handle a deleted topic in thumbnail generation
- Show category name in badge preview on edit
- Prevents rendering topic-category if empty
- Stop clearing title by mistake
- Default to blank title on open
- Resolve issues with Next Monday for bookmarks not working in certain locales
- CurrentUser now must be passed to resolveTimezone and user card local time issues
- ESC to dismiss empty draft topic composer
- Bookmark Modal Input
- Support transpiling js in plugins with a root admin folder
- Some adjustment for the UI of the table
- Don’t trigger user_updated event for bot users.
- Remove deprecated URI.escape
- Do not allow null options for bookmark manager
- Migration to set column NOT NULL for delete_when_reminder_sent on bookmarks
- Incorrect CSS class
- Parenthesis were wrong, resulting in an always true expression
-
preload-store
was removed - Improves positioning of sk in mobile when inside a modal
- Show the Bookmark button for PM topics
- Improve topic timeline calculation logic
- Correct edit notification username for PMs
- Using the
default_locale
in locale fallbacks caused problems - Make can_invite_to_forum robust against plugin interference
- Displays poll’s close date in local time
- Preload-store was moved
- End date of ranges in html preview was incorrect
- Change user digest email total unread notification calculation
- Discobot has not been created with our custom avatar.
- Preserve code blocks when quoting
- Flaky tests. Due to CSS transitions opacity might not be 0 yet.
- Fixes wrapping of buttons with larger buttons
- Avoid using a temporary table in image url database migration
- Resolve Schema.org validation issues
- Apply sameWidth from 450px screen width
- Pre-select Later Today on bookmark edit if the time is the same
- PostgreSQL fallback was broken due to Rails masking exception
- Improve digest email styling on Outlook 2016
- Reverts to use an observer to support loading more notifications
UX Changes
- Remove live theme previewing in favor of refresh
- User name instead username for profile link title
- Add title for user profile link
- More consistent mobile banner/alert styles, css cleanup
- Moves editFirstPost in taggable Pms in dropdown on mobile
- Strip text from PM bookmark and share buttons
- Rename “Edit Message” to “Edit”
- Remove bold from category badge text
- Improves topic-notifications-button loading behavior
- Adds visual feedback when changing topic notifications level
- Remove caret from notifications-button.
- Allow secure media URLs to be cached for a short period of time
- Show caret only in topic footer buttons dropdown select boxes
- Allows dropdown-select-box to display a caret
- Fetch higher-resolution youtube thumbnails where available
- Focus category name when editing category
- Add copied text upon copy button click
- Better composer-action icon when creating new topic.
- Add symbol in TL3 report if topic reply count is capped
- Do not use small onebox images as post/topic images
- Limit iOS modal keyboard changes to composer
- Introduce composer-actions when editing a post.
- Don’t disable “create account” button & display error message for required fields.
- Fix hard coded value in Crazy in Love badge description
- Improve display of site setting validation message.
- Remove underline from del & ins elements
- Prevent timeline overlapping topic footer buttons
- Improve banner & alert close button alignment and consistency
- Fix modal positioning when iOS keyboard is visible
- Adjust admin menu to better fit short (horizontal) viewports
- Remove top padding from reddit onebox description
- Remove bold to de-emphasize category names on visited topics
- Fix time alignment on user activity pages
- Add prefixed property so Firefox also gets 4-space tabs in code
- Attempts to have a better use of available space with sk
- Bookmark removal tweaks
- Improve second factor UI
Performance
- Avoid traversing DOM in loadScript
- Remove foreign keys from bookmarks
- Ensure we run full GC on contexts
- Dematerialize topic_reply_count
- Avoid race conditions when creating topic links
- Avoid executing the same query twice.
- Avoid hitting DB when fetching draft sequence of bot user.
- Reduce exclusive locking when changing tables
- Move fetching of avatar into hijack for discobot certificate