commit d7b5c63beb1005d3669982ec7b4c477fdf77096b Author: Jake Deery Date: Thu Dec 11 15:45:17 2025 +0000 squash me! cypress tests - crud add commit cfb20aadabdbe30c9a30771136dbc065db04eb2a Author: Jake Deery Date: Mon Dec 8 16:22:40 2025 +0000 squash me! initial cypress tests - crud list commit d3916cac34e93dffe2a8b8f2ca05cf302d759598 Author: Jake Deery Date: Tue Dec 2 09:16:05 2025 +0000 reword! test suite for bug_14962 commit 609ba19a7bf08db4b0c8021eae827786f7dd6190 Author: Jake Deery Date: Tue Dec 2 09:12:42 2025 +0000 DBIC - DO NOT PUSH commit 67f897555df49fb534a7769f068736480154a661 Author: Jake Deery Date: Mon Dec 1 14:54:18 2025 +0000 Bug 14962: On Display svc API changes This patch updates svc/checkouts to factor in updates to the checkout process, caused by addition of the effective locations, collection codes, and branches. Please see the test files commit for instructions on how to test this bundle of patches. commit cbe4a7fa69dcc2115cae2b5f479b15ff8c435595 Author: Jake Deery Date: Mon Dec 1 14:52:32 2025 +0000 Bug 14962: On Display atomicupdate - DO NOT PUSH commit b54a1a7b487f6c3e17fb24a3da3317b829195ed4 Author: Jake Deery Date: Mon Dec 1 14:50:33 2025 +0000 Bug 14962: On Display changes for SQL This patch contains the required schema changes that will enable On Display to function as a new module. Please see the test files commit for instructions on how to test this bundle of patches. commit 86300d1cf3d9eeaa59f68c8ad0dcbb29bd5c88a1 Author: Jake Deery Date: Mon Dec 1 14:47:58 2025 +0000 Bug 14962: On Display code for OPAC scripts & templates This patch makes the necessary changes to the OPAC to make sure effective locations, collection codes, and branches are correctly displayed. Please see the test files commit for instructions on how to test this bundle of patches. commit 1ab8e1f4842849c38a31daff18a8fab10033259e Author: Jake Deery Date: Mon Dec 1 14:45:40 2025 +0000 Bug 14962: On Display code for Intranet scripts & templates This patch makes the necessary changes to the Intranet to make sure effective locations, collection codes, and branches are correctly displayed. Please see the test files commit for instructions on how to test this bundle of patches. commit dbec210b724683ad754eec4eaabc5c49b92198c9 Author: Jake Deery Date: Mon Dec 1 14:41:21 2025 +0000 Bug 14962: On Display code for new Vue app This patch adds the On Display Vue app. Please make sure you rebuild your JavaScript prior to testing this patch. Please see the test files commit for instructions on how to test this bundle of patches. commit 8333b0f2e5a8de47562341a58aa32f9a0e062ead Author: Jake Deery Date: Mon Dec 1 14:37:22 2025 +0000 Bug 14962: On Display code for API Clients This patch adds the required API clients for use with the On Display module. Please see the test files commit for instructions on how to test this bundle of patches. commit 0bd97bc25823d8f9640e422b1c53cdd13f2b63ea Author: Jake Deery Date: Mon Dec 1 14:31:30 2025 +0000 Bug 14962: On Display config changes for tables This patch adds the Display column to a number of tables, ready for the On Display module. Please see the test files commit for instructions on how to test this bundle of patches. commit 74b8ced8bf7a1f647bafa531cd29cacd415849f3 Author: Jake Deery Date: Mon Dec 1 14:28:55 2025 +0000 Bug 14962: On Display changes to build suite This patch contains the essential changes required to get Koha to build the correct JavaScript and Vue modules for the new On Display module. Please see the test files commit for instructions on how to test this bundle of patches. commit 3921017dc95f6ae5bae970fe2570f22ae555d7d8 Author: Jake Deery Date: Mon Dec 1 14:24:33 2025 +0000 Bug 14962: On Display config changes for Vue This patch contains config changes to enable the new On Display Vue app to work. Please see the test files commit for instructions on how to test this bundle of patches. commit a75b366f0464c5c3dfb63d319b4579ed5ce1c7b5 Author: Jake Deery Date: Mon Dec 1 13:16:04 2025 +0000 Bug 14962: On Display code for new Koha modules This patch contains new code found in the On Display module. Be sure to rebuild the DBIC modules, prior to pushing. Please see the test files commit for instructions on how to test this bundle of patches. commit 9fac5ad6974739fa9e1fe9d9c649946eb22c298e Author: Jake Deery Date: Mon Dec 1 13:15:02 2025 +0000 Bug 14962: On Display code for existing Koha modules This patch adds code for the On Display module, found in the existing Koha modules. Please see the test files commit for instructions on how to test this bundle of patches. commit c286ea0a31dac4fe912fd6ad0ca02470f5734ade Author: Jake Deery Date: Mon Dec 1 13:12:59 2025 +0000 Bug 14962: On Display code for REST API This patch adds all the various API endpoints, and modifies a few existing API endpoints, in preparation for the On Display Vue app Please see the test files commit for instructions on how to test this bundle of patches. commit 2596d9e8d4695060356f8898eda4ac597f564f00 Author: Jake Deery Date: Mon Dec 1 13:09:20 2025 +0000 Bug 14962: On Display code for BackgroundJobs This patch adds code required to make BackgroundJobs accept and process batch addition and removal of items to and from displays. Please see the test files commit for instructions on how to test this bundle of patches. commit 6759bfc112efe97067ed63157be9174f2bbc6156 Author: Jake Deery Date: Mon Dec 1 13:06:40 2025 +0000 Bug 14962: On Display code for C4 modules This patch adds code for the On Display module, found in the C4 modules. Please see the test files commit for instructions on how to test this bundle of patches. commit 7abf1aeef916bf0868a3baef64152e48ab56aa4d Author: Martin Renvoize Date: Tue Dec 2 09:26:51 2025 +0000 Bug 41317: Add 25.11 maintainers Signed-off-by: Lucas Gass commit 1f00b37ae1a335623f4717fa8f784c5d85ded2bb Author: Martin Renvoize Date: Wed Nov 26 17:51:17 2025 +0000 Bug 41317: Add 26.05 Team This adds the 26.05 release team as proposed. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit d4ade572ae9b685e0a999a4e5aa319d09d07d2ca Author: Martin Renvoize Date: Wed Nov 26 17:42:52 2025 +0000 Bug 41317: Corrections for 25.11 cycle Update the teams list to reflect the reality of the 25.11 cycle with an updated release date and updates to the QA team to reflect those who performed duties during the cycle. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 087dccae8c5e888dd2509f27646a61bd49b47a4c Author: Lucas Gass Date: Mon Dec 15 17:31:59 2025 +0000 DBRev 25.12.00.000: Start of a new release cycle Signed-off-by: Lucas Gass commit 149e791bfab8ba1007f69c29638e898127c31c4e Author: Lucas Gass Date: Wed Dec 10 14:00:14 2025 +0000 Bug 41421: Fix DB update Signed-off-by: Lucas Gass commit 3f2987eb19f7ac1987591d8e9b01961c39405b39 Author: Lucas Gass Date: Fri Dec 5 18:55:22 2025 +0000 Koha 25.11.00 is here! Signed-off-by: Lucas Gass commit 28e5c1d1f64aea68efc266e250d7c1e70220f867 Author: Lucas Gass Date: Fri Dec 5 18:27:18 2025 +0000 25.11.00: Add release notes Signed-off-by: Lucas Gass commit 30c3b6e00114c01b1df8bb6345da9716a7aec9a1 Author: Lucas Gass Date: Fri Dec 5 10:28:39 2025 -0700 25.11.00: Update kohastructure.sql Signed-off-by: Lucas Gass commit a8816a8613c8ac28979b178311c31832df630397 Author: Lucas Gass Date: Fri Dec 5 17:25:40 2025 +0000 25.11.00: Update history.txt Signed-off-by: Lucas Gass commit 84c3d690694468415cbc025a6d21a5830f07d602 Author: Lucas Gass Date: Fri Dec 5 17:23:57 2025 +0000 25.11.00 Update contributors.yaml Signed-off-by: Lucas Gass commit 820c84cba8a43d8d3638d71aa1d94f1a60e33acc Author: Martin Renvoize Date: Fri Dec 5 15:53:28 2025 +0000 Bug 40041: (follow-up) Fix periods and add Robert Fox We introduced some errant periods in the mailmap which cause parsing issues. I also fix the removal of the '=' author by replacing it with a mapping to the original author of the patch from bug 6979, Robert Fox Signed-off-by: Lucas Gass commit 64151b20acd9786d7fec35c20b807961e3820794 Author: David Cook Date: Mon Jul 28 03:26:43 2025 +0000 Bug 40524: Update print format to use built-in formatter This change updates the print format to use the built-in formatter for operations like trim, strip HTML, strip newlines, and not decoding entities. Test plan: 0. Apply the patch 1. Go to http://localhost:8081/cgi-bin/koha/acqui/basket.pl?basketno=1 2. Click "add to basket" 3. Type "test" next to "From an existing record" and click "Submit" 4. On the "Gairm" row, click "Add order" 5. Fill in the required fields 6. In the "Internal note" put the following: abc123 7. Click "Save" 8. In the Orders table, click "Export" and then "Print" 9. Note that the print page loads correctly, you can see the internal note, and you cannot see lines for "Add internal note", "Edit internal note", or "Add vendor note" Signed-off-by: Brendan Lawlor Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 130eeb6e896d704fac937133345d7345b246a331 Author: Tomás Cohen Arazi Date: Wed Dec 3 12:47:27 2025 -0300 Bug 41364: Fix error in preservation module breadcrumb This patch makes the 'Processings' breadcrum element not be tied to a component but a plain string with the link disabled. This was causing errors: - Breadcrumb element empty - Error in the browser console To test: 1. Enable the Preservation module 2. Go to Home > Preservation > Settings 3. Use the 'Add a new processing' button => FAIL: The breadcrumb has 'Settings > > Add processing' (i.e. is missing 'Processings' between >) 4. Click on 'Edit this processing' => FAIL: Same error, different context 5. Check the browser console => FAIL: You see something like this: ``` [Vue Router warn]: No match found for location with path "/cgi-bin/koha/preservation/settings/processings" devtools-BLCumUwL.mjs:59:1 ``` 6. Run the cypress tests for this module: k$ run_cypress --spec t/cypress/integration/Preservation/Settings.ts => FAIL: The breadcrumb navigation is broken 7. Apply this patch 8. Rebuild things: $ ktd --shell k$ yarn build 9. Fully refresh the page (Use cmd+shift+r on macOS, ctrl+shift+r on Linux/Windows) 10. Repeat 2-6 => SUCCESS: The breadcrumb is no longer broken => SUCCESS: No errors/warnings about this in the browser console => SUCCESS: Tests pass! 11. Sign off :-D Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass Signed-off-by: David Nind Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 37c1d61207ec4737be0438977b824e20dfd3a851 Author: Owen Leonard Date: Wed Dec 3 10:12:12 2025 -0500 Bug 26258: (follow-up) Fix t/db_dependent/selenium/basic_workflow.t Signed-off-by: Lucas Gass commit f1aca9a28a896dba859da52864bca09ca92224a1 Author: Tomás Cohen Arazi Date: Wed Dec 3 13:23:30 2025 -0300 Bug 41357: Adapt SIP2 module to use relationshipI18n Signed-off-by: Pedro Amorim Signed-off-by: Lucas Gass commit 0bc93cf061e0e17ee2be3c41e337eb4cd2f4b46c Author: Tomás Cohen Arazi Date: Wed Dec 3 10:42:29 2025 -0300 Bug 41336: (follow-up) Fix breadcrumb selector in Cypress test The test was looking for .current class but the Vue component uses aria-current="page" attribute instead. Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit 7e7a037f5e0dd935c7bb646929f7b4406c803f41 Author: Jonathan Druart Date: Tue Dec 2 14:17:27 2025 +0100 Bug 41336: Fix current (?) On top of "Bug 41354: Fix record sources Vue app" there is still one failing test for t/cypress/integration/Admin/RecordSources_spec.ts 1) Breadcrumbs tests Breadcrumbs: AssertionError: Timed out retrying after 10000ms: Expected to find element: `.current`, but never found it. at Context.eval (webpack://koha/./t/cypress/integration/Admin/RecordSources_spec.ts:18:11) This patch is trying to fix it but it does not Signed-off-by: Nick Clemens Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit 5ee17597b1ef1930a3e73f585dcb6641c45ac89a Author: Jonathan Druart Date: Tue Dec 2 13:33:08 2025 +0100 Bug 41336: Remove 'No match found for location with path' warnings Cypress tests for Vue app are currently failing because of the following warnings in the console: "[Vue Router warn] No match found for location with path" It happens for routes that are disabled. We should not build a router-link but a "disabled" link instead. Signed-off-by: Nick Clemens Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit c40fcf5cdadb2438fa2dd196b881cb83a1cd17bf Author: Matt Blenkinsop Date: Tue Dec 2 14:17:24 2025 +0000 Bug 41355: Handle vue resources with no Show component Test plan: 1) Navigate to record sources and create a record source 2) In the table there will be a hyperlink on the record source name which shouldn't be there 3) Apply patch and rebuild javascript 4) Hard refresh and then observe that the table should no longer have a hyperlink Signed-off-by: David Nind Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit 77bcaa98790b44e67a59cb7340e645cc8a71abbf Author: Jonathan Druart Date: Tue Dec 2 14:02:38 2025 +0100 Bug 41354: Fix record sources Vue app It fixes a JS error in the console Uncaught (in promise) TypeError: can't convert undefined to object Also fixes the cypress tests: t/cypress/integration/Admin/RecordSources_spec.ts Test plan: Create a new record source Signed-off-by: David Nind Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit f4d85258069ea24744ae1f079bc8ec9b51cf0719 Author: Jonathan Druart Date: Tue Dec 2 11:19:20 2025 +0100 Bug 38311: Fix Selenium and Cypress tests .dt-select-filter does no longer exist Here we rely on DT's API to retrieve the correct visible column index. However we cannot for Selenium tests, not ideal but it fixes the failure. Signed-off-by: Lucas Gass commit 87fb6f273a0e9ceed176c038c73e5116464a66de Author: Paul Derscheid Date: Tue Nov 4 13:37:49 2025 +0000 Bug 36674: (follow-up) Stop emitting Cypress API client source maps - Use devtool: false to prevent emitting source maps for cypress. - Add package script to clean built assets, artifacts. Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 91a3090896d4840246f02ec18c12dc31767634e4 Author: Lari Taskula Date: Sun Oct 26 12:32:43 2025 +0200 Bug 38363: Use output_html_with_http_headers in C4::Auth The following C4::Auth subroutines - checkauth() - get_template_and_user() were in some cases outputting html outside of C4::Output's output mechanisms. It is important to ensure the consistency of our HTTP responses. Having multiple output mechanisms for what is essentialy the same type of response not only leads to unneccessary code duplication and complexity but possibly even bugs at some point in the future. For these reasons it is better to output only through C4::Output, when possible. This patch does that for the two aforementioned C4::Auth cases. To test unit tests: 1. prove t/db_dependent/Auth.t As for checkauth(), the change only applies to unauthenticated state and failed logins. To test checkauth: 1. Enable system preference opacuserlogin 2. Navigate to OPAC 3. Observe OPAC loading successfully 4. Log in to OPAC with invalid credentials 5. Observe "You entered an incorrect username or password" 6. Navigate to staff client without being logged in (logout if you are in) 7. Observe staff client login screen loading successfully 8. Log in to staff client with invalid credentials 9. Observe "Invalid username or password" As for get_template_and_user(), the change only applies to SCO/SCI user navigating outside of the self service modules. To test get_template_and_user: 1. Enable system preference WebBasedSelfCheck 2. Create a new test patron and note down their username & password 3. Grant them a permission self_checkout_module (under Self check modules) 4. Navigate to http://OPAC/cgi-bin/koha/sco/sco-main.pl 5. Log in with the test patron 6. Observe successful login (should display "Self-checkout system" page) 7. Navigate to http://OPAC/cgi-bin/koha/opac-main.pl (you can get there by editing the address bar of your web browser) 8. Observe "Log in to your account" page, ie. you have been kicked out 9. Modify your test patron's permissions 10. Remove permission "self_checkout_module" and add "self_checkin_module" 11. Enable system preference SelfCheckInModule 12. Navigate to http://OPAC/cgi-bin/koha/sci/sci-main.pl 13. Log in using your test patron's credentials 14. Observe "Self check-in" page 15. Navigate to http://OPAC/cgi-bin/koha/opac-main.pl (you can get there by editing the address bar of your web browser) 16. Observe "Log in to your account" page, ie. you have been kicked out Signed-off-by: David Cook Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 0a620dfccd683d21c37e8a9e5ec58a89373bc77c Author: Jonathan Druart Date: Mon Nov 3 11:44:18 2025 +0100 Bug 38311: Fix 'Bookings to collect'/pendingbookings it was missing the dataFilter. Also needs coded_values to work correctly (which needs to be defined outside of document.ready). Signed-off-by: Matt Blenkinsop Signed-off-by: Lucas Gass commit ac832ac7170aa152e0ef489e34515e71eff2548d Author: Jonathan Druart Date: Thu Jul 31 15:43:36 2025 +0200 Bug 38311: Add dropdown list to column filters linked to an AV - Vue components Signed-off-by: Owen Leonard Signed-off-by: Matt Blenkinsop Signed-off-by: Lucas Gass commit d00f69709c101e74bf53ce3c4ce6d758441a60e1 Author: Jonathan Druart Date: Thu Jul 31 15:40:40 2025 +0200 Bug 38311: Do not use ID for column filters Signed-off-by: Owen Leonard Signed-off-by: Matt Blenkinsop Signed-off-by: Lucas Gass commit 9263bd415250672618a0c27dce3f4b7273b6bb50 Author: Tomás Cohen Arazi Date: Tue Sep 30 19:26:43 2025 -0300 Bug 40919: Remove unnecessary DB call in Koha::Item::Transfer->receive This patch removes a trivially not required DB object instantiation. This implies saving CPU usage for the instantiation and algo for fetching from the DB. To test: 1. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Item/Transfer.t => SUCCESS: Tests pass! They cover ->receive() 2. Apply this patch 3. Repeat 1 => SUCCESS: No behavior change, tests pass! 4. Sign off :-D Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 88775c54bd069ad8d836fd1780e67fd0597d3dfe Author: Tomás Cohen Arazi Date: Mon Oct 6 15:13:17 2025 -0300 Bug 30148: (follow-up) Apply CSS-based separators to online resources (856) Extends the CSS-based separator approach to field 856 (Electronic Location and Access) which was still using hardcoded pipe separators. This completes the conversion of all major repeatable fields in the staff interface to use consistent CSS-based separators, matching the OPAC implementation from Bug 27613. Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit b0d103b48c3645cd795b34b2d838a946f6c41c7e Author: Tomás Cohen Arazi Date: Mon Oct 6 15:11:16 2025 -0300 Bug 30148: (follow-up) Apply CSS-based separators to additional repeatable fields Extends the CSS-based separator approach to additional repeatable fields that were using hardcoded pipe separators: - Content type (336) - Media type (337) - Carrier type (338) - Awards (586) - Production credits (508) This provides consistent behavior and customization options across all major repeatable fields in the staff interface, matching the approach used for classification fields. Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit b4701b19664554153b9b0552e269861b66a28333 Author: Tomás Cohen Arazi Date: Mon Oct 6 14:51:52 2025 -0300 Bug 30148: Apply CSS-based separators to all classification fields This patch changes the classification display from hardcoded pipe separators to CSS pseudo-elements, following the same approach as Bug 27613 for the OPAC. Changes: - Wrap each field occurrence in
  • elements within
      - Remove hardcoded delimeter parameter from subfieldSelect - Add CSS rules to display pipe separators via ::after pseudo-elements - LOC classification (050) - Publisher number (028) - DDC classification (082) - NLM classification (060) - Other classification (084) This allows libraries to customize the separator display via CSS. It also provides consistent behavior and customization options across all repeatable classification fields in the staff interface. To test: 1. Create a record with multiple 050 fields: 050 4 $aE337.5 $b.O54 2025 050 4 $aE415.7 $b.A44 2025 2. View the record in staff interface => SUCCESS: Classification looks ok: ``` E337.5 .O54 2025 | E415.7 .A44 2025 ``` 3. Apply this patch 4. Run: $ ktd --shell k$ yarn build 5. Refresh the page => SUCCESS: It still looks correct! 6. Sign off :-D Extends the CSS-based separator approach to all classification fields that were using hardcoded pipe separators: Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 89eafa93963d677c2963609c197ba629c4c65165 Author: David Gustafsson Date: Thu Mar 27 14:06:53 2025 +0100 Bug 39468: EDI message status should be case insensitive Make edi_order lowercase so that matching is case insensitive. Signed-off-by: Laura_Escamilla Signed-off-by: Lucas Gass