Koha 21.05.09 Released, ⚠ security release
The Koha community is proud to announce the release of version 21.05.09.
This is a maintenance release and contains many bug and security fixes.
As always you can download the release from:
https://download.koha-community.org
Thank you very much to everyone involved in this release.
Please continue reading for the details this release
RELEASE NOTES FOR KOHA 21.05.09
31 Jan 2022
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 21.05.09 can be downloaded from:
Installation instructions can be found at:
- Koha Wiki
- OR in the INSTALL files that come in the tarball
Koha 21.05.09 is a bugfix/maintenance release with security fixes.
It includes 9 security fixes, 26 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha here: https://wiki.koha-community.org/wiki/System_requirements_and_recommendations
Security bugs
Koha
- [26102] Javascript injection in intranet search
- [28735] Self-checkout users can access opac-user.pl for sco user when not using AutoSelfCheckID
- [29540] Accounts with just ‘catalogue’ permission can modify/delete holds
- [29541] Patron images can be accessed with just ‘catalogue’ permission
- [29542] User with ‘catalogue’ permission can view everybody’s (private) virtualshelves
- [29543] Self-checkout allows returning everybody’s loans
- [29544] A patron can set everybody’s checkout notes
- [29903] Message deletion possible from different branch
- [29914] check_cookie_auth not strict enough
Critical bugs fixed
Acquisitions
- [29464] GET /acquisitions/orders doesn’t honour sortingSponsored by ByWater Solutions
Fines and fees
- [29457] Fee Cancellation records the wrong manager_id
Prior to this patch inadvertently the field borrowers.userid was used to fill accountslines.manager_id. This should have been borrowernumber.
This report fixes that and prints a generic warning.
Hold requests
- [29736] Error when placing a hold for a club without members
Notices
- [29381] Auto-renewal digest messages are sent on every cron run
This fixes an issue with automatic renewal digest messages – these were being sent on every cron run, even if there was nothing to renew or no renewal errors.
(This error was caused by a regression in 21.05 from Bug 18532: Add individual issues to digest notice and hide auto_renewals messaging preference when not needed.)
OPAC
- [29696] “Suggest for purchase” missing biblio link
REST API
- [29018] Deleting patrons from REST API doesn’t do any checks or move to deletedborrowers
These fixes the REST API route for deleting patrons so that it now checks for guarantees, debts, and current checkouts. If any of these checks fail, the patron is not deleted.
Other bugs fixed
Acquisitions
- [24866] Display budget hierarchy in the budget dropdown menu used when placing a new order
This improves the display for selecting a fund when placing a new order in acquisitions. It now displays as a hierarchy instead of a list without any indentation, for example:
Budget 2021
— Book
— — Adult fiction - [29419] Suggest for purchase clears item type, quantity, library and reason if bib exists
Architecture, internals, and plumbing
- [29702] all_libraries routine in library groups make a DB call per member of group
- [29789] Unused $error in cataloguing/additem.pl
Circulation
- [29476] Earliest renewal date is displayed wrong in circ/renew.pl for issues with auto renewing
Hold requests
- [29553] Holds: Can’t call method “notforloan” on an undefined value when placing a hold
Notices
- [29557] Auto renew notices should handle failed renewal due to patron expiration
This enhancement updates the default auto-renewal notices to tell patrons that their renewals have failed because their account has expired.
OPAC
- [17127] Can’t hide MARC21 500 and others with NotesToHide
This fixes hiding notes fields (5XX in MARC21 and 3XX in UNIMARC) using NotesToHide. Before this you could hide one field and it worked. However, when hiding multiple fields one field would still always be visible. Now hiding notes fields works as expected.
- [29604] Term highlighting adds unwanted pseudo element in the contentblock of OPAC details page
- [29685] ‘If all unavailable’ state for ‘on shelf holds’ makes holds page very slow if there’s a lot of items on opac
Packaging
- [28926] Update cpanfile for Mojolicious::Plugin::OpenAPI v2.16
REST API
- [29503] GET /patrons should use Koha::Patrons->search_limited
- [29506] objects.search should call search_limited if present
- [29508] GET /patrons/:patron_id should use Koha::Patrons->search_limited
Reports
- [29530] When NumSavedReports is set, show value in pull down of entries
This updates the way the NumSavedReports preference value is used on the saved reports page. For the “Show” dropwdown list:
- it now displays the number set in NumSavedReports (previously it showed 20)
- when expanded it now shows the number set in NumSavedReports sequentially (for example, if NumSavedReports is 78, the menu options should be “10, 20, 50, 78, 100, All”), and
- it now displays ‘All’ if NumSavedReports is blank.
It also updates the description for the NumSavedReports preference to clarify that all reports are shown when no value is entered.
- [29680] Reports menu ‘Show SQL code’ wrong border radius
- [29729] If serials_stats.pl returns no results dataTables get angry
Searching – Elasticsearch
- [29436] Cannot reorder facets in staff interface elasticsearch configuration
System Administration
- [29591] Add autorenew_checkouts to BorrowerMandatory/Unwanted fields system preferences
Templates
- [29571] Mainpage : “All libraries” pending suggestions are visible only if the current library has suggestions
This fixes the display of pending suggestions in the staff interface so that it now shows pending suggestions for all libraries, for example: “Suggestions pending approval: Centerville: 0 / All libraries: 1.”. Previously suggestions pending approval was only shown if there were suggestions for the user’s current library.
Documentation
The Koha manual is maintained in Sphinx. The home page for Koha
documentation is
As of the date of these release notes, the Koha manual is available in the following languages:
- Arabic (34.3%)
- Chinese (Taiwan) (58.8%)
- Czech (27.6%)
- English (USA)
- French (56.2%)
- French (Canada) (25.5%)
- German (73.5%)
- Hindi (100%)
- Italian (48.1%)
- Spanish (36.9%)
- Turkish (40.3%)
The Git repository for the Koha manual can be found at
Translations
Complete or near-complete translations of the OPAC and staff
interface are available in this release for the following languages:
- Arabic (89.9%)
- Armenian (100%)
- Armenian (Classical) (89%)
- Chinese (Taiwan) (83%)
- Czech (71.4%)
- English (New Zealand) (61.5%)
- English (USA)
- Finnish (82.4%)
- French (92.8%)
- French (Canada) (94.7%)
- German (100%)
- German (Switzerland) (60.8%)
- Greek (54.9%)
- Hindi (100%)
- Italian (94.7%)
- Nederlands-Nederland (Dutch-The Netherlands) (61.7%)
- Norwegian Bokmål (65.9%)
- Polish (100%)
- Portuguese (91.4%)
- Portuguese (Brazil) (87.1%)
- Russian (86.6%)
- Slovak (72.7%)
- Spanish (99.9%)
- Swedish (77%)
- Telugu (99.7%)
- Turkish (99.7%)
- Ukrainian (75.2%)
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:
Release Team
The release team for Koha 21.05.09 is
- Release Manager: Fridolin Somers
- Release Manager assistants:
- Jonathan Druart
- Martin Renvoize
- Tomás Cohen Arazi
- QA Manager: Katrin Fischer
- QA Team:
- Andrew Nugged
- Jonathan Druart
- Joonas Kylmälä
- Kyle M Hall
- Marcel de Rooy
- Martin Renvoize
- Nick Clemens
- Petro Vashchuk
- Tomás Cohen Arazi
- Victor Grousset
- Topic Experts:
- UI Design — Owen Leonard
- REST API — Tomás Cohen Arazi
- Zebra — Fridolin Somers
- Accounts — Martin Renvoize
- Bug Wranglers:
- Indranil Das Gupta
- Erica Rohlfs
- Packaging Manager:
- Documentation Manager: David Nind
- Documentation Team:
- Aude Charillon
- Caroline Cyr La Rose
- Kelly McElligott
- Lucy Vaux-Harvey
- Martin Renvoize
- Rocio Lopez
- Translation Managers:
- Bernardo González Kriegel
- Wiki curators:
- Thomas Dukleth
- Release Maintainers:
- 21.11 — Kyle M Hall
- 21.05 — Andrew Fuerste-Henry
- 20.11 — Victor Grousset
- 19.11 — Wainui Witika-Park
Credits
We thank the following libraries, companies, and other institutions who are known to have sponsored
new features in Koha 21.05.09
We thank the following individuals who contributed patches to Koha 21.05.09
- Tomás Cohen Arazi (16)
- Florian Bontemps (3)
- Nick Clemens (8)
- David Cook (1)
- Jonathan Druart (23)
- Katrin Fischer (1)
- Andrew Fuerste-Henry (6)
- Lucas Gass (2)
- Didier Gautheron (1)
- Mason James (1)
- Joonas Kylmälä (2)
- Owen Leonard (9)
- Martin Renvoize (2)
- Marcel de Rooy (3)
- Andreas Roussos (1)
- Koha translators (1)
We thank the following libraries, companies, and other institutions who contributed
patches to Koha 21.05.09
- Athens County Public Libraries (9)
- BibLibre (4)
- Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) (1)
- ByWater-Solutions (16)
- Dataly Tech (1)
- Independant Individuals (2)
- Koha Community Developers (23)
- KohaAloha (1)
- Prosentient Systems (1)
- PTFS-Europe (2)
- Rijksmuseum (3)
- Theke Solutions (16)
We also especially thank the following individuals who tested patches
for Koha
- Tomás Cohen Arazi (11)
- Florian Bontemps (1)
- Nick Clemens (23)
- Jonathan Druart (14)
- Katrin Fischer (34)
- Andrew Fuerste-Henry (73)
- Lucas Gass (4)
- Victor Grousset (20)
- Kyle M Hall (45)
- Joonas Kylmälä (1)
- Owen Leonard (1)
- David Nind (12)
- Martin Renvoize (9)
- Marcel de Rooy (4)
- Andreas Roussos (2)
- Sally (1)
- Fridolin Somers (37)
- ThibaudGLT (2)
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.
Revision control notes
The Koha project uses Git for version control. The current development
version of Koha can be retrieved by checking out the master branch of:
The branch for this version of Koha and future bugfixes in this release
line is rmain2105.
Bugs and feature requests
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 31 Jan 2022 17:38:56.