]> BookStack Code Mirror - website/commitdiff
Completed first writing pass on blogpost and docs text
authorDan Brown <redacted>
Tue, 27 May 2025 22:30:13 +0000 (23:30 +0100)
committerDan Brown <redacted>
Tue, 27 May 2025 22:30:13 +0000 (23:30 +0100)
Not yet reviews, images still needed.

content/blog/2025/bookstack-release-v25-05.md
content/docs/admin/oidc-auth.md
static/images/blog-cover-images/cc-by-2/karen-roe-pond.jpg

index 6d5added675b335f90dcc2ba15f45f2ab18af0d3..e8d9df64c52cadf476c7bfbae9dff98d50b055af 100644 (file)
@@ -27,31 +27,160 @@ TODO - Video
 
 ### Content Comments
 
-TODO
+In a platform like BookStack it's quite likely that page comments will be referring
+to a specific part of the page content, which you'd previously need to describe
+as part of the comment text.
+With this release, it's now possible to directly & visually reference a part of the 
+page content in a comment.
+This is achieved via a new button in the content popover, which is shown when part of the page text
+is selected:
+
+TODO - image of popover with comment
+
+Clicking this will start a new comment with a reference to the selected area & text range.
+When viewing the page, this will then show as a highlight and marker for that content:
+
+TODO - Image of inline comment display
+
+Clicking the comment marker will then open up that comment thread:
+
+TODO - Image of inline thread
+
+From there you can close or read the thread within this inline display, or click the "Jump to thread"
+action to jump to the full thread in the comments area, where you can edit or reply where desired.
+
+When viewing the comments area, comments which reference content will have an indicator to reflect their connection
+to specific content. This may show as outdated if the referenced content has changed since the comment
+was made. Clicking on this indicator will jump the user to the relevant section on the page.
+If the referenced section no longer exists at all, this indicator will become orange and can't be clicked.
+
+TODO - Image of range of indicator presentations
+
+Some of these features are also supported in the page editor.
+When using the new WYSIWYG editor, opening the comments sidebar will show the inline comments 
+(where possible) and the reference indicators will be active as explained above.
+This isn't supported in the markdown or the old default WYSIWYG editor, where the 
+indicators will instead remain gray to represent being inactive.
+
+TODO - Image of editor with comments
+
+One thing to note is that only the starting comment of a thread can reference content in this way.
+This is to avoid a range of confusing user experience scenarios, like having parts of threads duplicated across
+various inline comment markers.
 
 ### Comment Archiving
 
-TODO
+With the addition of content comments, I thought that comments would now be much more useful
+for creating todo-like actions regarding the page content.
+In such usage, it would really help to have a way to close-off and hide comments.
+While you could delete comments, from a user perspective that seems quite dangerous, and in 
+most scenarios you'd want to retain that context that led to changes.
+
+To support these kind of scenarios, this release adds the ability to archive comments.
+This is an action which shows on a comment like the existing options:
+
+TODO - Image of archive option, with comment tabs showing
+
+In the comments area, you'll now see tabs for jumping between active and archived threads.
+Inline comment markers, introduced above, will show based upon which tab is active.
+Within the page editor, archived threads can be accessed via a dropdown below active 
+comment threads.
+
+TODO - Image in editor sidebar
+
+Only the top-most comments have the ability to be archived or unarchived,
+to keep management thread-based otherwise you will have parts of threads
+split between tabs.
+In terms of permissions, the ability to archive is currently just based
+on the ability to edit or delete the comment.
 
 ### AVIF Image Support
 
-TODO
+BookStack will now support the use of AVIF images for all 
+places you can upload images!
+AVIF, which is the image version of the AV1 video standard,
+is a modern image format which can achieve great compression 
+for smaller image file sizes at equivilent quility.
+It's also quite featureful, with support for transparency, animation,
+HDR, and lossless compression.
+
+The only area which won't currently support AVIF images is 
+our default PDF export option, but hopefully support in this
+area will be here soon.
+
+For an in-depth look & comparison of AVIF I'd strongly recommend reading
+this blog post by Jake Archibald: https://jakearchibald.com/2020/avif-has-landed/
 
 ### OIDC User Avatar Support
 
