Koha 20.11.03 released
The Koha community is proud to announce the release of version 20.11.03.
Koha 20.11.03 can be downloaded from:
Installation instructions can be found at:
- Koha Wiki
- OR in the INSTALL files that come in the tarball
Koha 20.11.03 is a bugfix/maintenance release.
It includes 2 new features, 22 enhancements, 74 bugfixes, 2 security fixes.
You can learn about the system components (like OS and database) for running Koha here.
-  Possibly SQL injection in virtualshelves
-  PatronSelfRegistrationLibraryList can be bypassed
 Add a plugin hook to allow running code on a nightly basis
This patchset adds a new cronjob script to Koha, plugins_nightly.pl
This script will check for plugins that have registered a cronjob_nightly method and execute that method.
This enhancement allows users to install and setup plugins that require cronjobs without backend system changes and prevents the addition of new cronjob files for each plugin.
This allows to temporarily disable any of OPACUserCSS, OPACUserJS, OpacAdditionalStylesheet, opaclayoutstylesheet, IntranetUserCSS, IntranetUserJS, intranetcolorstylesheet, and intranetstylesheet system preference via an URL parameter.
Alter the URL in OPAC or staff interface by adding an additional parameter DISABLE_SYSPREF_<system preference name>=1.
-  Add class names in the suggestions column in suggestions management
-  Breadcrumbs on parcel.pl should include a link to the vendor
-  Allow export of acquisitions home and funds table
 Show not for loan descriptions in cataloging search (addbooks.pl)
Adds the ability to see not for loan descriptions in the cataloging search results.
 HTML5Media is http by default but Youtube is https only
Sponsored by Banco Central de la República Argentina
 Add a command line script to compare the syspref cache to the database
This script checks the value of the system preferences in the database against those in the cache. Generally differences will only exist if changes have been made directly to the DB or the cache has become corrupted.
MARC Bibliographic data support
 Edition statement missing from card view in Z39.50 result list (acq+cataloguing)
This adds the edition statement (MARC21 250) to the card/ISBD views in the Z39.50 search results in the acquisition and cataloging modules.
-  Add publisher number (MARC21 028) to OPAC and staff detail pages
-  Document <<items.content>> for DUEDGST and PREDUEDGST and update sample notices
-  Printing a page from bootstrap shows unnecessary links
-  Rename ‘Relatives fines’ to ‘Relatives charges’ in OPAC
-  Hide printing the tools navigation when printing reports
Searching – Elasticsearch
 Add action logs to search engine administration
This enhancement adds logging of changes made to Elasticsearch. These can be viewed in the log viewer tool, where you can view all search engine changes, or limit to edit mapping and reset mapping actions.
-  Breadcrumb incorrect for POS: Library details page
 Add warning to PatronSelfRegistrationDefaultCategory to avoid accidental patron deletion
This patch adds a warning to the PatronSelfRegistrationDefaultCategory system
preference to not use a regular patron category for self registration.
If a regular patron category code is used and the cleanup_database cronjob is setup
to delete unverified and unfinished OPAC self registrations, it permanently and
and unrecoverably deletes all patrons that have registered more than
PatronSelfRegistrationExpireTemporaryAccountsDelay days ago.
It also removes unnecessary apostrophes at the end of two self registration
and modification system preference descriptions.
-  Make the guarantor search popup taller
-  Move Elasticsearch mapping template JS to the footer
-  Typo in system preference UsageStats: statisics
-  Set focus for cursor to item type input box when creating new item types
-  Typo in patron-attr-types.tt
-  Template tweaks for point of sale page
Critical bugs fixed
-  Missing include in orderreceive.tt
Architecture, internals, and plumbing
-  NULL values not correctly handled in Koha::Items->filter_by_visible_in_opac
 Import patrons script has a confirm switch that doesn’t do anything
This fixes the misc/import_patrons.pl script so that patrons are not imported unless the –confirm option is used. Currently, if the script is run without “–confirm” option it reports that it is “Running in dry-run mode, provide –confirm to apply the changes”, however it imports the patrons anyway.
-  finesMode=off not correctly handled
-  Renewing doesn’t work when renewal notices are enabled
 HoldsQueue doesn’t know how to use holds groups
Koha 20.05 introduced local hold groups, but neglected to add support of them in the holds queue. Because of this, the holds queue will not show items the could have filled holds from other libraries in a hold group. This patch set adds support for hold groups to the holds queue builder thus improving Koha’s ability to find items to fill hold requests.
Installation and upgrade (command-line installer)
 Update process failing for 20.06.00.023
