RELEASE NOTES FOR KOHA 20.11.00

27 Nov 2020

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

Installation instructions can be found at:

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

It includes 9 new features, 354 enhancements, 412 bugfixes.

A new Technical highlights section is included at the bottom of these notes for those seeking a short summary of the more technical changes included in this release.

System requirements

Koha is continuously tested against the following configurations and as such these are the recommendations for deployment:

Additional notes:

New features

Architecture, internals, and plumbing

Circulation

Fines and fees

ILL

Patrons

System Administration

Tools

Enhancements

About

Acquisitions

Architecture, internals, and plumbing

Cataloging

Circulation

Command-line Utilities

Course reserves

Database

Fines and fees

Hold requests

I18N/L10N

ILL

Installation and upgrade (web-based installer)

Lists

MARC Authority data support

MARC Bibliographic data support

Notices

OPAC

Patrons

Plugin architecture

Reports

SIP2

Searching

Searching - Elasticsearch

Serials

Staff Client

System Administration

Templates

Test Suite

Tools

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

Architecture, internals, and plumbing

Cataloging

Circulation

Command-line Utilities

Course reserves

Database

Fines and fees

Hold requests

I18N/L10N

ILL

Installation and upgrade (command-line installer)

Label/patron card printing

MARC Authority data support

MARC Bibliographic record staging/import

Notices

OPAC

Packaging

Patrons

Plugin architecture

REST API

Reports

SIP2

Searching

Searching - Elasticsearch

Searching - Zebra

Serials

Staff Client

System Administration

Templates

Test Suite

Tools

Z39.50 / SRU / OpenSearch Servers

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

Authentication

Cataloging

Circulation

Command-line Utilities

Developer documentation

Documentation

Fines and fees

Hold requests

I18N/L10N

Installation and upgrade (web-based installer)

Lists

MARC Authority data support

MARC Bibliographic data support

Notices

OPAC

Packaging

Patrons

Plugin architecture

REST API

Reports

SIP2

Searching

Searching - Elasticsearch

Searching - Zebra

Self checkout

Serials

Staff Client

System Administration

Templates

Test Suite

Tools

Web services

Z39.50 / SRU / OpenSearch Servers

New system preferences

Renamed system preferences

Deleted system preferences

New authorized value categories

New letter codes

Technical highlights

Significant changes for developers

It relies on the STOMP protocol to notify the worker about the tasks. Koha is now using RabbitMQ as the message broker. A new page is added for monitoring the background job execution (/cgi-bin/koha/admin/background_jobs.pl). This sets the ground for future improvements for asynchronous  and long running tasks. All background jobs that prevent us from full Plack experience, will be migrated in a short term. A way for plugin methods to be scheduled for execution is one of the things devs are working on as well. 

While experimental at this point, this development prepares the ground for new ways to think of Koha pages and routes. It also allows us to think of relying on non-blocking application servers like Hypnotoad, and thus being able to implement asynchronous code. To test, use starman with the new app.psgi at the root of Koha source code, or use morbo/hypnotoad with scripts bin/opac and bin/intranet. A reverse proxy is not needed but you can use one, and basic configuration files for apache and nginx are provided in etc/. This also allows to generate simpler containerized deployments of Koha.

Two new Koha packages have been created: koha-full and koha-core;  Both packages are currently considered as experimental, and are not recommended for production use until further notice. We will be testing them during the 20.11 release cycle.

Currently the Debian 11 version of JSON::Validator (v4.10) is incompatible with Koha. A temporary solution has been to provide JSON::Validator (v3.25).  The package is named 'libjson-validator-perl-4.10+really3.25-koha1', following the '+really' naming convention described in section 5.6.12.1 here: https://www.debian.org/doc/debian-policy/ch-controlfields.html Installing Koha on Debian 11 now requires the 'bullseye' component to be added to the apt repo definition, example below...  $ echo 'deb http://debian.koha-community.org/koha stable main bullseye' | sudo tee /etc/apt/sources.list.d/koha.list This requirement will eventually be removed as we upgrade to JSON::Validator (v4.10)

The existing 'phone' message transport type has been first renamed 'itiva' and then another new generic 'phone' has been created. Talking Tech as a company has sold itiva, which is the actual name of the software. To pave the way for pluggable phone notices, it made sense to rename our existing 'phone' transport to itiva. It should be noted that the itvia transport doesn't operate in the same way as all the other transports. The new generic 'phone' transport behaves the same as email, sms, and print. That is, it generates the notice based on what is put in the content of the slips and notices module, just like all the transports except itiva. Koha does nothing with these notices. If you were to set up phone notices in Koha, they would remain pending forever. The idea is to have plugins to handle sending phone notices and updating the status of those notices. A plugin that utilises  Twilio to make phone notices calls is already available, but we could also have plugins for things like ShoutBomb, PBXs like Asterisk.

Dev tools

Refactoring

Improving the codebase

We encounter only one issue that we would face with Perl 7 and we fixed it. Indirect object notation will be forbidden by default in Perl 7. You must now write My::Class->new instead of new My::Class

If you are maintaining the translation of a language under installer/data/mysql, you should consider removing it and use the usual workflow for translation instead (using translate.koha-community.org).

Accessibility improvements

An accessibility audit on the OPAC took place during the cycle which resulted in a number of bugs being reported, and subsequently fixed.

REST API enhancements

In order to properly use our API for server-side rendering of DataTables, a wrapper has been introduced. This wrapper has been added columns settings support. The libraries and cities pages are using this wrapper to render using the API and use server-side pagination and filtering. They can be used as sample implementations. A more complex example can be found on bug [20212] which is expected to land on the next cycle.

Plugins support

4 new plugin's hooks are available:

Once a hold has been placed, the 'after_hold_create' plugin hook is called. Each implementing plugin will be passed the related Koha::Hold object as parameter.

After circulation actions take place, the 'after_circ_action' hook is called. Each implementing plugin will be passed a data structure like this: {         action => <string describing the action>,         payload => { hashref with relevant information } }

Here' s a list of the possible actions and the payload they carry (this should be a table, with columns type, payload):

These hooks will be called when rendering the search results and detail page in the OPAC, respectively. The implemented methods on the plugin, need to return a hashref with key:value pairs. No nested structures are expected. Those variables will be injected into the XSLT pipeline so people tweaking their XSLTs can take advantage of them. As an example, take a look at the following link: https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=107477

Features deprecation

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:

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

Credits

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

We thank the following individuals who contributed patches to Koha 20.11.00

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

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

And people who contributed to the Koha manual during the release cycle of Koha 20.11.00

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.

Special thanks

I would like to thank the whole development core team for our constant communication improvement.

We managed to better focus on the same topics at the same time and we are going to enhance Koha quicker and greatly in the next cycle.

I am really looking forward to continue what we started over the last 6 months!

Mason, our package manager, did an impressive work the last couple of cycles to improve our packaging system, thanks to him!

Thanks to BibLibre, ByWater Solution and PTFS Europe for their continuous support and trust in me.

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 27 Nov 2020 13:45:33.