05 Aug 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.05.13 can be downloaded from:
Installation instructions can be found at:
Koha 25.05.13 is a bugfix/maintenance and security release.
It includes 37 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha on the community wiki.
This change refactors the regular expression handling for Batch Item Modification, MARC Modification templates, and Callnumber splitting. It moves from Perl's traditional compile-time regular expression handling to a more dynamic (but restrictive) run-time regular expression handling more similar to Python's "sub" regex method. This functions to reduce vulnerabilities to code injection into Koha's Perl backend.
This fixes the About Koha page when Zebra is not running or not correctly configured in the Koha instance's koha-conf.xml file. Instead of a 500 error when you access the page, there is now a message in the server information tab for Zebra's status, such as "Zebra server seems not to be available. Is it started?".
This fixes the search filter for the suggestions tables in the staff interface. The search filter now searches all suggestion column data, not just the title.
This updates the CPAN file to reflect the minimum version needed for the MARC::File::XML Perl module. This is important because of the vulnerabilities in version 1.0.1.
(Note: This should not cause any issues, as v1.0.5 is available and already used from Debian repositories for installation.)
21941 Incorrect GROUP BY in circ/reserveratios.pl
Sponsored by Lund University Library
Catches the unlikely case of there not being an itemtype associated with item or bib for bookings.
When PatronSelfRegistration is set to ignore (i.e. do nothing) if --del-exp-selfreg is passed to cleanup_database.pl we were issuing warnings. This patch removes those.
41386 Adding 0.00 as value for "Expired hold charge" in circulation rules can lead to exception Koha::Exceptions::Account::AmountNotPositive
Using value 0.00 in "Expired hold charge" rule on circulation rules caused Koha to die with exception Koha::Exceptions::Account::AmountNotPositive when expired hold charge was added for patron. This was caused by error in if statement in method Koha::Hold->cancel which allowed value 0.00 to be passed to method add_debit. This method then raised exception since value 0.00 is not positive. This patch fixes the erroneous if statement in method Koha::Hold->cancel.
Sponsored by Koha-Suomi Oy
This updates how an ILL request cost and price paid are shown - if the amount is $0, then it is now shown. Previously, the fields were not shown if the amount was $0.
(Note: 'Cost' is not editable in the user interface, but the backend used may set the value. 'Price paid' is editable through the 'Edit request' action)
This fixes the UNIX user/group ownership of the log files
intranet-error.logandopac-error.loginside/var/log/koha/<instance>/. Previously, runningkoha-create --request-dbfollowed bykoha-create --populate-dbwould result in the two log files being owned by root/root. The correct ownership is now applied, meaning the log files will be owned by the-koha/ -koha UNIX user/group.
This fixes the MARC view in the OPAC where an item should be hidden when OPACHiddenItems rules should apply. The item was hidden in the normal view, but not in the MARC view.
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
29768 hidepatronname hides guarantor name on borrower edit screen
If the
HidePatronNamesystem preference was set to "Don't show" it hid the guarantor's name when:
- editing the guarantee's patron record (it shows the guarantor patron's card number)
- viewing the guarantee patron's details page
With this change, you can now see the guarantor's name in these areas.
As this information is viewable by clicking the card number, it doesn't make much sense to hide the patron name for guarantors and guarantees.
Sponsored by Koha-Suomi Oy
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.
System preferences with a text input field can now be saved when they are changed back to the original value.
42154 Bug 38714 hid the "New match check" link in record matching rules
Sponsored by Athens County Public Libraries
42438 Remove event attributes from icon selection include file
Sponsored by Athens County Public Libraries
42439 Remove event attributes from label-edit-batch.tt
Sponsored by Athens County Public Libraries
42441 Remove event attributes from authority merge template
Sponsored by Athens County Public Libraries
42442 Remove event attributes from bibliographic record merge template
Sponsored by Athens County Public Libraries
Changes opac to OPAC for these system preference descriptions: - NovelistSelectProfile - item-level_itypes - OpacSuppressionByIPRange
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.05.13 is
Release Manager: Pedro Amorim
Release Manager assistants:
QA Manager: Lisette Scheer
QA Team:
Topic Experts:
Bug Wranglers:
Documentation Manager: Aude Charillon
Documentation Team:
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.05.13
We thank the following individuals who contributed patches to Koha 25.05.13
We thank the following libraries, companies, and other institutions who contributed patches to Koha 25.05.13
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.05.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 05 Aug 2026 04:34:37.