Vous êtes ici : start » koha » release_notes » 22.11 » 22.11.00_nouveautes » rn2205
Piste : rn2205

Version Koha 22.05

Version Koha 22.05

6 nouvelles fonctionnalités, 239 améliorations, 360 bugfixes.

Configuration requise

Vous pouvez en savoir plus sur les composants système (comme le système d'exploitation et la base de données) nécessaires pour exécuter Koha ici : https://wiki.koha-community.org/wiki/System_requirements_and_recommendations

Nouvelles fonctionnalités

Authentification

[28786] Authentification à deux facteurs pour l'interface professionnelle - TOTP

Sponsorisé par Orex Digital

Cette nouvelle fonctionnalité ajoute une mise en œuvre initiale facultative de l'authentification à deux facteurs (2FA) pour améliorer la sécurité lors de la connexion à l'interface professionnelle.

Cette implémentation utilise des mots de passe à usage unique basés sur le temps (TOTP) comme deuxième facteur, permettant aux bibliothécaires d'utiliser une application pour le gérer et leur fournir le code dont ils ont besoin lors de la connexion.

Il est activé à l'aide de la nouvelle préférence système TwoFactorAuthenticatio.

Les bibliothécaires peuvent ensuite activer 2FA pour leur compte à partir de Plus > Gérer l'authentification à deux facteurs. Pour configurer : 1) Scannez le code QR avec une application d'authentification. 2) Entrez le code unique généré. Pour les futures connexions, les bibliothécaires sont invités à entrer le code d'authentification après avoir entré leurs identifiants de connexion normaux.

Toute application d'authentification, telle que Google Authenticator, OTP et bien d'autres peuvent être utilisées. Les applications qui permettent la sauvegarde de leurs comptes 2FA (basées sur le cloud ou automatiques) sont recommandées.

[29924] Introduire l'expiration du mot de passe pour les catégories de contributeurs

Ajoute la possibilité de définir une durée de validité pour le mot de passe, par catégorie adhérent : dans la catégorie adhérent, définir un nombre de jours dans l'entrée "Expiration du mot de passe : "

Une date d'expiration est positionnée sur le compte à la création d'un nouvel adhérent, si le mot de passe a été défini, et visible sur le compte dans le bloc "Utilisation de la bibliothèque".

A priori ce n'est pas rétrospectif sur les adhérents déjà existants.

Circulation

[19532] Rappels for Koha

Cette nouvelle fonctionnalité introduit la possibilité pour les adhérents de placer un rappel sur un exemplaire à partir du détail de l'OPAC : les rappels peuvent être considérés comme des réserves hautement prioritaires, avec quelques conditions supplémentaires. Les emprunteurs peuvent rappeler des exemplaires ou des notices dont ils ont besoin de toute urgence, mais qui sont actuellement empruntés ou en attente de retrait. Une fois le rappel confirmé, l'emprunteur qui a actuellement l'exemplaire en prêt sera informé que sa date d'échéance a été modifiée et qu'il doit retourner le document. Une fois les exemplaires rappelés retournés, le demandeur de rappel sera informé que son exemplaire est en attente de retrait à la bibliothèque de retrait choisie.

Les adhérents peuvent voir les détails de leurs rappels demandés dans l'OPAC et peuvent annuler le rappel avant qu'il ne soit retourné.

Les bibliothécaires peuvent visualiser et administrer les rappels dans l'interface Circulation de l'interface professionnelle qui affiche une liste des rappels, des rappels en retard, des rappels en attente de ramassage, des rappels à retirer et des anciens rappels.

Le temps pendant lequel l'article rappelé doit être retourné et le temps qu'il attendra pour le ramassage peuvent être définis dans les règles de circulation et d'amende en unités de jours.

Une fois qu'un article est rappelé, il ne peut pas être renouvelé. Lorsque l'article est retourné, le rappel peut être confirmé ou annulé.

Les rappels sont marqués comme étant en retard par la tâche cron overdue_recalls.pl ou expirés par la tâche cron expired_recalls.pl.

Voir https://wiki.koha-community.org/wiki/Catalyst_IT_Recalls pour la configuration et le fonctionnement

Adhérents

[6815] Capturer la photo d'un adhérent via webcam

Ajoute la possibilité de prendre une photo de l'adhérent via une webcam :

  • activer la préférence système patronimages
  • passer la souris sur l'emplacement de l'image sur la fiche adhéren, choisir Ajouter
  • il est alors possible de capturer une image si koha est autorisé à accéder à la caméra de l'ordinateur

Administration

[13952] Importer et exporter des types d'autorités

Sponsored by Catalyst

Cette fonctionnalité permet l'import et l'export de types d'autorité, de façon analogue à ce qui existe déjà pour les grilles de catalogage des notices bibliographiques.

Templates

[30136] Ajoute un bouton de retour en haut lors du défilement

Notamment sur la page de résultats de recherche quand il y a beaucoup de résultats, fait apparaître, quand on scrolle vers le bas, un bouton qui permet de remonter en haut de page.

Améliorations

Acquisitions

[16258] Ajoute une préférence système pour désactiver EDIFACT off

Préférence EDIFACT.

[26296] Utilise le nouveau mode de sélection des champs pour les champs des suggestions à l'Opac

Cela modifie la sélection des valeurs pour OPACSuggestionUnwantedFields et OPACSuggestionMandatoryFields des listes déroulantes à un affichage modal.

[27212] Ajoute la configuration des colonnes à la page d'accueil du module acquisitions

[28082] Ajoute une barre d'outils aux fournisseurs sur la page de recherche de fournisseurs

Ce correctif met à jour la page des résultats de recherche de fournisseur dans les acquisitions afin qu'une barre d'outils de boutons s'affiche pour chaque fournisseur dans les résultats de recherche. Cela donne un accès rapide aux opérations de chaque fournisseur, comme la modification du fournisseur, l'ajout d'un panier ou la réception.

Désormais, le nombre de paniers ouverts et d'abonnements est affiché pour chaque fournisseur dans le résultat de la recherche, avec un lien vers le détail de ces entrées.

Les fournisseurs inactifs sont désormais mis en évidence dans la liste afin d'améliorer la clarté.

[30130] Permet de configurer le type EDI au niveau du fournisseur

Il existe deux normes EDI concurrentes prédominantes, EDItEUR et BiC, avec des différences subtiles dans la façon dont elles interprètent certains champs de message EDI.

Ce correctif permet aux administrateurs de choisir la norme à laquelle le fournisseur se conforme plutôt que d'utiliser un mappage SAN codé en dur et non maintenu dans le module.

[30135] Permet de configurer si les sgments EDI LSQ correspondent à 'localisation' ou 'collection'

EDItEUR décrit le segment LSQ comme "Un code ou une autre désignation qui identifie le stock qui doit être mis en rayon dans une séquence ou une collection spécifiée".

Dans Koha, cela pourrait être interprété comme « emplacement » ou « ccode » ; ce patch rend cela configurable pour chaque fournisseur EDI, par défaut à l'emplacement car c'était la configuration précédemment codée en dur.

[30510] Ajouter une colonne Motif de l'usager au tableau des suggestions dans l'interface du personnel

Ce patch ajoute la colonne Raison de l'adhérent pour une suggestion au tableau récapitulatif des suggestions dans l'interface du personnel : quand il fait une suggestion l'adhérent a la possibilité d'indiquer le motif de sa suggestion, c'est ce qui s'affiche dans cette colonne.

Architecture interne

Pour les améliorations techniques, voir la note de version originale https://koha-community.org/koha-22-05-released/

[30076] Ajoute la possibilité de vérifier les préférences de messagerie des lecteurs à partir d'une notification

Cette amélioration permet aux notifications d'accéder aux préférences de messagerie d'un lecteur. Par exemple, un bordereau de réservation peut contenir une ligne précisant si le lecteur a demandé des notifications par SMS pour les réservations en attente, ou peut-être des notifications par téléphone. Le format de cette nouvelle méthode est le suivant :[% patron.has_messaging_preference({ message_name ⇒ ‘Item_Checkout’, message_transport_type ⇒ ’email’ }) %]

Authentification

[29925] Ajoute une page 'définir nouveau mot de passe' pour les adhérents ayant un mot de passe expiré

Activer la préférence système EnableExpiredPasswordReset. Si l'utilisateur ne peut plus se connecter car le mot de passe est expiré, il peut réinitialiser son mot de passe à partir de cette nouvelle page.

[29926] Ajoute la possibilité pour les superbibliothécaires de modifier les dates d'expiration des mots de passe

Pour cela, éditer la fiche adhérent.

Catalogage

[26587] Ajoute du cache pour les bibliothèques dans le plugin TT des branches pour améliorer la performance

Sponsored by Lund University Library

Doit améliorer les performances de l'affichage détaillé des notices (opac et pro) quand elles ont plusieurs centaines d'exemplaires.

[29391] Améliore le résultat de la recherche dans le réservoir

Ce correctif affiche les résultats de recherche du réservoir de catalogage avec un tableau DataTable configurable. Cela ajoute la configuration, l'exportation et le tri des colonnes. Les colonnes d'édition et de date vides sont supprimées et une colonne de données d'importation est ajoutée.

[29781] Autoriser la modification par lots d'exemplaires à utiliser des captures groupées dans l'option regex

Cette amélioration ajoute la prise en charge des captures groupées dans l'option expression régulière de la modification d'exemplaires par lots.

On peut utiliser par exemple (\d+) pour capturer des entiers et ensuite la variable $1 dans le remplacement.

[30604] Ajoute l'éditeur de champ pour UNIMARC 146 ($a, $h and $i)

Circulation

[18392] Permet d'exporter les règles de circulation au format CSV ou tableur

[27946] Ajoute la possibilité d'avoir des frais pour les demandes d'article

Un nouveau tableau "Frais de demandes d'article" dans la page des règles de circulation permet d'associer des frais aux demandes d'articles, quand la fonctionnalité ArticleRequests est activée.

