26 Aug 2025
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.03 can be downloaded from:
Installation instructions can be found at:
Koha 25.05.03 is a bugfix/maintenance and security release.
It includes 40 enhancements, 57 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha on the community wiki.
Fixes XSS vulnerability in suspend hold modal and suspend hold button by refactoring the Javascript that creates the HTML.
This adds Cypress and Vue to the About Koha > Licenses page.
39489 'Refine your search' should have an aria-expanded attribute
This fixes the "Refine your search" section in the OPAC. For screen reader users on smaller screens, it now correctly announces that it is an expandable section, instead of a link (by adding an aria-expanded attribute).
Explanation: The 'Refine your search' expandable section in the Koha OPAC was not clearly announced by screen readers for smaller screen sizes. This is because the expandable section was identified and announced as a link. This resulted in screen reader users incorrectly expecting a link to another page, and not being informed that it was an expandable section.
Sponsored by British Museum
This fixes the "Receive shipments" action from the table listing vendors in acquisitions - it now opens the receive shipment form in the same window, instead of opening in a new tab or window.
This removes a category field that was mistakenly added to the library's detail page (Koha administration > Basic parameters > Libraries > view any library).
40156 Advanced editor should not create empty fields and subfields
Sponsored by Ignatianum University in Cracow
This fixes checking out, checking in, and renewing items for a patron where a guarantor is required, and they don't have one (where the ChildNeedsGuarantor system preference is enabled).
These actions are now completed correctly, and a warning message is now shown on the patron's page where a guarantor is required and they don't have one: "System preference 'ChildNeedsGuarantor' is enabled and this patron does not have a guarantor.".
Previously: - checking items in or out generated a 500 error message, even though the actions were successfully completed - attempting to renew items generated this message "Error: Internal Server Error" and the items were not renewed - no message was shown on the patron page warning that they needed a guarantor
This patchset fixes a problem where hold priority could be incorrectly updated depending on how the table is sorted on reserve/request.tt.
38412 Koha should warn when hold on bibliographic record requires hold policy override
Sponsored by BibLibre and Westlake Porter Public Library
This fixes the status message when a hold is cancelled on the patron's holds history page in the staff interface. It displayed "Cancelled(FIXME)", instead of the actual reason. (This is related to bug 35560 - Use the REST API for holds history, added in Koha 25.05.00 and 24.11.05.)
40488 "Public lists" breadcrumb link doesn't work when editing public list in staff interface
Fixes breadcrumb link when editing public lists in staff interface.
Sponsored by Athens County Public Libraries
This fixes the terminology used in the overdue notice (ODUE) to change 'branch' to 'library': "Please return or renew your overdue items at the library as soon as possible.".
Note: The notice is not automatically updated for existing installations. Update the notice manually to change the wording if required, or replace the default notice using "View default" and "Copy to template" if you have not customized the notice.
40540 OPAC generates warnings in logs when no results are found
Sponsored by Ignatianum University in Cracow
40590 OPACAuthorIdentifiersAndInformation shows empty list elements for unknown 024$2
Sponsored by Athens County Public Libraries
This fixes the terminology used for showing the output for standard reports in the browser. It changes "To screen into the browser" to "To screen in the browser" ("into" changed to "to").
This fixes the default UNIMARC XSLT files so that the AuthorLinkSortBy and AuthorLinkSortOrder system preferences now work with UNIMARC, not just MARC21.
A note was also added to the system preference for those that use custom XSLT (for OPACXSLTDetailsDisplay, OPACXSLTResultsDisplay, XSLTDetailsDisplay, and XSLTResultsDisplay) - they need to update their templates to support these features for both MARC21 and UNIMARC.
(These preferences were added in Koha 23.11 by Bug 33217 - Allow different default sorting when click author links, but only the default XSLT files for MARC21 were updated.)
40081 textareas appear to now be fixed width
This fixes OPAC and staff interface forms with text area fields. You can now adjust the size both vertically and horizontally - after the Bootstrap 5 upgrade you could only adjust the size vertically. (This is related to the OPAC and staff interface Bootstrap 5 upgrade in Koha 24.11.)
Sponsored by Athens County Public Libraries
40560 Incorrect breadcrumb on recall history
Sponsored by Athens County Public Libraries
This fixes a spelling error in the class name on the reports home page in the staff interface: "rep_dictonary" to "rep_dictionary".
40114 Can't select new library when editing a desk
This patch fixes a problem that made it impossible to select a new library/branch when editing a desk from Administration -> Desks.
Sponsored by Athens County Public Libraries
40222 Bootstrap popover components not updated for BS5
Sponsored by Athens County Public Libraries
40413 Patron list input missing "Required" label
Sponsored by Athens County Public Libraries
40451 Link patron restriction types to correct section in manual
Sponsored by Athens County Public Libraries
This fixes adding or removing items to a rotating collection (Tools > Patrons and circulation > Rotating collections). If a barcode has a space before it, it is now ignored instead of generating an error message.
It is now possible to export any basket to CSV, even the closed ones or those linked to a group.
notices_content hook handlingThis enhancement adds an ID to the "Skip bibliographic records with open acquisition orders" checkbox on the batch record deletion page (Cataloging > Batch editing > Batch record deletion").
This is required so that when selecting or unselecting the checkbox, the focus remains on the checkbox. The ID semantically links the checkbox to its label so machines (screenreaders and computers) can tell they are related elements.
This enhancement displays the LOST authorized value description when checking an item in, instead of the generic "Item was lost, now found." message. For example, if the LOST value description is "Missing" it will now display as "Item was Missing, now found.".
39923 Add classes to email and phone in overdue report to allow for customization
This patches adds a overdue_email and overdue_phone to the overdue report making it easier to target the phone/email with CSS or JavaScript.
Sponsored by Athens County Public Libraries
39917 Display a prompt for status alias when completing a request if ILL_STATUS_ALIAS in use
This enhancement to ILL requests lets you select a 'status alias' when marking requests as complete. This is only shown when values are defined for the ILL_STATUS_ALIAS authorized values category. The alias is then shown in the status field on the request details page, and in the status column for the list of ILL requests. If there are no values defined, then you are not prompted to select a status alias.
Sponsored by NHS England (National Health Service England)
This patch updates the authority search in cataloging to exclude results from the autocomplete that would be excluded from the search based on ConsiderHeadingUse and MARC21 field 008/14-16 indication of what the heading can be used for (main/added entry, subject entry, series entry).
This enhancement lets patron see links to their own private lists on OPAC bibliographic record detail pages. Previously, only public lists were shown.
This adjusts the way patron messages are displayed on a patron account, grouping messages together and labeling them based on whether they are internal staff notes or OPAC messages.
cancellation_reason to holds strings embed39897 Make EDI accounts a configurable DataTable
This enhancement converts the EDI accounts table from a standard table to a DataTable - so you can now sort, filter, configure the columns, export the data, and so on (Koha administration > Acquisition parameters > EDI accounts).
Sponsored by Athens County Public Libraries
This enhancement updates the information message on the Koha to MARC mapping page to mention that batchRebuildItemsTables.pl should also be run if changes are made to mappings that affect the items table. It currently only mentions running misc/batchRebuildBiblioTables.pl
This patch corrects the styling of required fields so that the text entered in the input is no longer shown in red. Previously, the .required class was incorrectly applied to the input itself rather than just the label and required indicator.
Improvements: - Improved wording for the number of items checked out: instead of "..2 item(s).." and "..1 item(s)..." the text changes based on the actual number of checkouts - "...2 items..." and "...an item...". - More succinct text: for example, instead of "Please pay your charges before reapplying.", "Please pay them before reapplying."
This enhancement to patron clubs renames "Start date" and "End date" to "Enrollment start date" and "Enrollment end date", to better reflect what the dates represent.
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.03 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.05.03
We thank the following individuals who contributed patches to Koha 25.05.03
We thank the following libraries, companies, and other institutions who contributed patches to Koha 25.05.03
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 26 Aug 2025 19:49:36.