]>
BookStack Code Mirror - bookstack/log
Dan Brown [Sat, 29 Nov 2025 20:35:16 +0000 (20:35 +0000)]
Copying: Fixed issue with non-page links to page permalinks
Found during manual testing.
Added test case to cover.
Dan Brown [Tue, 25 Nov 2025 17:52:26 +0000 (17:52 +0000)]
Copying: Added logic to find & update references
Dan Brown [Tue, 25 Nov 2025 14:46:36 +0000 (14:46 +0000)]
Copying: Added reference change context tracking
Added core wiring in the cloning logic, just need to implement core
logic in the updater now.
Dan Brown [Tue, 25 Nov 2025 13:52:36 +0000 (13:52 +0000)]
Copying: Added tests to cover copy self-references
Logic to make tests pass to follow
Dan Brown [Tue, 25 Nov 2025 12:36:33 +0000 (12:36 +0000)]
Testing: Extracted copy tests to their own class
Dan Brown [Mon, 24 Nov 2025 20:29:44 +0000 (20:29 +0000)]
Merge pull request #5913 from BookStackApp/slug_history
Slug History Tracking & Usage
Dan Brown [Mon, 24 Nov 2025 20:04:55 +0000 (20:04 +0000)]
Slugs: Added test to cover history lookup permission usage
Dan Brown [Mon, 24 Nov 2025 19:49:34 +0000 (19:49 +0000)]
Slugs: Rolled out history lookup to other types
Added testing to cover.
Also added batch recording of child slug pairs on book slug changes.
Dan Brown [Mon, 24 Nov 2025 13:55:11 +0000 (13:55 +0000)]
Slugs: Added lookup system using history
Switched page lookup to use this.
Dan Brown [Mon, 24 Nov 2025 10:46:24 +0000 (10:46 +0000)]
Slugs: Fixed storage bugs, added testing coverage
Dan Brown [Sun, 23 Nov 2025 23:29:30 +0000 (23:29 +0000)]
Slugs: Added slug recording at points of generation
Also moved some model-level helpers, which used app container
resolution, to be injected services instead.
Dan Brown [Sun, 23 Nov 2025 16:50:37 +0000 (16:50 +0000)]
Slugs: Created history table to track changes
Dan Brown [Sat, 22 Nov 2025 12:40:30 +0000 (12:40 +0000)]
DB testing: Prevented caching during build
To prevent re-using code when re-run for same branch.
Dan Brown [Sat, 22 Nov 2025 12:24:36 +0000 (12:24 +0000)]
DB Testing: Updated supported DB list, added readme
Also fixed potentally flaky GIf test to be more accurate with single
frame GIF images.
Dan Brown [Fri, 21 Nov 2025 13:57:38 +0000 (13:57 +0000)]
Env: Added storage type to default example env
Provides greater consideration to the storage type used and the fact
that it'll place images in public space by default.
Dan Brown [Fri, 21 Nov 2025 13:42:50 +0000 (13:42 +0000)]
Deps: Updated PHP packages via composer
Dan Brown [Fri, 21 Nov 2025 12:09:25 +0000 (12:09 +0000)]
Images: Updated access to consider public secure_restricted
Had prevented public access for images when secure_restricted images was
enabled (and for just secure images) when app settings allowed public
access.
This considers the app public setting, and adds tests to cover extra
scenarios to prevent regression.
Dan Brown [Wed, 19 Nov 2025 14:38:35 +0000 (14:38 +0000)]
Maintenance: Fixed type issue, updated translator list
Dan Brown [Wed, 19 Nov 2025 14:37:04 +0000 (14:37 +0000)]
New translations common.php (Albanian) (#5887)
Dan Brown [Tue, 18 Nov 2025 19:47:41 +0000 (19:47 +0000)]
Dev: Set timezone for test DB creation, added PHP 8.5 to tests
Also fixed some test namespaces
Related to #5881
Dan Brown [Tue, 18 Nov 2025 18:34:41 +0000 (18:34 +0000)]
Deps: Updated PHP package versions
Also updated dev version
Dan Brown [Tue, 18 Nov 2025 18:27:38 +0000 (18:27 +0000)]
Merge pull request #5899 from BookStackApp/zip_image_handling
Exports: Updated perm checking for images in ZIP exports
Dan Brown [Tue, 18 Nov 2025 14:19:46 +0000 (14:19 +0000)]
Exports: Updated perm checking for images in ZIP exports
For #5885
Adds to, uses and cleans-up central permission checking in ImageService
to mirror that which would be experienced by users in the UI to result
in the same image access conditions.
Adds testing to cover.
Dan Brown [Tue, 11 Nov 2025 11:23:16 +0000 (11:23 +0000)]
DB: Added extra query tests, updated db-testing scripts
Also added skipping to avif tests for environments where GD does not
have built-in AVIF support
Dan Brown [Tue, 11 Nov 2025 10:24:56 +0000 (10:24 +0000)]
DB: Added initial DB testing docker-based script
Dan Brown [Mon, 10 Nov 2025 19:46:49 +0000 (19:46 +0000)]
DB: Updated entity scope to use models dynamic table
This was hardcoded since the table was always the same, but in some
cases Laravel will auto-alias the table name (for example, when in
sub-queries) which will break MySQL 5.7 when the scope attempts to use
the table name instead of the alias.
Needs testing coverage.
For #5877
Dan Brown [Sun, 9 Nov 2025 11:39:38 +0000 (11:39 +0000)]
Notifications: Fixed attempted null usage issue where int expected
Dan Brown [Sun, 9 Nov 2025 10:52:09 +0000 (10:52 +0000)]
Updated translator & dependency attribution before release v25.11
Dan Brown [Sun, 2 Nov 2025 14:41:16 +0000 (14:41 +0000)]
Updated translations with latest Crowdin changes (#5843)
Dan Brown [Sun, 2 Nov 2025 14:29:00 +0000 (14:29 +0000)]
API: Re-ordered routes, Improved navigation
Updated route order to follow some kind of logic.
Updated scrolling sidebar to not be so cut-off in various scenarios.
Added new nav helper to quick jump to specific API models.
Closes #5865
Dan Brown [Sun, 2 Nov 2025 13:11:38 +0000 (13:11 +0000)]
Deps: Updated PHP composer packages
Dan Brown [Fri, 31 Oct 2025 15:55:45 +0000 (15:55 +0000)]
Search: Fixed formatting timeout with many term occurrences
For #5863
Dan Brown [Fri, 31 Oct 2025 13:48:54 +0000 (13:48 +0000)]
Merge pull request #5860 from BookStackApp/api_image_data_endpoint
API: Added endpoints for reading image data
Dan Brown [Wed, 29 Oct 2025 18:17:51 +0000 (18:17 +0000)]
API: Added endpoints for reading image data
Dan Brown [Wed, 29 Oct 2025 13:12:52 +0000 (13:12 +0000)]
Merge pull request #5854 from BookStackApp/efficient_search
Pagable and efficient search
Dan Brown [Wed, 29 Oct 2025 12:59:34 +0000 (12:59 +0000)]
Search: Tested changes to single-table search
Updated filters to use single table where needed.
Dan Brown [Tue, 28 Oct 2025 20:37:41 +0000 (20:37 +0000)]
Search: Added pagination, updated other search uses
Also updated hydrator to be created via injection.
Dan Brown [Mon, 27 Oct 2025 18:02:54 +0000 (18:02 +0000)]
Search: Improved result hydration performance
Dan Brown [Mon, 27 Oct 2025 17:23:15 +0000 (17:23 +0000)]
Search: Started work to make search result size consistent
Dan Brown [Fri, 24 Oct 2025 14:26:55 +0000 (15:26 +0100)]
Merge pull request #5850 from BookStackApp/comments_api
API: Started building comments API endpoints
Dan Brown [Fri, 24 Oct 2025 14:14:25 +0000 (15:14 +0100)]
API: Added examples for comments
Tweaked comment repo to avoid returning a lot of extra data on API
update responses.
Dan Brown [Fri, 24 Oct 2025 13:22:53 +0000 (14:22 +0100)]
Comments API: Addressed failing tests and static testing
Dan Brown [Fri, 24 Oct 2025 09:18:52 +0000 (10:18 +0100)]
API: Added comment tree to pages-read endpoint
Includes tests to cover
Dan Brown [Thu, 23 Oct 2025 15:52:29 +0000 (16:52 +0100)]
API: Built out tests for comment API endpoints
Dan Brown [Thu, 23 Oct 2025 09:21:33 +0000 (10:21 +0100)]
API: Added comment CUD endpoints, drafted tests
Move some checks and made some tweaks to the repo to support consistency
between API and UI.
Dan Brown [Wed, 22 Oct 2025 17:44:49 +0000 (18:44 +0100)]
API: Added comment-read endpoint, added api docs section descriptions
Dan Brown [Wed, 22 Oct 2025 13:58:29 +0000 (14:58 +0100)]
API: Started building comments API endpoints
Dan Brown [Wed, 22 Oct 2025 13:29:02 +0000 (14:29 +0100)]
API Docs: Updated link to archived GitHub repo
Closes #5813
Dan Brown [Tue, 21 Oct 2025 17:34:21 +0000 (18:34 +0100)]
Code: Added groovy syntax highlighting
For #5822
Dan Brown [Tue, 21 Oct 2025 13:47:24 +0000 (14:47 +0100)]
Deps: Updated PHP deps via composer
Dan Brown [Tue, 21 Oct 2025 13:46:49 +0000 (14:46 +0100)]
Merge pull request #5846 from BookStackApp/page_image_nullification
Images: Added nulling of image page relation on page delete
Dan Brown [Tue, 21 Oct 2025 13:12:55 +0000 (14:12 +0100)]
Images: Added nulling of image page relation on page delete
Dan Brown [Tue, 21 Oct 2025 12:45:00 +0000 (13:45 +0100)]
Merge pull request #5844 from BookStackApp/user_ids
Updated handling of deleted user ID handling in DB
Dan Brown [Sun, 19 Oct 2025 18:52:15 +0000 (19:52 +0100)]
DB: Addressed test issues for user ID changes
Reverted change for activities table so that a record is retained of
past activity, and added a check where the ID may be displayed to ensure
it does not mislead and accidentially reference other, newer users.
Dan Brown [Sun, 19 Oct 2025 18:10:15 +0000 (19:10 +0100)]
DB: Updated handling of deleted user ID handling in DB
Updated uses of user ID to nullify on delete.
Added testing to cover deletion of user relations.
Added model factories to support changes and potential other tests.
Cleans existing ID references in the DB via migration.
Dan Brown [Sat, 18 Oct 2025 12:14:30 +0000 (13:14 +0100)]
DB: Aligned entity structure to a common table
As per PR #5800
* DB: Planned out new entity table format via migrations
* DB: Created entity migration logic
Made some other tweaks/fixes while testing.
* DB: Added change of entity relation columns to suit new entities table
* DB: Got most view queries working for new structure
* Entities: Started logic change to new structure
Updated base entity class, and worked through BaseRepo.
Need to go through other repos next.
Removed a couple of redundant interfaces as part of this since we can
move the logic onto the shared ContainerData model as needed.
* Entities: Been through repos to update for new format
* Entities: Updated repos to act on refreshed clones
Changes to core entity models are now done on clones to ensure clean
state before save, and those clones are returned back if changes are
needed after that action.
* Entities: Updated model classes & relations for changes
* Entities: Changed from *Data to a common "contents" system
Added smart loading from builder instances which should hydrate with
"contents()" loaded via join, while keeping the core model original.
* Entities: Moved entity description/covers to own non-model classes
Added back some interfaces.
* Entities: Removed use of contents system for data access
* Entities: Got most queries back to working order
* Entities: Reverted back to data from contents, fixed various issues
* Entities: Started addressing issues from tests
* Entities: Addressed further tests/issues
* Entities: Been through tests to get all passing in dev
Fixed issues and needed test changes along the way.
* Entities: Addressed phpstan errors
* Entities: Reviewed TODO notes
* Entities: Ensured book/shelf relation data removed on destroy
* Entities: Been through API responses & adjusted field visibility
* Entities: Added type index to massively improve query speed
Dan Brown [Sun, 5 Oct 2025 14:28:29 +0000 (15:28 +0100)]
Merge branch 'v25-07' into development
Dan Brown [Sun, 5 Oct 2025 14:26:37 +0000 (15:26 +0100)]
Updated translator & dependency attribution before release v25.07.3
Dan Brown [Sun, 5 Oct 2025 14:09:34 +0000 (15:09 +0100)]
Updated translations with latest Crowdin changes (#5786)
Yugo Takano [Thu, 2 Oct 2025 12:39:22 +0000 (21:39 +0900)]
Add crossorigin attribute to manifest link
Dan Brown [Sun, 5 Oct 2025 14:17:16 +0000 (15:17 +0100)]
Deps: Updated PHP package versions
Dan Brown [Sun, 5 Oct 2025 14:09:34 +0000 (15:09 +0100)]
Updated translations with latest Crowdin changes (#5786)
Dan Brown [Sun, 5 Oct 2025 14:08:59 +0000 (15:08 +0100)]
Merge pull request #5820 from tfnh621/patch-1
Fix PWA manifest access behind authenticated proxies
Yugo Takano [Thu, 2 Oct 2025 12:39:22 +0000 (21:39 +0900)]
Add crossorigin attribute to manifest link
Dan Brown [Thu, 11 Sep 2025 17:58:26 +0000 (18:58 +0100)]
Sponsors: Updated diagrams.net sponsor level
Dan Brown [Wed, 10 Sep 2025 11:16:40 +0000 (12:16 +0100)]
Merge pull request #5793 from BookStackApp/role_permission_refactor
Permissions: Use of enum references and RolePermission cleanup
Dan Brown [Wed, 10 Sep 2025 10:36:54 +0000 (11:36 +0100)]
Permissions: Cleanup after review of enum implementation PR
Dan Brown [Wed, 10 Sep 2025 09:44:54 +0000 (10:44 +0100)]
Permissions: Fixed check method to allow enum usage
Dan Brown [Tue, 9 Sep 2025 08:48:19 +0000 (09:48 +0100)]
Permissions: Updated use of helpers to use enums
Also added middlware method to Permission enum to allow easier usage
with controller middleware.
Dan Brown [Mon, 8 Sep 2025 17:14:38 +0000 (18:14 +0100)]
Permissions: Updated usage of controller methods to use enum
Dan Brown [Mon, 8 Sep 2025 15:15:42 +0000 (16:15 +0100)]
Permissions: Added enum usage to controller helpers
Also fixed various missing types or spelling/formatting points.
Added down action for role_permission table changes in migration.
Dan Brown [Mon, 8 Sep 2025 14:59:25 +0000 (15:59 +0100)]
Permissions: Removed unused role-perm columns, added permission enum
Updated main permission check methods to support our new enum.
Dan Brown [Thu, 4 Sep 2025 15:36:04 +0000 (16:36 +0100)]
Merge pull request #5790 from BookStackApp/timezones
Timezones: Seperate display timezone and consistency update
Dan Brown [Thu, 4 Sep 2025 15:11:35 +0000 (16:11 +0100)]
Timezones: Updated date displays to use consistent formats
Dan Brown [Thu, 4 Sep 2025 14:06:58 +0000 (15:06 +0100)]
Timezones: Seperated out store & display timezones to two options
Dan Brown [Wed, 3 Sep 2025 14:53:11 +0000 (15:53 +0100)]
Merge pull request #5785 from BookStackApp/phpstan_level2
PHPstan level 3
Dan Brown [Wed, 3 Sep 2025 14:42:50 +0000 (15:42 +0100)]
Maintenance: Updated larastan target level, fixed issues from tests
Dan Brown [Wed, 3 Sep 2025 14:18:49 +0000 (15:18 +0100)]
Maintenance: Finished changes to meet phpstan level 3
Dan Brown [Wed, 3 Sep 2025 09:47:45 +0000 (10:47 +0100)]
Maintenance: Addressed a range of phpstan level 3 issues
Dan Brown [Tue, 2 Sep 2025 15:02:52 +0000 (16:02 +0100)]
Maintenance: Reached PHPstan level 2
Reworked some stuff around slugs to use interface in a better way.
Also standardised phpdoc to use @return instead of @returns
Dan Brown [Tue, 2 Sep 2025 10:10:47 +0000 (11:10 +0100)]
Maintenance: Continued work towards PHPstan level 2
Updated html description code to be behind a proper interface.
Set new convention for mode traits/interfaces.
Dan Brown [Tue, 2 Sep 2025 09:20:10 +0000 (10:20 +0100)]
Maintenance: Removed unused comments text column
Has been redundant and unused for a about a year now.
Closes #4821
Dan Brown [Sat, 30 Aug 2025 21:18:09 +0000 (22:18 +0100)]
Packages: Updated npm packages
Spent way too many hours debugging through issues from jsdom changes.
Dan Brown [Sat, 30 Aug 2025 10:47:22 +0000 (11:47 +0100)]
Packages: Updated predis
Dan Brown [Sat, 30 Aug 2025 10:10:11 +0000 (11:10 +0100)]
Framework: Updated to Laravel 12
Dan Brown [Sat, 30 Aug 2025 09:47:14 +0000 (10:47 +0100)]
Merge pull request #5749 from BookStackApp/admin_command_updates
Create Admin Command: New Flags
Dan Brown [Thu, 28 Aug 2025 16:39:10 +0000 (17:39 +0100)]
Updated translator & dependency attribution before release v25.07.2
Dan Brown [Thu, 28 Aug 2025 14:02:26 +0000 (15:02 +0100)]
Packages: Upgraded php deps to latest versions
Dan Brown [Thu, 28 Aug 2025 14:00:16 +0000 (15:00 +0100)]
Merge pull request #5775 from BookStackApp/lexical_aug25
Lexical: August 2025 fixes
Dan Brown [Thu, 28 Aug 2025 13:59:36 +0000 (14:59 +0100)]
Updated translations with latest Crowdin changes (#5759)
Dan Brown [Thu, 28 Aug 2025 10:17:18 +0000 (11:17 +0100)]
Lexical: Fixed details tests
Updated to use new test pattern while there.
Dan Brown [Wed, 27 Aug 2025 13:09:38 +0000 (14:09 +0100)]
Lexical: Added backspace handling for details
Allows more reliable removal of details block on backspace at first
child position with the details block.
Dan Brown [Wed, 27 Aug 2025 11:51:36 +0000 (12:51 +0100)]
Lexical: Added better selection display for collapisble blocks
Dan Brown [Tue, 26 Aug 2025 13:41:42 +0000 (14:41 +0100)]
Lexical: Improved nested details interaction
- Set to open by default on insert.
- Updated selection handling not to always fully cascade to lowest
editable child on selection, so parents can be reliably selected.
- Updated mouse handling to treat details panes like the root element,
inserting within-details where relevant.
Dan Brown [Mon, 25 Aug 2025 14:01:13 +0000 (15:01 +0100)]
Testing: Addressed deprecation in test helper
Also updated version in phpunit config
Dan Brown [Mon, 25 Aug 2025 13:17:55 +0000 (14:17 +0100)]
Shelves: Addressed book edits removing non-visible books
Tracks the non-visible existing books on change, to retain as part of
the assigned books sync.
Added test to cover.
For #5728
Dan Brown [Sun, 24 Aug 2025 13:02:21 +0000 (14:02 +0100)]
Imports: Fixed drawing IDs not being updated in content
Would leave imported content with inaccessible images in many cases (or
wrong references) although the drawing was still being uploaded &
related to the page.
Added test to cover.
For #5761
Dan Brown [Fri, 15 Aug 2025 11:42:44 +0000 (12:42 +0100)]
Testing: Added more deprecation output
Dan Brown [Fri, 15 Aug 2025 11:20:35 +0000 (12:20 +0100)]
Maintenance: Addressed a range of deprecations
Updated deps to address deprecations fixed in newer Laravel framework
version.
Dan Brown [Thu, 14 Aug 2025 15:00:46 +0000 (16:00 +0100)]
Readme: Updated sponsor link
Was leading to a 404.