=== [29519] Add option to resolve a return claim at checkin ===

        This enhancement adds the option to resolve a return claim upon the next check-in of the item.

    [30226] Add system preference to disable auto-renew checkbox at checkout

Command-line Utilities

    [28962] Unverified self registrations should be removed shortly

        This fixes the cleanup_database script so that the option to delete unverified self registrations (del-unv-selfreg) works. It also adds this option to the standard crontab, defaulting to 14 days (the default notice says unverified registrations will expire “shortly”).

        Note: If you don’t use self registration with a verification email, this does not affect you. If you do use self registration, check the system preferences and settings – particularly PatronSelfRegistrationDefaultCategory.

    [30511] Don’t lock entire database when dumping Koha instance

    Sponsored by Catalyst

Fines and fees

    [28138] Add system preference to make the payment type required
    [29759] Refund credit when cancelling an article request

Hold requests

    [27868] Adding the Expiration Date to the Holds Awaiting Pickup report

        This enhancement makes each hold’s expiration date visible on the Holds Awaiting Pickup page. Since this is the date Koha uses to decide when a waiting hold should expire and be cancelled, making it visible decreases confusion.

    [28377] Use the API to suspend/resume holds

        This enhancement changes the patron page (detail and circulation) so that is uses the API to suspend and resume holds on the holds tab.

        It also removes the svc/hold/{resume|suspend} files as they are no longer used.

    [28782] Get rid of custom query param list creation for request.pl
    [29058] Add option to not load existing holds table automatically

    [29346] Real-time holds queue update

    Sponsored by Montgomery County Public Libraries

        Enabled by default, this feature can be opted out using the RealTimeHoldsQueue system preference.

    [29517] CanItemBeReserved fetches biblio for agerestriction check if feature not enabled

    [29760] Show patron category in Holds queue

        Adds the patron category as a new column to Circulation > Holds queue.

    [30108] Allow making hold dates required

I18N/L10N

    [22038] When exporting account table to excel, decimal is lost
    [26244] Move translatable strings out of memberentrygen.tt and into JavaScript

    [26257] Move translatable strings out of subscription-add.tt and into subscription-add.js

        This enhancement moves the definition of translatable strings for serial subscriptions (subscription-add.tt) out of templates and into the corresponding JavaScript file, using the new JS i81n function.

    [29596] Add Yiddish language

    Sponsored by Universidad Nacional de San Martín

        This enhancement adds the Yiddish (יידיש) language to Koha. Yiddish now appears as an option for refining search results in the staff interface advanced search (Search > Advanced search > More options > Language and Language of original) and the OPAC (Advanced search > More options > Language).

    [30373] Rewrite UNIMARC installer data to YAML
    [30476] Remove NORMARC translation files
    [30477] Add new UNIMARC installer translation files

Lists

    [26346] Add option to make a public list editable by library staff only

    Sponsored by Catalyst and Horowhenua District Council, New Zealand

        Add a new option for staff users to manage the contents of public lists from the staff client and OPAC.

        This patchset also allows superlibrarian users, or those with the ‘edit_public_lists’ sub-permission, to edit the configuration of existing public lists.

    [28716] Hide toolbar and opaccredits when printing lists

        This removes the toolbar (Advanced Search | Authority Search | etc) and opaccredits (where set) from printed lists. The printed lists are cleaner without these.

MARC Authority data support

    [11083] Authority search result display in staff interface should be XSLT driven

        This enhancement enables customising the authority search results summary in the staff interface using XSLT (for MARC21 and UNIMARC).

        Key features;
            Use the new system preference AuthorityXSLTResultsDisplay to set the location of the XSLT file, either the full path to a file on the Koha server or a URL.
            The system preference value can contain {langcode} and {authtypecode} which will be replaced by the appropriate value.
            If errors occur, the custom XSLT file is ignored and the default summary is displayed.

    [13412] Allow configuration of auto-created authorities
    [20615] Add the link of number of times the authority are used in edit mode

    [29965] MARC preview for authority search results

    Sponsored by Education Services Australia SCIS

        This enhancement makes the authority MARC preview modal available for the general authority search results.

    [29990] Show authority heading use in search results

    Sponsored by Education Services Australia SCIS

        Authority heading use is based on authority MARC 008/14-16. This could be useful to show on authority search results, if new system preference ShowHeadingUse is enabled.

MARC Bibliographic data support

    [20362] Direct link to authority records missing in staff detail view (1xx, 7xx)

Notices

    [29491] Improve display of notices in patron details

        In patron notices table, notices are now shown in a modal dialog instead of inline in the table.
        The “Resend” button is shown in the modal window controls.

    [30290] Article requests: Add TOC information to AR notices

OPAC

    [13188] Make it possible to configure mandatory patron data differently between OPAC registration and modification

        Adds the system preference PatronSelfModificationMandatoryField in order to separate borrower registration from borrower modification.
        Initial value is a copy of system preference PatronSelfRegistrationBorrowerMandatoryField.

    [14242] Use ISBN-field to fill out purchase suggestions using Google Books API

        This patch adds a system preference, OPACSuggestionAutoFill, which enables a feature within the OPAC Purchase Suggestions where a user can enter an ISBN and use a Google API to pull the relevant data and input it into the form.

    [15594] Sequence of MARC 260 subfields different on XSLT result list and detail page

        This enhancement improves the display of MARC field 260 in the detail page for the OPAC and staff interface by using the order of subfields in the record. Previously, $a$b$a$b would display as aabb.

    [17018] Split AdvancedSearchTypes for staff and OPAC

        Add a new system preference, OpacAdvancedSearchTypes, as an OPAC-specific version of the AdvancedSearchTypes preference.
        Values from AdvancedSearchTypes are copied to OpacAdvancedSearchTypes so that behavior is consistent.

    [24220] Convert OpacMoreSearches system preference to news block

    [24221] Convert OPACMySummaryNote system preference to news block

        OPACMySummaryNote system preference is converted to a news block.

        Note that its HTML id is now ‘OpacMySummaryNote’ instead of ‘opac-my-summary-note’.

    [24630] UNIMARC XSLT Update for bug 7611
    [27613] Pipe separated contents are hard to customize (OPAC)

    [28876] No renewal before advisory text not wrapped in selector

        This enhancement adds more <span>s to the user summary page in the OPAC so that information about the renewal status can be targeted with CSS or JS. It adds each <span> with a “usr-msg” class for general styling and a specific class for each renewal message, for example:

        <span class="usr-msg no-renew-hold">Not renewable <span class="renewals">(on hold)</span></span>

        These classes are added:
            no-renew-hold: Not renewable (on hold)
            no-renew-too-many: Not renewable (too many renewals)
            no-renew-unseen: Item must be renewed at the library
            no-renew-overdue: Not allowed (overdue)
            no-renew-too-late: No longer renewable
            auto-renew-fines: Automatic renewal failed, you have unpaid fines
            auto-renew-expired: Automatic renewal failed, your account is expired
            no-renewal-before: No renewal before [date]
            automatic-renewal: Automatic renewal

    [29066] Remove text in OPAC search form and use Font Awesome icons

    [29212] Use Flatpickr on OPAC pages

        This enhancement replaces the jQueryUI date picker used on OPAC pages with Flatpickr. The jQueryUI date picker is no longer supported.

    [29515] Don’t require title for HTML customizations
    [29526] Add ‘Immediately delete holds history’ button to patron privacy tab in opac
    [29616] Replace library information popup in the OPAC with a modal
    [29713] Make item table when placing an item level hold sortable

    [29845] Styling OverDrive buttons is difficult

        Adds ID’s to the action buttons on the OverDrive results page in order to make them easier to individually style.

    [29899] Show public note to patrons when placing a hold
    [29949] Remove use of title-numeric sorting routine from OPAC datatables JS

    [29960] Remove Modernizr dependency in the OPAC

        This patch refactors the code around JavaScript-driven responsive behavior in the OPAC. The use of Modernizr removed as it is no longer needed.

        It also adds a missing entry for Enquire.js licensing on the About page.

    [30190] Green buttons turn blue for a second when clicking them

    [30243] When OPACSuggestionMandatoryFields includes branchcode the dropdown should default to an empty value

        Creates an empty value and defaults to it when OPACSuggestionMandatoryFields includes branchcode. This forces users to make a choice regarding branch.

    [30288] Provide links to OPACUserJS and OPACUserCSS from News/HTML customizations

    Sponsored by Catalyst

Patrons

    [9097] Add option to trigger ‘Welcome mail’ manually

        This enhancement adds a button to the more menu of the patron details page allowing staff to manually trigger sending the WELCOME notice to the user.

    [15156] Get all Borrowers with pending/unpaid fines/accountlines

        This enhancement adds an API call that returns patrons filtered by how much money they owe, between passed limits (for example less than $2.50 or more than $0.50). Optionally, can limit to debts of a particular debit_type and owed to a particular library.

    [29005] Add option to send WELCOME notice for new patrons added via patron imports

        This enhancement adds a new option to patron imports allowing imports to trigger sending the ‘WELCOME’ notice for new user accounts created via this mechanism.

    [29059] Keep non-repeatable attribute from patron to preserve
    [29525] Privacy settings for patrons should also affect holds history
    [29617] BorrowerUnwantedField should exclude the ability to hide categorycode
    [30055] Rewrite some of the patron searches to make them use the REST API routes
    [30063] Make the main patron search use the /patrons REST API route
    [30093] Rewrite the patron search when placing a hold with the REST API route
    [30094] Rewrite the patron search when requesting an article with the REST API route
    [30120] Allow extended attributes during self registration when using PatronSelfRegistrationVerifyByEmail

    [30237] Rename/rephrase AutoEmailOpacUser/ACCTDETAILS feature to clarify intended use

        With the removal of patron plaintext passwords from the ACCTDETAILS notice in bug 27812 the feature effectively got repurposed to become a ‘Welcome email’.

        This enhancement rephrases the system preference description and replaces the ACCTDETAILS notice with a new WELCOME notice.

        We keep the ACCTDETAILS notice for reference at upgrades, but it will not appear for new installations and it is not longer sent in any circumstances.

    [30563] Add system preference to make the cash register field required when collecting a payment

    [30611] Add ability to trigger a patron password reset from the staff client

        This enhancement adds a button to the patron details page in the client to allow librarians, with appropriate permissions, to trigger a password reset for patrons.

        The result is a notice sent to the user with a fresh password reset link allowing the user to enter a new password for their account.

