2 categories = ["Releases"]
4 title = "BookStack Release v25.05"
5 date = 2025-05-31T14:30:00Z
7 image = "/images/blog-cover-images/cc-by-2/karen-roe-pond.jpg"
8 slug = "bookstack-release-v25-05"
12 Today we have the May 2025 release of BookStack. The headline features
13 of this release are focused on new comment features but we have some other goodies
16 * [Update instructions](/docs/admin/updates)
17 * [GitHub release page](https://github.com/BookStackApp/BookStack/releases/tag/v25.05)
20 <!-- {{<pt iUZWrk4oxLYc2dFsAPjDyY>}} -->
24 In a platform like BookStack it's quite likely that page comments will be referring
25 to a specific part of the page content, which you'd previously need to describe
26 as part of the comment text.
27 With this release, it's now possible to directly & visually reference a part of the
28 page content in a comment.
29 This is achieved via a new button in the content popover, which is shown when part of the page text
32 
34 Clicking this will start a new comment with a reference to the selected area & text range.
35 When viewing the page, this will then show as a highlight and marker for that content:
38 
40 Clicking the comment marker will then open up that comment thread:
42 
44 From there you can close or read the thread within this inline display, or click the "Jump to thread"
45 action to jump to the full thread in the comments area, where you can edit or reply where desired.
47 When viewing the comments area, comments which reference content will have an indicator to reflect their connection
48 to specific content. This may show as outdated if the referenced content has changed since the comment
49 was made. Clicking on this indicator will jump the user to the relevant section on the page.
50 If the referenced section no longer exists at all, this indicator will become orange and can't be clicked.
52 
54 Some of these features are also supported in the page editor.
55 When using the new WYSIWYG editor, opening the comments sidebar will show the inline comments
56 (where possible) and the reference indicators will be active as explained above.
57 This isn't supported in the markdown or the old default WYSIWYG editor, where the
58 indicators will instead remain gray to represent being inactive.
60 
62 One thing to note is that only the starting comment of a thread can reference content in this way.
63 This is to avoid a range of confusing user experience scenarios, like having parts of threads duplicated across
64 various inline comment markers.
68 With the addition of content comments, I thought that comments would now be much more useful
69 for creating todo-like actions regarding the page content.
70 In such usage, it would really help to have a way to close-off and hide comments.
71 While you could delete comments, from a user perspective that seems quite dangerous, and in
72 most scenarios you'd want to retain that context that led to changes.
74 To support these kind of scenarios, this release adds the ability to archive comments.
75 This is an action which shows on a comment like the existing options:
77 
79 In the comments area, you'll now see tabs for jumping between active and archived threads.
80 Inline comment markers, introduced above, will show based upon which tab is active.
81 Within the page editor, archived threads can be accessed via a dropdown below active
84 
86 Only the top-most comments have the ability to be archived or unarchived,
87 to keep management thread-based otherwise you will have parts of threads
89 In terms of permissions, the ability to archive is currently just based
90 on the ability to edit or delete the comment.
92 ### AVIF Image Support
94 BookStack will now support the use of AVIF images for all
95 places you can upload images!
96 AVIF, which is the image version of the AV1 video standard,
97 is a modern image format which can achieve great compression
98 for smaller image file sizes at equivilent quility.
99 It's also quite featureful, with support for transparency, animation,
100 HDR, and lossless compression.
102 The only area which won't currently support AVIF images is
103 our default PDF export option, but hopefully support in this
104 area will be here soon.
106 For an in-depth look & comparison of AVIF I'd strongly recommend reading
107 this blog post by Jake Archibald: https://jakearchibald.com/2020/avif-has-landed/
109 ### OIDC User Avatar Support
111 From this release it's now possible for instances using OIDC
112 authentication to assign user avatar images from the data
113 given from the OIDC system.
114 This can be enabled through the following `.env` option:
117 OIDC_FETCH_AVATAR=true
120 **Warning:** This should only be enabled where you trust the connected
121 OIDC system to provide safe URLs for user images otherwise this can
122 present a server-side-fetching risk.
124 With this option enabled, upon login, BookStack will use the `picture` claim provided
125 in OIDC user data, and fetch that image and save that as the user's avatar.
126 This will only be done if the user does not already have a user avatar image set.
128 A big thanks to [@rubentalstra](https://github.com/BookStackApp/BookStack/pull/5429)
129 for contributing this feature.
131 ### System Info API Endpoint
133 A new api endpoint has been added in this release which provides some high-level
134 details of the system. The endpoint can be accessed at `GET /api/system` and
135 returns data like that shown below:
139 "version": "v25.02.4",
140 "instance_id": "1234abcd-cc12-7808-af0a-264cb0cbd611",
141 "app_name": "My BookStack Instance",
142 "app_logo": "https://docs.example.com/uploads/images/system/2025-05/cat-icon.png",
143 "base_url": "https://docs.example.com"
147 This can be useful in integration scenarios where you need specific details
148 to make decisions or display elsewhere.
150 ### New WYSIWYG Editor Updates, Now in Beta
152 The new WYSIWYG editor, [introduced back in v24.10](/blog/bookstack-release-v24-10/#new-alpha-wysiwyg-editor-option),
153 is moving from Alpha to Beta status in this release!
154 We've now been through many patch and feature releases where fixes and
155 improvements have been made to this editor, so I'm happy to move it
156 a little further along the journey to becoming the default editor option.
158 During this stage I'll open up feedback to customization requirements while
159 also maybe switching over the comment WYSIWYG editor to use the same new framework
162 A big thanks to everyone that has [provided feedback](https://github.com/BookStackApp/BookStack/issues/5245)
163 during this alpha stage. I've started a new fresh thread to gain feedback for this beta stage:
165 TODO - Insert new thread link
167 This release does bring a range of fixes and improvements itself:
169 - Updated dropdown behaviour to align with existing editor.
170 - Made it easier to escape above/below tables, code blocks and diagrams.
171 - Added auto-conversion of links to images on paste to align with existing editor behaviour.
172 - Fixed buggy diagram selection and keyboard interaction.
173 - Fixed table column size changes not showing until after page save.
177 Once again a massive thanks to all the below precise prose professionals who have
178 kindly contributed translations since our last feature release:
180 - Name - *Lang - 2633 words*
182 *Word counts are those tracked by Crowdin, indicating original EN words translated.*
186 As referenced above, with the new editor moving to beta I may look to update the comment
187 editor to this new editor, to get it used in more production scenarios, yet in a limited scope.
188 Regardless, I'm sure more fixes and improvements will be made in this area.
190 In July we'll see the 10 year anniversary since the start of the project.
191 I was aiming to build one of the very complicated & highly requested features in our backlog
192 for this event, but I burnt out on that after various attempts in this release cycle,
193 so I'm not keen on doing that again.
194 I'm not one for a lot of fanfare, but I'm going to try and think about some different things
195 we can do to celebrate this milestone.
197 ### Full List of Changes
199 **Released in v25.05**
201 * Added support for comments to reference page sections. ([#5584](https://github.com/BookStackApp/BookStack/pull/5584), [#1265](https://github.com/BookStackApp/BookStack/issues/1265))
202 * Added AVIF image support. ([#5625](https://github.com/BookStackApp/BookStack/pull/5625), [#5474](https://github.com/BookStackApp/BookStack/issues/5474))
203 * Added new system info API endpoint. ([#5607](https://github.com/BookStackApp/BookStack/pull/5607), [#5603](https://github.com/BookStackApp/BookStack/issues/5603))
204 * Added user avatar image fetching for OIDC authentication. Thanks to [@rubentalstra](https://github.com/BookStackApp/BookStack/pull/5429). ([#5626](https://github.com/BookStackApp/BookStack/pull/5626), [#5429](https://github.com/BookStackApp/BookStack/pull/5429), [#4271](https://github.com/BookStackApp/BookStack/issues/4271))
205 * Updated new WYSIWYG editor with further fixes. ([#5627](https://github.com/BookStackApp/BookStack/pull/5627))
206 * Updated page edit redirect to view if permission failed on edit. ([#5568](https://github.com/BookStackApp/BookStack/issues/5568))
207 * Updated translations with latest Crowdin changes. ([#5622](https://github.com/BookStackApp/BookStack/pull/5622))
208 * Update codebase and packages to address php 8.4 depreactions. ([#5358](https://github.com/BookStackApp/BookStack/issues/5358))
210 **Released in v24.02.5**
212 * Fixed incorrect image directory permissions. ([#5609](https://github.com/BookStackApp/BookStack/pull/5609), [#5605](https://github.com/BookStackApp/BookStack/issues/5605))
213 * Updated translations with latest Crowdin changes. ([#5608](https://github.com/BookStackApp/BookStack/pull/5608))
214 * Updated PHP packages.
215 * Updated system CLI:
216 - Fixed handling of database credentials with escaped special characters.
217 - Updated download-vendor command with extra clean-up handling.
220 **Released in v24.02.4**
222 * Updated PHP dependency package versions to fix compatibility issue on systems with recent libxml versions (eg. Arch Linux).
224 **Released in v24.02.3**
226 * Updated image file permission error handling for images to log instead of fail. ([#5601](https://github.com/BookStackApp/BookStack/pull/5601), [#5269](https://github.com/BookStackApp/BookStack/issues/5269))
227 * Fixed style issues in exports due to CSS variables being ignored. ([#5576](https://github.com/BookStackApp/BookStack/issues/5576))
228 * Updated translations with latest Crowdin changes. ([#5566](https://github.com/BookStackApp/BookStack/pull/5566))
229 * Updated PHP dependency package versions.
231 **Released in v24.02.2**
234 * Updated name sort rule handling to consider accented characters. Thanks to [@bernardo-campos](https://github.com/BookStackApp/BookStack/pull/5550). ([#5550](https://github.com/BookStackApp/BookStack/pull/5550), [#5542](https://github.com/BookStackApp/BookStack/issues/5542))
235 * Updated translations with latest Crowdin changes. ([#5537](https://github.com/BookStackApp/BookStack/pull/5537))
236 * Updated PHP dependency package versions.
237 * Fixed a range of issues for the new WYSIWYG editor: ([#5558](https://github.com/BookStackApp/BookStack/pull/5558))
238 - Fixed content saving issues, specifically on save shortcut usage.
239 - Fixed list conversion & parsing which was mishandling tasks lists.
240 - Fixed a range of list selection and nesting scenarios.
241 - Updated keyboard navigation to be more reliable around images & media embeds.
242 * Fixed comment times not being shown. ([#5555](https://github.com/BookStackApp/BookStack/issues/5555))
244 **Released in v24.02.1**
246 * Added ipv6 database host address support. ([#5464](https://github.com/BookStackApp/BookStack/issues/5464))
247 * Updated translations with latest Crowdin changes. ([#5505](https://github.com/BookStackApp/BookStack/pull/5505))
248 * Updated revisions list to hide changes link for oldest revision. ([#5454](https://github.com/BookStackApp/BookStack/issues/5454))
249 * Updated system CLI:
250 * Added new `download-vendor` command.
251 * Updated restore command to take environment variables into account. ([#5489](https://github.com/BookStackApp/BookStack/issues/5489))
252 * Updated backup command to use mariadb-dump where available. ([#5373](https://github.com/BookStackApp/BookStack/issues/5373))
253 * Updated update command to check, warn and exit early if the CLI is making changes to itself. ([#5335](https://github.com/BookStackApp/BookStack/issues/5335))
254 * Updated MySQL handling to use option files to pass details to CLI executions.
255 * Updated MySQL handling to consider common xampp directory.
256 * Updated PHP dependencies.
260 <span style="font-size: 0.8em;opacity:0.9;">Header Image Credits: <span>Photo by <a href="https://www.flickr.com/photos/karen_roe/8247172011">Karen Roe (CC-BY-2)</a> - Image Modified</span></span>