]> BookStack Code Mirror - website/commitdiff
Added v24.02 post media, proof read content
authorDan Brown <redacted>
Mon, 26 Feb 2024 21:58:56 +0000 (21:58 +0000)
committerDan Brown <redacted>
Mon, 26 Feb 2024 21:58:56 +0000 (21:58 +0000)
content/blog/2024/bookstack-release-v24-02.md
content/docs/admin/updates.md
static/images/2024/02/bookstack-video-attachment-drag-drop.mp4 [new file with mode: 0644]
static/images/2024/02/chapter-default-page-template.png [new file with mode: 0644]
static/images/2024/02/comment-wysiwyg-input.png [new file with mode: 0644]
static/images/2024/02/table-added-actions.png [new file with mode: 0644]
static/images/2024/02/table-header-row-toggle.png [new file with mode: 0644]

index cb2b521b67cdf36f09b446e636e7d12961ed13d9..26c1ff23d6e0b13ac848d7029084bbd9c651d4b1 100644 (file)
@@ -5,12 +5,12 @@ title = "BookStack Release v24.02"
 date = 2024-02-29T12:10:00Z
 author = "Dan Brown"
 image = "/images/blog-cover-images/cc-by-sa-2/burnieside-steven-brown.jpg"
-slug = "bookstack-release-v24-12"
+slug = "bookstack-release-v24-02"
 draft = false
 +++
 
-For our first feature release of 2024 we have a variety enhancements to enjoy, many
-building upon the work from the previous release, and many others addressing some 
+For our first feature release of 2024 we have a variety enhancements to enjoy!
+Many of these build upon the work from the previous release, while many others address some 
 common pain-points in BookStack.
 
 * [Update instructions](/docs/admin/updates)
@@ -18,12 +18,10 @@ common pain-points in BookStack.
 
 **Upgrade Notices**
 
-TODO - Add security notice for v23.12.3.
-TODO - Copy to updates page.
-
-- **Comments** - The ability to use markdown content in comments has been removed in this release, replaced by a WYSWIYG editor. This was a fairly hidden feature though so was not commonly utilised. Existing markdown comments will remain although formatting may be lost if old markdown comments are edited.
-- **Commands** - The "Regenerate Comment Content" command has been removed in this release as this action is now redundant.
-- **OIDC Authentication** - Proof Key for Code Exchange (PKCE) support has been added to BookStack OIDC authentication. This should not affect existing OIDC use, but you may want to enforce PKCE to be required for BookStack on your authentication system, if supported, for extra security.
+- **Security** - The v23.12 branch of BookStack recently had a security release, which you can find details of in our [v23.12.3 blogpost](/blog/bookstack-release-v23-12-3/).
+- **Comments** - The ability to use markdown content in comments has been removed in this release, replaced by a WYSIWYG editor. Markdown in comments was a fairly hidden feature though so was not commonly utilised. Existing markdown comments will remain although formatting may be lost if old markdown comments are edited.
+- **Commands** - The "Regenerate Comment Content" command has been removed in this release since this action is now redundant.
+- **OIDC Authentication** - Proof Key for Code Exchange (PKCE) support has been added to BookStack OIDC authentication. This should not affect existing OIDC use but you may want to enforce PKCE to be required for BookStack on your authentication system, if supported, for extra security.
 
 TODO - Video
 <!-- {{<pt 4gCUZhHumJDLTtSbGQzXzU>}} -->