Plugin architecture

    [29787] Add plugin version to plugin search results

    [30072] Add more holds hooks

        This development adds plugin hooks for several holds actions. The hook is called after_hold_action and has two parameters
            action: containing a string that represents the action, possible values: fill, cancel, suspend and resume.
            payload: A hashref containing a hold key, which points to the Koha::Hold object.

    [30180] Deprecate after_hold_create hook

        The ‘after_hold_create’ hook is deprecated and scheduled for removal in the next major release.

        If you find deprecation warnings for some plugin in your logs, please ask the plugin authors to update it to use the new ‘after_hold_action’ hook instead.

    [30410] Add a way for plugins to register background tasks

REST API

    [28020] Error responses should return a code

        This development makes our error responses include an error_code that will be documented on each route, allowing better API usage on error conditions.

    [29620] Move the OpenAPI spec to YAML format

        This enhancement moves all the Koha REST API specification from json to YAML format. It also corrects two named parameters incorrectly in camelCase to sanake_case (fundidPathParam => fund_id_pp, vendoridPathParam => vendor_id_pp).

    [29772] Make DELETE /patrons/:patron_id return error codes in error conditions

    [29810] Add embed options documentation

        This patch adds documentation of the different embed options the REST API provides.

    [30074] Missing extended_attributes relationship in DBIC schema

    [30194] Update required JSON::Validator version

        This development adapts Koha so it works with the latest versions of:
            Mojolicious
            JSON::Validator
            Mojolicious::Plugin::OpenAPI

    [30674] x-koha-override should use collectionFormat: csv

Reports

    [5697] Automatic linking in guided reports

        This patch adds a feature to automatically link certain database columns in report results. If your report returns itemnumber, biblionumber, cardnumber, or borrowernumber, that cell in the report will contain a menu:
            borrowernumber: View, edit, check out
            cardnumber: Check out
            itemnumber: View, edit
            biblionumber: View, edit

        A link at the top of the report results will toggle the new menus on and off in case you don’t want to see the menus. Your choice will persist until you log out.

        The feature works with column name placeholders, so if you want the table column to be a human readable label you can still get automatic linking, for example: [[items.itemnumber|Item number]]

    [29767] Add cash registers, debit and credit types to report runtime parameters

SIP2

    [20517] Use the “sort bin” field in SIP2 Checkin Response
    [25815] SIP Checkout: add more information on why the patron is blocked

    [26370] Add ability to disable demagnetizing items via SIP2 based on patron categories

        This patch adds a new option to the SIP config, inhouse_patron_categories. Adding a comma-separated list of patron category codes to this option will cause the SIP checkout to never send the ‘demagnetize’ command to the checkout preventing said users from removing the items from the library.

    [29874] Remove unused method C4::SIP::ILS::Item::fill_reserve

    [29936] Add ability to disable hold capture via SIP checkin

    Sponsored by Cheshire Libraries Shared Services

        This enhancement adds a new holds_get_captured configuration option to SIP accounts.

        The new option defaults to enabled, as has been the case since bug 3638 was pushed. However, it allows for disabling hold capture so that items are not automatically assigned to holds at SIP check-in; The alerts messages will continue to show, however, to allow items to be put to one side and then captured by a subsequent staff check-in.

Searching

    [20689] Improve usability of Item search fields administration page
    [22605] Adding the option to modify/edit searches on the staff interface
    [27035] Shows the number of results in a facets after facet selection

Searching – Elasticsearch

    [29856] Make the ES config more flexible

Serials

    [6734] Show location in full and brief subscription history in OPAC

    [23352] Define serial’s collection in the subscription

    Sponsored by Catalyst
    [29815] Pre-populate ‘Date acquired’ field when adding/editing items

Staff Client

    [17748] Show due date in item search results

    Sponsored by Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)

        This enhancement adds the due date of an item to the item search results. The due date column will also show when exporting results to a CSV file.

    [20398] Add a system preference to disable search result highlighting in the staff interface

        This enhancement adds a new system preference StaffHighlightWords. This enables highlighting of words in search results for the staff interface to be turned on or off.

    [21225] Add Syndetics cover images to staff client

    [27631] Accessibility: Staff interface – h1 on each page is Logo but should be page description/title

    Sponsored by Catalyst

        This enhancement, as part of improving the accessibility of the staff interface, makes the main topic/title of the page the h1 rather than the logo.

    [29575] Add a JS render function equivalent of the patron-title.inc TT include

        This enhancement adds a re-usable javascript render function that accepts a Koha REST APIi Patron object and outputs the HTML representation.

    [30081] Display item type in patron’s holds table

System Administration

    [7374] Add remote image option for authorized values

        This patch updates authorized values management to add the option of specifying a remote image to be associated with an authorized value. This functionality matches what was already available for item types: The ability to specify a full URL to an image file. Modifying a collection code with a remote image will make the image visible on catalog advanced search pages in the OPAC and staff interface when the option to select a collection is enabled.

    [29626] Map biblioitems.place to 264$a by default (MARC21)

        This updates the default Koha to MARC mappings so that biblioitems.place maps to 264$a. Currently it only maps to 260$a, and RDA uses 264$a.

    [29627] Map biblioitems.publishercode to 264$b by default (MARC21)

        This updates the default Koha to MARC mappings so that biblioitems.publishercode maps to 264$b. Currently it only maps to 260$b,and RDA uses 264$b.

    [29634] Map biblio.medium to 245$h by default (MARC21)

        This updates the default Koha to MARC mappings so that biblio.medium maps to 245$h. The medium field was added in 19.11 but it was not linked to 245$h.

    [29832] Make library column in desk list sortable

Templates

    [24415] Authority enhancement – Improve access to tabs
    [25025] Drag-and-drop cover image upload
    [26975] Reindent authorities editor template

    [27470] Improve link text for logging in

    Sponsored by Catalyst
    [27750] Remove jquery.cookie.js plugin

    [28405] Add author info to the holds page in the staff interface

        This patch adds the author name to place a hold page (request.tt)

    [28993] Switch magnifying glass in staff detail pages to FA icon
    [29228] Use Flatpickr on offline circulation page
    [29277] Replace the use of jQueryUI tabs on item circulation alerts page
    [29289] ‘Show fines to guarantor’ should have its own id on patron detail page

    [29406] Improve display of OPAC suppression message

        This enhancement changes the way the “Suppressed in OPAC” message is shown on the staff interface search results and the bibliographic detail page. Now the information is displayed like other bibliographic details.

    [29458] Show login button consistently in relation to login instructions, reset and register links
    [29602] We must be nicer with translators
    [29648] Make KohaTable tables ‘default length’ and ‘default sort’ configurable
    [29867] Reindent authorized values administration template
    [29876] Style report id in report results heading
    [29998] Replace the use of jQueryUI tabs on item types administration page
    [29999] Replace the use of jQueryUI tabs on authorized values administration page
    [30000] Replace the use of jQueryUI tabs on the search engine configuration page
    [30011] Upgrade jQueryUI to 1.13.1 in the OPAC and staff interface
    [30212] Make Select2 available for ILL backend developers
    [30223] Move book cover image upload JS to a separate file
    [30227] Replace the use of jQueryUI tabs on bibliographic detail page
    [30316] Replace the use of jQueryUI tabs on MARC detail page
    [30317] Replace the use of jQueryUI tabs on search history page
    [30378] Convert about page tabs to Bootstrap
    [30396] Convert basket groups page tabs to Bootstrap
    [30398] Reindent invoices template
    [30400] Convert invoices page tabs to Bootstrap
    [30401] Convert budgets administration page tabs to Bootstrap
    [30417] Switch to Bootstrap tabs on the basic library transfer limit page
    [30419] Convert authority detail page tabs to Bootstrap
    [30423] Convert authority merge page tabs to Bootstrap
    [30424] Reindent advanced search template in the staff interface
    [30433] Convert advanced search tabs to Bootstrap
    [30434] Convert catalog merge page tabs to Bootstrap
    [30436] Convert article requests tabs to Bootstrap
    [30453] Convert offline circulation tabs to Bootstrap
    [30454] Convert holds awaiting pickup tabs to Bootstrap
    [30456] Convert checkout history tabs to Bootstrap
    [30457] Convert holds page tabs to Bootstrap
    [30466] Convert serials pages tabs to Bootstrap
    [30473] Convert suggestions page tabs to Bootstrap
    [30474] Convert tools pages tabs to Bootstrap (part 1)
    [30475] Convert tools pages tabs to Bootstrap (part 2)
    [30489] Convert MARC and authority subfield edit tabs to Bootstrap
    [30491] Convert saved reports tabs to Bootstrap
    [30494] Replace the use of jQueryUI Accordion on the table settings page
    [30545] Replace the use of jQueryUI Accordion on the notices page
    [30549] Replace the use of jQueryUI Accordion on pending patron updates page
    [30695] Checkouts and holds count display in tab could be better in patron details

Test Suite

    [30125] Add full-stack tests for API pagination
    [30446] Add a test for GetTagsLabels