The update 20.06.00.023 for adding options and reconfiguring the QuoteOfTheDay feature would fail. This patch makes sure that the update can be processed correctly.
-  Error when specifying CR field in SIP Config
-  marc-framework import function doesn’t accept LibreOffice csv/ods file formats
-  reverting and importing status never set when importing/reverting a batch
Other bugs fixed
-  Bug for tracking changes to the about page
-  Spent and Ordered total values don’t include child funds on acqui-home
-  Record biblionumber in import_biblio when adding to basket via file
 Markup errors in suggestion/suggestion.tt
This patch fixes several markup errors in the suggestions template in the staff interface, including:
- Unclosed tags
- Non-unique IDs
- Adding comments to highlight markup structure
-  Typo in parcel.tt
 Correct ‘accepted by’ inconsistency in suggestion.tt
Sponsored by Collecto
Architecture, internals, and plumbing
-  XSLTs should not define entities
 Add missing Claims Returned option to MarkLostItemsAsReturned
Marking an item as a return claim checks the system preference MarkLostItemsAsReturned to see if the claim should be removed from the patron record. However, the option for “when marking an item as a return claim” was never added to the system preference, so there was no way to remove a checkout from the patron record when marking the checkout as a return claim. This patch set adds that missing option.
-  Koha/Util/SystemPreferences.pm must be removed
 Misspelling of Method in REST API files
This fixes the misspelling of Method (Mehtod to Method) in REST API files.
-  Indirect object notation in Koha::Club::Hold
-  Wrong exception thrown in Koha::Club::Hold::add
-  Sample patron data should be updated and/or use relative dates
-  Improve filter on checked out from overdues
 Warnings in returns.pl
This patch removes a variable ($name) that is no longer used in Circulation > Check in (/cgi-bin/koha/circ/returns.pl), and the resulting warnings (..[WARN] Use of uninitialized value in concatenation (.) or string at..) that were recorded in the error log.
-  Cells in the bottom filtering row of the “Holds to pull” table shifted
 Warnings “use of uninitialized value” on branchoverdues.pl
This fixes the cause of unnecessary “use of uninitialized value” warnings in the log files generated by Circulation > Overdues with fines (/cgi-bin/koha/circ/branchoverdues.pl).
This was caused by not taking into account that the “location” parameter for this form is initially empty.
 Warning “use of uninitialized value” on renew.pl
This fixes the cause of unnecessary “use of uninitialized value” warnings in the log files generated by Circulation > Renew (/cgi-bin/koha/circ/renew.pl).
This was caused by not taking into account that the “barcode” parameter for this form is initially empty.
-  Duplicate message in batch checkout
-  Barcode column is missing from “Holds to pull” table preferences yaml file
-  Perldoc issues in misc/cronjobs/advance_notices.pl
Fines and fees
 <label> linked to the wrong (wrong “for” attribute) in paycollect.tt
This fixes the HTML <label for=””> element for the Writeoff amount field on the Accounting > Make a payment form for a patron – changes “paid” to “amountwrittenoff”.
-  Cash register allows for ‘amount tendered’ less than amount being paid
-  Serials: Values in subscription length pull down are not translatable when defining numbering patterns
-  String ‘Modify tag’ in breadcrumb is untranslatable
-  “Clear filter” button permanently disabled on ILL request list
Installation and upgrade (web-based installer)
 Default active currencies for ru-RU and uk-UA are wrong
This fixes the currencies in the sample installer files for Russia (ru-RU; changes GRN -> UAH, default remains as RUB) and the Ukraine (uk-UA; changes GRN -> UAH).
 French SQL files for “news” contain “Welcome into Koha 3!”
This removes the Koha version number from the sample news items for the French language installer files (fr-FR and fr-CA).
 French SQL files for “news” contain broken link to the wiki
This fixes a broken link in the sample news items for the French language installer files (fr-FR and fr-CA).
MARC Bibliographic data support
-  Update MARC21 frameworks to update Nr. 30 (May 2020)
-  POD of C4::Members::Messaging::GetMessagingPreferences() is misleading
-  Suggestions filter does not work
-  OverDrive results can return false positives when searches contain CCL syntax
 PatronSelfRegistrationBorrowerUnwantedField should exclude branchcode
This patch excludes the ability to add branchcode to the PatronSelfRegistrationBorrowerUnwantedField system preference.
-  Making password required for patron registration breaks patron modification
 Tooltip on opac-messaging.pl obscured by table headers
