Koha 21.11.11 released


22 Aug 2022

Koha 21.11.11 is a bugfix/maintenance release.

It includes 12 enhancements, 40 bugfixes.

Koha 21.11.11 can be downloaded from:



  • [31001] “CGI::param called in list context” warning in basket.pl flooding error log

    This fixes the cause of a warning message that appears in the system logs when emailing an order to a vendor (Acquisitions > [select a vendor] > [select a basket] > E-mal order). The warning message was “[WARN] CGI::param called in list context from /kohadevbox/koha/acqui/basket.pl line 175, this can lead to vulnerabilities. See the warning in “Fetching the value or values of a single named parameter” at /usr/share/perl5/CGI.pm line 414.”.

Architecture, internals, and plumbing

  • [29454] Stash itemtypes in plugin objects to reduce DB calls
  • [30848] Introduce Koha::Filter::ExpandCodedFields


  • [30716] Add Collection column to cn_browser results table
  • [30775] 952w should have datepicker plugin enabled for it by default

    This enhancement adds the date picker to 952$w (price effective from).

    This improves usability (952$d (date acquired) has the date picker enabled) and also adds date field validation (the date is added to the database as YYYY-MM-DD and when entered incorrectly it can lead to crashes in other areas).

  • [30871] Make it clear that 008 Type of Material is controlled by Leader 6th position in MARC21

    This enhancement adds title elements or clarifies existing title elements to indicate how default values are chosen (for both the default and advanced editor).

Installation and upgrade (command-line installer)

  • [25622] Change way MySQL password is generated by koha-create


  • [31064] Local login is difficult to style using CSS


  • [29055] Focus on keyword field when subscription biblio search window opens


  • [26486] Group edit buttons in reports toolbar


  • [22659] Add ‘save and continue’ functionality to news and HTML customizations

    Adds the ability to save & continue when working with either News or HTML customization editors.

  • [31062] Change description of QOTD tool in tools-home

    This enhancement changes the name and description of the QOTD tool in order to make them more consistent with the other tool names and descriptions.

Critical bugs fixed

Architecture, internals, and plumbing

  • [30939] remove_unused_authorities.pl is broken

    This fixes the ./misc/migration_tools/remove_unused_authorities.pl script so that it now works and deletes unused authority records. Before this, it generated an error message at the first unused authority record and stopped (without deleting any unused authority records).


  • [29958] Missing dateaccessioned is set to today when storing an item

    This fixes editing items without an accession date – the accessioned date will remain empty, instead of being updated to today’s date.

  • [31179] Duplicate item is duplicating internal item fields

Command-line Utilities

  • [30914] cleanup_database.pl –transfers –old-reserves –confirm does not work

Searching – Zebra

  • [31106] Error searching for analytics in detail viewSponsored by Theke Solutions

    This fixes two issues that affect searching and links for analytics on the detail view pages for records in the staff interface and OPAC:

    1. Several characters will break Zebra search engine queries, so search terms need to be quoted by the query builder for things to work. Double quotes in titles and used in search terms were not escaped, cuasing issues with results.
    2. This caused links to and from host records using 773$t and 773$a to fail (not find or display the expected results).

    Example: Before this was fixed, for a host record with the title ‘Uncond”itional?¿’ and child records linked using 773$t and 773$a:

    • the ‘Show analytics’ link was not displayed in the staff interface and OPAC for the host record
    • the link from the child record back to the host record (‘In’ Title of host record (linked)) didn’t work.

System Administration

  • [29951] Cannot add splitting rule to classification sources

    This fixes an error* that was displayed when adding a splitting rule to classifications sources (Administration > Catalog > Classification configuration).

    • Clicking ‘Add a splitting rule’ generates an error page starting “Can’t locate object method “subclasses” via package “C4::ClassSplitRoutine” at /kohadevbox/koha/C4/ClassSplitRoutine.pm line 53″.

Test Suite

  • [31108] rename ./t/00-check-atomic-updates.pl extension to *.t

Other bugs fixed

Architecture, internals, and plumbing

  • [30744] Use RecordProcessor in get_marc_notes to ensure non-public notes do not leak
  • [31058] Bad import in auto_unsuspend_holds


  • [30976] Cover images for biblio should be displayed first


  • [27996] Format of “Due date” on Circulation > Overdues page

    This highlights the due date for an overdue item in red on the Circulation > Overdues page. (This is consistent with how an overdue date is displayed in other areas of the staff interface, such as on a patron’s list of checkouts.)

  • [29050] Add punctuation in Unseen Renewals messageSponsored by Catalyst
  • [31085] The return claims table no longer reloads on resolution
  • [31087] Undefined notes in returns claims get stringified to ‘null’