Tools

    [14393] Add collection code filter to inventory

    [20076] Overdues email to library for patrons without email should be optional

        Currently, two print notices are generated when running overdue_notices.pl if a patron does not have an email address:
            a print overdue notice for the patron, and
            an email message to the library with all the print versions of the overdue notices.

        Depending on a library’s work processes, they may want both or only the patron print overdue notice generated.

        This enhancement adds a new system preference, EmailOverduesNoEmail, that allows libraries to choose whether to send or not send overdue notices for patrons without an email address to library staff. The default is set to send, as this preserves the current behaviour.

    [22785] Manage matches when importing through stage MARC record import

    [22827] Automatic item modifications by age: add age depencency on other field(s) than dateaccessioned

        This enhancement enables librarians to automatically modify items based on date fields other than items.dateaccessioned.

        The ‘Automatic item modifications by age’ tool can now key rules off any one the following: items.dateaccessioned, items.replacementpricedate, items.datelastborrowed, items.datelastseen, items.damaged_on, items.itemlost_on, items.withdrawn_on.

        Existing rules will continue to key off the items.dateaccessioned field.

    [23873] Allow marc modification templates to use capturing groups in substitutions
    [27904] Improve display in creating profile for staging MARC records for import
    [28840] Better texts in batch record modification/deletion
    [29698] items are not available for TT syntax for PREDUEDGST
    [29821] Add interface for generating barcodes using svc/barcode

    [29824] Allow for quick spine labels to be editable for printing

        Adds the ability to edit quick spine labels after they have been generated.

    [29946] Sort profiles alphabetically when staging MARC records for import

Web services

    [20894] Add barcode size parameters to /svc/barcode

    [22347] Translatability of ILSDI results for getavaibility

    Sponsored by University Lyon 3

    [28238] Add itemcallnumber to ILS-DI GetAvailability output

    Sponsored by University Lyon 3

        This enhancement adds the item call number to the ILS-DI GetAvailability output. This is useful for libraries that use discovery tools as patrons often don’t check further for the call number, and then they don’t have it when they look for the item.

Critical bugs fixed

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

    [29464] GET /acquisitions/orders doesn’t honour sorting

    Sponsored by ByWater Solutions
    [29570] Unable to sort summary column of pending_orders table on parcel.pl by summary column

    [29670] Restore functionality broken by bug 27708 for AcqCreateItem set to “placing an order”

        This patch restores the lost GIR segments in EDI messages generated by orders with items attached.

Architecture, internals, and plumbing

    [29631] 21.06.000.12 may fail

        This fixes an issue when upgrading from 21.05.x to 21.11 – the uniq_lang unique key is failing to be created because several rows with the same subtag and type exist in database table language_subtag_registry.

    [29684] Warning File not found: js/locale_data.js
    [29804] Koha::Hold->is_pickup_location_valid explodes if empty list of pickup locations
    [29857] We must stringify our exceptions correctly
    [29914] check_cookie_auth not strict enough
    [29956] Cookie can contain plain text password
    [30004] Prevent TooMany from executing too many SQL queries
    [30167] Return soonest renewal date when CanBookBeRenewed returns %too_soon
    [30172] Background jobs failing due to race condition
    [30291] Rename recalls.* column names
    [30501] sysprefs.sql has an error
    [30540] Double processing invalid dates can lead to ISE
    [30626] DT REST API wrapper not building the filter query correctly
    [30639] Patron search does not split search terms

Authentication

    [29915] Anonymous session generates 1 new session ID per hit

Cataloging

    [29689] Update to 21.11 broken auto-generated barcode in <branchcode>0001 option
    [29690] Software error in details.pl when invalid MARCXML
    [30178] Every librarian can edit every item with IndependentBranches on
    [30644] Cannot delete items
    [30717] Dates displayed in ISO format when editing items

Circulation

    [29495] Issue link is lost in return claims when using ‘MarkLostItemsAsReturned’

    [29637] AutoSwitchPatron is broken since Bug 26352

        This fixes an issue introduced by bug 26352 in 21.11 that caused the AutoSwitchPatron system preference to no longer work. (When AutoSwitchPatron is enabled and a patron barcode is scanned instead of a book, it automatically redirects to the patron.)

    [30099] Error when accessing circulation.pl without patron parameter
    [30104] Holds to pull is broken
    [30114] Koha offline circulation will always cancel the next hold when issuing item to a patron
    [30222] Auto_renew_digest still sends every day when renewals are not allowed
    [30251] With IndependentBranches non-superlibrarians do not get autocomplete list in circulation module

Command-line Utilities

    [29794] delete_items.pl missing include
    [30520] Command line stage and import broken

Database

    [29605] DB structure may not be synced with kohastructure.sql

    [30600] Recalls sync problem between DBIx and kohastructure.sql

    Sponsored by Catalyst
    [30852] article_requests missing index on debit_id

Fines and fees

    [27801] Entering multiple lines of an item in Point of Sale can make the Collect Payment field off

        This fixes the POS transactions page so that the total for the sale and the amount to collect are the same.

        Before this a POS transaction with multiple items in the Sale box, say for example 9 x .10 items, the total in the Sale box appears correct, but the amount to Collect from Patron is off by a cent.

    [29385] Add missing cash register support to SIP2

    [29457] Fee Cancellation records the wrong manager_id

        Prior to this patch inadvertently the field borrowers.userid was used to fill accountslines.manager_id. This should have been borrowernumber.

        This report fixes that and prints a generic warning.

    [30003] Register entries doubled up if form fails validation on first submission
    [30139] Point of sale sets wrong ‘Amount being paid’ with CurrencyFormat = FR
    [30346] Editing circ rule with Overdue fines cap (amount) results in data loss and extra fines

Hold requests

    [29136] Patron search on request.pl has performance and display issues

        This fixes the performance and display of patron search results when placing a hold from a record details page using the staff interface. Patron results are now paginated and all the results are now available – previously all results were listed on one page, which could cause performance issues.

    [29349] Item-level holds should assume the same pickup location as bib-level holds

        Up until Koha 20.11 the pickup location when placing item-level holds was the currently logged-in library.

        From Koha 21.05 the holding branch was used as the default.

        This restores the previous behaviour so that the logged-in library (if a valid pickup location) is selected as the default pickup location for item-level holds. When it is not, an empty dropdown is used as a fallback.

    [29736] Error when placing a hold for a club without members
    [29737] Cannot suspend holds

    [29906] When changing hold parameters over API (PUT) it forcibly gets to “suspended” state

        The PATCH/PUT /api/v1/holds/{hold_id} API endpoint allows for partial updates of Holds. Priority and Pickup Location are both available to change (though it is preferred to use the routes specifically added for manipulating them).

        Suspend_until can also be added/updated to add or lengthen an existing suspension, but the field cannot be set to null to remove the suspension at present.

        This patch restores the suspen_until function to ensure suspensions are not triggered by unrelated pickup location or priority changes.

    [29969] Cannot update hold list after holds cancelled in bulk
    [30266] Holds marked waiting with a holdingbranch that does not match can cause loss of pickup locations
    [30395] Internal server error at reserve/request.pl on a biblio with non-ISO formatted date in publicationyear
    [30432] get_items_that_can_fill needs to specify table for biblionumbers
    [30583] Hold system broken for translated template
    [30630] Checking in a waiting hold at another branch when HoldsAutoFill is enabled causes errors
    [30730] Holds to Pull should not list items with a notforloan status

ILL

    [28932] Backend overriding status_graph element causes duplicate actions
    [30183] ILL table search filtering broken

Installation and upgrade (web-based installer)

    [27619] Remove fr-FR installer data
    [30276] Web-based installer failing on db upgrade for 30060

Label/patron card printing

    [24001] Cannot edit card template

        This fixes errors that caused creating and editing patron card templates and printer profiles to fail.

Lists

    [29669] Uninitialized value warnings when XSLTParse4Display is called

Notices

    [29586] “Hold reminder” notice doesn’t show in messaging preferences in new installation

        This fixes an issue with the installer files that meant “Hold reminder” notices were not shown in messaging preferences for new installations.

    [30354] AUTO_RENEWALS_DGST notices are not generated if patron set to receive notice via SMS and no SMS notice defined

        If an SMS notice is not defined for AUTO_RENEWALS_DGST and a patron has selected to receive a digest notification by SMS when items are automatically renewed, it doesn’t generate a notice (even though the item(s) is renewed). This fixes the issue so that an email message is generated.

OPAC

    [28955] Add option to set default branch from Apache

        Add support for OPAC_BRANCH_DEFAULT as an environment option.
        It allows setting a default branch for the anonymous OPAC session such that you can display the right OPAC content blocks prior to login if you have set up per branch website.

    [29544] A patron can set everybody’s checkout notes
    [29696] “Suggest for purchase” missing biblio link
    [29778] Deleting additional_contents leaves entries for additional languages
    [29803] Local cover images don’t show in detail page, but only in results
    [30045] SCO print slip is broken
    [30089] Placing holds on OPAC broken
    [30101] OPAC advanced search page broken by Bug 29844
    [30147] OpacBrowseResults causing error on detail page

    [30488] Error when placing a recall in the OPAC

    Sponsored by Catalyst

Packaging

    [29881] Remove SQLite2 dependency
    [30084] Remove dependency of liblocale-codes-perl
    [30209] Upgrade ‘libdbd-sqlite2-perl’ package to ‘libdbd-sqlite3-perl’

Patrons

    [28943] Lower the risk of accidental patron deletion by cleanup_database.pl

        If you use self registration but you do not use a temporary self registration patron category,
        you should actually clear the preference
        PatronSelfRegistrationExpireTemporaryAccountsDelay.

    [30325] (Bug 30098 follow-up) Broken patron search redirect when one result
    [30576] DefaultPatronSearchFields no longer takes effect
    [30603] Sort 1 and Sort 2 on patron form are on longer free text when AV categories are empty
    [30622] Search for cardnumber needs to go directly to patron record when placing a hold

Plugin architecture

    [29931] Script plugins-enable.pl should check the cookie status before running plugins

