Backports for the following issues have been added to this release.
- Fix theme editor header/footer not displaying correctly in Microsoft Edge 14-18. support#2036
- Fix events with no location breaking the events API. support#2076
- Fix group invite messages not container a link to the group. support#2030
- Fix secret groups return a permission error to users that were invited. support#2030
- Fix popups and dropdowns having issues in certain themes. support#2060, support#2061
- Fix custom themes in the theme editor appearing twice. support#2090
Schedule
Release 2020.011 is scheduled to be deployed:
- To staging sites, Tuesday, June 2nd 2020 ✅
- To productions sites, Monday, June 8th 2020 ✅
- To Enterprise client sites, Monday June 15th 2020 ✅
Untranslated Articles in Knowledge Base
Prior to the 2020.011
release untranslated articles would be shown in other languages, but displaying the incorrect language.
Starting in this release, articles will no longer appear in site navigation or article lists if they are not translated into the current page's language.
Events
We continue to work on our new Events functionality for community categories. With this release, we've added a Pop-Up to allow you to browse through the list of users who have RSVPd to the event based on their response.
New Settings for Pockets
Pockets is a tool that allows you to add custom CSS, HTML, or Javascript to various areas of your community. With this release we are bringing you new settings for Pockets including the ability to:
- Configure a Pocket to appear in a specific category or categories
- Configure a Pocket to appear in a specific subcommunity or subcommunities
- Configure a Pocket for appear for specific Roles
We've also added a new Pocket location to allow you to place a Pocket after the banner image.
Find out more about Pockets here -
Guest Voting for Knowledge Base Articles
Guest users can now contribute to an Article's helpfulness rating, allowing you to collect insights from all user types. Guest users can only vote once per article. This module supports reCAPTCHA v3 for guest users.
New Subcommunity Chooser
We have updated our subcommunity chooser to improve the navigation between languages and products.
Bug Fixes
Developer Notes
- Add notification event support to Webhooks. #2568
- Dashboard UI has been updated to allow toggling of the "notification" event.
- Event data delivered to webhooks has been updated to include the string representation of dates. These were formally formatted as objects.
- Add dispatching of a new
NotificationEvent
object when there are user notifications on a site. - Allow Gdn_SQLDriver::where() to take RangeExpressions #10628
- Several enhancements to Logging in preparation for better user facing logs. #10564
- Allow resource events to be loggable.
- Clean up code and add some logging constants.
- Clean up the
Model
class and add some primary key information. - Add a processor that prunes data off the models.
- Add some missing unit tests.
- discussionLink()
- condense()
- proxyRequest()
- proxyHead()
- Gdn_Request::domain()
- Deprecated functions
- fixnl2br()
- Gdn_Request::host()
- Gdn_Request::hostAndPort()
- Gdn_Request::ipAddress()
- Gdn_Request::port()
- Gdn_Request::scheme()
- Gdn_Request::path()
- Gdn_Request::pathAndQuery()
- Gdn_Request::webRoot()
Libraries added
- Added league/uri to enhance Vanilla UrlUtils class.
Changes to /api/v2/themes
The APIv2 /themes endpoints have seen some significant changes in this release. After hearing much feedback from customers attempting to use these endpoint's we decided an iteration was necessary.
Due to this being a mostly internal endpoint until this point, some of these changes (particularly in the POST/PATCH) are slightly breaking compared to the previous release.
Improvements
- Add
cache-control
headers to GET /themes/:id/assets endpoints. In order to make sure the cache is properly invalidated, assets in the GET /themes endpoints now have a cache buster appended to their URL fields. Use these URLs in order to ensure you are receiving an up-to-date version of the asset. - Add server-side caching for themes. This greatly improves performance of fetching themes during both high and low traffic situations. Wondering if your result was cached? Check for the
x-app-cache-hit
header. - Improved validation across all endpoints. Invalid content can no longer be inputted. If existing invalid content is encountered, the API should continue to function, but the asset contents may contain a warning or error.
- Input/output structure for post/patch/put/get endpoints are much more consistent. The largest improvements are found in the asset endpoints.
Breaking Changes
PUT
and GET
asset endpoints now have 2 variations- PUT w/ extensions. Eg.
PUT or GET /themes/:id/assets/assetName.ext
- Returns & accepts asset content directly. Type of the asset maps to the
content-type
.
- PUT with no extensions. Eg.
PUT or GET /themes/:id/assets/assetName
- Returns and accepts json. Values are the same as an asset from the
GET/POST/PATCH
/themes endpoint.
- The
Theme
resource schema has been updated. - The
GET /themes
index endpoint now no longer automatically expands assets by default.- Expand parameters can be found in the updated API documentation.
- Assets now match the schema of GET
/theme/:id/assets
endpoints. - All assets not have a
url
field. - The
preview
field of a theme resource now has a more consistent structure. preview.variables
in particular had many fields renamed. - Previously certain assets were just strings. All assets are now objects, with the these fields fields:
type
, url
. Optionally a data
field may be expanded.