Command-line Utilities

  • [30667] Holds reminder cronjob (holds_reminder.pl) never uses default letter template

Fines and fees

  • [30567] Create manual invoice with FR currency format show the incorrect format

    This fixes the price formatting when CurrencyFormat = FR. When adding a manual invoice, the amount input field was shown with a comma for debit types with default amounts, but it should be a decimal point. (For input fields we always use the decimal point and the display format uses the decimal separator defined by CurrencyFormat.)

Label/patron card printing

  • [30837] Fix table width on ‘Print summary’

    This fixes the width of the table for the print summary so that it fits the width of the page.


  • [31122] Terminology: Replace & with and for Notices & slips

    This updates occurrences of ‘Notices & slips’ with ‘Notices and slips’, as per the terminology guidelines.


  • [30918] Non-public note is visible in OPAC in Title Notes tab

    This fixes the display of nonpublic notes (583$x) in the OPAC. Before this, if the OPAC visibility setting in the framework for 583$x was set not to show, it was still showing.


  • [30865] Koha::Biblio->get_components_query should double quote Host-item search

Searching – Elasticsearch

  • [30152] Elasticsearch – queries with OR don’t work with limitsSponsored by Lund University Library
  • [31013] Reserved words as branchcodes cause search error in Elasticsearch


  • [24010] Number of issues to display to staff accepts non-integer values

    This adds validation to the subscription entry form to check that the values for these fields are numbers:

    • Number of issues to display to staff
    • Number of issues to display to the public

Staff Client

  • [31038] Amounts in cashup summary modal no longer properly formatted

    This fixes the formatting of amounts on the cashup summary modal (it uses the existing format_price JS include to format prices). For example, the amount for a product was formatted as 15 instead of 15.00.

  • [31067] Sub-tools permission not applying on intranet-main.tt

System Administration

  • [31117] Cloning standard circulation rules for all libraries show up as from ‘*’


  • [20395] Use Price formatter in more templates (paycollect, request, parcel, smart-rules)
  • [30763] Typo: Barcode proceeds bibliographic data
  • [30764] Terminology: Cancelled reserveSponsored by Catalyst
  • [30766] Typo: Cannot cancel receipt. Possible reasons :
  • [30767] Terminology: Do not forget that the issue has not been checked in yet.Sponsored by Catalyst
  • [30770] Terminology: Lost reserveSponsored by Catalyst
  • [30773] Standardize spelling i-tive / Itiva

    This standardizes the spelling used for i-tiva in the staff interface. When modifying notices (Tools > Notices & slips > [select any notice]) the section is now labelled ‘Phone ( i-tiva )’ – this is now consistent with the table heading used for Tools > Overdue notice/status triggers.

  • [30994] Typo: item was on loan. couldn’t be returned.

    This updates some error messages for the inventory tool to make them more readable and consistent: punctuation fixed, capitalization made more consistent, and language corrections (“check in” instead of “return”).

  • [31040] jsTree image being used outside of jsTree plugin

    This fixes OPAC templates which had a missing “spinner” image when queries were being performed (such as for OpenLibrary, RecordedBooks, and OverDrive). Previously, they were using an image from the jsTree plugin – this was upgraded (see bug 11873), and the plugin’s folder structure was changed. Templates now use /images/spinner-small.gif instead.

  • [31071] Regression: date due removed from staff search results

    This fixes a regression introduced in Koha 21.11 that inadvertently removed the date due in the staff interface search results.


  • [30903] CSV import of quotes broken

    This fixes the import of quotes from a CSV file for the Quote of the Day feature.

  • [30911] Datatables error on course-details.pl after adding a bib-level course reserve
  • [31066] Can’t use regex in batch modification on fields associated with a plugin
  • [31220] Error when attempting to export selected labels as PDF


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:

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:

  • Arabic (87.1%)
  • Armenian (100%)
  • Armenian (Classical) (89%)
  • Bulgarian (91.9%)
  • Chinese (Taiwan) (79.2%)
  • Czech (76.2%)
  • English (New Zealand) (58.9%)
  • English (USA)
  • Finnish (96.3%)
  • French (95.5%)
  • French (Canada) (92.6%)
  • German (100%)
  • German (Switzerland) (58.6%)
  • Greek (60.1%)
  • Hindi (100%)
  • Italian (100%)
  • Nederlands-Nederland (Dutch-The Netherlands) (86.8%)
  • Norwegian Bokmål (63%)
  • Polish (99.6%)
  • Portuguese (90.8%)
  • Portuguese (Brazil) (83.5%)
  • Russian (84.6%)
  • Slovak (74.5%)
  • Spanish (100%)
  • Swedish (82%)
  • Telugu (94.9%)
  • Turkish (99.3%)
  • Ukrainian (75.6%)

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.11.11 is

  • Release Manager: Jonathan Druart
  • Release Manager assistants:
    • Martin Renvoize
    • Tomás Cohen Arazi
  • QA Manager: Katrin Fischer
  • QA Team:
    • Agustín Moyano
    • Andrew Nugged
    • David Cook
    • Joonas Kylmälä
    • Julian Maurice
    • 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
    • Elasticsearch — Fridolin Somers
    • Zebra — Fridolin Somers
    • Accounts — Martin Renvoize
  • Bug Wranglers:
    • Sally Healey
  • Packaging Manager: Mason James
  • Documentation Manager: David Nind
  • Documentation Team:
    • David Nind
    • Lucy Vaux-Harvey
  • Translation Managers:
    • Bernardo González Kriegel
  • Wiki curators:
    • Thomas Dukleth
  • Release Maintainers:
    • 21.05 — Kyle M Hall
    • 20.11 — Fridolin Somers
    • 20.05 — Victor Grousset
    • 19.11 — Wainui Witika-Park
  • Release Maintainer assistants:
    • 21.05 — Nick Clemens
  • Release Maintainer mentors:
    • 19.11 — Aleisha Amohia