REST API

    [29018] Deleting patrons from REST API doesn’t do any checks or move to deletedborrowers

        This fixes the REST API route for deleting patrons so that it now checks for guarantees, debts, and current checkouts. If any of these checks fail, the patron is not deleted.

    [29877] MaxReserves should be enforced consistently between staff interface and API
    [30133] Pagination broken on pickup_locations routes when AllowHoldPolicyOverride=1
    [30165] Several q parameters break the filters
    [30408] API and OpenAPI versions should be string in spec
    [30663] POST /api/v1/suggestions won’t honor suggestions limits

Reports

    [29786] Holds to pull report shows incorrect item for item level holds

        This patch corrects an issue with the Holds to Pull report in which an incorrect barcode number could be shown for an item-level hold. The correct barcode will now be shown.

    [30532] guided_reports.pl has a problem
    [30551] Cash register report shows wrong library when paying fees in two different libraries

SIP2

    [29754] Patron fines counted twice for SIP when NoIssuesChargeGuarantorsWithGuarantees is enabled

    [29755] SIP2 code does not correctly handle NoIssuesChargeGuarantees or NoIssuesChargeGuarantorsWithGuarantees

        This fixes SIP2 so that it correctly determines if issues should be blocked for patrons when the NoIssuesChargeGuarantees and NoIssuesChargeGuarantorsWithGuarantees system preferences are set. Currently, it only checks the noissuescharge system preference as the limit for charges, and not the other ‘No Issues charge’ system preferences.

Searching – Elasticsearch

    [27770] ES: Deprecated aggregation order key [term] used, replaced by [key]

    Sponsored by Lund University Library

    [28610] Elasticsearch 7 – hits.total is now an object

    Sponsored by Lund University Library

        This is one of the changes to have Koha compatible with ElasticSearch 7. This one also causes the full end of compatibility with ElasticSearch 5. Users are advised to upgrade as soon as possible to ElasticSearch 7 since version 5 and 6 are not supported anymore by their developers.

    [29893] ElasticSearch Config UI deletes mappings
    [30584] Cannot add field mappings to Elasticsearch configuration

Self checkout

    [28735] Self-checkout users can access opac-user.pl for sco user when not using AutoSelfCheckID
    [29543] Self-checkout allows returning everybody’s loans
    [30199] self checkout login by cardnumber is broken if you input a non-existent cardnumber

Staff Client

    [29540] Accounts with just ‘catalogue’ permission can modify/delete holds
    [29541] Patron images can be accessed with just ‘catalogue’ permission
    [30610] The ‘Print receipt’ button on cash management registers page fails on second datatables page

Templates

    [30525] Items batch modification broken

Test Suite

    [19169] Add a test to detect unneeded ‘atomicupdate’ files
    [29779] selenium/regressions.t fails if Selenium lib is not installed

Tools

    [29719] onloan dates are cleared from items when importing and overlaying
    [29747] Cataloguing upload plugin broken
    [29808] Stock rotation fails to advance when an item is checked out from the branch that is the next stage

    [30402] Authority import hanging when replacing matched record

    Sponsored by Educational Services Australia SCIS
    [30461] Batch authority tool is broken
    [30518] StockRotationItems crossing DST boundary throw invalid local time exception

    [30628] Batch borrower modifications only affect the current page

        This fixes the batch patron modification tool (Tools > Patrons and circulation > Batch patron modification) so that the changes for all selected patrons are modified. Before this, only the patrons listed on the current page were modified.

Other bugs fixed

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

    [30808] Release team 22.11

Acquisitions

    [24866] Display budget hierarchy in the budget dropdown menu used when placing a new order

        This improves the display for selecting a fund when placing a new order in acquisitions. It now displays as a hierarchy instead of a list without any indentation, for example:

        Budget 2021
        — Book
        — — Adult fiction

    [28855] Purging suggestions test should not be on timestamp

        This changes the date field that cronjob misc/cronjobs/purge_suggestions.pl uses to calculate the number of days for deleting accepted or rejected suggestions. It now uses the managed on date, as the last updated date that was used can be changed by other database updates.

    [29287] Display of funds on acquisitions home is not consistent with display on funds page
    [29419] Suggest for purchase clears item type, quantity, library and reason if bib exists
    [29895] Button [Add multiple items] stops responding when it’s pressed and some multiple items added to basket
    [30127] By default show pending suggestions tab
    [30599] Allow archiving multiple suggestions

Architecture, internals, and plumbing

    [18320] patroncards/edit-layout.pl raises warnings
    [18540] koha-indexdefs-to-zebra.xsl introduces MARC21 stuff into UNIMARC xslts
    [27253] borrowers.updated_on cannot be null on fresh install, but can be null with upgrade

    [29336] Some authorised_value FKs are too short

        This fixes the length of the field definitions in the database for several authorised_value and authorised_value_category columns as they are too short. It changes the value to varchar(32).

    [29483] AllowRenewalIfOtherItemsAvailable has poor performance for records with many items
    [29494] html-template-to-template-toolkit.pl no longer required
    [29498] Remove usage of deprecated Mojolicious::Routes::Route::detour
    [29625] Wrong var name in Koha::BiblioUtils get_all_biblios_iterator
    [29646] Bad or repeated opac-password-recovery attempt crashes on wrong borrowernumber
    [29687] Get rid of an uninitialized warning in XSLT.pm
    [29702] all_libraries routine in library groups make a DB call per member of group
    [29717] Too many DateTime manipulation in tools/additional-contents.pl

    [29758] CGI::param in list context in boraccount.pl warning

        This removes the cause of warning messages ([WARN] CGI::param called in list context from…) in the plack-intranet-error.log when accessing the accounting transactions tab for a patron.

    [29764] EmbedItems RecordProcessor filter POD incorrect
    [29771] Get rid of CGI::param in list context warnings
    [29785] Koha::Object->messages must be renamed
    [29789] Unused $error in cataloguing/additem.pl

    [29806] ->pickup_locations should always be called in scalar context

        The Koha::Biblio->pickup_locations and Koha::Item->pickup_location methods don’t always honour list context. Because of this, when used, they should assume scalar context. If list context was required, the developer needs to explicitly chain a ->as_list call.

        This patch tracks the uses of this methods and adjusts accordingly.

    [29809] StockRotationItems->itemnumber is poorly named
    [29812] C4::Context not included, but used in Koha::Token
    [29865] Wrong includes in circ/returns.pl

    [29957] Cookies not removed after logout

        This patch adds a new config variable to koha-conf.xml called do_not_remove_cookie.
        By default, all cookies are cleared now. But you could uncomment the KohaOpacLanguage entry to preserve it.

    [29966] SCO Help page passes flags while not needing authentication
    [29984] Remove unused method Koha::Patrons->anonymise_issue_history
    [30008] Software error in details.pl when invalid MARCXML and showing component records
    [30009] Records with invalid MarcXML show notes tab ‘Descriptions(1)’ but tab is empty
    [30110] Potential bug source: plenty of “my” declarations with conditional assignments
    [30115] Uninitialized value warning in C4/Output.pm
    [30143] OAI-PMH provider may end up in an eternal loop due to missing sort
    [30161] Remove duplicate z3950_search include lines
    [30185] Missing return in db rev 210600003.pl
    [30253] Double mana_success line is no success
    [30294] Rename Koha::Recall->* used relationship names
    [30345] Koha::BackgroundJob->enqueue should set borrowernumber=undef if no userenv
    [30377] Fix two CGI::param called in list context-warnings
    [30393] datatables wrapper should handle searching for %, _ and \
    [30406] Our DT tables not filtering on the correct column if hidden by default
    [30467] BatchDeleteItem task does not deal with indexation correctly
    [30638] Odd number of elements in anonymous hash at C4/Letters.pm line 827
    [30668] UpdateItemLocationOnCheckin spams the cataloguing log
    [30692] Wrong progress displayed for ES indexing tasks
    [30702] Remove Context L785 warning
    [30703] Remove a few CookieManager warnings
    [30714] Checkins from other branches spam the cataloguing log
    [30727] Holds queue updates can be called multiple times on batch record deletion

Authentication

    [29487] Set autocomplete off for userid/password fields at login

        This turns autocompletion off for userid and password fields on the login forms for the OPAC and staff interface.

Browser compatibility

    [22671] Warn the user in offline circulation if applicationCache isn’t supported

Cataloging

    [9565] Deleting a record should alert or fail if there are current subscriptions

        This change prevents the deletion of records with current serial subscriptions.

        Selecting “Delete record” when there are existing subscriptions no longer deletes the record and subscription, and adds an alert box “[Count] subscription(s) are attached to this record. You must delete all subscriptions before deleting this record.”.

        It also:
            adds a “Subscriptions” column in the batch deletion records tool with the number of subscriptions and a link to the search page with all the subscriptions for the record, and
            adds a button in the toolbar to enable selecting only records without subscriptions.

    [25251] When a record has no items click delete all does not need an alert
    [26328] incremental barcode generation fails when incorrectly converting strings to numbers

    [28853] Textarea in biblio record editor breaks authority plugin

        This fixes an issue when adding or editing record subfields using the authority plugin and it has a value with more than 100 characters. (When a subfield has more than 100 characters it changes to a text area rather than a standard input field, this caused JavaScript issues when using authority terms over 100 characters.)

    [29511] While editing MARC records, blank subfields appear in varying order
    [29962] Table of items on item edit page missing columns button

    [30159] Fix display of validation of important fields when biblio cataloguing

    Sponsored by Education Services Australia SCIS

        This patch adds a check for both mandatory and important fields when validating bibliographic records during cataloguing.

    [30224] Wrong important field shown in cataloguing validation

    Sponsored by Education Services Australia SCIS

        This patch fxes the cataloguing validation messages to show the correct tag, when the whole field is important (not just a subfield).

    [30376] Unable to save item if field date acquired is set mandatory
    [30435] Remove unused MACLES cataloging plugin
    [30482] Potential for bad string concatenation in cataloging validation error message

    [30797] Subfields linked to the dateaccessioned.pl value builder on addbiblio.pl throw a JS error

    Sponsored by Chartered Accountants Australia and New Zealand

