# Discourse 2.1.0.beta6 Release Notes

**URL:** https://meta.discourse.org/t/discourse-2-1-0-beta6-release-notes/95993
**Category:** Announcements
**Tags:** release-notes
**Created:** [August 30, 2018, 2:58pm UTC](https://meta.discourse.org/t/discourse-2-1-0-beta6-release-notes/95993 "2018-08-30T14:58:05Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [August 30, 2018, 2:58pm UTC](https://meta.discourse.org/t/discourse-2-1-0-beta6-release-notes/95993/1 "2018-08-30T14:58:05Z")

</div>

# New features in 2.1.0.beta6

### Specify locale via SSO

You can now specify a user’s default locale on Discourse via SSO. Discourse will now accept `locale` and `locale_force_update` as part of the SSO payload. See [FEATURE: allow specifying locale via SSO · discourse/discourse@e697015 · GitHub](https://github.com/discourse/discourse/commit/e6970151a67f010412029b230c5e94314fcc63af) for more details.

### Erode bounce score every time an email is sent

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._

 ![image](https://global.discourse-cdn.com/meta/original/3X/7/9/79222e244bde962905364d0ec2935bf6e17b3f0c.png)

### Zendesk Importer

@neil wrote a new importer to that uses the Zendesk API to move content to Discourse. See [our list of importers](https://github.com/discourse/discourse/tree/master/script/import_scripts) 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](https://meta.discourse.org/t/rails-plugin-generator/95907) for all the details.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [August 30, 2018, 2:58pm UTC](https://meta.discourse.org/t/discourse-2-1-0-beta6-release-notes/95993/2 "2018-08-30T14:58:05Z")

</div>

### Even more!

But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.

### Security Updates

This beta includes 2 security fix for issues reported by our community and [HackerOne](https://hackerone.com/discourse).

- Prevents XSS in local-dates
- Prevent users from modifying custom fields

# Plugin improvements

### [Data Explorer](https://meta.discourse.org/t/32566?silent=true)

- 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](https://www.transifex.com/projects/p/discourse-org/)

### 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
> - Wizard resends activation email when user exists
