RELEASE NOTES FOR KOHA 19.05.00

30 May 2019

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 19.05.00 can be downloaded from:

Installation instructions can be found at:

Koha 19.05.00 is a major release, that comes with many new features.

It includes 15 new features, 246 enhancements, 437 bugfixes.

New features

Acquisitions

Sponsored by Northeast Kansas Library System, NEKLS (http://nekls.org/)
This new feature adds the ability to send a notice to the library, branch or a specific email address whenever a purchase suggestion is created.

This new feature adds the ability to define additional fields to store information about acquisition baskets.
It refactors and centralises the code used to add fields to subscriptions as well. There is a new 'Additional fields' page in the adminsitration module to configure the fields.
Users can name additional fields, tie them to authorised values, and specify whether the fields can be searched in the acquisitions module.

Circulation

Sponsored by: Huntsville-Madison County Public Library (http://hmcpl.org/)
This new feature adds the ability to define a per day (or per hour) rental fee for rental items. The new fee may be used as an alternative to the fixed price rental fee or in conjunction with it.

OPAC

This new feature allows you to link documents in your catalogue to an OpenURL resolver and possibly enable your patrons to get full texts in digital form.

REST api

This new feature adds APIs for checkouts and renewals.

This new feature adds APIs to list all or individual libraries, and to add, update or delete a library where appropriate permissions are held.

This new feature allows a administrators to change a users password via the API
Sponsored by Municipal Library Ceska Trebova

This new feature adds a REST API for working with acquisition funds, including listing, adding and deleting funds and fund users.

This new feature allows a user to change their own password via the public API

This adds http BASIC authentication as an optional auth method to the RESTful APIs. This greatly aids developers when developing against our APIs.

This new feature adds a REST API that allows suspending a hold and resuming a suspended hold.

Searching - Elasticsearch

This new feature allows librarians with appropriate permissions to configure (show/hide/re-order) the search facets provided by elasticsearch.

Self checkout

This new feature allows you to increase the security of your online self checkout facilities by allowing you to limit their operation to a specified IP address or address range.

Web services

This new feature adds the ability for Koha to talk to a Mana Knowledge Base server, allowing libraries to share a small, but hopefully growing, number sets of data.
Currently this includes sharing serial subscription patterns and reports.

Enhancements

About

This enhancement adds a warning to the about pages for any malformed yaml system preferences.

We have displayed the team responsible for the development of your installed version of Koha on the about page for some time, however we have not recognised those who are currently helping maintain it. This patch adds the current maintenance team (along with the end date for their tenure) to the about page.

Acquisitions

This enhancement adds the following fields to the suggestions selection table when adding a new order by selecting from a suggestion:
* library
* fund
* price
* quantity
* total

Sponsored by Catalyst IT

This enhancement improves the consistency within our acquisitions module.

This enhancement makes internal and vendor notes visible for received orders. Previously these were only shown for pending orders.

This enhancement makes internal and vendor notes visible in the acquisitions details tab that is displayed for each bibliographic record when the AcquisitionDetails system preferences is enabled.

This enhancement modifies the orders search results page so that the search form appears in the sidebar.
This allows the user to view and re-use their search parameters.

This enhancement adds 'Close basket' to the available actions in the vendor search results view.

This enhancement adds a "Filter by library" pulldown list to the budgets table on the acquisitions home page.

This enhancement moves the basket link from the basket number to the basket name aiding usability and improving consistency.

Architecture, internals, and plumbing

Part of the ongoing effort to improve the maintainability of our codebase.

Part of the ongoing effort to improve the maintainability of our codebase.

Sponsored by PTFS Europe

Part of the ongoing effort to improve the maintainability of our codebase.
This enhancement adds the add_debit method to Koha::Account as a parallel to the existing add_credit method. This method should be used from now on for any code dealing with the addition of debts to a patrons account.

Part of the ongoing effort to improve the maintainability of our codebase.
This enhamcement removes the GetItem method from C4::Items and replaces any existing occurrences with Koha::Items->search().

Part of the ongoing effort to improve the maintainability of our codebase.

Sponsored by PTFS Europe

Sponsored by PTFS Europe

Sponsored by PTFS Europe

Sponsored by PTFS Europe

This enhancement tidies up the patron detail script (moremember.pl) and removes unused templates, uses objects as much as possible, and removes many template parameters.

This enhancement improves the display of subject lines in messages so that they correctly show non-Latin characters.

Libraries can now specify which patrons are allowed to change their password through the Forgotten Password functionality in the OPAC, per patron category. A common use case for this would be a system that combines LDAP (or other external authentication) patrons and local Koha patrons. This feature will allow libraries to present a better user experience for password management to all of their patrons, no matter how they are authenticated.

Adds a business logic level routine for reconciling user account balances.

Sponsored by PTFS Europe

Preparatory patch for GDPR enhancements that may be forthcoming.

This patch clarifies the intended purpose of the various accounttypes used for fines calculations in the accounttline table.
WARNING: You will need to update your reports to account for the introduced use of 'status' in accountlines for fines.
"accounttype = 'FU'" needs changing to "accounttype = 'FINE' AND status = 'UNRETURNED'"
"accounttype = 'F'" needs changing to "accounttype = 'FINE' AND status != 'UNRETURNED'"

Cataloging

When transferring items from one record to another you are now presented with a button to delete the original host record if there are no more items remaining.

Adds a new permission, under the "cataloguing" module, that controls whether the advanced (direct text editor based) cataloging editor is available.

This enhancement lets you globally redefine the keyboard shortcuts used in rancor.

Sponsored by National Library of Finland

This enhancement makes improvements to automatic authority record generation, including using only allowable subfields when creating authorities from bibliographic records.

This enhancement makes style changes to the standard MARC editor with the goal of making it more responsive and easier to navigate among tabs and tags.
Tabs are now part of the page toolbar, which floats as the page scrolls. In addition to the numbered tabs, there is also a section showing in-page links to the MARC tags which are available on that page.

This enhancement adds pagination links to the bottom of the cataloging search result page. Before this there were only pagination links at the top of the page.

Circulation

Sponsored by Halton Borough Council

Sponsored by Cheshire Libraries Shared Services

Sponsored by Sefton Council

This enhancement enables items that are on hold to be renewed with a due date specified by the user. It is enabled by the new "AllowRenewalOnHoldOverride" system preference.
It can appear in two locations:
1. In the "Checkouts" table on the Patron Details screen. It is now possible to select on loan items that would otherwise fulfil a hold request to be renewed. When such an item is selected, an additional date selection box is displayed to allow the user to specify the due date for all on hold items that are to be renewed.
2. In the Circulation > Renew alert screen. When a barcode of an on loan item that would ordinarily fulfil a hold request is entered, the usual alert is displayed indicating that the item is on hold, it is still possible to override this, and renew, however it is now also possible to specify a due date.

This enhancement allows libraries to transfer items between themselves when they have IndependentBranches enabled.
It adds a new system preference IndependentBranchesTransfers. Setting this to 'No' allows staff to transfer items, setting this to 'Yes' disables it.

Sponsored by Catalyst IT Sponsored by Arcadia Public Library (http://library.ci.arcadia.ca.us/) Sponsored by Middletown Township Public Library (http://www.mtpl.org/) Sponsored by Round Rock Public Library (https://www.roundrocktexas.gov/departments/library/)

This enhancement adds a new system preference "UpdateItemLocationOnCheckin" which accepts pairs of shelving locations. On check in the item's location is compared to the location on the left and, if it matches, is updated to the location on the left.
This preference replaces the ReturnToShelvingCart and InProcessingToShelvingCart preferences. Note that existing functionality for all items in the PROC location being returned to permanent_location is preserved by default. Also, any items issued from the CART location will be returned to their permanent location on check out (if it differs).
Special values for this system preference are:
ALL - used on left side only to affect all items, and overrides all other rules
BLANK - used on either side to match on or set to blank (actual blanks will work, but this is an easier to read option)
PERM - used on right side only to return items to their permanent location
Syntax highlighting is used in the text area to make it easier to read.

Some libraries don't want to force librarians to manually confirm each checkout when an item is checked out to another patron. Instead, they would prefer to be alerted afterwards.
This enhancement allows this behavior using a new system preference "AutoReturnCheckedOutItems". Sponsored by Round Rock Public Library (https://www.roundrocktexas.gov/departments/library/)

This enhancement adds patrons phone numbers to the checkout search results. It is hidden by default and is displayed by configuring the columns for circulation tables (Administration > Additional parameters > Configure columns > Circulation > table_borrowers > untick the phone column).

This enhancement stops unnecessary logging of every check in and check out actions when the CataloguingLog system preference is enabled. This has previously prevented CataloguingLog being used in production.

This enhancements adds recording of the branch an account transaction was performed.
For payments it will be the signed in branch when payment is collected.
For manual invoices/credits it is the signed in branch when the line is created.

Sponsored by Brimbank Library, Australia

If an item is marked as lost, then any pending transfers the item had will now be removed.

This enhancement allows the 'Fee receipt' to be configurable by the library in the Tools->Notices and slips page

This enhancement allows the 'Invoice' slip to be configurable by the library in the Tools->Notices and slips page

Command-line Utilities

To ease multi-tenant sites maintenance, several handy scripts were introduced. For handling SIP servers, 3 scripts were introduced: koha-start-sip, koha-stop-sip and koha-enable-sip.
This patch introduces a new script, koha-sip, that unifies those actions regarding SIP servers on a per instance base, through the use of option switches.

This enhancement increases the granularity of the long overdue cronjob, allowing the library to exclude some itemtypes from the process, and/or define different parameters for a specific itemtype.

Sponsored by Gothenburg University Library

This enhancement changes the way dates are used to calculate records for export. If not including items in the export, we only consider the date of last biblio record edit, rather than including records where only the items were edited in the date range.

The new koha-sip maintenance script replaces the old koha-start-sip, koha-stop-sip and koha-enable-sip scripts. This patch removes them, while keeping backwards compatibility (i.e. you can still run them until you get used to the new syntax).

The functionality of delete_expired_opac_registrations.pl was moved into the cleanup_database.pl cronjob. Please make sure to adjust your conjob configuration accordingly.

Course reserves

Database

Documentation

Fines and fees

This enhancement adds an option to specify how much money was collected when paying a fine, as well as defining how much was paid on the fine. If these numbers are different (i.e. more money was collected) a popup displaying the amount of change to be given will be displayed and require confirmation before proceeding

This enhancement renames the tabs on a patrons account related to fines/payments -
The 'Fines' tab is now 'Accounting'
on the Accounting page
'Account' is now 'Transactions'
'Pay fines' is now 'Make a payment'

Hold requests

This enhancement adds the ability to visually separate the holds list on a record by library and/or itemtype.
This can make it a bit clearer who is in line next for a hold at each branch or if user has specified a specific type.
The system preference HoldsSplitQueue and HoldsSplitQueueNumbering control this behaviour. When activated holds can only be adjusted using the arrows, the dropdown priority menu is disabled.

Sponsored by Catalyst IT

This enhancement will now warn staff when placing a hold on an item that a borrower has previously checked out. Will only be displayed if CheckPrevCheckout system preference is enabled.

I18N/L10N

ILL

Installation and upgrade (web-based installer)

Sponsored by Catalyst IT

Code cleanup which improves the readability, and therefore reliability, of Koha.

Lists

Sponsored by Catalyst IT

This enhancement add batch modification/deletion options to user created lists of records

MARC Bibliographic data support

MARC Bibliographic record staging/import

This enhancement allows applying MARC modification templates to batches of records during the import/staging process from the staff client

Notices

This enhancement adds a system preference 'SendAllEmailsTo' which, when populated with a valid email address, will redirect all outgoing mail from Koha to this address. This feature is intended for use during testing/setup of Koha, to prevent spamming users.

This enhancement adds a cronjob which takes a report id, and a notice code to be used to send custom emails to users generated from the report content.
The notices will be able to use any (and only) columns included in the report in the notice templates. User email addresses can be specified in the report, as well as the 'From' address for the email.
Notices for this cronjob must be defined using Template Toolkit syntax.

This enhancement add the --digest-per-branch option to advanced_notices.pl to allow notices to be grouped by branch rather than grouped by borrower if so required.

If the FallbackToSMSIfNoEmail syspref is enabled then when a borrower has no email address but does have a smsalertnumber then suggestion notice message_transport_type is set to sms.

OPAC

Sponsored by Catalyst IT

Allows to display OPAC news entries on their own page. The news entry will remain accessible by direct URL even after the entry itself has expired.

This enhancement allows for specifying specific borrower categories in the preference OpacHiddenItemsExceptions who, when signed in to the opac, will be able to see items hidden by the OpacHiddenItems system preference.
This is intended to allow staff/privileged users to view records that the general public cannot.

Google revealed that Google Plus accounts will be shut down on April 2, 2019.

Patrons

This enhancement allows for using the City/Town dropdown for all patron addresses, not only the main address.

Libraries can now specify which patrons are allowed to change their password when logged into the OPAC, per patron category. A common use case for this would be a system that combines LDAP (or other external authentication) patrons and local Koha patrons. This feature will allow libraries to present a better user experience for password management to all of their patrons, no matter how they are authenticated.

Adds a 'Printer' button next to the 'X' (clear) button when viewing a patron record - this allows the librarian to print a slip for the patron and clear their account form the screen to prevent viewing of information by another user or patron.

This enhancement adds a notification for staff when an account is locked by password attempts or administratively.

Add preferences UnsubscribeReflectionDelay, PatronAnonymizeDelay and PatronRemovalDelay.
Add db column borrowers.flgAnonymized.
Add Koha::Patron->lock for administrative lockout.
Add Koha::Patron->anonymize for scrambling patron data.
Actions are controlled by preferences and run by cleanup_database cron job.

Adds validation to the SMS number field that conforms to international standards and adds a hint: "SMS number should be in the format 1234567890 or +11234567890" on both the OPAC and Intranet.

REST api

Reports

SIP2

Sponsored by Pueblo City-County Library District

Sponsored by Pueblo City-County Library District

Searching

Searching - Elasticsearch

Self checkout

This enhancement adds new triggers to ease defining custom sounds/alerts for the self checkout module

This enhancement highlights new checkouts/renewals in the self-check display to make it easier to see which actions have been performed in the user's session

Sponsored by City of Portsmouth Public Library

Sponsored by Theke Solutions

Serials

Staff Client

This enhancement adds javascript syntax highlighting to aid users when editing the JS system preferences.

System Administration

This enhancement will add a log of the specific fields that were changed when modifying/editing a patron, including the before and after values for each updated field.

The ability to enable/disable plugins is added. This is particularly handy when testing new plugins or when plugins are not (yet) fully configured for production use.

Templates

A simple string patch that clarifies the intention of the CheckPrevCheckout system preference options.

Test Suite

Tools

On the 'import patrons' page, the "Replace all patron attributes" is automatically selected which is the more dangerous option. This patch sets the default selection as "Replace only included patron attributes" as it is a safer option.

When batch editing large amounts of items, displaying all of the info could lead to a timeout while waiting for page load. This enhancement adds the ability to define a MaxItemsToDisplayForBatchMod system preference which will hide the list of individual items and allow libraries to edit larger batches without hitting a timeout.

This enhancement begins work to move system preferences that include displayed text to the 'News' module - this allows the user to define text in various languages and add ability for these preferences to show correctly in translated OPACs.
Specifically, this patch set moves the 'OPACNavRight' preference into the 'News' module.

Web services

Critical bugs fixed

(This list includes all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)

Acquisitions

This patch introduces to new system preference to govern how rounding is applied to values in acquisitions. It defaults to the american practice of rounding to the nearest 'cent' but future options should become available as we start to understand how other nations round for accounting purposes.

Architecture, internals, and plumbing

Cache::Memory fails to work correctly under a plack environment as the cache cannot be shared between processes.

Authentication

Cataloging

Sponsored by Carnegie-Stout Public Library

Circulation

This patch adds an Apply Credits button to the accounts interface to allow a librarian to apply outstanding credits against outstanding debits.

Sponsored by ByWater Solutions

In the past, if a patron had any credit existing on their account (newly added, or pre-existing), if debts were present then the credit balance would always be immediately applied to the debt. This functionality was inadvertently removed during refactoring efforts which debuted in 16.11.
This patch adds code to restore the functionality and allows it to be optionally applied to the system via a new system preference, AccountAutoReconcile.
Note: The new preference defaults to the post 16.11 behaviour, if you wish to restore the 16.11 functionality then you will need to update the preference after the upgrade.

Command-line Utilities

Course reserves

Database

Fines and fees

Sponsored by Catalyst IT

Hold requests

This patch set corrects the count of hold a user has to correctly enforce limits on the number of open holds being placed.

I18N/L10N

Installation and upgrade (web-based installer)

Label/patron card printing

MARC Authority data support

Notices

OPAC

Sponsored by Catalyst IT

Patrons

REST api

Reports

Searching

Searching - Elasticsearch

Sponsored by Gothenburg University Library

This patchset makes some changes to Elasticsearch mappings in the database. The changes alter existing indices and are intended to fix issues with the current mappings, however, if you have done customization of mappings you may want to back them up before upgrading.

Self checkout

Serials

Staff Client

System Administration

Templates

Test Suite

Web services

Other bugs fixed

(This list includes all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)

About

Acquisitions

Architecture, internals, and plumbing

Sponsored by Catalyst IT

Part of the ongoing effort to improve the maintainability of our codebase.

This patch results in a proper offset always being recorded for auditing purposes when a user is refunded after returning a previously lost item.

Sponsored by Catalyst IT

Cataloging

Circulation

Sponsored by Catalyst IT

Command-line Utilities

Sponsored by Catalyst IT

The functionality of delete_unverified_opac_registrations.pl was moved into the cleanup_database.pl cronjob. Please make sure to adjust your conjob configuration accordingly.

The --preserve-extended-atributes parameter for import_patrons.pl had a typo within it. In this version we have fixed the typo and so the attribute name has been updated to --preserve-extended-attributes

Course reserves

Database

Developer documentation

Documentation

Fines and fees

Hold requests

Corrects the display of status for items on hold in the OPAC.

WARNING: This patch corrects the behaviour of reserve rules such that they match the system preference descriptions. This may initial lead to confusion as prior to this the CircControl branches were used incorrectly. Settings for ReservesControlBranch and CircControl should be reviewed to ensure proper behaviour is enforced.

Holidays

I18N/L10N

Sponsored by Catalyst IT

ILL

Installation and upgrade (command-line installer)

Installation and upgrade (web-based installer)

Sponsored by Hypernova Oy

Label/patron card printing

Lists

MARC Authority data support

MARC Bibliographic data support

Notices

OPAC

Please note, this patch fixes issues going forward. It includes a maintenance script to allow you to fix any possible existing cases. Please see bugzilla for details.

Packaging

Patrons

REST api

Reports

SIP2

Searching

Sponsored by Catalyst IT

Searching - Elasticsearch

Searching - Zebra

Self checkout

Serials

Staff Client

RMNOTE - REMOVE FROM RELEASE NOTES - 18.11 FEATURE

System Administration

Templates

Expands CSS class "shelvingloc" to additional pages in both intranet and OPAC.

Test Suite

Tools

This patch brings the inventory tool inline with other pages displaying data sorted by callnumbers by also adopting the use of cn_sort for sorting.

This patch fixes the search for 'renewal', so both item renewals and patron renewals are found.

Sponsored by Catalyst IT

Web services

New sysprefs

System requirements

Important notes:

Documentation

The Koha manual is maintained in Sphinx. The home page for Koha documentation is

As of the date of these release notes, only the English version of the Koha manual is available:

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:

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 19.05.00 is

Credits

We thank the following libraries who are known to have sponsored new features in Koha 19.05.00:

We thank the following individuals who contributed patches to Koha 19.05.00.

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

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

We thank the following individuals who mentored new contributors to the Koha project.

We regret any omissions. If a contributor has been inadvertently missed, please send a patch against these release notes to koha-patches@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 master.

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 30 May 2019 13:50:57.