Circulation

    [11750] Overdue report does not limit patron attributes

    [29220] Minor fixes and improved code readability in circulation.pl

    Sponsored by Gothenburg University Library
    [29476] Earliest renewal date is displayed wrong in circ/renew.pl for issues with auto renewing
    [29537] Simplify auto-renewal code in CanBookBeRenewed
    [29820] Print summary just show 20 items

    [29889] Incorrect library check in patron message deletion logic

        This fixes the logic controlling whether a patron message on the circulation or patron details page has a “Delete” link. An error in the logic prevented messages from being removed by staff who should have been authorized to do so.

    [30155] We shouldn’t calculate get_items_that_can_fill when we don’t have any holds
    [30735] Filtering by patron attribute with AV does not work in overdues report

Command-line Utilities

    [10517] koha-restore fails to create mysqluser@mysql_hostname so zebra update fails

    Sponsored by Reformational Study Centre

    [29054] Stop warns from advance_notices.pl if not running in verbose mode

    Sponsored by Catalyst
    [29501] gather_print_notices.pl does not use SMTP servers
    [30666] Holds reminder cronjob (holds_reminder.pl) uses DateTime::subtract wrong
    [30667] Holds reminder cronjob (holds_reminder.pl) never uses default letter template
    [30776] import_webservice_batch.pl cronjob completely broken