-TODO
+From this release it's now possible for instances using OIDC
+authentication to assign user avatar images from the data
+given from the OIDC system.
+This can be enabled through the following `.env` option:
+
+```bash
+OIDC_FETCH_AVATAR=true
+```
+
+**Warning:** This should only be enabled where you trust the connected
+OIDC system to provide safe URLs for user images otherwise this can 
+present a server-side-fetching risk.
+
+With this option enabled, upon login, BookStack will use the `picture` claim provided
+in OIDC user data, and fetch that image and save that as the user's avatar.
+This will only be done if the user does not already have a user avatar image set.
+
+A big thanks to [@rubentalstra](https://github.com/BookStackApp/BookStack/pull/5429)
+for contributing this feature.
 
 ### System Info API Endpoint
 
-TODO
+A new api endpoint has been added in this release which provides some high-level
+details of the system. The endpoint can be accessed at `GET /api/system` and
+returns data like that shown below:
 
-### New WYSIWYG Editor Now in Beta
+```json
+{
+  "version": "v25.02.4",
+  "instance_id": "1234abcd-cc12-7808-af0a-264cb0cbd611",
+  "app_name": "My BookStack Instance",
+  "app_logo": "https://docs.example.com/uploads/images/system/2025-05/cat-icon.png",
+  "base_url": "https://docs.example.com"
+}
+```
 
-TODO
+This can be useful in integration scenarios where you need specific details
+to make decisions or display elsewhere.
+
+### New WYSIWYG Editor Updates, Now in Beta
+
+The new WYSIWYG editor, [introduced back in v24.10](/blog/bookstack-release-v24-10/#new-alpha-wysiwyg-editor-option),
+is moving from Alpha to Beta status in this release!
+We've now been through many patch and feature releases where fixes and
+improvements have been made to this editor, so I'm happy to move it
+a little further along the journey to becoming the default editor option.
+
+During this stage I'll open up feedback to customization requirements while
+also maybe switching over the comment WYSIWYG editor to use the same new framework
+we've built here.
+
+A big thanks to everyone that has [provided feedback](https://github.com/BookStackApp/BookStack/issues/5245)
+during this alpha stage. I've started a new fresh thread to gain feedback for this beta stage:
+
+TODO - Insert new thread link
+
+This release does bring a range of fixes and improvements itself:
+
+- Updated dropdown behaviour to align with existing editor.
+- Made it easier to escape above/below tables, code blocks and diagrams.
+- Added auto-conversion of links to images on paste to align with existing editor behaviour.
+- Fixed buggy diagram selection and keyboard interaction.
+- Fixed table column size changes not showing until after page save.
 
 ### Translations
 
-TODO
+Once again a massive thanks to all the below precise prose professionals who have 
+kindly contributed translations since our last feature release:
 
 - Name - *Lang - 2633 words*
 
@@ -59,7 +188,16 @@ TODO
 
 ### Next Steps
 
-TODO
+As referenced above, with the new editor moving to beta I may look to update the comment
+editor to this new editor, to get it used in more production scenarios, yet in a limited scope.
+Regardless, I'm sure more fixes and improvements will be made in this area.
+
+In July we'll see the 10 year anniversary since the start of the project.
+I was aiming to build one of the very complicated & highly requested features in our backlog
+for this event, but I burnt out on that after various attempts in this release cycle,
+so I'm not keen on doing that again. 
+I'm not one for a lot of fanfare, but I'm going to try and think about some different things
+we can do to celebrate this milestone.
 
 ### Full List of Changes
 
index a0ea0005ac879ce39b2330a2278606b0eaa15057..fa6fe7363cae3b1e4b5010ca7b771403ebb5114f 100644 (file)
@@ -75,6 +75,14 @@ OIDC_ISSUER=https://instance.authsystem.example.com
 # Otherwise, this can be set as a specific URL endpoint.
 OIDC_END_SESSION_ENDPOINT=false
 
+# Enable fetching of the user's avatar from the 'picture' claim on login.
+# Will only be fetched if the user doesn't already have an avatar image assigned.
+# By default this is false which disables avatar fetching. Set to 'true' to enable.
+# WARNING: This can be a security risk due to performing server-side fetching 
+# (with up to 3 redirects) of data from external URLs. Only enable if you
+# trust the OIDC auth provider to provide safe URLs for user images.
+OIDC_FETCH_AVATAR=false
+
 # Enable auto-discovery of endpoints and token keys.
 # As per the standard, expects the service to serve a 
 # `<issuer>/.well-known/openid-configuration` endpoint.
index 79e99dff41f96743a6dc758fe64d6a84cb9a0918..83658a8256e0d0e238cd1c14b3e134e4d0515446 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7efc51f6f5f4baebc84dcb79c334b99140b4f6d721261340be2c929de700fad8
-size 339880
+oid sha256:e0735d877041198036499f0cca0e8661f0fcd9bf1ea82d6fb228f3b2787d52ec
+size 380160