In 8.4x and beyond , a new validation has been added for BookOutlines core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php
The code in this validation plugin compares previous book values and new values and raises exceptions as needed.
When a user doesnt have permission to administer books and when a node is not part of any book, the entity variable doesnt have any book values and hence when trying to save unpublished versions of published content, the following error is being thrown
You can only change the book outline for the published version of this content.
This can be critical for content moderation when users are not allowed to manage books!
Steps to reproduce:
1. As a user without manage books privileges, create an article and publish it (If the user doesnt have publishing rights, publish it with an admin user).
2. Now edit the article as the first user again and try to save it in draft mode.
The node cannot be saved and the error regarding book outline is thrown