NEW FEATURES
- Include email_prefix in digest email subject instead of site title
- Plugin filter for topic categories breadcrumb
- Clean up microdata breadcrumb
- New letter avatars algorithm
- Add parent category link to nojs view
- Add plugin-outlet to top of static pages
- Upgrade image compression gem
- Add support for device pixel ratio = 3
- Bullet category style is the new default
- Custom url to redirect to on account pending approval for sso
- Allow users to pick a CDN for s3 assets
- Generate (avatar) thumbnails in a background task
- ApplyCDN middleware when using S3
- Migrate_to_s3 rake task
- Move all uploads to a single endpoint + defer upload creation in a background thread
- Support user local switching to RTL correctly
- Support RTL in multisite
- T-nation importer
- New ‘uploads:migrate_to_new_pattern’ rake task
- Disable invites by setting max_invites_per_day to 0
- G b to take you to your bookmarks
- Badges for inviting users
- Multiple notifications at once (1/topic)
- New ‘uploads:regenerate_missing_optimized’ images rake task
- Check nofollow setting when showing website
- Task to find all missing local images
- Support category/subcategory name in new-topic route
- Add aria-label for accessibility
- Add slug geneartion options
- Move stylesheet cache out of the uploads directory
- Add op-bookmark class for op-bookmarks
- Automagically load plugin’s migrations
- Accept category_id as new-topic param to better support subcategory
- New ‘poll_maximum_options’ site setting to limit the number of options in a poll
- New ‘poll:migrate_old_polls’ rake task
- Automatically load plugin’s rake tasks
- Prefill topic title, body and category via URL
- Magic login route for admin when SSO is enabled
- Revamped poll plugin
- Add support for JSON-typed custom fields
- Allow plugins to add validation
- Add post_custom_fields to PostSerializer
- Allow plugins to whitelist post_custom_fields
- Polls are supported in any post
- Allow for multiple polls in the same post
- Multiple choice polls
- Rating polls
- New dialect allowing users to preview polls in the composer
- User list csv includes approved, suspended_at, suspended_till, blocked
- Desktop notifications
- When post is too short, suggest using the like button instead
- Invite existing users to private topic
- Scale up likes per day as users increase trust level
- Allow admins to choose a group as a primary group
- Allow admins to set a default title for a group
- Anonymous_account_duration_minutes , cycle anon accounts after N minutes from last post
- Initial implemenation of anonymous posting mode
- Use image magick version as a key for letter avatars
- Add notice when successfully changing avatar
- Add microdata prop and more links for crawler
- Support inviting existing users to topic and message when SSO is enabled
- Reorder participants in topic so always chronological
- Tie breaker for same number of posts is last post date
- Invite existing user to a topic
- Make full names a required field of user profiles with the full_name_required setting
- Fix avatar in quotes when changing avatars
- Don’t show the ‘download’ link to anon when they can’t even download the original image
- Use fa-at for mentioned notification
- Add archetype class to body
- Disallow all muting of staff
- Civilized mute
- Add a route to show the password reset dialog: /password-reset
- Allow end users to opt out of getting any private messages
- Pick a valid hostname for notification email based on hostname
- Allow notification email to be set via ENV
- Can search the user directory by name
- New site setting min_first_post_length
- User Directory, with sorting and time period filter
- Ask confirmation when clearing more than 1 bookmark
- Add 360Spider UA to allow 360 crawl Discourse sites
- Unbind font awesome icon in share button
- Style ‘Feature Topic’ dialog
- Unified UI for pinning/banner topics
- Allow selection of highlight js languages
- Stop pinning child categories on to parent
- New ‘auto_respond_to_flag_actions’ site setting
- Anonymize User. A way to remove a user but keep their topics and posts.
- Email digest frequency of every 3 days
- Automatic daily roll-up for screened IP addresses
- Add clean support for running Discourse in a subfolder
- Top topics all time
- All preload data available under /site/
- Start counting repeat topic views (default is one per 8 hours)
- Can specify a list of
default_avatars
urls. - Support staff only custom user fields
- Subtle in & out animations for user cards
- Adds transliteration of German umlauts in slugs
- Adds Vietnamese transliterations
- Don’t allow username and email to be the same
- Long descriptions for badges to help teach people
- Allow for a localized error when a regex fails in site settings
- Apply string validation to list site settings (so we get regex)
- Allow view exclusion using custom header
- Don’t allow username and password to be the same
- Add canonical tag to category latest page
- Allow manual assignment of related post to badge
- Use
git describe
for dashboard version - New site setting contact_url
- Raise min body size to 10m
- New site setting
- All 500 errors now show up in Logster
- Refactor error returns in application_controller
BUG FIXES
- Digest emails weren’t using user’s last emailed and last seen times
- Don’t use a table for poll results
- Do not block registration for whitelisted IP address
- Use pastel color for background of the selected poll options
- Move old drafts cleanup to the dedicated method and add test
- Move draft cleanup to the dedicated method and add test
- When navigating back to the user’s profile page items were missing
- Letter avatars command line
- Incorrect logo showing up on home page after focus
- Incorrect capitalization. No idea how it didn’t fail!
- Custom emoji autocomplete
- Leaving around useless drafts after posting
- When advancing draft sequence remove old drafts
- New task to delete old drafts weekly
- Make sure we can’t vote on deleted polls
- Allow the cooked_post_processor to download external uploads
- Validate poll parameters when type=multiple
decorateCooked
was not being applied to embedded posts- Optimized images fail if source is remote and S3 is disabled
- Show category in subject not checking for category
- Emoji aliases not autocompleted
- When missing a static topic we were returning an error
- Mixed local s3 store missing avatars
- Attachment routes
- Unread counts with 2 digits were wrapping in hamburger menu
- Hanging lowercase characters were cut off in bar style category badges
- Arrows had inverted visibility settings
- Sso_not_approved_url not working correctly
- Change topic creator wasn’t removing the topic from the previous creator’s activity stream
- Remove latest empty revision
- Don’t break user avatars route
- Bullet style category badges for long category names
- Hack was actually messing with other browsers
- Optimize uploaded images using lossy but very fast compression
- Need to reload the file once optimized
- Optimized images were not optimized… (:fired:)
- Make sure we also save the user_avatar.custom_upload_id
- Use provided avatar_template instead of always computing it
- Proper support for pixel ratios up to 3
- Month was not showing in user suspended error message
- Not unbinding uploadTarget correctly
- Progress bar wasn’t showing percentage after 2nd post was made
- User stream was cached and not reloading
- Show the “Needs Approval” menu item if items need approval
- Allow HTML in site setting descriptions.
- Attachment links in topic map were giving 404
- Reply to Topic shortcut no longer needs the Reply Topic Button to be available
- Migrations broken in some non English various locales
- No link tracking on any expanded posts
- Order post_actions by date
- Invalid plan generation when % in query on badge definition UI
- When uploading same file was pasted into multiple composers
- Automatically growing uploads tree
- Topic auto-close uses the client’s time zone
- Reset expanding of first post when entering a topic.
- Uploads when deployed to a subfolder
- Excon was wrapping our
ReadOnly
exception - Inappropriate error message when you couldn’t access a topic
- S3 endpoint when using ‘us-east-1’ region
- Can’t use ‘.’ in bucket name when using HTTPS
- No-follow not handled correctly for sub domains
- Nil emails are invalid
- Apply s3 cdn to client side assets
- Subfolder support for page refresh when assets have changed
- If a date translation is missing, don’t raise an exception
- Undefined method ‘max_file_size_kb’
- Rare user card exception
- Add missing translation keys
- Crop avatars on the server instead of the client
- Support for dots in S3 bucket names
- Respect the allow_animated_avatars site setting
- Properly handle images when using ‘s3_cdn_url’
- Allow handling for avatars that are not in the set of “resized sizes”
- Fallback to local store when uploads are not on S3
- Should be able to serve optimized image from local if its … local…
- Categories page counts were very wrong for categories with sub-categories
- Back button mobile from user activity stream
- Mentions were not working in PMs
- IE9 issues
- Keep the “uploading…” indicator until the server replies via the MessageBus
- Text was disapearing when uploading an avatar
- Use the same pattern to store files on S3 and locally
- Add missing username properties to usercard
- ‘clean up uploads’ job
- Guard against concurrent loading of deferred assets
- Upgrade resilient distributed cache
- Display proper error on badge create
- Some admin actions redirect to wrong path when deployed to subdirectory
- Group validation errors were not being displayed
- About page error when
login_required
- Send category-id if present when deleting category
- Press ESC can close user card
- API can provide a URL to create an upload
- Support for async uploads of emojis
- Keep around the page when redirecting
- Prevent span abuse in polls
- Keep to old attachment route
- Clean html before sending it to jquery for collapsing
- Rescue even more errors in case avatar has issues downloading
- Missing route to download attachments
- Broken link on admin dashboard
- Allow long words if they contain periods
- Don’t reset scrolling when subcategory_list is enabled
- Delete my own account button was always disabled
- Base script import to handle category color/text color
- File helper to download file using chunks of 512KB
- Consistent and future-proof upload storage pattern
- SourceMappingURL in IE10
- Show user card on group page and fix styles
- Handle user export failure when post is not linked to a topic
- Also inline category badge styles to digest email
- Show meaningful error message in case of site setting error
- Trim leading/trailing spaces from invite email
- Rate limits weren’t being showing for action summary errors
- Image uploading component was missing a class
- Anonymous mode don’t work when names are required
- Remove dangerous support for style/background attributes in polls
- Category custom slug can’t be set when generation method is none
- Ensure not found page’s category badge consistent with style
- Properly whitelist li styles
- Modal asking where to post was missing
- Post gutter links are broken when using a subfolder
replaceWith
on leaf routes changed behavior in latest ember- Unhandle show report action
- Properly add no-conflict to ace editor
- Editing a post with a poll breaks sometimes
- User archive export was failing in some cases
- Move to new/another topic
- Prevent pollception
- Double load if left a topic and came back into it.
- Error with ace editor and new ember.
- Update ‘migrate_old_polls’ rake task to support more cases
- Support list that uses double newlines
- Support list that uses spaces before the ‘-’
- Don’t break lamentably when a poll wasn’t created
- Invalid HTML on plugins page
- Replies to PMs should never been enqueued
- Match subdomain with email domain blacklist
- Link starting with ‘`[poll’ should not break polls
- Profile background inputs always appear disabled
- Ember deprecations on user preferences
- Ensure not found category badge consistent with style
- Rate limit topic invitations
- Properly handle errors when creating a topic
- Load order of applyFlaggedProperties
- Missing translations in reviewing users
- Select posts
- Presence mixin was missing sometimes
- Uploads rake tasks to support subfolders
- Add border-top on the first tr in topic-list
- User fields disappeared on user profile
- Prevent self-xss in poll attributes
- JsHINT issues with recent broken build
- List views in admin were broken
- Invalid HTMLBars for staff action logs
- Return promises from async tests.
- Some low activity users were being restricted from the directory.
- Anonymous mode was broken
- Deleted posts weren’t red.
- Incorrect error message when post isn’t long enough
- Flags weren’t showing on the header
- Missing
colspan
on raw topic list - Message bus callback was pointed at the wrong object.
- Translation key was showing as undefined
- HTMLBars compilation was broken in production mode
- Reply count is off by one
- Rss feed should be valid
- Don’t send emails to anonymous users
- Show youtube URL if title is undefined
- Migrate_old_polls should properly identify olds polls at the end of the post
- Fetch YouTube video title via oEmbed
- Add borders on polls on mobile
- Missing aria-label on X of share modal
- Reset message field of flag form after submitting flag
- Poll design on mobile
- Support quotes for poll parameters
- Poll options display issues
- Missing titles and aria-labels on sharing links
- Proper error message when account created is hit with no session
- Error when user name was nil
- Proper regex for search terms
- Reset all votes when the # of options changes
- Sometimes
contents
is nil, don’t break in that case. - Don’t fail if dupe timings are sent in
- Raise a 404 if click tracker gets no url
- In some cases link was not followable due to click tracker
- Multisite migration fails when adding a new site because SiteSetting.slug_generation_method is nil
- Poll fake 3D button effect with custom background color
- Don’t strip / mangle full quotes
- Two-column poll
- If approving a user when must_approve_users is false, don’t send an email
- Don’t abort PurgeInactive if they have posts. Just skip.
- Never enqueue private messages
- Allow site_name to be present in rejection email subject
- Don’t ask for notification permission until first one
- If redis is flushed message bus will keep working
- Error message used wrong filesize
- Closed polls with no votes showed NaN as percentage and average
- @mention dialect matches too often
- Include youtube link in embedded comments
- /password-reset route now works when login_required is enabled
- Check the selected options when casting a vote
- ‘migrate_old_poll’ rake task to support options with HTML
- Distributed cache failing to clear certain values sometimes
- Permission issues when editing topics
- Flagging topic was giving error message
- Crawler pages and RSS had broken links for sites deployed to a subfolder with relative_url_root
- Migrate old polls rake task
- Text was impossible to quote on Windows Phone
- Avatar_template when using relative_url_root
- Desktop Notifications break Qunit tests
- :fired: @eviltrout
- Erratic behaviour when clicking an attachment link - Take 2
- Post Mannager wasn’t being used for email replies
- Enter to change username was broken
- Topic creation validation should be skipped properly
- Erratic behaviour when clicking an attachment link
- Canonical link tag when using relative_url_root
- Polls requires a refresh to work when inserted in the stream
- Remove links in poll email notification
- Editing a poll/post with a poll wasn’t working properly
- If you delete a user, delete their queued posts as well.
- When approving/rejecting a post it should delete the user action
- Clicking “show results” wasn’t working after casting a vote
- Turn that frown upside down!
- Reduce ‘download_remote_images_threshold’ default value to 10
- Size on onebox-avatar
- Prevent DOS when fixing avatar in quotes
- Whoops, DiscourseLocalOnebox became DiscourseGlobalOnebox
- Support for redirects to external url in permalinks table was broken
- Compatibility issue with akismet plugin
- Don’t bump when post did not save successfully
- Validate integer site setting
- Bring email username logic in line with front end
- Don’t display names on emails if
display_name_on_posts
is false - Category badge was showing before topic loaded
- Loading more was broken on topic list after changing sort order
- Avoid cookie overflows by truncating the referer we store in flash
- Local files never oneboxed, onebox requests cache-busted
- Don’t cache-bust onebox requests
- Uploaded files could not be oneboxed
- Don’t rate limit the creation of topics when skipping validations
- Ruby 2.2 has
include
as private - If validations were disabled some rate limits continued to run
- Don’t validate approved posts.
- You can edit two queued posts simultaneously
- Permalinks redirects with relative_url_root
- Broken header links when using relative_url_root
- Typos in translations
- Missing letter avatars
- Error alerting tracking users of PM when replying in general
- Broken build
- Keyboard shortcuts broke in the composer
- Focus was being lost on error message popup when composing failed
- Back button broken navigating from one topic back to another
- Sfn importer
- Base importer should warn when there’s an error in the user_profile
- About tab was not showing on Privacy / ToS / FAQ topnav
- Admin check missing from topic tracking state
- Handle muted categories correctly
- Restrict editing queued posts to one at a time
- Updating the category was not updating the UI
- Don’t cloak in test mode. Should help with intermittant failures
- Handle error for duplicate email_in address
update
was not returning theresponseJson
- Do not show send invites button if sso is enabled
- Missing pluralization, change topic card to use replies
- Crawler layout from within plugin routes
- A couple of other deprecations to keep
discourse-tagging
happy - Tags plugin uses
Discourse.TopicList.list
- Don’t hide “public invisible” groups from groups on user page
- Actions summary expanding was broken
- Trust level comparison must be integer
- Posting was showing errors due to misfiring wiki observer
- Broken Qunit specs
- Lost position in topic
- Generate pngout-compatible letter avatars
- Show error message if user already exist in group
- Scale large vertial images for onebox
- Moderators shouldn’t be able to see secure deleted posts
- Sort page views report records
- Topic bulk actions refresh was broken
- Missing username in the IP Lookup dialog
- Add email reply error message for topic not getting created in restricted category
- Mobile categories page should show the same dates as desktop categories page
- Plugins were broken for initial payloads
- Auto-load all plugin locales so that they can be used in PrettyText
- Add support for .tgz and .gz backup files
- Properly center letter avatars + bump version
- Hide custom avatar when image upload is disabled
- Include topic excerpt in topic/message invite mail for existing user
- Cleanup old letter avatars if needed
- Unbind header keydown event
- Bugs with autocomplete
- User should not be able to invite himself to topic
- Disable ‘save changes’ when uploading a profile picture
- Translation issues with top periods
- Stagger daily backups by up to 10 minutes
- Don’t fail topic auto-close if privledges are lost
- Don’t stop the badge grant after the first failure
- Delegate click to modal close when pressing ESC
- Save button is deactivated on create group page
- Unmatched element prevents HTMLbars from compiling
- Actually optimize the image!
- Use ‘request.remote_ip’ instead of ‘request.ip’ for better consistency
- Include site name in email reply error subject
- Missing tooltips on topic blue and grey circles in list
- Only redirect to top from root url.
- Only redirect to whitelisted hostnames
- Close info was not showing up after removing an attribute
- Youtube preview video title link doesn’t work
- Notifications inconsistencies + never notify system user
- Deleted message color was wrong on mobile
- Staff message color was wrong on mobile
- Missing avatars on Messages page
- Only ONE user on site could have a list of muted users
- Clicking from one user badge to another was not updating badge
- Don’t show the filter title on the default route
- Leaking objects into the translation cache causing sidekiq to grow
- Category class on body was busted (:fired:)
- Disable links in the preview to avoid losing your drafts
- Clicking the lock icon was running the “pin” logic
- Unread badges should be inline on the category list
- Double slash with finder for admin routes
user-small
component had a broken link to to the user- Quote widget vanished on Messages
- Show-more div was behind the fa-icon
- Add CORS header for .woff2
- Stop stripping zero-width-whitespace
- Stop stripping dots from SSO names
- Sso override code not triggered when attaching to existing user
- Escape the title of a topic when replying as new
- Category description isn’t properly escaping html
- Use ‘resize’ option instead of ‘thumbnail’ when downsizing emojis
- Missing tooltip on backup screen
- Login-required tests
- Correctly mute likers
- Group user count was busted
- Do not delete already redeemed invite
- Delete duplicate invites
- Pass the
user
tocheckEmail
- Server error when no results on user directory while logged in
- In long topics, filtering button was not always showing in card
- Workaround for Safari on iOS causing crazy composer positioning
- User’s topic lists weren’t consistent WRT visibility
- Duplicate emojis in emoji-toolbar
- Ning json files sometimes have an extra ]` at the end
- Leaky DOM with
combo-box
- Hoisting issue with regexp replacement patterns
- Avatar shows over banner on mobile
- Use batches for speed, and show progress from importers’ update_tl0
- Improve imported code blocks from bbPress importer
- Discourse.Utilities.avatarImg test on Firefox
- Used ‘pin’ terminology instead of ‘feature topic’
- Only nag when pinning globally
- Profile picture wasn’t properly updating
- Popups stopped appearing
- Editing a post wasn’t showing error messages from the server
- Respect default locale settings when seed
- ‘uploads:migrate_from_s3’ rake task
- Ruby 2.2 using new parsing library which is way too lax
- Subfolder offsite message bus was not returning wrong header
- Clear emoji cache after restore
- Remove empty lines but keep whitespace on first line in code blocks
- Don’t show delete all posts button in admin when there are no posts
- Return proper error message when replying to a closed or deleted topic
- Better handling of the ‘read guidelines’ badge
- Picture would be hidden when
[details]
block was closed in the composer - Emoji aliases were not recognised
- Hide draft status when uploading an image
- Change button to ‘remove feature’ when a topic is already featured
- Don’t add an automated message when a moderator already replied (as opposed to the moderator)
- Pause processing background messages while saving a post
- Modal backup wasn’t working
- Toggle topic status was inverted
- Handle missing post body in json in Ning importer
- Importers should create duplicate categories if the parent category is different
- Importers should allow categories with existing name if the parent category is different
- Quoting an avatar when
default_avatars
was set was broken. - Reply as new topic should select the correct category
- Allow
loadScript
to use script tags if the JS library require it. - Code block hoisting bug
- Do not include jquery.widget twice
- Auto-message shouldn’t generate notifications
- Show all deleted posts
- Edit category button was broken
- Clicking on username was causing page to scroll all the way up
- Site cusomizations didn’t respect subdirectories
category-group
didn’t work with subdirectories- Allow logster to report errors in a subfolder
- Hand-crafted mention link creates invisible div
- Pre-hoist code blocks & spans
- Don’t use discourse.conf in test
- Discourse.conf not parsing out comments correctly
- Hoist code blocks content before doing any kind of processing
- Reason for not being able to delete a staff user’s posts was wrong in admin
- Back button was a bit odd with default admin users list
- 6to5 was renamed to Babel
- Stop hiding suggested topics when new posts show up
- Js error in composer
- If a category of a topic changed, watching/tracking didn’t kick in
- Move the user-card out of the viewport when closed
- User-card tests
- Publically ->` publicly
- Do not stage posts on mobile, we have no cooked
- Default avatars should be under files
- After changing post owner, profile pages still showed previous owner and incorrect topic and post counts
- Trying to deleting post with nil topic was failing
- Poll requires logged in user to log in again
- Open/Closing the poll wasn’t updating the UI
- Only remove custom CSS in admin on first load
- Subtle fade in + scale up animation on user cards for Safari
- Title missing from revisions dialog
- Topic and post counts are not updated when ownership of a post is changed
- Words nested in
<kbd>
disappear when searched - Reenable console output for verbose localization
- Don’t show similar topics with no results
- Update logster fixes ?test causing a 500
- TL3 could retitle restricted topics
- Convert all emojis to text in short email notifications
- People could retitle restricted topics
- Only add user to invited groups once
- If an IP is blocked, don’t allow people to login using it
- Use the ‘post edit time limit’ for topics too
- When creating a SSO user via sync, do not user the IP address.
- Support text only logos when activating account.
- Staff action logs not logging all changes
- Don’t use ‘convert’ to optimize GIF + refactor
- Forward to SSO login automatically
- SSO code should respect IP address filters
- Enforce max length for custom user fields
- If categories page is the default, don’t add it to the title
- Don’t expire ratelimits at midnight server time
- Don’t escape test in topic excerpt for mobile.
- Clicks counter on attachments wasn’t always working
- Link insertion dialog should not modify the inserted links
- Disable custom stylesheets in /admin
- We only want to downsize emojis
- Don’t change default_digest_email_frequency during import
- Non-secure warning from YouTube thumbnails
- When allow uncategorized was off we were still showing uncat for admins/mods
- Don’t use flash cause we are not redirecting
UX CHANGES
- Prevent horizontal scroll on iPhone
- Post content was moving up when viewing replies
- Show category badge underneath title in user stream
- Remove dark background on expanded replies
- Close user card right away when navigating to a user.
- Clean up title for user avatar hover in header
- Show meaningful tooltip for user menu
- Remove grey on “n replies” under post
- Coldmap now progressively dimmer primary color
- Highlight the OP of a warning
- Show domains even on local links in the topic map with titles
- Allow youtube embed width and height to be passed as param
- Use lighter grey for code blocks too
- Switch to lighter grey for all quotes
- Larger numbers for topic summary,
- Add headings to topic summary
- Always show reply as new topic if the user can.
- Fix blockquote in firefox
- Add space between location icon and text
- Do not show last post label in user card if user never posted
- Show lock icon in user stream if topic is closed/archived
- Improve user directory on mobile
- No need to show protocol in youtube link
- Mobile categories page is more like desktop categories page
- Show caps lock warning on password reset page
- Show a dash if a version string is missing
- Show category badge on enqueued posts
- Tweak copy and position of tracking and new prefs
- Add link to group member from groups admin page
- Remove uneeded refresh button from custom groups
- Select on blur if there are no choices for select2
- Highlight for latest poster when it is OP
- Use ellipsis in topic wrench menu for ‘more choices’
- Remove “last poster” style from topic list
- Add reply-to glyph in composer
- Dynamic invite copy
- Deemphasize alternate login buttons
- Cleaner trending up/down stats colors
- Switch to circle avatars by default
- Login to decide when to show you near the top of the directory
- User page copy change replies ->` responses
- If you ctrl or cmd click a user card link, don’t show the card
- Banner topic’s background was blue
- Display unread underneath description on categories page if logo
- Move automatic/custom groups properties to their own fields group in user admin
- Slide in animation for login/signup modals
- Support dark themes on user directory
- User directory tweaks.
- Always show the current user at the top of the directory
- Show two lines per user on directory
- Fix
[Object object]
on admin/groups buttons - Separate custom from automatic groups in user admin
- Remove outline on lightboxes
- Show GitHub logo in front of URL for commit/PR/issue/gist
- Remove visited styling from topic list
- Remove live character countdowns from the composer
- Navigate to staged posts faster right away
- Fix jerky UI when creating new posts
- Improve message when admin login is blocked because of admin ip address whitelisting
- Show user name and title on about page
- Rename posts ->` replies (and change to be posts-1)
- Move Custom fields up in user preferences
- Clean up box category styling
- Unified About / Privacy / ToS / FAQ topnav
- Show real name on the about page
SECURITY CHANGES
- XSS in poll errors dialog
- Log off all existing sessions when resetting password
PERFORMANCE
- Always use a region for S3 (defaults to ‘us-east-1’)
- Keep a local cache of uploads when generating thumbnails
- Remove “fog” dependency
- Avoid cookies for all static, public, cached forever assets
- NGINX caching invalid when server sets cookies
- Missing caching on CSS and Site Customizations
- Avoid preloading json in cases where it is not needed
- Hit all index conditions to speed up anon ip tracking
- Missing index on useractions making user page slow
- Refactor user search so works more efficiently
- Speed up counting of unread notifications
- Optimise front page category security lookup query
- Add missing index on post actions
- Active Record #pluck is twice faster
- SqlBuilder bypasses AR converters and uses PG directly
- Sites in multisite config can share css files if they are not using a color scheme or category backgrounds
- Don’t recompile css files that have already been compiled
- Place letter avatars inside the tmp folder
- Eliminate N+1 query due to polls
- Add missing index on topic_links
- Eliminate query that grabs every post number on topic page.
- Improve performance for featured user calculation
- Move post alerting into async
- Only refresh the Daily stats hourly, do the others daily.
- Concatenate scripts in development mode
- Speed up query
- Fix memory leak
- Gzip --best can be very slow, use standard compression
- Simplify and shrink the translation cache
- Restart sidekiq if it consumes more than 500MB
- Stop loading highlight js on load
- Add index to make finding new topics faster
- Avoid expensive order by random for suggested topics
- Clean up performance of user badges admin when large number of badges exist
- Disable PM stats when explicitly omitting stats
- Don’t run stats query in user card
- Added missing indexes for pinned topics
- Optimise pinned handling on home page