NEW FEATURES
- Enforce 1 day expiry by default on discourse cache
- Use HTML badge description on individual display
- Carry username or email from login form to the forgot password and signup forms
- 1 year anniversary badge
- When PMing a user from the topic page, insert a link to the current post
- Allow users to specify if prepared statements are allowed
- Configurable connection reaping settings
- Allow moderators to see flagged private messages
- Import scripts update last_seen_at on users based on created date and last post date
- Readonly safeguard
- Prevent upload of more than 10 files at a time
- Show large objects in admin/memory_stats
- Filter screened IP addresses
- Add process stats to memory report
- Improve memory reporting of /admin/memory_stats
- Make default locale settable during bootstrap
- Failsafe, in multisite if a site is bad still boot up
- New “Plugins” admin section with extensibility support
- ‘reply by email address’ validator
- Allow plugins to log staff actions
- Mentions stream on user profile
- Search your bookmarks using in:bookmarks
- Dashboard stats for application traffic
- Remove any .tar leftovers when backing up
- Basic disk space usage stats
- Rudimentary view tracking wired in
- Recently used emoji tab
- Show number of active users in the last 7 days on about page
- ‘b’ as a keyboard shortcut for bookmarking a topic
- Add an option to show custom user fields on profiles. Default is to not show them.
- Background job to make sure emoticons aren’t too big
- Allow simple selection for category badge styles
- Logging out logs you out everywhere
- Suppress digest emails for users not seen on the site for more than (n) days.
- Optional top level bookmarks tab
- Enable pagination of /posts.json
- Latest posts endpoint at /posts.json
- Print the time it took for the import to finish
- Allow importing of unactivated users
- Automatic group membership based on email address
- Ning importer
- Split group admin in 2 tabs (custom & automatic)
- Rate limit invites for non-staff users
- rate limit invites for non-staff users
- TopicCreator now supports ‘pinned_at’ parameter
- Allow for custom timezone in vBulletin importer
- Support for profile pictures/background in vBulletin importer
- Log username changes by staff
- Add a global notice whenever emails are disabled (disable_emails site setting)
- Bookmark topic button
- Show bookmarked topics in topic list
- Add liked and bookmarked classes to topic list item rows
- Show bookmarked topics when doing filter=bookmarked
- Support for filter=bookmarked and filter=liked in topic list
- Add ?bookmarked=true for topic lists
- Remove star concept from Discourse
- Allow users to persist customization with &sticky=true
- Add std /staff page link from /faq
- Only expand globally pinned topics on front page
- Sorting by op likes shows the op likes count
- Show likes column if sorting by likes
- Invite admin api has an optional param send_email which can prevent sending an email to the invited user. The api will return the password reset url so that the caller can send an email with it instead.
- Maximize button for customization css/html editor
- Default string buffer will use a raw template
- Raw helper has access to parent and options view object
- HasModule global helper to figure out if module exists
- Remember last emoji group used
- Add more details in user posts archive
- cool transition when expanding lightbox
- Default emoji override
- Download user posts archive
- More than 1 site customization can be enabled at once
- Remove override stylesheet option, too confusing
- Custom emojis
- Load fewer topics in the topic list on slow platforms (Android)
- Topics per page should not be configurable
- Post chunk size should not be configurable
- Source maps in production for JavaScripts
- Export csv for all the logs
- Support for emoji sets
- New ‘site_setting_changed’ event
- Auto-close topics based on community flags
- Work-in-progress emoji selector toolbar item
- In:private keyword for searching private messages
- Search private messages option
- Re-prioritize related so unread is always first
- ‘delete user’ button in the user card in the admin section
- Use actual time in preference >` email notifications’ instruction
- Switch to GitHub email_reply_parser library and parse plain text email content
- Rolls up 1.2.. IP ranges when number of entries >` 10
- Allow creating admin and moderator accounts via SSO
- Add Message-ID header to emails
- Show card when clicking on avatar in admin user list
- “Suspect” users list in admin.
- Restrict some user fields for TL0 users when viewed by anonymous users
- Implement SSO provider on Discourse so Auth can be farmed to it
- Pass return_sso_url to SSO endpoints, for easier return
- Export sso data if sso is enabled
- Clean up unmatched email/ip entries after a year
- Add topic status namespace in RSS feed
- Log a new staff action when rolling up banned IP addresses
- Roll up function for 123.456.789.* ranges
- Serialize the fact we are https in about
- API endpoint for inviting an admin
- Localize SSO error messages
- Export screened IPs list in a CSV file
- Allow admins to search users using IP ranges
- Log out user everywhere and refresh/redirect
- Hide bookmarks but always show if post is bookmarked
- Don’t limit registration from an IP address if a staff member has that IP address
- Delete all accounts from this IP in the IP lookup modal
- Add ?status=deleted querystring
- Allow restricting API keys to a particular range
- Show exact error for test email
- Remove english korean slugs
- Add category to Group Post Listing
- Only limit new registrations from that IP if all the users from that IP are TL1 or TL0
- Improve admin IP lookup dialog (add username/trust level/read time/topics entered)
- New ‘maximum new user accounts per registration IP’ site setting
- Add a button for staff to delete a user on their profile page
- Added Pin/Unpin Keyboard Shortcut
- Attempt to recover from corrupt markdown engine
- Allow animated thumbnails
- Add custom user fields in user csv export
- Allow inline disposition on uploads
- Users can see the raw email source of their own posts
- ?include_raw parameter for /t/id/posts.json
- Allow explicit rel=“nofollow” on links
BUG FIXES
- It should be
BadgeType::Silver
- Group member pages only showing first 50 members alphabetically
- Should not count disagreed flags
- Error when re-bookmarking a topic/post
- Emoji cache could get corrupt
- HR in profile causing user badge to behave weirdly
- Stop allowing nested SUP in topic bodies
- Allow searching in PMs when “search this topic” is selected
- Remove notifications on deleted topics from the stream
- Bookmark topic was not working intuitively
- Poll plugin wasn’t working when the OP was deleted
- Category images were not using the CDN
- Editing a PM should never change the category_id
- Back button was wonky at times
- About user count was off by 1
- Do not show name in email if name on posts are disabled
- Columns of uncategorized pinned topics shift when the topic gets unpinned
- Pluralization rules were wrong lang keys
- Default sort grantable badges by name
- Minor, do not send access origin if not set
- Couldn’t uncategorize a topic
- Use overage to keep usercard from going off browser
- Upgrade event machine
- Category background in topic views
- Downgrade pg to stop memory leak
- Highlighting was not being applied after some rendering.
- Return sharing sources in the same order as the site setting
- Title could temporarily revert to the site name
- Sub-categories with the same name had the same background image
- Sometimes
postChangedRoute
could be triggered when torn down - Hide “error logs” logs from staff. Refactor admin menu HTML.
- Only load S3 stuff when we need it
- JSHint wasn’t validating ES6 files, this fixes a bunch of errors.
- Auto-close time can be a date like 2015-2-22
- Set base_url for usage_tips
- View tracking needs to release data earlier
- Make sure to observe shadowed settings when refreshing
- Pluralization rules had wrong lang keys
-
refresh
should work with shadowed globals - Uncategorized is showing up in title tag on topics
- Use distributed mutex to prevent errors when uploading emojis in batches
- Clicking an attachment link works only once
- Broken gravatar link when using S3
- Backup logs on Firefox
- Debounce backup logs in order to prevent Firefox crash
- ‘Invalid date’ in backup logs in Firefox
- On upgrade via discourse docker client json not updating
- Removing a group from a user was not removing primary group
- Ember regression in read-only banner
- Support
adminPlugins
resource even if no plugins use it - Dashboard report date range calculations include time zone, and application request data too
- Ning json can have square brackets instead of commas
- Remove g and m flags from autolink regex
- Allow closing polls in multi-locale sites
- Status route should be served as text not html
- Allow closing polls in multi-locale sites
- ‘all’ filter never de-highlighting
- Send a PM to moderators when a post has been flagged as sockpuppet
- Check for full name in invite email subject
- Force font-awesome update
- Subcategory url was incorrect in rss
- Clean up after adding events. Fixes random test failures.
- Category backgrounds were broken
- In case a topic is deleted, allow us to serialize their posts
- Don’t add constants for ES6 modules in plugins
- Allow TL4 user to rebake post
- URL encoding was not working for %23 in links
- Message bus was causing constant redis growth
- Quote whote post should insert at cursor position
- The “too similar” check happened when trying to make a post a wiki
- Uncategorized category was not loading updates in edit mode
- Add Google Analytics code to crawler view
- Not allow TL4 user to set staff color
- Setting custom avatar would not work a lot of the time
- Auto orientation code causing grey images to appear blackish
- Toggling staff color on a post doesn’t change button text
- Toggling staff color on a post doesn’t get applied
- The order of includes in the base importer was wrong.
- Wiki editing was broken due to extra topic update
- Resize event does not get cleared/unbind properly due to wrong usage of jQuery api.
- Summary mode was broken and missing a bunch of posts
- Creating a user shouldn’t error when optional fields aren’t given
- Don’t require login to view post raw
- Don’t submit read-guidelines for anonymous users (causes
- Don’t pass nil to an array serializer
- Use CDN for user card/profile background and user avatars (for real this time)
- Strip whitespaces from user email
- Use CDN for user card/profile background and user avatars
- Allow developer emails to bypass email blacklist/whitelist restriction
- Should flush rate limit keys before testing it
- Adding a custom emoji needed an application restart to work on the server-side rendering
- Pasting image in the composer wasn’t working in Chrome
- Remove custom Discourse headers in email
- PMs were not allowed to be edited in some cases
- Upload on IE9 wasn’t working :’(
- Make sure we set a default name to a pasted image only on Chrome (the only browser that supports it)
- Use “.json” extension to uploads endpoints since IE9 doesn’t pass the correct header
- Pass the CSRF token in a query parameter since IE9 doesn’t pass it in the headers
- Display error messages comming from the server when there is one over the default error message
- HACK around IE9 security issue when clicking a file input via JavaScript (use a label and set
visibility:hidden
on the input) - Hide the “cancel” upload on IE9 since it’s not supported
- Return “text/plain” content-type when uploading a file for IE9 in order to prevent it from displaying the save dialog
- Check the maximum file size on the server
- Always set a default Message ID in email
- Creating a user shouldn’t error when optional fields aren’t provided
- Don’t restrict to local filesystem for df check
- Check correct directory when looking at backup limits
- Use site-wide locale for deletion stubs
- Loading of Emoji files depended on working directory
- Language was not being inserted into RSS
- Remove unused variables
- Accessing an undefined variable is not a good idea
- Minor Admin bug with a setting when creating a new group
- update onebox gem for more dailymotion.com support
- Make sure pasting an image in the composer is considered as an image instead of an attachment
- Groups post page was broken.
- Posts weren’t highlighting on initial load
- Full user names were showing up in crawlers and rss feeds in spite enables_names setting being disabled
- Months were not getting translated
- User name and title were not showing on post creation
- Clear the user-selector when adding new members
- (for IE9) if
console.log
doesn’t exist, make it an noop. - Don’t break import when raw can’t be preprocessed (vBulletin importer)
- V8 issue with regexp
- Respect user locale for reply notifications
- Suspended users are logged out when they are suspended. Show a reason for suspension when they try to log in.
- FIX TopicQuerySQL to support pinned topic older than 2010
- Properly remove all HTML Entities from Usernames/Titles/Category Names/Groups in vBulletin importer
- Properly handle specific vBulletin BBCode (quotes/mentions)
- Make sure we generate a username from the name of the user instead of a fake email
- Merge the categories tree to only 2 levels in vBulletin importer
- Convert UTF8 charset to UTF-8
- Move vagrant box to discourse hosting
- Update vagrant box for ruby and phantomjs versions
- On topic page, don’t try to render post counts for a deleted user
- Saving the same custom field array twice would raise an error
- Supress the category badge even when refreshing
- Triggering a refresh while subcategory lists was broken.
- Ensure emoji are case insensitive
- Show email button wasn’t working on user’s profile page
- Posts weren’t highlighting when jumping using the progress widget
- Activate account page JS error with I18n
- Old csv’s were not getting deleted
- User list export was failing
- Remove Bookmark was broken on bookmarks page
- Handle timezone detection errors
- Jump to post was not respecting gaps
- Users tab in admin panel doesn’t stay highlighted
- Bookmark button is now solid black by default & blue when bookmarked
- Background fade-in for modal dialogs
- Forgot i18n associated with bookmark button (:fired:)
- Check free space in uploads directory, not global system
- Missing bookmarks from user actions
- All PMs should be flaggable
- Making sure {{fa-icon}} don’t break when we’ll update to latest ember
- Emoji rebuild when changing emoji set for the 1st time
- We missed some references to
/category/xyz
in the ruby code base. - Un-delete topic wasn’t working
- Emoji toolbar wasn’t showing up after a page reload
- Each helper in raw templates
- Properly order pinned topics
- Deactivate check was removed from JSON by accident
- Issue with Vagrant image failing specs.
- Proper handling of group memberships
- Dashboard should be warning about invalid notification_email site setting
- Deliver discourse stylesheets over cdn
- Link domains were not showing up in the topic map
- Rss link in category pages
- Show only staff actions in export and hide site setting logs from moderators
- Category not hidden correctly
- Don’t truncate groups. @ZogStrIP we need to create a better fix for
- Rate limit user posts export
- Multisite CDN support for site customizations
- Don’t use CDN for customizations
- JsHint fail
- Keep topic list items on screen when using keyboard.
- We should only intercept enter as a keypress when a selector
- Use utc time when generate reports; set boundary
- Allow
[poll]
and[ul]
to be used as markdown link name - Users should be allowed to add @ to the to field of a PM
- Markdown bug when a heading preceeded a code block.
- Site setting search
- Today visits not shown
- Deleted topics were failing user posts archive download
- Some query params were showing up as
undefined
- Clicking on pin/unpin would refresh the page
- Use prefixes for CSS transform
- Hide emoji toolbar button when emoji are disabled
- User card can’t expand when the username is number
- Log only 1 ‘show email’ record
- Cache emojis for 1 year
- Proper redirection when deleting a user
- 1.9 regression on i18n strings with variables
- Load custom emoji API before the plugins
- Buggy unhoisting of escaped *
- No way to remove site text
- More robust site customizations
- Stable ordering for site customisations
- Custom emoji weren’t properly baking
- Use cache to store custom emoji
- Only create animated thumbnails for GIFs
- Don’t pop up “cancel” when returning to topic
- Sane badge ordering on user page
- 1.9.0 regressions with i18n
- Reduce verboseness of uglify command
- When private messages are disabled in settings, flag modal shouldn’t show private message options
- Sharing buttons broke in 1.9 template upgrade
- Not highlighting posts when entering a topic
- Should be 30 topics on desktop, 15 on android
- Safari 7 changed popstate behavior
- Regression with ember upgrade on notifications
- Regression in badges linking to a post
- Sometimes loading blank topic list
- Add topic-owner class to all the posts created by the OP
- When using
{{avatar}}
within autocomplete - Redirect client to the original url after logging in for private in…
- Automatically use uploaded avatar when uploading an avatar
- Redirect client to the original url after logging in for private instances
- Registration fails with timeout on gravatar
- Don’t raise an error when trying to log nothing
- If a user uses the keyboard to navigate, don’t bubble up the event.
- Semantic HTML for category with images
- Upgrade Ember List View to add 1.9 support
- LazyYT was not being applied when a post was edited
- Polls were broken after Ember upgrade
- Load order of Javascript
- Category badges were missing stripes in some places
- Custom flags not possible on very long topic titles
- Translations from plugins weren’t properly merged with default translations
- Text in select2 dropdowns should not be variable since the
- Properly unescape HTML entities in excerpts
- Cache all public resources registered by plugins.
- Add CDN support to emoji preview and toolbar
- In Firefox :w autocomplete was broken
- Fix rerendering issues on some components.
- Javascript error when uploading backup
- Remove links and html ‘hellips’ from topic/post summaries
- Use excerpt instead of the summary
- Drastically simplify auto-close topic logic
- Broken HTML (thanks HTMLbars)
- Share popup on mobile layout went outside of viewport, and z-index was behind user avatars. Use a real link on touch devices instead of a text input.
- Auto response email replies should not be accepted
- Disable loading below HTML, we have our own spinner for that and it
- Permalink redirect support for url’s with extensions in them, like .html and .php
- Errors due to
_elementCreated
called onnull
- Selecting default option without changing HTML markup.
- If a category can’t be found, don’t include it in the list
- Couldn’t click delete topic button due to missing action
- Only show “new pm” in pm tab when looking at your own profile
- Broken comboboxes. Workaround Ember bug that needs triaging
- Check if the bio_cooked exists before outputting it.
- Word null appearing in user card
- If we are scheduled after being torn down don’t do anything
- Don’t show
undefined
in the footer text. - Reload current page when deleting a user
- Private message button wasn’t adding the recipient (cc @gdpelican)
- Change top score formula
- If full user name is not provided, username should be present in email From header
- Better protection for invites scrolling
- Selecting one user in admin would select them all
- Clicking avatars broke for non-admins
- Editing a category definition topic was clearing its permissions
- Editing the 1st post of a private message wasn’t working
- ExportUsers action was deleted, so user export was failing
- Don’t error out when updating a topic with no changes
- Hide restricted profile info from TL0 users to anonymous in ‘JS-off’ page
- Roll up staff action wasn’t working
- Don’t lose focus on site settings text field (was changing routes
- Use
OR
query instead ofAND
, also check that the profile is - Auto-closing attribution when a TL4 user auto-closes a topic
- Click counter for attachments
- Load order issue / header category badge when not surpressed
- Suspended users should have links stripped from their profiles.
- Don’t show the banner topic on error page
- Topic referrals by user were wrong
- Changing category shows error for TL3
- Admin panel referral stats not counting topics correctly
- Display total number of other accounts with the same IP address in the IP lookup dialog
- Limit other accounts deletion to 50 accounts otherwise it’ll feel too slow
- Mailing list mode was not checking for user deleted posts
- Sharing link stood visible after using browser’s back button
- Cleanup commas in email From and Reply-to fields
- Make IP lookup available to moderators
- When adding an IP to the spammer list, check the broader ban list
- Sso with avatar override may fail on first account creation
- PM title not editable
- Expire stylesheet cache on save
- Could not download exported data on some sites
- Make
user_id
uniqueness check pending. It still seems to check - Don’t crash from observer if user record is bad
- Handling of “indexStream” in user pages
- TL4 flag on TL0 post as spam, hides the post
- Limit the number of group members returned for automatic groups
- Don’t limit the number of group members returned to the front-end (UI needs some work for large groups)
- Correct old username index
- GroupedView bug with latest Ember build
- Expanding replies not working correctly
- Damn timezones
- Try a different way of removing
use strict
from Ember 1.7.1 - Remove
use strict
from ember build to get around iOS bugs - Do not display EPOCH
- Changing category within edit grace period as TL3 pops up an error
- Change is_staff to is_admin for group posts to match other places
- Change is_staff to is_admin to match other places where guardian.allowed_category_ids is used
- Do not recall prior DRAFT in a given category when using the Create Topic keyboard shortcut
- Improve use of loading spinners on discovery routes
- Inconsistent loading of user profiel page (expanded/unexpanded top
- Distributed cache leak and potential infinite loop
- Don’t use a process cache in development mode
- Proper hack to support underscores in URLs
- Couldn’t click on avatar on private message list
- Support for underscores in URLs (when using S3 storage)
- Change the unlisted/invisible topic state only when unhiding the first post
- Users can see the raw email source of their own posts
- Remove
grouped-each
helper. GroupedView is deprecated in Ember - Missing styling for embedded reply
- Don’t put the footer insider container in topic page
- Don’t put the footer inside a container (allow for full width footers)
- Official benchmark crashing while populating db
- New topics were not showing in suggested
- Missing tab delegation
- 1000 was a crazy threshold for showing categories at the bottom of
- Shouldn’t overwrite styles in emails that we explicitly set, like category
- Don’t use auto sizes for very small images (emoticons)
- Strip the word “SECURITY” from the output too
- Include security in release notes
- Don’t include reverts in release notes
UX CHANGES
- Change user visits stat position
- Add user invite link on admin interface
- Add confirmation dialog for user archive export
- Add a dash for the empty cell.
- Use icon for recently used emoji tab
- Fix ‘revision details’ styling in revision history window
- Alwasy skip headers on topic lists on mobile.
- Update 404 page category badge to use centralized helper and style
- Max width of .gifv videos
- You should be able to tab to the “This is a warning” checkbox
- When oneboxing a topic, use the stripe category badge
- Formatting on search categories looked weird
- Change category badge style to use stripes
- Add file size in CSV export notification
- Change private category to lock glyph
- Add class to gutter links so you can infer if they are inbound or outbound using CSS
- Let’s try an animating heart out
- Banner topics should be readable even with dark color schemes.
- Make category link text black in digest emails
- Link categories in digest emails
- Consolidate “Admins” and “Moderators” into “Staff” on admin users
- Add confirm dialog when rolling up IP ban entries
- Bold all the entries in the screened IP list that are more than a single IP
- Suppress long cat names in cat drop down too
- Suppress long cat names in topic lists
- Use warning (nuke?) icon instead of trash icon
- Hide share button by default
- Improve ip-lookup modal
- Improved our footer handling
- Whitelist OpenStreetMap iframes
- Fixes for group view
- More spinner upgrades
- Proper loading spinner on create account
- Use new spinner when logging in
- Use new loading spinner when uploading an image
- Position loading spinner properly on user pages
- Use loading spinner on notifications
- Don’t delay spinner on topic lists or clicking home
- Better footer handling
- Focus on the user card when it’s rendered
- In digest email lists of topics, show striped version of category
SECURITY CHANGES
- Missed html escaping
- Don’t leak topic title in the redirect
- The SSO
return_path
was an open redirect - Don’t whitelist codepen as it is a potential vector for abuse
- Don’t echo the “strategy” param returned by auto provider
- Prevent direct download of backups
- Update Rails to 4.1.8
PERFORMANCE
- Allow background jobs to flush between requests in same thread
- Remove eval cause it is costing lots of memory
- Only load locale files we are using
- Remove addressable gem, its consuming huge amount of memory
- Properly pass topic_id to post action cache to avoid excessive query
- Slow user pages in admin. add an index for trust level 3 calculations, and memoize query results
- Don’t bind all these things
- Fix performance issue when displaying the user card for admins
- Unify topic lists, remove star from lists, move to raw rendering
- Improve rendering speed of topic header
- Hold back rendering of suggested topics 1 run loop.
- Do not generate source maps in ruby mode
- Don’t render composer until we need it
- Don’t render share dialog until we have a link.
- Don’t render user card until displayed
- Optimise rendering of posts
- Don’t ever use inject on AR relations
- Use preloader trick to load topic categories
- Stop querying banner topic on every page hit
- Use distributed cache for site text and category slugs
- Distributed cache class to help sync caches between processes
- Cache all site_text in memory
- Remove superflous queries from initial page loads