This patch fixes the display of tooltips in a patrons OPAC account for the ‘your messaging’ section. It corrects which Bootstrap assets are compiled with the OPAC CSS – the file for Bootstrap tooltips should be included.
-  “Add to lists” on MARC and ISBD view of OPAC detail page doesn’t open in new window
-  Fix minor HTML markup errors in OPAC search results templates
 Display of 440$v doubled up in the OPAC
This fixes the display of 440$v (Series Statement/Added Entry-Title – Volume/sequential designation ($v)) in the OPAC. Before this fix $v is included in the title link and then displayed after the ;. With the fix $v is only displayed after the ; and is not duplicated in the title link.
 branchcode in BorrowerUnwantedField causes software error when saving patron record
A more user friendly interface for selecting database columns for some system preferences (such as BorrowerUnwantedField) was added in Koha 20.11 (Bug 22844).
Some database columns should be excluded from selection as they can cause server errors. For example, branchcode in BorrowerUnwantedField is required for adding patrons – if selected it causes a server error and you can’t add a patron, so it should not be selectable.
This big fixes the issue by:
allowing developers to define the database columns to exclude from selection in the .pref system preference definition file using “exclusions: “
disabling the selection of the excluded database columns in the staff interface when configuring system preferences that allow selecting database columns
updating the BorrowerUnwantedField system preference to exclude branchcode
-  Create guarantor/guarantee links on patron import
 Additional patron attributes change sequence on every reload of edit page
This fixes the order that additional patron attributes are displayed on the patron edit form. They are now sorted by the attribute code, before this they displayed in a random order.
 Holds placed via the REST API should not be forced by default even if AllowHoldPolicyOverride is enabled
This patch disables AllowHoldPolicyOverride by default in the /holds REST API. It also adds tests for this behaviour, and adds a header that can be used to request the override explicitly.
-  Renewal via the SIP ‘checkout’ message gives incorrect message
-  SIP patron information request with fee line items returns incorrect data
 Make excluded database columns in system preferences more clearly disabled