@@ -31,25 +29,26 @@ TODO - Video
 ### Simple WYSIWYG comment editor
 
 Last feature release [we added](https://www.bookstackapp.com/blog/bookstack-release-v23-12/#wysiwyg-editor-for-descriptions)
-a simple WYSIWYG editor for shelf, book and chapter descriptions. In this release we've
-updated comments to now also use this editor:
+a simple WYSIWYG editor for shelf, book & chapter descriptions.
+In this release we bring this new editor to comments:
 
-TODO - Image of comments editor
+![View of the "New Comment" section shown when viewing a page, with a simple WYSIWYG editor that includes 5 formatting buttons, and within that is some example text reflecting bold, italic and linked text.](/images/2024/02/comment-wysiwyg-input.png)
 
 Formatting in comments was previously possible via markdown but this was little known and not really
 intuitive for the mixed-skill environment we target, so this should make things much more accessible.
-This does mean some previously supported markdown formats are no longer supported, but those comments 
-will still remain as-is, unless edited in which case they might lose unsupported formatting while editing.
+This does mean some previously supported markdown formats can now longer be used, but those old comments 
+will still retain their formatting, unless edited in which case they might lose unsupported formatting 
+when loaded into the editor.
 
 ### Default Page Templates for Chapters
 
-Building on the default page template option we added to books in the last release,
-the same functionality has been carried across for chapters in this release.
-So it's now possible to set a default page template at the chapter level which
+Building on the default page template option we added to books [in the last release](/blog/bookstack-release-v23-12/#default-template-for-new-book-pages),
+the same functionality has now been carried across for chapters,
+so it's now possible to set a default page template at the chapter level which
 will be used as the default content for new pages, when a page is created
 within that specific chapter:
 
-TODO - Image of chapter template selection
+![View of the "Edit Chapter" page in BookStack, focused on a "Default Page Template" section containing an input that shows the value "#92, Cat Profile Template"](/images/2024/02/chapter-default-page-template.png)
 
 New pages will use the chapter-level template if set, or otherwise look to
 use the book-level template if set there.
@@ -65,22 +64,22 @@ to go wrong, or become somewhat "stuck", while it's difficult to reset these kin
 In this release, we've focused on a whole range of improvements to make it easier to handle 
 these kinds of scenarios.
 
-TODO - Image of table menu
+![View of the "table" toolbar button dropdown with new "Clear table formatting" and "Resize to contents" actions shown](/images/2024/02/table-added-actions.png)
 
-Within the table toolbar menu, there are now a couple of extra options: "Clear table formatting" which
+Within the table toolbar menu, there are now a couple of extra options: A "Clear table formatting" option
 makes it easy to reset all sizing and formatting across the whole table in a single click.
-"Resize to contents" which resets all fixed sizes across the tables, allowing it to automatically scale 
+A "Resize to contents" option resets all fixed sizes across the tables, allowing it to automatically scale 
 back to the contents. 
 
 Multi-table-cell selection has been enhanced, so that clear-formatting & text-direction controls
 will now properly apply across the whole selection range. We've also addressed an issue with
-scrollbars clogging up the view in such selections in certain browsers.
+scrollbars clogging up the view when such selections are performed in certain browsers.
 
 Lastly, enabling a header row has been made easier. Previously, this required navigating multiple
 levels of menus but instead you'll now see a "Toggle header row" button in the table toolbar
-when focused on the first table row:
+when focused within the first table row:
 
-TODO - Table header toggle button
+![View of the BookStack page WYSIWYG editor. A table has been added describing various cats. The table is selected with a toolbar shown above it. The cursor is hovering over a "Row header" button which is currently active, reflecting the different shading of the top row of the table](/images/2024/02/table-header-row-toggle.png)
 
 ### Improved Video Attachment Support
 
@@ -97,13 +96,15 @@ Going further, to help the process of embedding, adding an attachment link
 (or drag and dropping the attachment into the editor) for a video will directly insert that as a
 video embed rather than a standard link:
 
-TODO - Embed preview/animation
+<video muted controls src="/images/2024/02/bookstack-video-attachment-drag-drop.mp4"></video>
+
+*Note: Stream support can depend on configured storage. When S3 storage is used, attachments will be streamed from BookStack to the user, but BookStack may still need to download the whole attachment file from the upstream storage system on request.*
 
 ### OIDC Authentication PKCE Support
 
 Proof Key for Code Exchange (PKCE) is a mechanism that can be added to the OAuth/OIDC authentication flow
-to help protect against a range of potential attacks via an extra layer of checks against the credentials
-gained and used by a client application like BookStack.
+to help protect against a range of potential attacks via an extra layer of checks upon the credentials
+gained & used by a client application like BookStack.
 
 In v24.02 we now support PKCE for the the OIDC authentication flow. This is active by default, and will be used
 on all OIDC login flows without any additional BookStack configuration needed.
@@ -117,7 +118,7 @@ A new `AUTH_PRE_REGISTER` event is now available for use via the
 [logical theme system](https://github.com/BookStackApp/BookStack/blob/development/dev/docs/logical-theme-system.md).
 This event runs just before a user is created through any self-registration events
 (including auto-registration events for third-party/saml/ldap/oidc authentication)
-and its return value can be used to indicate of the registration should be allowed.
+and its return value can be used to indicate if the registration should be allowed.
 A `false` return value will stop the registration, and return the user to the login screen.
 Here's an example use of this logical theme event:
 
@@ -134,7 +135,7 @@ Theme::listen(ThemeEvents::AUTH_PRE_REGISTER, function (string $authSystem, arra
 
 This arbitrary example will only allow registration if the user's email address begins with 'barry'.
 There's a lot of better ways this could be used though, to add custom logic that BookStack does not support 
-by default. For example, you could cross-reference the user against a file, you could check against another API,
+by default. For example, you could cross-reference the user against a file, you could check against an external API,
 or even force disable this kind of registration completely by simply returning `false`.
 
 ### Back-end changes
@@ -143,7 +144,7 @@ There have been some significant changes this release cycle in regards to how th
 of data is queried out from the database. This was mostly a code & data organisation
 change but some performance optimization was performed alongside these changes.
 
-There have also been changes to how redirects and session history tracking are performed
+There have also been changes made to how redirects & session history tracking are performed
 which should help avoid some edge cases where users could be redirected to 
 unexpected places, like to uploaded images.
 
@@ -155,6 +156,7 @@ the initial v23.12 release:
 
 - Name - *Language - x words*
 
+TODO
 
 *\* Word counts are those tracked by Crowdin, indicating original EN words translated.*
 
@@ -163,15 +165,15 @@ the initial v23.12 release:
 Our next release will be focused on updating the framework used by BookStack, from Laravel 9
 to Laravel 10. This will require an update of requirements, specifically to the minimum
 PHP version, which will jump from PHP 8.0 to PHP 8.1. Therefore we'll also be dedicating 
-effort to updating install scripts and to guidance for updating PHP, to support this change.
+effort to updating our install scripts & guidance, to support this change.
 
 Upon that, I'd like to address the options provided for PDF rendering.
 Right now we provide DOMPDF by default, which works great via just PHP and is license-compatible
-for BookStack, while also documenting a way to use WKHTMLtoPDF which offers more advanced
-rendering but has security & technical considerations. WKHTMLtoPDF is also no longer
+for BookStack, while we also document a way to use WKHTMLtoPDF which offers more advanced
+rendering but has security & technical considerations. WKHTMLtoPDF is no longer
 maintained nor developed, and is dropping out of operating system software repositories,
 so it's time to look at filling that gap.
-My current idea is to support a generic, command-calling-based, interface which can then be 
+My current idea is to support a generic, command-calling-based interface which can then be 
 configured for a variety of PDF rendering solutions, with some guidance in the BookStack
 docs to make this easy to configure.
 
@@ -193,9 +195,9 @@ docs to make this easy to configure.
 * Updated some EN text for consistency/readability. ([#4794](https://github.com/BookStackApp/BookStack/pull/4794))
 * Updated WYSIWYG editor with improved cell selection formatting clearing. ([#4850](https://github.com/BookStackApp/BookStack/pull/4850))
 * Updated WYSIWYG text direction & alignment controls to work more reliably on complex structures. ([#4843](https://github.com/BookStackApp/BookStack/issues/4843))
-* Fixed breadcrumb dropdowns being partly out of view on mobile screen sizes. ([#4824](https://github.com/BookStackApp/BookStack/issues/4824))
+* Fixed breadcrumb dropdowns being partially out of view on mobile screen sizes. ([#4824](https://github.com/BookStackApp/BookStack/issues/4824))
 * Fixed description WYSIWYG not respecting RTL text. ([#4810](https://github.com/BookStackApp/BookStack/issues/4810))
-* Fixed header bar collapse on smaller screen sizes when when no name or logo is used. ([#4841](https://github.com/BookStackApp/BookStack/issues/4841))
+* Fixed header bar collapse on smaller screen sizes when no name or logo is used. ([#4841](https://github.com/BookStackApp/BookStack/issues/4841))
 * Fixed incorrect pagination display in RTL layout. ([#4808](https://github.com/BookStackApp/BookStack/issues/4808))
 * Fixed JavaScript error logged on WYSIWYG editor load due to how custom styles were imported. ([#4814](https://github.com/BookStackApp/BookStack/issues/4814))
 * Fixed scrollbars showing on WYSIWYG table cell range selection in some browsers. ([#4844](https://github.com/BookStackApp/BookStack/issues/4844))
@@ -203,7 +205,7 @@ docs to make this easy to configure.
 
 **Released in v23.12.3**
 
-TODO
+* Updated PHP dependencies, primarily to update php-svg-lib package.
 
 **Released in v23.12.2**
 
index 096cd23d5ef66c15eaa0bc4b059100facde4740e..e096e803ecdc337305b7c2ea8145dc85d5e083c0 100644 (file)
@@ -41,6 +41,14 @@ This is primarily a list of breaking changes & security notices.
 Details of updates can be found on [our blog](https://www.bookstackapp.com/blog/) or via 
 the [GitHub releases page](https://github.com/BookStackApp/BookStack/releases).
 
+#### Updating to v24.02 or higher
+
+**Comments** - The ability to use markdown content in comments has been removed in this release, replaced by a WYSIWYG editor. Markdown in comments was a fairly hidden feature though so was not commonly utilised. Existing markdown comments will remain although formatting may be lost if old markdown comments are edited.
+
+**Commands** - The "Regenerate Comment Content" command has been removed in this release since this action is now redundant.
+
+**OIDC Authentication** - Proof Key for Code Exchange (PKCE) support has been added to BookStack OIDC authentication. This should not affect existing OIDC use but you may want to enforce PKCE to be required for BookStack on your authentication system, if supported, for extra security.
+
 #### Updating to v23.12 or higher
 
 **Page Includes** - The way page include content is fetched & merged has changed significantly in this release, which in some cases may alter how included content appears on the page.
diff --git a/static/images/2024/02/bookstack-video-attachment-drag-drop.mp4 b/static/images/2024/02/bookstack-video-attachment-drag-drop.mp4
new file mode 100644 (file)
index 0000000..63a38b5
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0b9198d0aede4873223023d08e061fea84634471c6e39cc2f4bd7f34e0a9124c
+size 1273703
diff --git a/static/images/2024/02/chapter-default-page-template.png b/static/images/2024/02/chapter-default-page-template.png
new file mode 100644 (file)
index 0000000..736ab6c
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:67e5859cdce6ac0213a7121225830460709609fc2afa751572de949966e0144e
+size 64682
diff --git a/static/images/2024/02/comment-wysiwyg-input.png b/static/images/2024/02/comment-wysiwyg-input.png
new file mode 100644 (file)
index 0000000..8f42591
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:597faa95f0e1814d0a0bea75dce95821d06b8c22c547fcfc55e9a19139210330
+size 61709
diff --git a/static/images/2024/02/table-added-actions.png b/static/images/2024/02/table-added-actions.png
new file mode 100644 (file)
index 0000000..6403a09
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cdced127e4dfef39e52b50147cd40cbbfc98ec18712a3c1d5e0e048f6a405000
+size 35218
diff --git a/static/images/2024/02/table-header-row-toggle.png b/static/images/2024/02/table-header-row-toggle.png
new file mode 100644 (file)
index 0000000..73ddc48
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:70a1ed16b764c330347fae4a874027430b6c209bebdc25e18e5dfc2dd5b012d0
+size 46735