Vanilla 2019.005 was first deployed on April 11, 2019.
Features
Rich Editor
Rich Editor saw a number of enhancements in this release.
New paragraph level formatting menu
We've added a new paragraph level formatting menu in order to surface more formatting options.
Currently it is broken down into 4 categories.
- Heading Formats (Displays 4 possible levels of headings).
- List Formats (Numbered List, Bulleted List, Indented & Outdent).
- Special Formats (Quote, Code Block, Spoiler).
- Standard Format
New Rich Editor formats
Along with the paragraph formatting menu, we've added support for
- Additional levels of heading (2, 3, 4, 5). Previously only levels 2 & 3 were available.
- Support for nested lists. Lists can now be nested up to 4 levels deep.
Improved Pasting Robustness
This iteration of Rich Editor see much improved ability to paste content into the editor.
Image Upload Limits
It is now possible to limit maximum image upload dimensions through and enhanced dashboard posting page. Any images uploaded above this limit will be resized (while preserving aspect ratio) to fit within the configured dimensions.
These dimensions will be respected in Rich Editor, Advanced Editor, and the /api/v2/media
endpoint.
The following may now be pasted from other web pages
- Images (multiple at a time, including with mixed content).
- Lists (Including nested lists).
New or Expanded API endpoints
Set the canonical URL of a discussion
PUT /api/v2/discussions/:id/canonical-url
DELETE /api/v2/discussions/:id/canonical-url
Expand accepted answer IDs
The GET /api/v2/discussions/:id
endpoint not offers an expand parameter acceptedAnswers
. When set the commentID & rendered text of the accepted answer will be included in the response.
Current user endpoints
GET /api/v2/users/me
GET /api/v2/users/me-counts
These 2 endpoints may be used to fetch information about the currently signed in user.
Record a page view
Knowledge Base Features
Community & Knowledge Base Integration
Discussions & Questions may now be converted into knowledge base articles with the new menu item Convert to article
.
Using this prompt will create a new article draft including the contents of the discussion/question as well as any accepted answers.
After publishing the draft the discussion will be linked to the new article. This is a non-destructive action. After publishing that draft the the community post and the article will be linked together.
This will be reflected on the original discussion by setting the canonical URL of the discussions pages to point to the article. Additionally a notice will displayed to the user indicating the link.
Knowledge Base Sitemaps
Sites making use of the Sitemaps plugin will now offer an index of all knowledge base articles for search engines.
Filter by Knowledge Base or Community Category in Search
The /kb/search
page now include the ability to filter by a single knowledge base while searching knowledge base content and the ability to filter by a category while searching the community.
Improved Security with CSP
Knowledge base pages now implement Content-Security-Policy
headers. These headers prevent the loading of scripts from unauthorized script sources. Some domains (such as the site's own domain) are whitelisted by default.
Additional domains may be whitelisted by extending the ContentSecurityPolicy.ScriptSrc.AllowedDomains
array or implementing a ContentSecurityPolicyProviderInterface
and registering it with ContentSecurityPolicyModel
.
Improved Help Center home page
The home page for Help Center type knowledge bases has been redesigned to make better use of screen space and improve user experience.
Improved Knowledge Base Editor
The knowledge base editor now includes an improved text editor UI, that collapses when scrolling to leave more space for content.
Improved UI Cohesiveness
This release saw numerous improvements to overall UI cohesiveness and polish. Areas of significant improvement include
- Form inputs
- Buttons
- Modals
- General text-alignment & metrics
Google Sign In
Due to the fact that Google is sunsetting Google+ Sign In method we are adding Google Sign In. Forums that are using Google+ now are strongly recommended to create an OpenID OAuth 2.0 application at Google and turn on the Google Sign In plugin.
For more information about the user authentication workflow that is being implemented please read this documentation on Google.com. For instructions on how to set up the plugin see Vanilla user docs for Google Sign In
;
Developer Notes
Other Fixes
Security
- Harden permissions to block the Categories API endpoint from returning the names of Categories for which the user does not have permissions to view.
- Add permission check before allowing Users to follow a Category.
- Fix bug where Private Messages with recipients went to every user that did not have a user name.
Rich Editor
- Fix image embeds from i.imgur.com in the Rich Editor.
Groups
- Fix unwanted behaviour when announcing a Discussion in a Social Group. The announcement should only affect the Social Group (the Discussion should not be announded in Recent Discussions outside of the Group).
Reactions
- Fix Javascript bug that stopped Admins from enabling Down Voting on a Category.
Breaking Changes
Starting with this release Vanilla requires a minimum version of PHP 7.1
. Starting with this release Vanilla's automated test suite now runs on PHP versions 7.1
- 7.3
.
Deprecations
Beginning in this release the following classes are now deprecated.
\Gdn_ApplicationManager
\Gdn_ThemeManager
\Gdn_PluginManager
\Gdn_Pluggable
Additionally the following methods are now deprecated.
\Gdn::applicationManager()
\Gdn::pluginManager()
\Gdn::themeManager()
\PagerModule::rel()
If you are using any of these methods please see their inline documentation for their newer alternatives.
Database Updates
This release contains no required database updates.