RELEASE NOTES FOR KOHA 21.11.00

25 nov. 2021

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

Installation instructions can be found at:

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

It includes 4 new features, 196 enhancements, 388 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

New features

Cataloging

Course reserves

OPAC

Enhancements

About

Acquisitions

Architecture, internals, and plumbing

Cataloging

Circulation

Command-line Utilities

Developer documentation

Fines and fees

Hold requests

ILL

Installation and upgrade (web-based installer)

Label/patron card printing

MARC Bibliographic data support

MARC Bibliographic record staging/import

Notices

OPAC

Patrons

Plugin architecture

REST API

Reports

SIP2

Searching

Searching - Elasticsearch

Searching - Zebra

Staff Client

System Administration

Templates

Test Suite

Tools

Web services

Z39.50 / SRU / OpenSearch Servers

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

Authentication

Cataloging

Circulation

Command-line Utilities

Database

Fines and fees

Hold requests

Notices

OPAC

Packaging

Patrons

Plugin architecture

REST API

Reports

SIP2

Searching

Searching - Elasticsearch

Staff Client

System Administration

Templates

Test Suite

Tools

translate.koha-community.org

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

Documentation

Fines and fees

Hold requests

I18N/L10N

ILL

Installation and upgrade (web-based installer)

Label/patron card printing

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

New system preferences

Renamed system preferences

Deleted system preferences

New Authorized value categories

New letter codes

Technical highlights

Some significant technical changes were made behind the scenes in this release and it was felt that they should be additionally highlighted in the notes as they could be easily missed above.

Perl modules

A new lib directory has been added for Perl modules.

This might requires some changes in your webserver configuration if you don't install Koha via the Debian packages. More details about these changes can be found on bug 28519.

Task queue

A fresh new task was added: batch cancel holds [23678]

The ongoing process of migrating forking scripts into proper jobs in the task queue has continued during this cycle.

Three tools have been moved to use the task queue this time:

There has been an important change to the way we build the item form in the cataloguing module. The idea is to make the form and item list reusable from different other modules (acquisition, serials, etc.) [27526] [28445]

To prevent the background job worker to have the whole Koha modules in RAM we replaced the 'use' statements with 'require' [28413].

Upgrade

The update database process has been refactored so each DBRev is run inside a database transaction. This makes the process more robust.

Also, a different format for atomic update has been adopted. It brings more flexibility for the output and make the code more centralized, robust and reusable [25078].

Translation

Two new languages have been removed from the installer files: fr-CA [27101] and nb-NO [27622]. Only fr-FR is remaining, the hardest given that it has the UNIMARC frameworks defined.

Test suite

We added two selenium scripts to test the installer and onboarding steps [19185 and 19821]. The way Jenkins runs the whole test suite can be found at here.

The job 'Koha_Master' is the only one running the whole test suite (ie. with the 'selenium' and 'www' tests). First it recreates the database, runs 00-onboarding.t, recreates the database, runs 01-installer.pl, the other selenium scripts and finally the other test files in random order. You will see your tests failing on this job if you are relying on data injected by the misc4dev scripts used to build koha-testing-docker database.

New plugin hooks

3 new plugin hooks have been added:

REST API

New routes:

Being able to specify which attributes to display at object level

A powerful addition to our API framework has been added this cycle. Koha::Object->to_api now handles a new parameter is_public that is used to determine the right output depending on the requested object profile. It relies internally on an allow-list to choose what attributes to return. It allows us to reuse existing controllers for public usage, and also provides a simple way to declare what attributes should be returned. Base classes need to implement a method called public_read_list that returns a list of allowed attributes.

The first two routes to use this new mechanism are:

YAML spec

On the previous cycle the base file for the spec was migrated to YAML to ease the inclusion of Markdown documentation/examples so our API docs render nicely on our API site. New routes have been added as YAML during this cycle. Time constraints prevented us from moving the entire spec into YAML but it is scheduled to be done early next cycle.

Date-time and timezones handling

Prior to now our date handling library ignored offset data passed with rfc3339 dates. This could lead to problems if an API client converted to UTC or was in a different timezone to the Koha instance time setting. With this release we add proper handling to dt_from_string such that if an rfc3339 date is input, we parse out the offset and then adjust the time to match the instance timezone for storage.

Some better handling of exception cases is still in the works. Specially for cases our validation library version is not catching correctly [29322].

UI

jQueryUI's timepicker has been replaced with Flatpickr [29239] in the staff interface.

Debug

There were some historical ways of playing with a debug mode in Koha. They have been replaced in favor of Koha::Logger->debug

Others

We favored the use of EXPORT_OK over EXPORT, to prevent name clashes and make the import explicit [17600]. It basically means that the following is now incorrect:

use C4::Circulation; AddIssue(@params);

You will now need to import explicitely the subroutine:

use C4::Circulation qw( AddIssue ); AddIssue(@params);

Note that you can still use the full namespace:

use C4::Circulation; C4::Circulation::AddIssue(@params);

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

Credits

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

We thank the following individuals who contributed patches to Koha 21.11.00

We thank the following libraries, companies, and other institutions who contributed patches to Koha 21.11.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

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

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.

Notes from the Release Manager

It was a pleasure to serve one more time as release manager, this version of Koha is the best one so far, enjoy it!

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 25 nov. 2021 15:10:01.