+++
Today we announce the first BookStack feature release of 2022.
-This brings updates and features to the WYSIWYG editor, user management API endpoints and much more. In this post we cover features added in this release
+This brings updates & features to the WYSIWYG editor, user management API endpoints and much more. In this post we cover features added in this release
in addition to some notable changes in the v21.12 patch releases.
* [Update instructions](https://www.bookstackapp.com/docs/admin/updates)
**Upgrade Notices**
- **PHP Requirements Change** - The minimum required version of PHP has changed from 7.3 to 7.4.
-- **Composer Requirements Change** - As of release v21.12.3 composer version 2.0 or greater is required. See our [v21.12.3 update notes](/docs/admin/updates/#updating-to-v21123-or-higher) for details of upgrading this.
-- **Security Releases** - During the last release cycle there was a security update. See the [v21.12.1 blog post](/blog/bookstack-release-v21-12-1/) for more detail.
+- **Composer Requirements Change** - As of release v21.12.3 composer version 2.0 or greater is required. See our [v21.12.3 update notes](/docs/admin/updates/#updating-to-v21123-or-higher) for details on upgrading this.
+- **Security Releases** - During this last release cycle there was a security update. See the [v21.12.1 blog post](/blog/bookstack-release-v21-12-1/) for more detail.
### WYSIWYG Editor Updates
In terms of usage, everything should remain familiar. The most apparent changes are to the toolbar:
-TODO - IMAGE OF TOOLBAR
+
-The styling and size of the buttons have changed to be a little more modern and easier to use. The positioning of some buttons has changed with lesser-used controls being placed behind overflow menus to keep the default toolbar focused & simple. Code formatting options have been moved out from the block formats dropdown to instead be inline & insert options. A new help "(?)" toolbar button has been added to show editor license information in addition providing a listing of available shortcuts.
+The styling and size of the buttons has changed to be a little more modern and easier to use. The location of some buttons have been moved, with lesser-used controls being placed behind overflow menus to keep the default toolbar focused & simple. Code formatting options have been moved out from the block formats dropdown to instead be inline & insert options. A new help "(?)" toolbar button has been added to show editor license information in addition providing a handy list of available shortcuts.
For those using BookStack in a language other than English, the editor is now linked to our translation system meaning that, where language files have been updated, controls within the editor should now be in your preferred language:
-TODO - IMAGE OF EDITOR LANGUAGE
+
You'll probably notice other usability and speed improvements gained by the more modern underlying library, otherwise all existing features and abilities should remain the same.
### Collapsible Content Block WYSIWYG Editor Support
-For the first time in while we've added a new content type to the WYSIWYG editor: The collapsible content block. These blocks allow the grouping of multiple other blocks of content into container that can be toggled by a viewer.
+For the first time in while we've added a new content type to the WYSIWYG editor: The collapsible content block. These blocks allow the grouping of multiple other blocks of content into a container that can be toggled open by the reader.
-TODO - IMAGE OF COLLAPSIBLE
+<video loading="lazy" controls="true" src="/images/2022/02/collapsible-blocks.mp4" muted></video>
These blocks are open within the editor and closed when viewed on a page. They can be toggled closed within the editor for cleaner editing or previewing purposes. The label used on the toggle bar can be edited as desired. When page content is exported these sections are still represented although in an open state so that content is visible.
Behind the scenes these blocks use the HTML standard `<details>`/`<summary>` elements as described on [MDN here](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details). Markdown users have been able to use these within BookStack, using the HTML representation, but the inclusion in the WYSIWYG editor helps align abilities.
-The addition of these blocks adds some great potential use-cases to empower your documentation; From cleaning up large details sections or code-blocks, to being able to provide spoiler-free question and answer style content:
+The addition of these blocks adds some great potential use-cases to empower your documentation; From cleaning up large detailed sections or code-blocks, to being able to provide spoiler-free question and answer style content:
-TODO - Image of QA using collapisble blocks
+
### User Management API Endpoints
In this release the API receives another set of abilities. There are new endpoints for
-user listing, creation, updating and deletion:
-
-TODO IMAGE OF ENDPOINTS
-
+user listing, creation, updating and deletion.
All of these actions require "Manage Users" role permissions by the API client user.
+
+
These new endpoints unlock a whole new avenue for automated and programmatic user management
in addition to allowing bulk operations to be script-able. Need to migrate thousands
of users into BookStack? Now it's possible!
- Webhook "Last Called" time, "Last Errored" time and "Last Error" messages are now recorded against the webhook and shown in the webhook edit page for easier debugging.
- The HTTP webhook call timeout is now configurable per-webhook.
-TODO - IMAGE OF DEBUG INFO
+
These changes should greatly improve the debugging process, if needed, when setting up webhooks while allowing them to be used in a much more reliable manner.
As of v21.12.4 you can now select a preferred language when creating a new user in the system:
-TODO - IMAGE OF SELECT CONTROL
+
Upon showing the correct language upon first login, this means that the new user can now receive the invitation email in the most suitable language, instead of it being based on the language of the admin creating the user, which was not very intuitive.
- Last update author and last update time are now shown.
- The parent book/chapter chain are displayed for each item.
-TODO - IMAGE OF THIS LIST
+
Special thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3177) for helping to evolve this area of the application.
### Translations
As is common, our remarkable translators have continued their great work to keep the language strings up to date.
-This release added a bulk-load of new terms, for use within the editor, so a particularly big thanks from me to those that have translated all those extra terms since inclusion. The contributors and updates made, since the initial v21.12 release, are as follows:
+This release added a bulk-load of new terms, for use within the editor, so a particularly big thanks from me to those that have translated all those extra terms since inclusion. The contributors and their updates made, since the initial v21.12 release, are as follows:
TODO - ADD TRANSLATIONS
* Improved PDF export rendering of images within tables. ([#3190](https://github.com/BookStackApp/BookStack/issues/3190))
* Fixed potential web console error message when loading the editor. ([#2461](https://github.com/BookStackApp/BookStack/issues/2461))
* Fixed issue where OIDC token failures would not be shown to the user. ([#3264](https://github.com/BookStackApp/BookStack/issues/3264))
+* Fixed issue where the editor could jump-scroll to the top after format change on FireFox ([#2692](https://github.com/BookStackApp/BookStack/issues/2692))
**Released in v21.12.1 through v21.12.5**
### Next Steps
This release was the first in working upon our "Editor Alignment & Review" [road-map](https://github.com/BookStackApp/BookStack#%EF%B8%8F-road-map) item.
-For this next feature release I'll be looking to get deeper into this road-map item to align markdown/wysiwyg feature-sets and potential offer easier traversal between these editor options.
+For this next feature release I'll be looking to get deeper into this road-map item to align markdown & wysiwyg feature-sets and potentially offer easier traversal between these editor options.
With the updates made to the WYSIWYG editor I think it's likely we'll have a flurry of patch releases to enhance features and patch issues that pop up from wider usage.