24 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 26.05.03 can be downloaded from:
Installation instructions can be found at:
Koha 26.05.03 is a bugfix/maintenance release.
It includes 3 enhancements, 66 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha on the community wiki.
This improves the SQL for the spent by fund report (Acquisitions > [All available funds section of the page] > [select amount in the spent column for a fund that has a link]).
This fixes an issue where there was a VERY large number of vendors in a system (260k + !!!), which resulted in a database error: ERROR 1038 (HY001): Out of sort memory, consider increasing server sort buffer size
This fixes the search for data inconsistencies script (misc/maintenance/search_for_data_inconsistencies.pl) so that it now runs significantly faster - it replaces OR with IN for subqueries.
Technical details:
Queries that use OR instead of IN are less efficient and can lead to situations where the query takes a very long time to complete due to row level scanning. Example: We found one instance where they query had been running for over 10 days!
This fix makes ids() return a subquery instead of a list of results, and switches the callers to using IN. The database now resolves the set itself and the queries stay a constant size no matter how large the catalog is. This is super efficient because the subquery doesn't even execute as a separate query since biblionumber is the primary key!
43206 cn_browser plugin red background on exact match is hard to read
Sponsored by Athens County Public Libraries
36762 Item not transferred correctly when there is a pending hold
This fixes two issues when transferring an item that could fill a pending hold to a library that is not the holds pickup library:
- Koha only gives you an option to transfer the item to the pickup library. When this option is chosen, Koha says that item is being transferred to the selected library, not to the pickup library. Then it fails to create the transfer.
- Adds a new option ("Ignore hold and transfer to [Library name]") to ignore the hold and transfer the item to the library selected in the transfer tool.
Sponsored by Koha-Suomi Oy
41358 action logs info column should always store JSON
Sponsored by OpenFifth
This fixes the information shown in the overdues report patron column (Circulation > Overdues > Overdues). The bibliographic record title was shown before the patron's name, instead of the patron's title (salutation).
(Related to bug 41343 - Overdue report is too intensive on systems with many overdues, added to Koha 26.05 and 25.11.)
This fixes the koha-create command so that it generates the random encryption key required for passwords and sensitive data.
It uses pwgen with the number of characters set to 32, and adds the
entry to the instance's koha-conf.xml file.
This fixes an issue for the ERM module when adding a license to an agreement. The status field for the license was not shown as required. This generated an error message if you attempted to add a license without selecting a value for the status field: "Something went wrong: Error: Expected string - got null.". The status field is now marked as required.
(Related to Bug 38201 - VueJS architecture rethink, added to Koha 25.11.)
42915 Filtering Holds table by patron name or pickup library is broken
Sponsored by Cape Libraries Automated Materials Sharing
This fixes placing holds using the staff interface for a specific item, where there is an item that has a "Not for loan" status.
Previously, you could select the item that is not for loan.
Now the item that is not for loan has an "X Not for loan" in red in the hold column, and you can't select it.
33364 Stop holds to pull report showing items that have been allocated to a recall
This fixes the "Holds to pull" circulation report to exclude items that have pending recalls (recalled items waiting for pickup or in transit for a patron).
Sponsored by Catalyst
42920 Looking up authority records in Advanced editor appends 20 extra spaces
Sponsored by Chetco Community Public Library
This fixes some of the filters for the "Most-circulated items" report so that using limits (the Limits section with "Limit to" and "By") now works.
Previously some options for "By" (such as Library and Week) generated an error message or there were no results (when results were expected).
(Changes ".../guided_reports.pl?op=edit_formid=..." to ".../guided_reports.pl?op=edit_form&id=..." - note the missing &)
The Elasticsearch indexer daemon (es_indexer_daemon.pl) was silently marking background indexing jobs as "finished" even when Elasticsearch was unreachable, causing records to disappear from search results with no indication of failure. Additionally, after a brief ES outage (e.g. a Docker restart), the daemon's connection pool would mark the node as dead with exponential backoff, leaving it permanently stuck until manually restarted. The daemon now resets jobs to "new" on NoNodes errors so they are automatically retried once connectivity is restored, recreates the ES client to reset the connection pool, and correctly marks jobs as "failed" for other indexing errors.
42699 Editing an already received serial with a duplicate barcode leads to Error 500
Sponsored by Koha-Suomi Oy
This fixes the holdings table on the record details page. The status column filter now works correctly when selecting the "Recalled" option, and lists recalls placed for a specific item.
Previously, the "Recalled" filter did not work and all items for the record were listed instead.
This fixes the record display customizations page (Tools > Additional tools > Record display customizations). When you cancel adding a new entry you are now returned to the list of record display customizations, instead of the list of HTML customizations.
42568 Match maxlength attributes to marc_order_accounts column sizes
Sponsored by Athens County Public Libraries
42618 Incorrect sidebar menu link to MARC order accounts
Sponsored by Athens County Public Libraries
This fixes the terminology used for the default message in the "Self-renewal failure message" field (Administration > Patrons and circulation > Patron categories > Account expiry and self-renewal). "...your local branch..." changed to "...your library...".
$Test::Strict::TEST_STRICT = 0; no longer needed in t/db_dependent/00-strict.tTwo enhancements to the pending offline circulation actions page (Circulation > Offline circulation > Pending offline circulation actions): - The barcode now links directly to the item on the item details page, instead of the bibliographic record, and opens in a new tab. - There is a new last seen date column, with a warning if the item's last seen date is more recent than the offline circulation action date (for example, the item was checked in).
42118 Update various admin pages to use grid layout for forms - Part 2
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 26.05.03 is
- Release Manager: Pedro Amorim
- QA Manager: Lisette Scheer
- QA Team:
- Marcel de Rooy
- Martin Renvoize
- Jonathan Druart
- Laura Escamilla
- Lucas Gass
- Tomás Cohen Arazi
- Lisette Scheer
- Nick Clemens
- Paul Derscheid
- Emily Lamancusa
- David Cook
- Matt Blenkinsop
- Andrew Fuerste-Henry
- Brendan Lawlor
- Pedro Amorim
- Kyle M Hall
- Aleisha Amohia
- David Nind
- Baptiste Wojtkowski
- Jan Kissig
- Katrin Fischer
- Thomas Klausner
- Julian Maurice
- Owen Leonard
- Lucas Gass
- Documentation Manager: Aude Charillon
- Documentation Team:
- Philip Orr
- Caroline Cyr La Rose
- David Nind
- Marion Durand
- Translation Manager: Jonathan Druart
- Wiki curators:
- George Williams
- Thomas Dukleth
- Release Maintainers:
- 26.05 -- Lucas Gass
- 25.11 -- Baptiste Wojtkowski
- 25.05 -- Wainui Witika-Park
We thank the following libraries, companies, and other institutions who are known to have sponsored new features in Koha 26.05.03
We thank the following individuals who contributed patches to Koha 26.05.03
We thank the following libraries, companies, and other institutions who contributed patches to Koha 26.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 26.05.x-security.
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 24 Aug 2026 22:34:58.