We thank the following libraries, companies, and other institutions who are known to have sponsored
new features in Koha 21.11.11

We thank the following individuals who contributed patches to Koha 21.11.11

  • Tomás Cohen Arazi (6)
  • Florian Bontemps (2)
  • Kevin Carnes (1)
  • Nick Clemens (11)
  • David Cook (2)
  • Nisha Dahya (1)
  • Jonathan Druart (8)
  • Magnus Enger (1)
  • Katrin Fischer (3)
  • Lucas Gass (5)
  • Evan Giles (1)
  • Kyle M Hall (1)
  • Mason James (1)
  • Pasi Kallinen (1)
  • krisw (1)
  • Owen Leonard (7)
  • David Nind (3)
  • Martin Renvoize (9)
  • Caroline Cyr La Rose (1)
  • Danyon Sewell (1)
  • Fridolin Somers (2)
  • Arthur Suzuki (5)
  • Logan Symons (1)
  • Mark Tompsett (1)
  • Koha translators (1)
  • Karen Turner (1)
  • Petro Vashchuk (2)
  • Filip Vujičić (1)
  • Tosca Waerea (1)

We thank the following libraries, companies, and other institutions who contributed
patches to Koha 21.11.11

  • Athens County Public Libraries (7)
  • BibLibre (9)
  • Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) (3)
  • ByWater-Solutions (17)
  • Catalyst (8)
  • David Nind (3)
  • Independant Individuals (3)
  • Koha Community Developers (8)
  • KohaAloha (1)
  • Libriotech (1)
  • Prosentient Systems (2)
  • PTFS-Europe (9)
  • Solutions inLibro inc (1)
  • The City of Joensuu (1)
  • Theke Solutions (6)
  • ub.lu.se (1)

We also especially thank the following individuals who tested patches
for Koha

  • Tomás Cohen Arazi (65)
  • Emmanuel Bétemps (2)
  • Nick Clemens (6)
  • Chris Cormack (8)
  • Roch D’Amour (1)
  • Jonathan Druart (7)
  • Katrin Fischer (20)
  • Lucas Gass (70)
  • Victor Grousset (2)
  • Kyle M Hall (2)
  • Sally Healey (6)
  • Bernardo González Kriegel (1)
  • Owen Leonard (2)
  • Julian Maurice (1)
  • David Nind (31)
  • Martin Renvoize (20)
  • Marcel de Rooy (3)
  • Fridolin Somers (9)
  • Arthur Suzuki (75)

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 21.11.x.

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 22 Aug 2022 08:57:34.