**Upgrade Notices**
+TODO - Copy to updates page
+
- **Page Includes** - The way page include content is fetched & merged has changed significantly in this release,
which may in some cases alter how included content appears on the page.
- **Prior Security Release** - Prior version v23.10.3 was a security release. If you missed this before, further details about that [can be found here](/blog/bookstack-release-v23-10-3/).
### Next Steps
-TODO
+Now we have a simpler WYSIWYG editor, as implemented for descriptions in this release, I'll probably be looking to carry this across to the comments system to provide that with simple WYSIWYG editing, although this will require some breaking changes to the currently supported markdown content of this input. Not sure what other features I'll focus on just yet.
+
+Over the next few days I'll be putting together a "BookStack in 2023" blogpost, like [done previous years](https://www.bookstackapp.com/blog/bookstack-in-2022/) to look back and assess the progress of the project over the last year.
### Full List of Changes
This can be super useful when you need to create many pages following
a similar format.
-## Creating a Page Template
+{{<toc>}}
+
+### Creating a Page Template
A page template in BookStack is simply a normal page that has been marked as a template.
Start by creating/editing the page you want to use as a template.
Note: Visibility of page templates are controlled via visibility of the page itself. If a user lacks permission to view the page marked as a template, it will not show as an available template for them.
-## Using Page Templates
+### Using Page Templates
Page templates can be accessed when creating or editing a page.
Within the editor sidebar you should see a templates tab.

Keep in mind that using a template simply copies its content at time-of-use, it is not
-a "live" connection to the template page, and updating the template page won't affect pages that have previously used it as a template.
\ No newline at end of file
+a "live" connection to the template page, and updating the template page won't affect pages that have previously used it as a template.
+
+### Default Page Templates
+
+If you'd like to always start a new page with a specific template, this can be configured at a per-book level using the
+"Default Page Template" option when editing a book:
+
+
+
+With this option set, the selected template will be used to pre-fill the contents of any new page created within that book.
+Like with other template usages, access to the template will be controlled by permissions.
+If a user creates a page with the book, but does not have access to view the template page, it will not be used to pre-fill the contents of the new page.
\ No newline at end of file
in that described URL format and you'll be taken to the source page.
As an example if you had the include tag `{{@5#bkmrk-chapter-a}}`, you'd go to the URL path `/link/5`.
-A full example URL, using our demo instance, would be: [https://demo.bookstackapp.com/link/5](https://demo.bookstackapp.com/link/5)
\ No newline at end of file
+A full example URL, using our demo instance, would be: [https://demo.bookstackapp.com/link/5](https://demo.bookstackapp.com/link/5)
+
+### Technical Include Logic
+
+BookStack attempts to be smart with includes, to properly handle different content types and to be somewhat compliant with HTML rules.
+Below are some of the decisions BookStack will make when parsing includes:
+
+- If targeting a specific section to include, BookStack will fetch and includes the inner contents of that section in most cases, apart from when the section needs to be used as a whole in which case the entire block will be used as a whole. Examples of this include tables, lists and code blocks.
+- If including whole blocks, whole pages, or ranges of content, BookStack will attempt to structure the content to avoid nested paragraphs which are invalid in HTML and can cause issues when browsers attempt to automatically fix. This will be attempted in a location accurate manner if reasonable, although in some cases content may be moved to before/after the section it's included within.
+- IDs of content sections will be de-duplicated after includes are parsed, which may result in existing page content IDs dynamically changing after page content load.
\ No newline at end of file
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:8a76be19efd9c447b1292e289330a7bf47435d73964b4f10dc3288c40f4b585b
+size 22427