Branch: refs/heads/CRAPP-438 Home: https://github.com/xwiki-contrib/application-changerequest Commit: 9c4733d0dcc1301c5e78e3d4076dab620cb72825 https://github.com/xwiki-contrib/application-changerequest/commit/9c4733d0dc... Author: Simon Urli <[email protected]> Date: 2026-09-18 (Fri, 18 Sep 2026) Changed paths: M application-changerequest-api/src/main/java/org/xwiki/contrib/changerequest/storage/ReviewStorageManager.java M application-changerequest-default/src/main/java/org/xwiki/contrib/changerequest/internal/DefaultChangeRequestManager.java M application-changerequest-default/src/main/java/org/xwiki/contrib/changerequest/internal/storage/DefaultReviewStorageManager.java M application-changerequest-default/src/test/java/org/xwiki/contrib/changerequest/internal/DefaultChangeRequestManagerTest.java M application-changerequest-default/src/test/java/org/xwiki/contrib/changerequest/internal/storage/DefaultReviewStorageManagerTest.java Log Message: ----------- CRAPP-438: Review invalidation is skipped when a stale change request is served from the storage cache * Reload the reviews from the storage at the beginning of DefaultChangeRequestManager#addReview, so that a change request served from an outdated cache entry cannot silently skip the invalidation of the previous review and leave a superseded approval valid * Log a warning when the change request held fewer reviews than the storage contains, to make an outdated cache entry visible in the logs, which it currently is not * Make ReviewStorageManager#load replace the reviews already held by the change request instead of appending them, which is what its contract already described, and document it explicitly * Add unit tests covering the invalidation of a review missing from the change request, and the refresh performed by a second load Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> To unsubscribe from these emails, change your notification settings at https://github.com/xwiki-contrib/application-changerequest/settings/notifica...