Back to bug 40551

Who When What Removed Added
pedro.amorim 2025-07-30 11:38:13 UTC CC pedro.amorim
Depends on 40395, 40550
pedro.amorim 2025-07-30 11:39:07 UTC Depends on 40395 40517
pedro.amorim 2025-07-30 11:39:42 UTC Depends on 40517 40395
pedro.amorim 2025-07-30 11:44:06 UTC Status NEW Needs Signoff
pedro.amorim 2025-07-30 11:50:43 UTC Depends on 40552
dcook 2025-07-31 00:32:54 UTC CC dcook
andrew 2025-08-18 20:06:57 UTC Status Needs Signoff Signed Off
andrew 2025-08-18 20:06:59 UTC Attachment #184865 Attachment is obsolete 0 1
pedro.amorim 2025-08-22 09:16:51 UTC Assignee koha-bugs pedro.amorim
tomascohen 2025-09-22 14:34:31 UTC QA Contact testopia tomascohen
tomascohen 2025-09-22 14:35:16 UTC QA Contact tomascohen testopia
andrew 2025-09-26 20:29:45 UTC Status Signed Off Passed QA
andrew 2025-09-26 20:29:48 UTC Attachment #185524 Attachment is obsolete 0 1
andrew 2025-09-26 20:30:00 UTC CC andrew
QA Contact testopia andrew
lucas 2025-09-26 21:57:05 UTC Keywords release-notes-needed
CC lucas
martin.renvoize 2025-09-29 15:24:35 UTC Text to go in the release notes , hold cancellations from these pages were processed synchronously through traditional page requests. When cancelling multiple holds at once API endpoint (Bug 40550) that accepts multiple hold IDs and queues their cancellations as a background job, improving the reliability and user experience when managing large numbers of holds., and holds management pages)
- **Better performance**: The page doesn't need to wait for all cancellations to complete before refreshing

**For staff:** When you cancel selected holds, this could cause delays or timeouts on pages with many holds.

**Key improvements:**

- **Background processing**: Bulk hold cancellations are now queued as background jobs
CC martin.renvoize
Text to go in the release notes The patron holds tables on the patron details page, circulation page, and holds management page (reserve/request.pl) now use a REST API endpoint for cancelling holds, with bulk cancellations processed as background jobs.

Previously, the page may not refresh immediately. The cancellations are being processed in the background. You can check the status of the background job in Administration → Jobs.

**Technical details:**

This enhancement adds a new `/holds/cancellation_bulk`, preventing page timeouts when cancelling multiple holds
- **Consistent interface**: Selecting and cancelling holds works the same way across all patron-related holds tables (patron details, circulation
Keywords release-notes-needed

Back to bug 40551