28 Jan 2026
Koha is the first free and open source software library automation package (ILS). Development is sponsored by libraries of varying types and sizes, volunteers, and support companies from around the world. The website for the Koha project is:
Koha 25.11.01 can be downloaded from:
Installation instructions can be found at:
Koha 25.11.01 is a bugfix/maintenance release.
It includes 34 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha on the community wiki.
This fixes the display of baskets in acquisitions so that only baskets with uncertain prices are shown in red. Previously, if one basket had an uncertain price, all the baskets in the page were shown in red, even those without uncertain prices, making it hard to know where to go to fix the price.
This fixes OAI-PMH (tests and request) so that OAI-PMH responses work when Debian 13 (Trixie) is used as the operating system. Trailing slashes are stripped from requestURL for CGI.pm 4.68+ compatibility
Technical details:
CGI.pm 4.68 (shipped with Debian 13/Trixie) changed the behaviour of self_url() to include a trailing slash when there's no path component.
This strips the trailing slash from both the requestURL field in OAI responses and the baseURL field in Identify responses to maintain compatibility across CGI.pm versions.
This fixes the progress shown for pseudonymize statistics background jobs. The progress was shown in the list of jobs (Administration > Jobs > Manage jobs) as "0/1" instead of "1/1", even though the background job was finished.
This removes the sentence "Please retrieve them and check them in." from the bookings to collect page (Circulation > Holds and bookings > Bookings to collect). This is not required, as checking in items is not relevant for bookings.
This improves the performance of the holds request page for a record in the staff interface.
40287 Fix untranslatable strings in more statistics wizards
This fixes and improves the acquisitions, patrons, catalog, and circulation statistics report wizard:
- Fixes some strings so that they are now translatable
- Improves the "Filtered on" information shown before the report results: . the filtered on options selected in the report are now shown in a bulleted list and in bold . descriptions are now shown instead of codes (for example, the library name instead of the library code)
Sponsored by Athens County Public Libraries
This fixes a database update (for bug 38436 in 24.11.00) that caused code to show in the browser instead of HTML output when running an upgrade.
40619 Remove OverDrive star ratings from the OPAC
This removes the code for OverDrive star ratings from OPAC pages, as OverDrive no longer supplies star ratings through their API.
Sponsored by Athens County Public Libraries
41145 Logging patron attributes logs even if there's no changes
This prevents misleading patron attribute modification logs, when a library batch imports patrons with the BorrowersLog system preference set to 'Log'. It now correctly only shows a log entry when a patron attribute value is changed.
Example:
- Before the change: for an existing patron with a patron attribute of INSTID:1234, with a re-import the log shows { "attribute.INSTID" : { "after" : "1234", "before" : "" } }, even though there is no change to the patron attribute.
- After the change: . No log entry is shown if there is no change to the patron attribute. . If there is a change to the patron attribute (for example, changed to 5678 on a re-import), it is now correctly shown - { "attribute.INSTID" : { "after" : "5678", "before" : "1234" } }
Sponsored by Auckland University of Technology
39014 Storing a guarantee fails due to TrackLastPatronActivityTriggers "creating a patron"
This fixes an error when creating a patron that requires a guarantor, when this combination of settings is used:
TrackLastPatronActivityTriggers: 'Creating a patron' is selectedChildNeedsGuarantor: is set to 'requires'- The patron category is a 'Child' and 'Can be guarantee' is set to 'Yes'
With these settings, this error message "The following fields are wrong. Please fix them." (without a list of fields) was incorrectly shown when creating a child patron, even though you had correctly added the guarantor information.
Sponsored by Koha-Suomi Oy
41363 Don't hide patron category limitation warning behind icon
This moves the hint text for the warning on the Library management > Category field (when editing a patron record) from a tool tip on the warning icon to standard hint text under the input field, to make it more accessible
Note: This warning only appears under certain circumstances (when a patron category is limited to a specific library, and you edit a patron when the library is set to another location).
Sponsored by Athens County Public Libraries
Inline editing the cost or quantity fields on a point of sale transaction, then pressing enter, incorrectly submitted the form--instead of just updating the field.
Now, the values in the fields are updated without submitting the form, and you can continue entering sale details and completing the transaction.
This fixes patron registrations using the API - a welcome email notice was sent even if there were validation failures.
This adds the force_password_reset_when_set_by_staff field in the categories table to the list of allowed password-related fields that can be used in SQL reports.
Currently, this field is treated as containing sensitive password-related data and generates an error when creating a report that uses it.
This fixes an error in SIP2 patron information responses (64) when no currency is set, which can be the case for new Koha instances.
Example, if no currency is set: - Before the fix, there is an 'undef' error: ... Trying 'patron_information' SEND: 6300120251202 115652 AOCPL|AA42|ACterm1| READ: undef - After the fix, patron informatin is returned and there is no error: ... Trying 'patron_information' SEND: 6300120251202 122545 AOCPL|AA42|ACterm1| READ: 64 00120251202
122546000000000000000000000000AOCPL|AA42|AE koha|BLY|BV0|CC5|PCS| PIY|AFGreetings from Koha. |
This fixes Koha so that OpenSearch now works, and is now covered again by continuous integration tests (these have been failing for some time in Jenkins).
Note: See the test plan for guidance on how to start KTD successfully with OS1 and OS2 if you have issues.
This fixes an issue with incorrect numbering patterns and the next expected issue shown, after a serial is received.
Example of an incorrect numbering pattern before this fix: - Monthly serial received for August 2025 (its status shows as 'Arrived' for August 2025). - The next expected serial was then shown as August 2025 instead of September 2025 (its status was shown as 'Expected' with a incorrect numbering pattern of August 2025)
This fixes the terminology and improves the description for the FilterSearchResultsByLoggedInBranch system preference - branch should be library.
39482 Link to edit OpacLibraryInfo from library edit page broken
This fixes editing and showing OpacLibraryInfo HTML customizations information in the staff interface and OPAC:
Staff interface:
- When editing a library (Koha administration > Libraries > Actions > Edit) . the links to edit OpacLibraryInfo entries for the OPAC information field are now correct (previously, they may have linked to an incorrect HTML customization) . if there is more than one OpacLibraryInfo entry, all entries are now shown (only one entry was shown previously)
- When viewing library information (Koha administration > Libraries > Name > [click library name]), all the OpacLibraryInfo entries are now shown
OPAC:
- All the entries for a library (including any 'All libraries' entries for OpacLibraryInfo) are now shown on the library information page (from the 'Libraries' link under the quick search bar)
- In a record's holdings table, the pop-up window when you click on the current library for an item now correctly shows all entries
Sponsored by Athens County Public Libraries
40567 Correct eslint errors in recalls.js
This fixes a few minor coding guideline errors in the JavaScript used on recalls pages (JS8: Follow guidelines set by ESLint). There are no changes to how the recalls pages work.
Sponsored by Athens County Public Libraries
Changes "Too many checkout" to "Too many checkouts" message that shows in the log viewer when circulation overrides are logged.
Changes: - "List Files" to "List files" - "Change Directory" to "Change directory"
41361 Incorrect markup in category code confirmation modal
This fixes the "Confirm expiration date" dialog box that is shown when changing an individual patron's category:
- The "No" option now works.
- It is now formatted using our standard Bootstrap 5 styles.
Sponsored by Athens County Public Libraries
Updates the terminology for two circulation-related messages (reserves to holds, branches to libraries):
- "Target item cannot be reserved from other branches" to "Target item cannot be placed on hold from other libraries"
- "No reserves allowed" to "No holds allowed"
41396 Capitalization: 'Transport Settings' and other
This fixes the capitalization for the section headings on the EDI account create and edit form - they are now in sentence case (Administration > Acquisition parameters > EDI accounts):
- Basic Information => Basic information
- Transport Settings => Transport settings
- Message Types => Message types
- Functional Switches => Functional switches
Sponsored by Athens County Public Libraries
The Koha manual is maintained in Sphinx. The home page for Koha documentation is
Koha Documentation As of the date of these release notes, the Koha manual is available in the following languages:
The Git repository for the Koha manual can be found at
Complete or near-complete translations of the OPAC and staff interface are available in this release for the following languages:
Partial translations are available for various other languages.
The Koha team welcomes additional translations; please see
For information about translating Koha, and join the koha-translate list to volunteer:
The most up-to-date translations can be found at:
The release team for Koha 25.11.01 is
Release Manager: Lucas Gass
QA Manager: Martin Renvoize
QA Team:
Documentation Manager: David Nind
Documentation Team:
Translation Manager: Jonathan Druart
Wiki curators:
Release Maintainers:
Release Maintainer assistants:
We thank the following libraries, companies, and other institutions who are known to have sponsored new features in Koha 25.11.01
We thank the following individuals who contributed patches to Koha 25.11.01
We thank the following libraries, companies, and other institutions who contributed patches to Koha 25.11.01
We also especially thank the following individuals who tested patches for Koha
We regret any omissions. If a contributor has been inadvertently missed, please send a patch against these release notes to koha-devel@lists.koha-community.org.
The Koha project uses Git for version control. The current development version of Koha can be retrieved by checking out the main branch of:
The branch for this version of Koha and future bugfixes in this release line is 25.11.x.
Bug reports and feature requests can be filed at the Koha bug tracker at:
He rau ringa e oti ai. (Many hands finish the work)
Autogenerated release notes updated last on 28 Jan 2026 11:17:10.