### New (Alpha) WYSIWYG Editor Option
-TODO
+This release introduces the new WYSIWYG editor! This is the first step of a longer term plan
+to replace the existing (TinyMCE based) WYSIWYG editor [due to licensing changes](/blog/9-years-of-bookstack/#project-status-update-new-editor).
+Initially our goal is to match the existing editor functionality & layout as close as possible
+to ensure a stable & familiar upgrade path, so it should look much the same:
+
+TODO - Image of new editor
+
+This is an initial alpha revision of this editor though, so there are some known omissions, weak-points along with a range of issues to solve, which I'm listing & taking feedback for [on a GitHub issue here](https://github.com/BookStackApp/BookStack/issues/5245). The biggest limitation right now is the lack of specific mobile support.
+
+This new editor option can be enabled as a site default for new pages, or can be switched ot when in the editor if permissions allow:
+
+TODO - Image of controls
+
+Be wary though that the new editor right now can be less reliable, and specific content support can differ leading to loss of formatting in edge cases that may have been previously allowed.
+I don't advise it's use in production scenarios right now, it's primarily in this release for wider testing to gain feedback for.
+
+This new editor is quite a significant undertaking. The editor controls UI is completely custom built from scratch and the core editing is based upon the [Lexical library](https://lexical.dev/), although I made the decision to fork the lexical codebase into BookStack quite late in development due to some incompatible core design decisions made in lexical. This quite massively increases the maintenance surface area, but also provides us more control and possibilities around a fundamental part of BookStack. I'm thinking that as my funding continues to grow, it might even be possible to fund someone to help work part time specifically on some of the growing JavaScript/TypeScript components. This is all a bit of an experimental jump though, so I'll be thinking about maintainability and sustainability quite a lot as we mature this editor over the next few releases.
+
+Going forward, we'll continue to improve and stabilize this editor over the next few releases to get it into a beta status, before eventually later making it the default WYSIWYG option. Then, in quite a few releases later, we'll remove the existing TinyMCE based editor. Making this a stable and easy switch-over for 99% of users is super important to me.
### Advanced Search Term Negation
-TODO
+It's now possible to negate exact, filter and tag search terms when performing searches in BookStack!
+This is done using a `-` prefix with the term. For example, a search of:
+
+```
+-"dog" -[Priority] -{is_restricted}
+```
+
+Will search for content that:
+
+- does **not** contain the text "dog"
+- that is **not** tagged with a "Priority" named tag
+- which does **not** have permissions set
+
+This opens up search to a whole range of more advanced scenarios.
+Note that this is not supported for normal search terms though due to ambiguity in expectations and syntax, and negated terms are not currently reflected in the search UI (although they can still be used via search boxes).
+
+Our [search documentation](/docs/user/searching/#negated-terms) has been updated to reflect negated terms.
+
+### Browser Search (OpenSearch) Support
-### OpenSearch Support
+BookStack will now advertise OpenSearch support to browsers.
+I don't mean the Amazon fork of ElasticSearch, but [the standard](https://developer.mozilla.org/en-US/docs/Web/OpenSearch) used to tell
+browsers about the search functions of a website.
+For example, FireFox will now show an instance as an option to add for searching:
-TODO
+TODO - Screenshot of add option in firefox
+
+When added, I can then at any point perform a search via my BookStack instance using the FireFox URL/Search bar. While this was possible to set up before, this automates much of the tedious setup work.
+Different browsers use this in different ways though, so how it presents in other browsers may differ.
+
+A big thanks to [@maximilian-walter](https://github.com/BookStackApp/BookStack/pull/5198) for providing this feature to BookStack.
### R & SAS Code Block Support
-TODO
+Another pair of code languages have been introduces as support code block languages, enabling proper syntax highlight support. The languages are R and SAS:
+
+TODO - Screenshot of languages
+
+### PDF Timeout Option
+
+In the [last release we added](/blog/bookstack-release-v24-05/#command-based-pdf-export-option)
+the command-based PDF export option which allowed PDF exports to be generated using a custom command.
+One limitation of this was the default 15 second process timeout, which was found to be fairly limiting in some scenarios, so this timeout is not configurable:
+
+```bash
+# Allow 30 seconds for the export process instead of the default 15
+EXPORT_PDF_COMMAND_TIMEOUT=30
+```
+
+### Improved User Invite Failure Feedback
+
+Sending user invites, when users are created by admins, is quite commonly the first use of emails
+within a new BookStack instance but if email has not been configured correctly & tested, this can result in an error when BookStack tries to send the invite. Previously this would just result in a generic error screen, leaving the admin needing to hunt around in error logs to understand what went wrong.
+From this release we now specifically show an error notification to explain the scenario, while returning the admin back to the user creation form with the existing data-prefilled.
+
+TODO - Image of error view
+
+This should hopefully avoid a frustrating start to many initial uses of BookStack.
### Translations
-TODO - Welsh!
+This release adds a new language: Welsh 🏴!
+This is thanks to Crowdin member "KateBaber"'s continuous work over the last 10 months to develop out these Welsh translations.
+
+Of course there's been plenty of other great efforts by our translators, so a big thanks to the
+band of brilliant bilinguals below that have made contributions since our last feature release:
TODO, Format:
- Michele Bastianelli (makoblaster) - *Italian - 1971 words*
### Next Steps
-TODO
+Efforts will be focused on maturing the new editor over the next release cycle, addressing issues raised in its wider testing. Build of the new editor introduces TypeScript into the BookStack codebase, so I'll likely also look to migrate more of our original JS code to TS.
+
+It'd be nice to get back to some other features though, so I may also pick out a long-standing desired feature to focus on otherwise this year looks a bit thin due to focusing on maintenance work and like-for-like replacements of existing functionality.
### Full List of Changes
**Released in v24.10**
-TODO
+* Added ability to configure the PDF export command timeout. ([#5119](https://github.com/BookStackApp/BookStack/issues/5119))
+* Added new Lexical based editor. ([#5058](https://github.com/BookStackApp/BookStack/pull/5058))
+* Added not operator to search. ([#4536](https://github.com/BookStackApp/BookStack/issues/4536))
+* Added OpenSearch support. Thanks to [@maximilian-walter](https://github.com/BookStackApp/BookStack/pull/5198). ([#5198](https://github.com/BookStackApp/BookStack/pull/5198))
+* Added SAS and R code language support. ([#5206](https://github.com/BookStackApp/BookStack/issues/5206))
+* Added search term negation support. ([#5239](https://github.com/BookStackApp/BookStack/pull/5239))
+* Added Welsh language to language list. ([#5240](https://github.com/BookStackApp/BookStack/issues/5240))
+* Updated dompdf and bacon-qr-code libraries to new major versions. ([#5222](https://github.com/BookStackApp/BookStack/issues/5222))
+* Updated page editor type to always exist in API and database. ([#5117](https://github.com/BookStackApp/BookStack/issues/5117))
+* Updated translations with latest Crowdin changes. ([#5188](https://github.com/BookStackApp/BookStack/pull/5188))
+* Updated user account creation to provide better email failure feedback. ([#5195](https://github.com/BookStackApp/BookStack/issues/5195))
+* Fixed drifting search icon on smaller screen sizes. ([#5204](https://github.com/BookStackApp/BookStack/issues/5204))
**Released in v24.05.4**