Database

    [30128] language_subtag_registry.description is too short
    [30449] Missing FK constraint on borrower_attribute_types
    [30481] Drop unique constraint deleteditemsstocknumberidx for deleteditems
    [30498] Enum search_field.type should contain year in kohastructure
    [30565] Field stockrotationrotas.description should be NOT NULL, title UNIQUE
    [30572] Field search_marc_to_field.sort needs syncing too
    [30620] Add a warning close to /*!VERSION lines in kohastructure.sql

Fines and fees

    [28481] Register details “Older transactions” search does not include the selected day in the “To” field in date range

        This fixes the search and display of older transactions in the cash register so that items from today are included in the results. Previously, transactions for the current day were incorrectly not included.

    [28663] One should not be able to apply a discount to a VOID accountline

        This removes the display of the ‘Apply discount’ button for VOID transactions.

    [29952] Filter Paid Transactions Broken on Transactions tab in Staff

        This fixes the “Filter paid transactions” link in the staff interface on the Patron account > Accounting > Transactions tab. It now correctly filters the list of transactions – only transactions with an outstanding amount greater than zero are shown (“Show all transactions” clears the filter). Before this fix, clicking on the link didn’t do anything and didn’t filter any of the transactions as expected.

    [30132] overdue_notices.pl POD is incorrect regarding passing options

Hold requests

    [21652] reserves.waitingdate is set to current date by printing new hold slip
    [21729] When reverting a hold the expirationdate should be reset
    [29043] Items are processed but not displayed on request.pl before a patron is selected
    [29103] reserves.desk_id for desk of waiting hold only updates when printing new hold slip

    [29115] Placing a club hold is not showing warnings when unable to place a hold

        This fixes placing club holds so that checks are correctly made and warning messages displayed when patrons are debarred or have outstanding fees and charges.

    [29338] Reprinting holds slip with updated expiration date

        This patch adds a “Print hold/transfer” button to request.tt so staff can reprint hold/transfer slips without re-checking an item.

    [29474] Automatic renewals cronjob is slow on systems with large numbers of reserves
    [29553] Holds: Can’t call method “notforloan” on an undefined value when placing a hold
    [29704] Holds reminder emails should allow configuration for a specific number of days
    [29976] (Bug 21729 followup) fix holds unit tests
    [30085] Improve performance of CanItemBeReserved
    [30207] Librarians with only “place_holds” permission can no longer update hold pickup locations
    [30577] Item specific holds location can be missed when placing title level holds
    [30693] Javascript broken on request.pl
    [30710] Background tasks can be called multiple times on batch item deletion

I18N/L10N

    [29040] Uninitialized value warning in Languages.pm

        This removes the cause of the warning message “Use of uninitialized value $interface in concatenation (.) or string at /kohadevbox/koha/C4/Languages.pm line 121.” when editing item types.

    [29585] “Go to field” in cataloguing alerts is not translatable

        This fixes the ‘Go to field’ and ‘Errors’ strings in the basic MARC editor to make them translatable. (This is a follow-up to bug 28694 that changed the way validation error messages are displayed when using the basic MARC editor in cataloging.)

    [29588] Yesterday and tomorrow in datepicker don’t translate

        This fixes “or”, “Yesterday”, “Today” and “Tomorrow” in the flatpickr date selector so they can be translated. (This was because _ was used when _ should have been used (_ is for .js files only)).

    [29589] Translation issue with formatting in MARC overlay rules page

Installation and upgrade (command-line installer)

    [29813] skeleton.pl missing semicolon
    [30366] Warn when running automatic_item_modification_by_age.pl

Installation and upgrade (web-based installer)

    [29837] JS error during installer

Lists

    [29601] The list download option ISBD is useless when you cleared OPACISBD

Notices

    [17648] ACCTDETAILS notice doesn’t show in the notices tab in staff
    [29230] Patron’s messages not accessible from template notices

    [29557] Auto renew notices should handle failed renewal due to patron expiration

        This enhancement updates the default auto-renewal notices to tell patrons that their renewals have failed because their account has expired.

    [29943] Fix typo in notices yaml file
    [30509] Accordion on letter.tt is broken

OPAC

    [17127] Can’t hide MARC21 500 and others with NotesToHide

        This fixes hiding notes fields (5XX in MARC21 and 3XX in UNIMARC) using NotesToHide. Before this you could hide one field and it worked. However, when hiding multiple fields one field would still always be visible. Now hiding notes fields works as expected.

    [27627] Fix invalid HTML in OPAC results XSLT: change spans to divs

    [29036] Accessibility: OPAC buttons don’t have sufficient contrast

        This improves the accessibility of the OPAC by increasing the contrast ratio for buttons, making the button text easier to read.

        As part of this change the OPAC SCSS was modified so that a “base theme color” variable is defined which can be used to color button backgrounds and similar elements. It also moves some other colors into variables and removes some unused CSS.

    [29320] Use OverDrive availability API V2
    [29481] Terminology: Collection code

    [29482] Terminology: This item belongs to another branch.

        This replaces the word “branch” with the word “library” for a self-checkout message, as per the terminology guidelines. (“This item belongs to another branch.” changed to “This item belongs to another library”.)

    [29556] MARC21slim2MODS.xsl broken by duplicate template name “part”

        This fixes an error when making an unAPI request in the OPAC using the MODS format. A 500 page error was displayed instead of an XML file. Example URL: http://your-library-opac-domain/cgi-bin/koha/unapi?id=koha:biblionumber:1&format=MODS

    [29603] Fix responsive behavior of facets menu in OPAC search results
    [29604] Term highlighting adds unwanted pseudo element in the contentblock of OPAC details page

    [29611] Clubs enrollment layout problem in the OPAC

        This fixes a minor HTML issue with the clubs enrollment form in the OPAC. The “Finish enrollment” button is now positioned correctly inside the bordered area and uses standard colors.

    [29685] ‘If all unavailable’ state for ‘on shelf holds’ makes holds page very slow if there’s a lot of items on opac
    [29686] Adapt OverDrive for new fulfillment API
    [29706] When placing a request on the opac, the user is shown titles they cannot place a hold on

    [29795] If branch is mandatory on patron self registration form, the pull down should default to empty

        Creates an empty value and defaults to it when PatronSelfRegistrationBorrowerMandatoryField includes branchcode. This forces self registering users to make a choice for the library.

    [29802] biblionumber in OPACHiddenItems breaks opac lists
    [29840] opac-reserve explodes if invalid biblionumber is passed
    [30191] Authority search result list in the OPAC should use ‘record’ instead of ‘biblios’
    [30220] Purchase suggestion defaults to first library
    [30244] Hide lost items not respected in OPAC results XSLT
    [30426] suggestion service missing Auth and Output imports
    [30550] OPAC recalls page tries to use jQueryUI datepicker
    [30613] Hide RSS feed link when viewing private list in the OPAC
    [30688] Error in path to CSS background image
    [30689] Incorrect Babeltheque setting can cause console warning

Packaging

    [26685] Move Starman out of debian/control.in and into cpanfile
    [30252] lower version of ‘Locale::XGettext::TT2’ to 0.6

Patrons

    [22993] Messaging preferences not set for patrons imported through API

    [27812] Remove the ability to transmit a patron’s plain text password over email

        This bugfix/enhancement improves the default security of Koha by removing the pass of the plain text password to the ACCTDETAILS notice on patron creation.

        WARNING: You will need to update your notice template if you were relying on <<borrowers.password>> in this notice.

    [28576] Add patron image in patron detail section does not specify image size limit

        This updates the add patron image screen to specify that the maximum image size is 2 MB. If it is larger, the patron image is not added.

    [29576] Add street type to fields which can be copied from guarantor to guarantee
    [30090] Don’t export action buttons from patron results
    [30098] Patron search redirects when one result on any page of results
    [30175] Digest options not enabled when populating messaging preferences for a selected category during patron entry
    [30177] When changing patron categories of existing accounts it should not reset message prefs without warning

    [30214] Send WELCOME notice for new patrons added via self registration

        This enhancement extends the ‘AutoEmailOpacUser’ feature to also send WELCOME notices to users who register via the opac self registration system.

    [30404] Enlarge all patron searches pop-up
    [30405] Style of address in patron search result are 110%
    [30485] Searching all patrons from the header does not display the patron search view
    [30607] Enable ‘Clear filter’ option on DataTables Search for patron searches

Plugin architecture

    [25285] Wrong message when plugin required Koha version isn’t met

REST API

    [29503] GET /patrons should use Koha::Patrons->search_limited
    [29506] objects.search should call search_limited if present
    [29508] GET /patrons/:patron_id should use Koha::Patrons->search_limited

    [29593] Wrong tag in GET /public/libraries spec

        This updates the tag in GET /public/libraries (api/v1/swagger/paths/libraries.json file) from library to libraries.

    [29975] (Bug 21729 followup) patron_expiration_date missing in API
    [30534] borrowers.guarantorid not present on database
    [30536] Embeds should be defined in a single place

Reports

    [26269] Overdues: Download file doesn’t match result in staff interface when due date filters or ‘show any available items currently checked out’ are used
    [26669] Last Run column not updated when report is run publicly (via CoverFlow or elsewhere)

    [28977] Most-circulated items (cat_issues_top.pl) is failing with SQL Mode ONLY_FULL_GROUP_BY

        This fixes an error that causes the most circulated items report to fail when run on a database with SQL mode ONLY_FULL_GROUP_BY and in strict SQL mode.

    [29488] NumSavedReports system preference doesn’t work

        This fixes the saved reports page so that the NumSavedReports system preference works as intended – the number of reports listed should default to the value in the system preference (the initial default is 20).

    [29530] When NumSavedReports is set, show value in pull down of entries

        This updates the way the NumSavedReports preference value is used on the saved reports page. For the “Show” dropwdown list:
            it now displays the number set in NumSavedReports (previously it showed 20)
            when expanded it now shows the number set in NumSavedReports sequentially (for example, if NumSavedReports is 78, the menu options should be “10, 20, 50, 78, 100, All”), and
            it now displays ‘All’ if NumSavedReports is blank.

        It also updates the description for the NumSavedReports preference to clarify that all reports are shown when no value is entered.

    [29679] Reports result menu shows too many dividers

        This removes borders between sections that are not required. The SQL report batch operations dropdown menu has divider list items which add a border between sections (bibliographic records, item records, etc.). This element is redundant because the sections have “headers” which also add a border.

    [29680] Reports menu ‘Show SQL code’ wrong border radius
    [29729] If serials_stats.pl returns no results dataTables get angry
    [30129] 500 error when search reports by date
    [30282] Overdues report does not display subtitle and other information

SIP2

    [30118] holds_block_checkin behavior is different in Koha and in SIP

Searching

    [30740] Link to authorities ‘used in’ should not use equal

Searching – Elasticsearch

    [25616] Uppercase hard coded lower case boolean operators for Elasticsearch
    [29077] Warns when searching blank index
    [29436] Cannot reorder facets in staff interface elasticsearch configuration

    [30142] ElasticSearch MARC mappings should not accept whitespaces

    Sponsored by Steiermärkische Landesbibliothek

    [30153] FindDuplicate ElasticSearch should not use lowercase ‘and’

    Sponsored by Steiermärkische Landesbibliothek

Serials

    [28216] Fix vendor list group by in serials statistics wizard

        This fixes an issue where vendors are repeated in the serials report.

    [29790] Deleting serial items fail without warning

    [30035] Wrong month name in numbering pattern

    Sponsored by Orex Digital

        Sponsored-by: Orex Digital

    [30204] Add subtitle to serial subscription search

        Adds the biblio.subtitle to the ‘Title’ column on serial-search.pl.

    [30205] Add biblio.subtitle to the subscription-detail.pl page

        Add the biblio.subtitle to the serial subscription details page.

Staff Client

    [29092] Table settings for account_fines table is missing Updated on column and hides the wrong things

    Sponsored by Koha-Suomi Oy
    [29542] User with ‘catalogue’ permission can view everybody’s (private) virtualshelves
    [29903] Message deletion possible from different branch
    [30164] Header filter not taken into account on the cities view
    [30747] Column settings on otherholdings table in detail.tt doesnt work

System Administration

    [29591] Add autorenew_checkouts to BorrowerMandatory/Unwanted fields system preferences
    [29875] Update text on MaxReserves system preference to describe functionality.

    [30107] When editing a desk, the currently logged in library is selected

        Corrects a problem on the administration page for circulation desks where the default library was always being set to the logged in library instead of the library of the desk.

    [30597] Update wording of RestrictionBlockRenewing to include auto-renew

Templates

    [11873] Upgrade jstree jQuery plugin to the latest version
    [13142] Change “mobile phone” label back to “other phone”
    [26102] Javascript injection in intranet search

    [29513] Accessibility: Staff Client – Convert remaining breadcrumbs sections from div to nav blocks

        This improves the accessibility of breadcrumbs so that they adhere to the WAI-ARIA Authoring Practices. It covers additional breadcrumbs that weren’t fixed in bug 27486 in these areas:
            Home > Acquisitions > [Vendor name > [Basket name]
            Home > Administration > Set library checkin and transfer policy
            Home > Patrons > Merge patron records

    [29514] ILL requests: Remove extraneous › HTML entity from breadcrumbs

        This fixes a small typo in the breadcrumbs section for ILL requests – it had an extra › HTML entity after “Home”.

    [29528] Breadcrumbs on HTML customizations take you to news

        This change removes the “Additional contents” breadcrumb when working with news items or HTML customizations. Since news and HTML customizations are separate links on the tools home page there’s no reason to have the breadcrumbs imply the two sections are connected in any way. We already have the “See News” link, for example, for switching quickly between the two areas.

    [29529] Fix \n in hint on Koha to MARC mappings

        This fixes:
            a string in Koha to MARC mappings (koha2marclinks.tt:86) so that it can be correctly translated (excludes “\n” from what is translated), and
            capitalization for the breadcrumb link: Administration > Koha to MARC mappings.

    [29552] flatpickr quick shortcuts should be ‘Disabled’ for invalid dates

    [29571] Mainpage : “All libraries” pending suggestions are visible only if the current library has suggestions

        This fixes the display of pending suggestions in the staff interface so that it now shows pending suggestions for all libraries, for example: “Suggestions pending approval: Centerville: 0 / All libraries: 1.”. Previously suggestions pending approval was only shown if there were suggestions for the user’s current library.

    [29580] Misplaced closing ‘td’ tag in overdue.tt
    [29688] Incorrect use of _() in holds.js
    [29735] Remove flatpickr instantiations from .js files

    [29807] Branches template plugin doesn’t handle empty lists correctly

        The Branches TT plugin had wrong logic in it, that made it crash, or display wrong pickup locations when the item/biblio didn’t have any valid pickup location.

    [29853] Text needs HTML filter before KohaSpan filter
    [29932] Phase out jquery.cookie.js: bibs_selected (Browse selected records)
    [29933] Fix stray usage of jquery.cookie.js plugin
    [29940] Phase out jquery.cookie.js in the OPAC

    [29967] Increase size of description fields for authorized values in templates

        Extends the length of the description and OPAC description fields on authorised_values.tt making it easier to see and edit text that has longer descriptions.

    [29989] Improve headings in MARC staging template
    [30082] Bibliographic details tab missing when user can’t add local cover image
    [30422] Authorities editor update broke the feature added by Bug 20154
    [30512] Staff interface search results template error
    [30514] Error in date format check following datepicker removal
    [30587] Incorrect translations in some templates

    [30632] Fix report author display in list of saved reports

        This fixes the display of report authors in the list of saved reports to remove the extra space before the comma (Lastname, Firstname was displaying as Lastname , Firstname).

    [30640] Focus does not always move to correct search header form field
    [30706] DateFormat change only takes effect after a restart of services
    [30720] Batch delete links from result list missing permission checks
    [30721] Markup error in detail page’s component parts tab
    [30722] Typo in overdue recalls template

Test Suite

    [29705] Test suite has some IssuingRules left-overs
    [29826] Manage call of Template Plugin Branches GetName() with null or empty branchcode
    [29838] No string interpolation when expected in t/db_dependent/ImportBatch.t
    [29862] TestBuilder.t fails with ES enabled
    [29884] Missing test in api/v1/patrons.t
    [30203] Prevent data loss when running Circulation.t without prove
    [30531] Search.t needs update for Recalls
    [30595] update_child_to_adult.t is failing randomly
    [30596] api/v1/acquisitions_baskets.t is failing randomly
    [30734] t/db_dependent/Koha/BackgroundJob.t fails on D9 and D10

Tools

    [29156] File missing warning in Koha::UploadedFile should be for permanent files only

        This removes the warning from the log files when temporarily uploaded files are deleted and the file no longer exists (for example, when the temporary files are in /tmp directory and the system is rebooted they are deleted).

    [29521] Patron Club name hyperlinks not operational + weird CSS behavior

        This removes the link from thea patron club name on the patrons club listing page as it didn’t work. It also improves the consistency of the table of patron clubs so that the interface is consistent whether you’re looking at clubs during the holds process or during the clubs management view.

    [29693] CodeMirror broken on additional_contents.tt

    [29722] Add some diversity to sample quotes

    Sponsored by Catalyst

        This patch adds sample quotes from women, women of colour, trans women, Black and Indigenous women, and people who weren’t US Presidents!

    [29761] Patron batch modification tool – duplicated information on the listing page
    [29797] Background job detail for batch delete items not listing the itemnumbers

    [30701] On small screens, upload tool buttons cannot be clicked

    Sponsored by Chartered Accountants Australia and New Zealand
    [30709] ‘Insert’ button in notices editor not adding selected placeholders to notice

Web services

    [22379] ILS-DI Method “CancelHold” don’t check CanReserveBeCanceledFromOpac

    [29484] ListSets doesn’t return noSetHierarchy when appropriate

        This fixes Koha’s OAI-PMH server so that it returns the appropriate error code when no sets are defined.

Z39.50 / SRU / OpenSearch Servers

    [19865] Side scroll bar in z39.50 MARC view

        Makes the horizontal scroll bar of the MARC preview modal on cataloguing/z3950_search.tt always visible for an easier user experience.

New system preferences

    AllowSetAutomaticRenewal
    AuthorityXSLTResultsDisplay
    EDIFACT
    EdifactLSQ
    EmailOverduesNoEmail
    EnableExpiredPasswordReset
    GenerateAuthorityField667
    GenerateAuthorityField670
    OPACMandatoryHoldDates
    OPACSuggestionAutoFill
    OpacAdvancedSearchTypes
    PatronSelfModificationMandatoryField
    RealTimeHoldsQueue
    RecallsLog
    RecallsMaxPickUpDelay
    RequireCashRegister
    RequirePaymentType
    SIP2SortBinMapping
    ShowHeadingUse
    StaffHighlightedWords
    TwoFactorAuthentication
    UseRecalls

Renamed system preferences

    AutoEmailOpacUser renamed AutoEmailNewUser
    RecordIssuer renamed RecordStaffUserOnCheckout

Deleted system preferences

    NumSavedReports
    OPACMySummaryNote
    OpacMoreSearches

New Authorized value categories

    TYPEDOC

New letter codes

    2FA_DEREGISTER
    2FA_DISABLE
    2FA_ENABLE
    2FA_REGISTER
    PICKUP_RECALLED_ITEM
    RECALL_REQUESTER_DET
    RETURN_RECALLED_ITEM
    STAFF_PASSWORD_RESET
    WELCOME

Documentation

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

    Koha Documentation

The Git repository for the Koha manual can be found at

    Koha Git Repository

Translations

Complete or near-complete translations of the OPAC and staff
interface are available in this release for the following languages:

    Arabic (79.5%)
    Armenian (95.1%)
    Armenian (Classical) (71.6%)
    Bulgarian (83.8%)
    Chinese (Taiwan) (77.6%)
    Czech (63.6%)
    English (New Zealand) (57.2%)
    English (USA)
    Finnish (90.2%)
    French (95.4%)
    French (Canada) (87.6%)
    German (100%)
    German (Switzerland) (55%)
    Greek (54.7%)
    Hindi (90.9%)
    Italian (92.9%)
    Nederlands-Nederland (Dutch-The Netherlands) (81%)
    Norwegian Bokmål (56.9%)
    Polish (89.2%)
    Portuguese (81.6%)
    Portuguese (Brazil) (77.3%)
    Russian (77.8%)
    Slovak (65.1%)
    Spanish (97.9%)
    Swedish (78.8%)
    Telugu (86.7%)
    Turkish (89.6%)
    Ukrainian (68.9%)

Partial translations are available for various other languages.

The Koha team welcomes additional translations; please see

    Koha Translation Info

For information about translating Koha, and join the koha-translate
list to volunteer:

    Koha Translate List

The most up-to-date translations can be found at:

    Koha Translation

Release Team

The release team for Koha 22.05.00 is

    Release Manager: Fridolin Somers
    Release Manager assistants:
        Jonathan Druart
        Martin Renvoize
        Tomás Cohen Arazi
    QA Manager: Katrin Fischer
    QA Team:
        Andrew Nugged
        Jonathan Druart
        Joonas Kylmälä
        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
        Zebra — Fridolin Somers
        Accounts — Martin Renvoize
    Bug Wranglers:
        Indranil Das Gupta
        Erica Rohlfs
    Packaging Manager: Mason James
    Documentation Manager: David Nind
    Documentation Team:
        Aude Charillon
        Caroline Cyr La Rose
        Kelly McElligott
        Lucy Vaux-Harvey
        Martin Renvoize
        Rocio Lopez
    Translation Managers:
        Bernardo González Kriegel
    Wiki curators:
        Thomas Dukleth
    Release Maintainers:
        21.11 — Kyle M Hall
        21.05 — Andrew Fuerste-Henry
        20.11 — Victor Grousset
        19.11 — Wainui Witika-Park

Credits

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

    Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
    ByWater Solutions
    Catalyst
    Chartered Accountants Australia and New Zealand
    Cheshire Libraries Shared Services
    Education Services Australia SCIS
    Educational Services Australia SCIS
    Gothenburg University Library
    Horowhenua District Council, New Zealand
    Koha-Suomi Oy
    Lund University Library
    Montgomery County Public Libraries
    Orex Digital
    Reformational Study Centre
    Steiermärkische Landesbibliothek
    Universidad Nacional de San Martín
    University Lyon 3

We thank the following individuals who contributed patches to Koha 22.05.00

    Salman Ali (1)
    Aleisha Amohia (54)
    Tomás Cohen Arazi (234)
    Philippe Blouin (5)
    Henry Bolshaw (1)
    Florian Bontemps (3)
    Jérémy Breuillard (2)
    Alex Buckley (14)
    Rudolf Byker (1)
    Colin Campbell (1)
    Kevin Carnes (2)
    Nick Clemens (131)
    David Cook (6)
    Chris Cormack (1)
    Roch D’Amour (1)
    Jake Deery (1)
    Jonathan Druart (311)
    Marion Durand (8)
    Magnus Enger (1)
    Katrin Fischer (37)
    Andrew Fuerste-Henry (2)
    Lucas Gass (44)
    Didier Gautheron (3)
    Victor Grousset (4)
    Thibaud Guillot (3)
    David Gustafsson (2)
    Michael Hafen (2)
    Kyle M Hall (27)
    Andrew Isherwood (2)
    Mason James (9)
    Andreas Jonsson (1)
    Janusz Kaczmarek (2)
    Pasi Kallinen (1)
    Thomas Klausner (2)
    Bernardo González Kriegel (14)
    Joonas Kylmälä (7)
    Nicolas Legrand (1)
    Owen Leonard (153)
    Ava Li (1)
    The Minh Luong (2)
    Ere Maijala (1)
    Julian Maurice (13)
    Matthias Meusburger (2)
    Andrew Nugged (3)
    Björn Nylén (1)
    Hayley Pelham (1)
    Martin Renvoize (138)
    Marcel de Rooy (96)
    Caroline Cyr La Rose (3)
    Andreas Roussos (3)
    David Schmidt (1)
    Fridolin Somers (190)
    Martin Stenberg (1)
    Adam Styles (3)
    Arthur Suzuki (3)
    Emmi Takkinen (1)
    Lari Taskula (2)
    Lyon 3 Team (1)
    Mark Tompsett (1)
    Petro Vashchuk (6)
    Timothy Alexis Vass (1)
    George Veranis (3)
    Shi Yao Wang (6)
    Wainui Witika-Park (17)

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

    Athens County Public Libraries (153)
    BibLibre (227)
    Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) (37)
    Bibliothèque Universitaire des Langues et Civilisations (BULAC) (1)
    BigBallOfWax (1)
    ByWater-Solutions (204)
    Catalyst (32)
    Catalyst Open Source Academy (54)
    Dataly Tech (6)
    esa.edu.au (3)
    gmx.at (1)
    Hypernova Oy (2)
    Independant Individuals (26)
    Koha Community Developers (315)
    Koha-Suomi (2)
    KohaAloha (9)
    Kreablo AB (1)
    Libriotech (1)
    Prosentient Systems (6)
    PTFS-Europe (142)
    Rijksmuseum (96)
    Solutions inLibro inc (18)
    Theke Solutions (234)
    ub.lu.se (4)
    UK Parliament (1)
    Universidad Nacional de Córdoba (14)
    University of Helsinki (2)
    Université Jean Moulin Lyon 3 (1)
    xinxidi.net (1)

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

    Aleisha Amohia (3)
    Tomás Cohen Arazi (189)
    Marjorie Barry-Vila (1)
    Bob Bennhoff (10)
    Florian Bontemps (7)
    Sonia Bouis (4)
    Christopher Brannon (1)
    Jérémy Breuillard (2)
    Felicity Brown (1)
    Emmanuel Bétemps (2)
    Nick Clemens (162)
    Rebecca Coert (2)
    David Cook (6)
    Chris Cormack (3)
    Ben Daeuber (3)
    Michal Denar (23)
    Solène Desvaux (2)
    Jonathan Druart (270)
    Eugene Espinoza (1)
    Jonathan Field (2)
    Katrin Fischer (340)
    Andrew Fuerste-Henry (83)
    Lucas Gass (78)
    Victor Grousset (16)
    Thibaud Guillot (3)
    Amit Gupta (1)
    hakam (1)
    Kyle M Hall (74)
    Stina Hallin (1)
    Frank Hansen (3)
    Sally Healey (11)
    Samu Heiskanen (7)
    Jo Hunter (2)
    Mason James (6)
    Jessica (1)
    Barbara Johnson (21)
    Jose-Mario (1)
    Mazen Khallaf (8)
    Bernardo González Kriegel (1)
    Rhonda Kuiper (1)
    Joonas Kylmälä (7)
    Nicolas Legrand (1)
    Owen Leonard (135)
    The Minh Luong (4)
    ManuB (1)
    Marjorie (1)
    Julian Maurice (1)
    kelly mcelligott (1)
    Kelly McElligott (3)
    David Nind (210)
    Hayley Pelham (4)
    Séverine Queune (71)
    Johanna Raisa (1)
    Laurence Rault (1)
    Martin Renvoize (451)
    Alexis Ripetti (1)
    Marcel de Rooy (134)
    Caroline Cyr La Rose (1)
    Andreas Roussos (3)
    Lisette Scheer (1)
    Fridolin Somers (1400)
    Christian Stelzenmüller (3)
    Michael Sutherland (1)
    Arthur Suzuki (7)
    Emmi Takkinen (1)
    Theodoros Theodoropoulos (1)
    Mark Tompsett (2)
    Petro Vashchuk (2)
    Shi Yao Wang (4)
    George Williams (1)
    Jessie Zairo (1)

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

    Aude Charillon (6)
    Caroline Cyr La Rose (14)
    David Nind (4)
    Martin Renvoize (4)
    Lucy Vaux-Harvey (1)

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:

    Koha Git Repository

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:

    Koha Bugzilla

He rau ringa e oti ai.
(Many hands finish the work)

Autogenerated release notes updated last on 26 May 2022 07:06:40.
koha/release_notes/22.11/22.11.00_nouveautes/rn2205.txt · Dernière modification : 2023/01/27 15:04 de llefaucheur
CC Attribution-Share Alike 4.0 International Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International