This enhancement styles non-selectable database columns in system preferences in a light grey (#cccccc), making them easier to identify. Currently the checkbox and label are the same color as selectable columns.
-  Do not include ‘caption’ row in print/copy export of datatables
-  Reword sentence of OPACHoldsHistory
 Show description of ITEMTYPECAT instead of code in itemtypes summary table
This enhancement changes the item types page (Koha administration > Basic parameters > Item types) so that the search category column displays the ITEMTYPECAT authorized value’s description, instead of the authorized value code. (This makes it consistent with the edit form where it displays the descriptions for authorized values.)
 Description of PayPalReturnURL system preference is unclear
This enhancement improves the description of the PayPalReturnURL. Changed from ‘configured return’ to ‘configured return URL’ as this is what it is called on the PayPal website.
-  Datatables – Actions columns should not be exported
 Typo: has successfully been modified.. %s
This fixes a grammatical error in koha-tmpl/intranet-tmpl/prog/en/modules/admin/background_jobs.tt (has successfully been modified..) – it replaces two full stops at the end of the sentence with one.
 Use minimum length for patron category on password hint
This corrects the hint on the patron add/edit form to take into account that the minimum password length can now also be set on patron category level.
-  Set focus for cursor to Debit type code field when creating new debit type
-  Set focus for cursor to Credit type code field when creating new credit type
 ‘wich’ instead of a ‘with’ in a sentence
This patch fixes two spelling errors in the batchMod-del.tt template that is used by the batch item deletion tool in the staff interface: “wich” -> “with.”
-  Remove type attribute from script tags: Cataloging plugins
-  Remove type attribute from script tags: Various templates
-  “Table settings for Pages” need to be sorted on “Administration -> Table settings”
-  Clarify and add tests for Koha::Patrons->update_category_to child to adult
-  If MaxItemsToProcessForBatchMod is set to 1000, the max is actually 999
-  Don’t show import records table when cleaning a batch
-  ILS-DI HoldTitle and HoldItem should check if patron is expired
The Koha manual is maintained in Sphinx. The home page for Koha
As of the date of these release notes, the Koha manual is available in the following languages:
- Chinese – Taiwan
- French (Canada)
- Portuguese – Brazil
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 (100%)
- Armenian (99.9%)
- Armenian (Classical) (89%)
- Chinese (Taiwan) (87.5%)
- Czech (73.3%)
- English (New Zealand) (59.8%)
- English (USA)
- Finnish (78.4%)
- French (77%)
- French (Canada) (91.5%)
- German (100%)
- German (Switzerland) (67.2%)
- Greek (60.7%)
- Hindi (95.4%)
- Italian (100%)
- Norwegian Bokmål (63.6%)
- Polish (71.1%)
- Portuguese (77.5%)
- Portuguese (Brazil) (89%)
- Russian (90.3%)
- Slovak (80.9%)
- Spanish (96%)
- Swedish (74.8%)
- Telugu (79.9%)
- Turkish (91.2%)
- Ukrainian (63.5%)
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 20.11.03 is
Release Manager: Jonathan Druart
Release Manager assistants:
- Martin Renvoize
- Tomás Cohen Arazi
QA Manager: Katrin Fischer
- David Cook
- Agustín Moyano
- Martin Renvoize
- Marcel de Rooy
- Joonas Kylmälä
- Julian Maurice
- Tomás Cohen Arazi
- Josef Moravec
- Nick Clemens
- Kyle Hall
- Victor Grousset
- UI Design — Owen Leonard
- REST API — Tomás Cohen Arazi
- Zebra — Fridolin Somers
- Accounts — Martin Renvoize
- Amit Gupta
- Mengü Yazıcıoğlu
- Indranil Das Gupta
- David Cook
- Mason James
- Agustín Moyano
Documentation Manager: Caroline Cyr La Rose
- Marie-Luce Laflamme
- Lucy Vaux-Harvey
- Henry Bolshaw
- David Nind
- Indranil Das Gupta
- Bernardo González Kriegel
- 20.11 — Fridolin Somers
- 20.05 — Andrew Fuerste-Henry
- 19.11 — Victor Grousset
We thank the following libraries who are known to have sponsored
new features in Koha 20.11.03:
- Banco Central de la República Argentina
We thank the following individuals who contributed patches to Koha 20.11.03.
- Ethan Amohia (1)
- Tomás Cohen Arazi (9)
- Eden Bacani (5)
- Philippe Blouin (1)
- Nick Clemens (16)
- David Cook (1)
- Jonathan Druart (45)
- Katrin Fischer (5)
- Lucas Gass (5)
- Didier Gautheron (1)
- Kyle M Hall (14)
- Mazen Khallaf (3)
- Amy King (4)
- Bernardo González Kriegel (1)
- Joonas Kylmälä (1)
- Owen Leonard (12)
- Ava Li (4)
- Catherine Ma (2)
- Julian Maurice (2)
- Agustín Moyano (1)
- James O’Keeffe (3)
- Martin Renvoize (10)
- Marcel de Rooy (3)
- Caroline Cyr La Rose (2)
- Andreas Roussos (1)
- Fridolin Somers (10)
- Arthur Suzuki (1)
- Emmi Takkinen (2)
- Petro Vashchuk (6)
- Ella Wipatene (2)
We thank the following libraries, companies, and other institutions who contributed
patches to Koha 20.11.03
- Athens County Public Libraries (12)
- BibLibre (14)
- Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) (5)
- ByWater-Solutions (35)
- Dataly Tech (1)
- gamil.com (3)
- Independant Individuals (27)
- Koha Community Developers (45)
- Koha-Suomi (2)
- Prosentient Systems (1)
- PTFS-Europe (10)
- Rijks Museum (3)
- Solutions inLibro inc (3)
- Theke Solutions (10)
- Universidad Nacional de Córdoba (1)
- University of Helsinki (1)
We also especially thank the following individuals who tested patches
- Mark Hofstetter firstname.lastname@example.org (1)
- Tomás Cohen Arazi (3)
- Eden Bacani (1)
- Marjorie Barry-Vila (1)
- Nick Clemens (17)
- David Cook (1)
- Sarah Daviau (1)
- Michal Denar (1)
- Jonathan Druart (122)
- Katrin Fischer (77)
- Martha Fuerst (1)
- Andrew Fuerste-Henry (8)
- Marti Fyerst (3)
- Brendan Gallagher (2)
- Lucas Gass (7)
- Victor Grousset (1)
- Amit Gupta (1)
- Kyle M Hall (16)
- Stina Hallin (1)
- Sally Healey (7)
- Ron Houk (7)
- Barbara Johnson (8)
- Joonas Kylmälä (8)
- Owen Leonard (11)
- Julian Maurice (2)
- Kelly McElligott (2)
- Telishia Mickens (1)
- David Nind (25)
- Andrew Nugged (1)
- Séverine Queune (1)
- Martin Renvoize (38)
- Phil Ringnalda (1)
- Marcel de Rooy (21)
- Fridolin Somers (169)
We regret any omissions. If a contributor has been inadvertently missed,
please send a patch against these release notes to
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 20.11.x.
Bugs and feature requests
Bug reports and feature requests can be filed at the Koha bug
He rau ringa e oti ai.
(Many hands finish the work)
Autogenerated release notes updated last on 23 févr. 2021 13:52:12.