Piste: rn2005

Koha 20.05 Nouveautés

Koha 20.05 Nouveautés

  • Koha 20.05.00 est une version majeure.
  • La version inclut 13 nouvelles fonctionnalités, 275 améliorations, 592 corrections de bugs.
  • Une nouvelle section "Points techniques" est ajoutée à la fin des notes de version pour ceux qui recherchent un résumé des modifications plus techniques incluse dans la version.

Note : cette page ne contient qu'un extrait de tous les patches livrés dans la version, incluant des nouveautés, des améliorations et corrections, axées sur les fonctionnalités plutôt que sur la technique. La Release Note complète se trouve à l'url https://koha-community.org/koha-20-05-released/

Pré-requis système

Les recommandations sont :

  • • Debian Jessie with MySQL 5.5 (End of life)
  • • Debian Stretch with MariaDB 10.1
  • • Debian Buster with MariaDB 10.3
  • • Ubuntu Bionic with MariaDB 10.1
  • • Debian Stretch with MySQL 8.0 (Experimental MySQL 8.0 support)

Notes complémentaires :

  • • Perl 5.10 is required (5.24 is recommended)
  • • Zebra or Elasticsearch is required

Nouvelles fonctionnalités

Acquisitions

[24347] Ajoute une fonction "Rechercher pour commander"

  • Cette nouvelle fonctionnalité permet à la bibliothèque d'ajouter des documents à une commande via une nouvelle fonction «Rechercher pour commander» accessible depuis le panier de commande. La commande peut alors être créée soit directement à partir de la liste de résultats, soit des pages de détail du catalogue.
  • Cela remplace l'ancienne fonctionnalité de recherche de documents existants dans le module d'acquisitions et permet d'utiliser toutes les fonctionnalités de recherche et les informations affichées dans le catalogue normal.
  • Le lien Ajouter ligne de commande est désormais visible sur la liste de résultats d'une recherche catalogue, et sur la notice détaillée (bouton).

Circulation

[13881] Définir des postes de circulation

  • Une fois active, cette fonctionnalité permet de définir des postes de circulation par bibliothèque. Des développements futurs sont prévus pour permettre d'associer un lieu de retrait de réservation à ces postes, et d'autres fonctionnalités.

Nouvelle préférence système : UseCirculationDesks

  • Une fois la préférence système activée, le menu Postes de circulation apparaît dans Administration / Adhérents et Circulation, permettant de créer de nouveaux postes.

Dans le module Circulation / Choisir site et poste, le professionnel peut choisir son site de connexion et son poste de circulation :

[24846] Modification par lot des dates de retour

  • Avec des événements qui conduisent à des fermetures imprévues des bibliothèques (Coronavirus par exemple), ce nouvel outil permet de mettre à jour les dates de retour par lots, en se basant sur la bibliothèque et la date de retour actuelle des documents en prêt.
  • L'accès nécessite une nouvelle permission batch_extend_due_dates.
  • Accès via Outils / Modification par lot des dates de retour

Amendes et frais

[23354] Ajoute un écran 'Point de vente' pour autoriser les paiements anonymes

Cette nouvelle fonctionnalité ajoute une fonctionnalité de point de vente à Koha.

  • Lorsqu'elle est activée, un nouvel écran "Point de vente" est disponible à partir de la page d'accueil de l'interface professionnelle.
  • À partir de cet écran, on peut construire une transaction composée de divers éléments définis dans la zone d’administration des types de débit, puis traiter la transaction de manière anonyme en effectuant une "vente" à l’utilisateur final.
  • Le type de paiement, la caisse et l'identifiant du personnel connecté sont tous enregistrés à des fins d’audit ultérieur.

Nouvelle préférence système: EnablePointOfSale La préférence système UseCashRegisters doit être activée.

Sur la page d'accueil de Koha :

Il doit y avoir au moins un élément défini dans les types de débit, pouvant être facturé manuellement, et pouvant être vendu (case à cocher)

Ceci permet d'effectuer des ventes à des utilisateurs non adhérents.

La page Détail des enregistrements affiche le détail des transactions depuis le dernier état de caisse.

[23355] Ajoute un processus d' "état de caisse" aux comptes

Cette nouvelle fonctionnalité complète la nouvelle page "Point de vente" introduite dans le BZ 23354 en ajoutant une page pour afficher les transactions historiques qui ont eu lieu sur la caisse sélectionnée depuis le dernier événement "état de caisse".

On peut enregistrer un "état de caisse" à partir de cette page en comparant les valeurs récapitulatives affichées sur la page aux montants réels trouvés dans la caisse enregistreuse, puis en cliquant sur le bouton "Etat de caisse (cashup)" pour enregistrer que ce processus a eu lieu.

La page est accessible à partir de la page Point de vente / Details pour la bibliothèque.

[23442] Ajoute un processus de "remboursement" aux comptes

Cette amélioration ajoute un processus qui permet au personnel disposant de la nouvelle permission 'refund' de recréditer / rembourser les clients lorsqu'ils ont été facturés à tort pour une transaction. Il enregistre une ligne permettant de garder trace du processus.

[24080] Ajoute un processus de remboursement de crédit pour les comptes

Cette nouvelle fonctionnalité ajoute un processus tracé pour payer aux adhérents le crédit existant sur leur compte.

Un nouveau bouton "Issue payout" (Remboursement) est présent sur les lignes de compte de l'onglet Transactions du compte adhérent en cas de crédit, permettant de rendre l'argent à l'adhérent, en conservant la trace de cette transaction.

Prêt entre bibliothèques

[23112] Ajoute un processus de circulation aux prêts entre bibliothèques (PEB)

Cette nouvelle fonctionnalité, lorsqu'elle est activée, ajoute la possibilité pour la bibliothèque de prêter immédiatement un exemplaire reçu en PEB à l'usager qui l'a demandé.

Le prêt est immédiat et la date d'échéance est fixée, soit comme une date fixe saisie par le bibliothécaire, soit sur la base des règles de circulation.

Nouvelle préférence système : CirculateILL

OPAC

[4461] Ajoute un processus de signalement de problèmes selon le contexte

Cette nouvelle fonctionnalité permet aux adhérents (authentifiés) de reporter des problèmes lors de leur utilisation de l'OPAC.

Elle ajoute un lien à chaque page de l'OPAC vers un formulaire où les adhérents peuvent reporter les problèmes. Les problèmes sont ensuite visibles sur l'interface professionnelle, via une alerte sur la page d'accueil, et via la nouvelle page de gestion Outils / Liste des problèmes OPAC.

Nouvelle préférence système: OPACReportProblem

Architecture de plugin

[23975] Ajoute la possibilité de rechercher et d'installer des plugins depuis GitHub

Ce patch permet de rechercher les plugins publics depuis Koha via une boîte de recherche en haut de la page de gestion des plugins.

On peut rechercher des plugins et les installer directement depuis le code source.

ATTENTION : Les plugins ne sont pas vérifiés par la communauté, vous les utilisez à vos propres risques. La fonctionnalité est désactivée par défaut ; pour l'activer, un administrateur doit décommenter les lignes correspondantes, ou ajouter de nouvelles lignes, au niveau du bloc plugin_repos dans le fichier de configuration koha-conf.xml.

Recherche – Elasticsearch

[14567] Ajoute une interface de parcours à l'OPAC basé sur elasticsearch

C'est une interface pour parcourir les notices de façon rapide et efficace avec Elasticsearch.

Elle présente une page /cgi-bin/koha/opac-browse.pl qui vous permet de commencer à saisir un auteur, titre ou sujet et donne la liste des expressions commençant par le texte saisi. Il est possible de choisir dans la liste ce qui vous intéresse. Sélectionner une entrée renvoie la liste de résultats correspondants.

Nouvelle préférence système : OpacBrowseSearch

Webservices

[24369] Ajoute la possibilité de définir un header CORS dans Koha

Ce développement ajoute la prise en charge de la définition de l'en-tête Access-Control-Allow-Origin dans Koha à l'aide de la nouvelle préférence système AccessControlAllowOrigin. Ceci est particulièrement utile pour intégrer les données des services fournis par Koha sur des sites autres que Koha lui-même.

Nouvelle préférence système: AccessControlAllowOrigin vide par défaut

Améliorations

Acquisitions

[12502] Ajoute des colonnes pour la note, le numéro de commande et l'ISBN à la page des commandes en retard

Ceci ajoute la note interne, le numéro de commande et l'ISBN au tableau des commandes en retard. Les notes sont modifiables directement depuis le tableau via une boîte de dialogue.

[14963] Ajoute la possibilité de suggérer un achat à partir de titres existants

Cette amélioration ajoute la possibilité de créer une nouvelle suggestion d'achat à partir d'une notice existant au catalogue.

[14973] Ajoute une alerte à la soumission d'une suggestion d'achat pour informer l'utilisateur qu'une notice existante semble satisfaire la demande

Cette amélioration du processus de suggestions ajoute un avertissement pour alerter l'utilisateur de la présence d'un document qui pourrait satisfaire la suggestion qu'il est sur le point de soumettre.

[22774] Ajoute la possibilité de limiter le nombre de suggestions d'achat qu'un adhérent peut soumettre dans une période de temps donnée

Cette amélioration permet à la bibliothèque de limiter le nombre de suggestions d'achat qu'un utilisateur peut soumettre au cours d'une période donnée.

Nouvelles préférences système : MaxTotalSuggestions vide par défaut (pas de limite) et NumberOfSuggestionDays vide par défaut (désactivé).

[22784] Ajoute la possibilité d'archiver les suggestions d'achat

Cette amélioration du processus de suggestions ajoute un moyen d'archiver les suggestions d'achat terminées.

[23590] Ajoute la possibilité de changer le gestionnaire de la suggestion et de notifier le nouveau gestionnaire

Cette amélioration du processus de suggestions d'achat ajoute la possibilité de modifier le gestionnaire d'une suggestion.

Lors de l'attribution d'une suggestion à un nouveau responsable, le nouvel avis NOTIFY_MANAGER sera envoyé au responsable pour l'alerter.

Pour suivre les différentes modifications, 2 nouvelles colonnes sont ajoutées au tableau des suggestions: lastmodificationby et lastmodificationdate, qui seront mises à jour automatiquement lors de l'édition d'une suggestion.

[23591] Ajoute un nouvel onglet "Détails de la suggestion" à la notice bibliographique

Cette amélioration ajoute un nouvel onglet "Détails de la suggestion" sur l'affichage détaillé de la notice bibliographique.

[23592] Ajoute un rebond depuis le détail de la suggestion vers la notice bibliographique dans l'interface professionnelle

[23593] Ajoute un rebond depuis le détail de la suggestion vers la notice bibliographique dans l'OPAC

[23594] Ajoute la possibilité de modifier par lot les types de document depuis la page des suggestions

    Cette amélioration permet aux utilisateurs de mettre à jour les types de document pour les suggestions sélectionnées sur la page de gestion des suggestions.
    

[23596] Ajoute la possibilité de modifier la 'raison' des suggestions à la réception du document

Le champ "raison" de la suggestion est souvent utilisé pour communiquer des informations supplémentaires sur une suggestion entre l'adhérent qui fait la suggestion et le membre du personnel qui la gère.

Cette amélioration permet au personnel de mettre à jour le champ à la réception du document et ainsi d'informer l'adhérent de l'état actuel du nouveau document.

[24158] Ajoute la possibilité de recevoir les documents dans plusieurs devises

    Cette amélioration ajoute une liste déroulante de devises au champ de coût réel sur le  panneau des détails comptables au moment de la réception.
    

[24161] Ajoute la possibilité de tracer les dates de réclamation des commandes en retard

Cette amélioration ajoute la possibilité de suivre plusieurs dates de réclamation pour une commande en retard et expose ces informations via les commandes en retard et les pages de panier de commande.

[24163] Ajoute la possibilité de définir un profil CSV pour l'export des commandes en retard

[24276] Ajoute une fonctionnalité pour appliquer des valeurs par défaut définies dans la grille ACQ pour les champs obligatoires lors de l'ajout de notices au panier à partir d'une source externe.

[24308] Ajoute la possibilité de trier par dates dans le tableau des suggestions

    Affiche les informations de dates et rôles dans des colonnes séparées afin qu'elles puissent être triées facilement.
    

[24819] Ajoute la possibilité pour les bibliothécaires de choisir un adhérent à la saisie d'une suggestion d'achat

Un professionnel peut désormais réserver un document pour un adhérent.

Architecture interne

[18936] Déplace issuingrules dans circulation_rules

Dans le cadre des efforts continus visant à simplifier et à améliorer le système de règles de circulation, la table issuingrules a été supprimée et remplacée par une nouvelle table circulation_rules.

Chaque rapport utilisant la table issuingrules devra être mis à jour pour utiliser la nouvelle structure.

[24103] Ajoute une option pour récupérer la requête de recherche dans les templates

Cette amélioration vous permet d'afficher la requête de recherche utilisée par Zebra ou Elasticsearch, pour aider au dépannage. Pour l'utiliser, activez la nouvelle préférence système DumpSearchQueryTemplate, activez DumpTemplateVarsIntranet et DumpTemplateVarsOpac, puis recherchez la source de la page dans l'interface pro ou OPAC pour «search_query».

Nouvelle préférence système: DumpSearchQueryTemplate désactivée par défaut.

Dans le code source, rechercher "search_query" jusqu'à voir :

[25045] Ajouter un moyen de restreindre l'accès anonyme aux routes publiques (comportement Opac Public)

Cette amélioration permet aux bibliothèques de désactiver l'OPAC mais d'autoriser l'activation des API publiques.

Nouvelle préférence système: RESTPublicAnonymousRequests activée par défaut

Authentification

[21190] Ajouter la journalisation des tentatives de connexion réussies / infructueuses

Cette amélioration ajoute deux nouvelles préférences de log AuthFailureLog et AuthSuccessLog afin de garder une trace des mauvaises tentatives de connexion et des réussites.

REMARQUE: dans certains pays, cela peut être une exigence en tant qu'application locale de la législation RGPD.

Nouvelles préférences système : AuthFailureLog et AuthSuccessLog désactivées par défaut

Catalogage

[3426] Ajoute le support de multiples valeurs à la préférence système ''itemcallnumber''

La préférence système itemcallnumber permet désormais de spécifier plusieurs champs à partir desquels Koha peut extraire une suggestion pour le itemcallnumber à utiliser lors de l'ajout d'exemplaires.

Par exemple, il est possible d'indiquer dans la préférence système : 676a,686a

  • si le champ 676$a de la notice est rempli, le 676$a sera reporté dans la cote de l'exemplaire
  • si le champ 676$a de la notice n'est pas rempli, mais que le 686$a l'est, c'est le 686$a qui sera reporté dans la cote de l'exemplaire

[7882] Ajoute la possibilité de déplacer et réordonner les champs et les sous-champs dans l'éditeur MARC

Cette fonction permet de changer l'ordre des champs et des sous-champs dans l'éditeur de catalogage en utilisant le glisser-déposer.

[8643] Ajoute la possibilité de marquer certains champs et sous-champs MARC comme importants et alerte lors de la sauvegarde de l'enregistrement s'ils s'avèrent vides

Cette fonctionnalité permet aux champs et sous-champs dans les grilles bibliographiques d'être marqués comme importants. L'attribut important déclenchera un message de confirmation lors de la sauvegarde de l'enregistrement, mais vous permettra de sauvegarder l'enregistrement sans remplir les champs.

[23349] Ajoute des opérations par lot aux résultats de recherche catalogue côté professionnel

Avec cette amélioration, il y a un nouveau menu «Modifier» dans la recherche catalogue qui permet «Modifier par lots», «Supprimer par lots» et «Fusionner» les enregistrements sélectionnés dans la liste de résultats. Ce menu s'active dès qu'au moins une notice est sélectionnée dans la liste de résultats.

[24173] Ajoute le sous-titre et la date de publication à la page de recherche dans l'éditeur avancé

Cette amélioration ajoute le sous-titre (toutes les parties) et la date de publication aux résultats qui apparaissent pour la recherche de l'éditeur marc avancé

[24452] Ajoute une trace visuelle pour les espaces dans l'éditeur avancé

Les espaces multiples seront maintenant mis en évidence en étant soulignés par une ligne tiret rouge dans l'éditeur marc avancé

[25231] Supprime l'alerte au remplacement d'une notice bibliographique via Z39.50

Circulation

[18355] Ajoute ‘permanent location’ à côté ‘shelving location’ pour la localisation panier

[21443] Ajout de la possibilité d'exclure les jours fériés lors du calcul des frais de location par période

Permet de configurer au niveau du type de document, si le calendrier sera pris en compte lors du calcul des frais de location horaires ou journaliers.

[23051] Ajoute la possibilité de renouveler optionnellement les exemplaire accumulant les amendes lorsque toutes les amendes sur exemplaire sont payées

Avec l'ajout d'une nouvelle préférence système RenewAccruingItemWhenPaid, il est possible de renouveler automatiquement les exemplaires avec des amendes en cours lors du paiement de ces amendes.

Nouvelles préférences système : RenewAccruingItemWhenPaid et RenewAccruingItemInOpac désactivées par défaut.

[24287] Ajoute la possibilité d'enregistrer ce qui a conduit à un transfert

Avec l'ajout du champ raison à la table branchtransfers, cela permet de suivre ce qui a déclenché un transfert, ce qui est utile à la fois pour un audit ultérieur et pour une utilisation ultérieure dans le code où nous pourrons avoir besoin d'annuler ou remplacer les transferts existants.

Utilitaires en ligne de commande

[18414] Ajoute la possibilité de transmettre un fichier de borrowernumber pour suppression à delete_patrons.pl

Ajoute la possibilité de spécifier un fichier avec l'option -file, qui doit être une liste de borrowernumber à supprimer.

Si cette option est utilisée sans autre option le script supprime la liste des adhérents, s'il y a d'autres options elle seront utilisées comme filtres sur la liste

[19008] Ajoute plus d'options au script cleanup database

Le script cleanup_database.pl inclut des options pour la suppression :

  • entrées de la table statistics
  • notices et exemplaires supprimés (deletedbiblio, deletedbiblioitems, deletedbiblio_metadata, deleteditems)
  • adhérents supprimés (deleted_patrons)
  • prêts rendus (old_issues)
  • réservations remplies ou annulées (old_reserves)
  • transferts terminés (branchtransfers)

Il est ainsi possible de supprimer automatiquement ces anciennes données après un certain temps.

[21865] Ajoute le support de Elasticsearch, et améliore la sortie du script remove_unused_authorities.pl

[23871] Ajoute la vérification ‘titre existe’ à search_for_data_inconsistencies.pl

[24340] Ajoute la possibilité de désactiver SIP via koha-sip

Cette amélioration ajoute les options –enable et –disable à la commande koha-sip du paquet Debian.

Usage:

  • koha-sip –enable instancename ⇒ Active le serveur Koha SIP
  • koha-sip –disable instancename ⇒ Désactive et stoppe le serveur Koha SIP

[24526] Ajoute des modes verbeux et de test au script automatic_renewals.pl

Cet ensemble de patches ajoute de nouvelles options au script automatic_renewals.pl pour permettre les modes test et verbeux.

Important : les correctifs rendent l'option –confirm requise, sans quoi le script sera exécuté en mode test. Les tâches cron planifiées existantes devront être mises à jour pour fournir cette option.

Exécuter sans –confirm sera par défaut aussi en mode verbeux.

[24651] Ajoute une option –maxdays au script fines.pl pour réduire les risques de repasser sur des amendes très anciennes déjà traitées

Améliore les performances sur script fines.pl en réduisant le nombre de lignes ciblées avec cette option –maxdays.

[24883] Ajoute l'utilitaire misc/load_yaml.pl pour permettre le chargement manuel des fichiers de données yaml

Durant le cycle 20.05 des améliorations ont été faites au mécanisme d'installation pour améliorer les mécanismes de traduction de cette partie. Plusieurs fichiers sql ont été déplacés dans des fichiers basés sur yaml.

Réserves de cours

[15377] Ajoute la possibilité d'enlever les exemplaires prêtés de la réserve de cours

Cette amélioration permet d'enlever des exemplaires présents dans une réserve de cours et en prêt. Auparavant, les éléments en prêt ne pouvaient pas être enlevés.

[22630]/[22970] Possibilité de changer le site propriétaire (homebranch) dans la réserve de cours

[23784]/[24343] Affiche le sous-titre, le numéro et le numéro de partie dans la liste d'exemplaires de la réserve de cours

Amendes et frais

[6508] Ajoute un onglet pour indiquer les frais

Avec cette amélioration, le montant des frais / crédits en attente sera affiché dans la description de l'onglet sur les pages de prêt et de détail d'un compte adhérent dans l'interface professionnelle. Lorsqu'il n'y a pas de frais en attente, l'onglet n'est pas visible.

[14898] Ajoute un bouton 'Enregistrer et payer' à l'ajout d'une facture manuelle

[17702] Configuration pour les types de crédit

Cela ajoute une nouvelle page de configuration pour les types de crédit dans le module d'administration.

Elle montre tous les types de crédits internes utilisés par Koha et permet de configurer des types de crédits supplémentaires.

Des types de crédit supplémentaires peuvent être utilisés pour les transactions anonymes avec la fonction Point de vente.

[24081] Ajoute un processus de "remise" sur les comptes

Permet de spécifier et d’appliquer une réduction sur les frais d’un usager. Le professionnel aura besoin de la nouvelle permission "remise" pour utiliser cette nouvelle fonctionnalité.

[24082] Ajouter une option de "remboursement" aux paiements anonymes

[24380] Ajoute une option pour recalculer les amendes pour un retour antérieur, de façon distincte de CalculateFinesOnReturn

Cette amélioration permet aux bibliothèques de définir une option de calcul des amendes pour un retour antidaté, distinctement de l'option plus large consistant à toujours recalculer les amendes lors du retour.

Nouvelle préférence système : CalculateFinesOnBackdate

[24492] Ajoute un workflow "d'encaissement à la bibliothèque" au système de point de vente

Cette amélioration ajoute une nouvelle page "Détails de la bibliothèque" au système de point de vente qui affiche un résumé des transactions de caisse pour une bibliothèque depuis le dernier état de caisse. Il permet également de faire l'état de caisse individuellement ou pour toutes les caisses d'une bibliothèque donnée en une seule opération.

Réservations

[16547] Pouvoir placer une réservation sur l'exemplaire à partir de la liste des résultats

[19718] Affiche un message à l'opac quand un adhérent réserve plusieurs fois le même document

[22284] Ajoute la possibilité de définir des groupes de localisations pour le retrait des réservations

[24547] Ajoute les logs d'action pour les réservations

Poser et remplir une réservation va créer des entrées dans les logs quand la préférence système HoldsLog est activée.

Pour rappel, les logs peuvent être consultés dans Outils/Visualiseur des logs

PEB

[23173] Le PEB doit rechercher dans les sources externes avant de créer la demande

Cette fonctionnalité ajoute l'infrastructure requise pour permettre aux plugins de disponibilité PEB d'intercepter le processus de création de demande et, à l'aide des métadonnées fournies, de rechercher et d'afficher les éléments pertinents possibles à partir des plugins de disponibilité installés.

Nouvelle préférence système : ILLCheckAvailability

Impression d'étiquettes et cartes adhérent

[7468] Impression de séries de codes-barres

Cette amélioration de l'outil de création d'étiquettes ajoute une option pour vous permettre de générer une plage de numéros de codes-barres (par exemple, de 05000 à 05500) et de les enregistrer au format PDF, prêt pour l'impression.

Notifications

[10269] Ajouter un moyen d'utiliser une adresse e-mail de réponse spécifique pour certaines notifications

Ces patches ajoutent les bases nécessaires pour utiliser une adresse de réponse si elle est transmise lors de l'appel d'EnqueueLetter. D'autres patches permettront d'ajouter des interfaces pour ajouter ces adresses.

[23673] Séparer l'heure d'envoi de l'heure de création dans la table message_queue

L'heure à laquelle un message a été créé et l'heure à laquelle il a été envoyé sont désormais des colonnes distinctes dans la table message_queue et seront affichées dans le compte adhérent dans l'onglet notification.

OPAC

[7611] Affiche les valeurs de la VA NOT_LOAN pour le statut des exemplaires dans la XSLT résultats OPAC

[13388] Ajoute des pages bibliothèque à l'OPAC

Ceci ajoute un nouveau lien "Bibliothèque" ou "Bibliothèques" à la navigation à l'OPAC, qui affiche une nouvelle page donnant les informations sur la ou les bibliothèques, à partir des données saisies dans l'administration des sites ; un rebond sur le nom de la bibliothèque donne les informations détaillées correspondantes.

[13547] Nouvelle colonne dans le tableau des exemplaires à l'OPAC pour afficher la colonne materials (Matériel d'accompagnement)

[14715] Paramétrage du nombre de résultats par page pour la recherche catalogue pro et OPAC

Cette amélioration ajoute une liste déroulante aux pages de résultats de recherche pro et OPAC, afin de choisir le nombre de résultats à afficher par page (20, 40, 60, 80, etc).

Ceci est activé par deux préférences système : OPACnumSearchResultsDropdown pour l'OPAC, et numSearchResultsDropdown pour l'interface professionnelle.

Le nombre de résultats par défaut est défini via les préférences système existantes OPACnumSearchResults et numSearchResults.

La fonctionnalité est opérationnelle pour Zebra et Elasticsearch.

[15775] Affiche un message sur le compte OPAC si les réservations sont bloquées en raison d'amendes

Ceci ajoute une note sur le compte adhérent à l'OPAC si l'utilisateur dépasse le montant maximum des amendes et ne peut plus réserver.

[22880]/[23794] Convertit les préférences système ''opacheader'' et "OpacMainUserBlock'' en annonces

[24913] Ajoute une option pour obliger les utilisateurs à saisir l'adresse e-mail deux fois lors de l'auto-inscription

Cette amélioration, lorsqu'elle est activée, oblige les utilisateurs qui se préinscrivent via l'OPAC à saisir manuellement leur adresse mail principale deux fois. Cela évite les erreurs de saisie du mail.

Nouvelle préférence système: PatronSelfRegistrationConfirmEmail désactivé par défaut.

Patrons

[3137] Permettre de replier des zones du formulaire d'ajout adhérent par défaut

Cette amélioration permet aux administrateurs de contrôler quels groupes de champs sont repliés par défaut sur le formulaire d'ajout adhérent.

Cliquer sur le nom du groupe de champ permet de les déplier / replier facilement

Nouvelle préférence système : CollapseFieldsPatronAddForm vide par défaut. Les zones à replier doivent êre cochées dans la sélection proposée au niveau de la préférence système

[20847] Ajoute les champs adresse, téléphone et mobile à la modification par lot des adhérents

[22534] Possibilité de choisir quels champs sont copiés du garant vers le garanti

Cette amélioration permet aux administrateurs de configurer quels champs de la fiche du garant seront copiés vers la fiche du garanti lors du lien entre les fiches.

Nouvelle préférence système : PrefillGuaranteeField remplie par défaut avec les champs phone, email, streetnumber, address, city, state, zipcode, country.

[24476] Permet aux adhérents de désactiver le renouvellement automatique

Le développement permet aux adhérents de désactiver pour eux les renouvellements automatiques ; le cron de renouvellement automatique va ignorer ces prêts, les exemplaires seront toujours renouvelables manuellement.

Les adhérents peuvent positionner eux-même cette option, ainsi que les professionnels sur le compte adhérent.

Nouvelle préférence système : AllowPatronToControlAutorenewal désactivée par défaut

Recherche

[18433] Sélectionner les résultats à exporter en recherche exemplaire

Cette amélioration à la recherche exemplaire professionnelle (Recherche > Recherche exemplaire) ajoute la possibilité d'exporter des exemplaires sélectionnés, et non plus uniquement tout le résultat de recherche

Recherche – Elasticsearch

[22828] Ajoute l'affichage des erreurs rencontrées durant l'indexation en ligne de commande

[22831] Ajoute un script de maintenance pour vérifier la base de données vs le nombre de notices indexées

[17674] Permettre la suppression par lot des fascicules

Il est possible de sélectionner plusieurs numéros à supprimer depuis la page Etat de collection dans le module périodiques.

Une case à cocher permet, en option, de supprimer les exemplaires liés.

  • [24877] Add link from vendor to linked subscriptions
    Adds a link on the vendor detail page to a subscription search for the vendor’s name to get a list of all linked subscriptions.
    

Staff Client

  • [17374] Make use of fields from syspref ‘DefaultPatronSearchFields’ in patron search fields dropdown
    This patch preserves the current dropdown choices for patron search, but adds fields additionally defined in the DefaultPatronSearchFields system preference to the list of available options.
  • [23601] Middle clicking a title from search results creates two tabs or a new tab and a new window in Firefox
    This fixes an issue in Firefox where middle-clicking or CTRL-clicking a title in the results screen of the staff client opens two new tabs.
  • [24522] Nothing happens when trying to add nothing to a list in staff 
  • [24617] Add title notes count in staff detail (following 24530) 
  • [24697] Split items.uri on staff detail view 
  • [24995] Add issuedate to table_account_fines and finest in Accounting tab 
  • [25027] Result browser should not overload onclick event 
  • [25053] PatronSelfRegistrationExpireTemporaryAccountsDelay system preference is unclear 

System Administration

  • [4944] Create separate noItemTypeImages preferences for OPAC and staff client
    With this patch the noItemTypeImages preference will be used for the staff interface, while a new preference OpacNoItemTypeImages is added for the OPAC. For existing installations, the OpacnoItemTypeImages will be set to the same value as noItemTypeImages on update, so there is no change in behaviour.
    New system preference: OpacNoItemTypeImages defaults to disabled.
  • [5614] Add sections/headings to Patron system preferences tab
    This enhancement organizes the patron system preferences into sections. This makes them easier to find, instead of being one long unorganized list.
  • [15668] Add column configuration to the items table in staff detail pages 
  • [15686] Rename “item level holds” circ rule column to “OPAC item level holds” 
  • [17016] Button to clear all fields in budget planningFinancé par Catalyst 
  • [20399] Remove “did you mean” for the staff interface 
  • [20415] Remove UseKohaPlugins system preference
    UseKohaPlugins system preferences is removed.

Koha plugins now only depends on config key enable_plugins.

  • [20484] Always show Elasticsearch configuration page when permission is set 
  • [20648] “Display in check-out” renamed to “Display in patron’s brief information” on patron attributes configuration page 
  • [21520] More complex OAI sets mappings
    Prior to this patchset, the rules used to create OAI sets are processed with the ‘or’

boolean operator between each rule.

    This patch allows to use ‘or’ or ‘and’ between the rules.
    The evaluation of the rules is done according to the boolean operators

precedence: AND has a higher precedence than OR.

  • [24193] Add CodeMirror linting of JavaScript, CSS, HTML, and YAML system preferences
    This enhancement adds CodeMirror plugins for linting system preferences that include JS, CSS, HTML, and YAML. When invalid data is entered in a linted CodeMirror editor an icon is displayed in the editor’s “gutter.” Hovering over the icon displays the error message.
  • [24291] Explanation next to limit item types by library is confusing
    This enhancement updates the explanation on the item type add and edit form for the ‘Library limitation’ field. The text now says “Select ‘All libraries’ if all libraries use this item type. Otherwise, select the specific libraries that use this item type.”
  • [24475] Reword FinesMode system preference 
  • [24576] StoreLastBorrower preference is in the wrong tab and is confusing 
  • [24844] Focus on the system preferences searchbar when going to admin homeFinancé par Catalyst 

Templates

  • [10469] Display more when editing subfields in frameworks 
  • [15352] Use URLLinkText instead of URL for item links 
  • [16457] Remove the use of “onclick” from the patron entry form 
  • [22468] Standardize on labeling ccode table columns as collection 
  • [23268] “Suspend all holds” calendar allows to select past date 
  • [23493] jquery.dataTables.rowGrouping.js is no longer maintained, but there is an official DataTables version we could switch to 
  • [23533] Reindent patron entry form (memberentrygen.tt) 
  • [23534] Use patron-title.inc on patron entry page 
  • [23856] Split author and ISBN/ISSN out of citation in staged MARC record management 
  • [23884] Merge strings.inc and browser-strings.inc 
  • [23889] Improve style of menu header in advanced cataloging editor
    This enhancement updates the styling of dropdown menu headers to make them apply more consistently across the system.
  • [24181] Improve the display of our datepickers 
  • [24341] Add support for more complex markup in OPAC confirmation dialogs 
  • [25135] Improve clarity and navigation of columns settings administration 
  • [25416] Add information about anonymous session for XSLT useFinancé par Universidad ORT Uruguay 

Test Suite

  • [22001] Add RaiseError and PrintError flags for all tests 
  

Tools

[18127] Possibilité d'ajouter les notices modifiées par lot à une liste existante

Avec cette amélioration il est possible d'ajouter toutes les notices issues d'une modification par lot réussie à une liste existante.

   
  • [19793] Add email to batch patron modificationFinancé par PTFS Europe
    With this enhancement the primary email of patrons can be changed using the batch patron modification tool.
    

[21959] Possibilité d'appliquer des expressions régulières aux zones de texte dans la modification par lot d'exemplaires

Ce patch ajoute un lien "Expression régulière" au formulaire de modification par lot des exemplaires, qui permet de réécrire le contenu des champs en utilisant des expressions régulières.

Par exemple ça peut être utilisé pour ajouter ou modifier des préfixes ou suffixes à des cotes ou des codes barre, ou pour réécrire des urls d'exemplaires.

TODO : mettre des exemples de regex
    
  • [23473] Add option to import/overwrite passwords when using the patron import toolFinancé par ByWater Solutions
    This adds a new checkbox to the patron import tool that will allow to overwrite patrons’ passwords with the password from the import file.
  • [24390] Add item total to rotating collections (addItems.tt) 

Web services

  • [24384] Add Access-Control-Allow-Origin support to OPAC reports svc
    Using the foundations laid with bug 24369 this enhancement allows the CORS headers to be set on the OPAC Reports SVC routes.
  • [24537] Add support for IP ranges in ILS-DI:AuthorizedIPs using Net::Netmask
    It’s now possible to not only allow a single IP, but multiple IPs, IP ranges and subnets access to the ILS-DI API.

Z39.50 / SRU / OpenSearch Servers

  • [11297] Add support for custom PQF attributes for Z39.50 server searches 
  • [21921] Add publication year to the Z39.50 search form for bibliographic records 

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

  • [24215] Warnings about guarantor relationships show ARRAY errors 

Acquisitions

  • [17667] Standing orders – cancelling a receipt increase the original quantity 
  • [22868] Circulation staff with suggestions_manage can have access to acquisition data 
  • [24242] Funds with no library assigned do not appear on edit suggestions page 
  • [24244] Cannot create suggestion with branch set to ‘Any’ 
  • [24277] Date Received in acquisitions cannot be changed 
  • [24294] Creating an order with ACQ framework using 00x fields doesn’t work with default value 
  • [24389] Claiming an order can display an invalid successful message 
  • [24672] Error on receiving orders when there is an order with a deleted record 
  • [25223] Ordered.pl can have poor performance on large databases 
  • [25473] Can’t add order from MARC file, save button does nothing 
  • [25563] Cannot submit “add order from MARC file” form after alert 

Architecture, internals, and plumbing

  • [13193] Make Memcached usage fork safeFinancé par National Library of Finland
    Important Note: You will need to make sure you install Cache::Memcached::Fast::Safe to continue to use memcached after this.
  • [21674] Data integrity not enforced for library groups 
  • [21761] Koha::Object supports passing through ‘update’ which means we can side step ‘set’ + ‘store’ 
  • [22522] API authentication breaks with updated Mojolicious version 
  • [23185] Koha::Objects supports passing through ‘update’ which means we can side step ‘set’ + ‘store’ 
  • [23290] XSLT system preferences allow administrators to exploit XML and XSLT vulnerabilities
    This patchset refines the XSLT processing configuration such that we are more secure by disallowing the processing of external stylesheets by default and adding a configuration option to re-enable the functionality.
  • [24243] Bad characters in MARC cause internal server error when searching catalog 
  • [24263] borrowers.relationship should not contain an empty string 
  • [24552] Koha does not work with Search::Elasticsearch 6.00 
  • [24719] C4::Context::set_remote_address() prevents file upload for non-Plack Koha 
  • [24727] Typo in circulation.js 
  • [24741] Recent creation of unique index on library_groups erroneously removes rows 
  • [24754] UserEnv not set for ISLDI requests 
  • [24788] Koha::Object->store calls column names as methods, relying on AUTOLOAD, with possibly surprising results 
  • [25009] opac-showmarc.pl allows fetching data directly from import batches 
  • [25040] Problematic current_timestamp syntax generated by DBIx::Class::Schema::Loader 
  • [25131] Web installer broken if enable_plugin is set 
  • [25142] Staff can access patrons’ infos from outside of their group 
  • [25481] koha-plack not working under D10 
  • [25485] TinyMCE broken in Debian package installs 
  • [25567] borrower_attribute_types.category_code must be set to undef if not set 
  • [25608] (regression) Inventory is broken 

Authentication

  • [16719] LDAP: Using empty strings as ‘failsafe’ attribute mapping defeats database constraints 
  • [24673] CSRF vulnerability in opac-messaging.pl 
  • [24878] Authentication check missing on calendar tools 

Cataloging

  • [13420] Holdings table sorting on volume information incorrect 
  • [24027] Adding multiple items is slow 
  • [25335] Use of an authorised value in a marc subfield causes strict mode SQL error 

Circulation

  • [24138] suspension miscalculated when Suspension charging interval bigger than 1 and Max. suspension duration is defined 
  • [24259] Circulation fails if no circ rule defined but checkout override confirmed 
  • [24441] Error when checking in an item with BranchTansferLimitsType set to itemtype 
  • [24474] Lost items that are checked out are always returned, even when attempting to renew them 
  • [24542] Checkout page – Can’t locate object method “search” via package “Koha::Account::DebitTypes” 
  • [24669] Editing circulation rule breaks holds when total holds unlimitedFinancé par National Library of Finland 
  • [24765] Updated on date in Claims returned starts off as 01/01/1970 
  • [24802] Updating holds can cause suspensions to apply to wrong hold 
  • [25133] Specify Due date changes from PM to AM if library has their TimeFormat set to 12hr 
  • [25184] Items with a negative notforloan status should not be captured for holds
    New system preference: TrapHoldsOnOrder defaults to enabled.
  • [25418] Backdated check out date loses time 
  • [25531] Patron may not be debarred if backdated return 

Command-line Utilities

  • [24164] Patron emailer cronjob is not generating unique content for notices 
  • [24527] misc/cronjobs/update_totalissues.pl problem with multiple items 
  • [25482] Wrong permissions in spec break Plack on Debian 10 

Course reserves

  • [23727] Editing course reserve items is broken 
  • [24772] Deactivating course reserves before deleting the same course empties/resets course reserve values in the items 
  • [25444] Course reserve settings are not saved on edit 

Database

  • [8132] Batch delete tool deletes items with holds on them 
  • [13518] Table borrower_modifications is missing FK and not deleted with the patron 
  • [24377] Record branch in statistics for auto-renewal 

Fines and fees

  • [23443] Paying off a lost fee will return the item, even if it is checked out to a different patron 
  • [24146] Paying Accruing Fines prior to return causes another accruing fine when returned 
  • [24177] Internal Server error when clicking cash register (Report) 
  • [24339] SIP codes are missing from the default payment_types on installation 
  • [24477] No permissions check for POS feature 
  • [24481] Incorrect permission in admin/cash_registers.pl 
  • [24532] Some account types are converted to debits when they shouldn’t be 
  • [24820] The cashup workflow should use the static ‘date’ field rather than the transient ‘timestamp’ field in accountlines 
  • [25123] MaxFines does not count the current updating fine 
  • [25127] Fines with an amountoutstanding of 0 can be created due to maxFine but cannot be forgiven 
  • [25139] POS explodes in error when trying to display older transactions 
  • [25389] Inconsistent naming of account_credit_type for lost and returned items 
  • [25417] Backdating returns and forgiving fines causes and internal server error 

Hold requests

  • [20567] “Holds per record (count)” limit is not enforced after item is captured for hold 
  • [20948] Item-level hold info displayed regardless its priority (detail.pl) 
  • [21944] Fix waiting holds at wrong location bug 
  • [24168] Errors with use of CanItemBeReserved return value 
  • [24350] Can’t place holds 
  • [24410] Multi holds broken 
  • [24485] AllowHoldPolicyOverride should allow Staff to override the Holds Per Record Rule 
  • [25516] Item/pickup_locations wantarray removed, so dies on Perl >=5.24 where “autoderef” feature absent 
  • [25556] Holds blocked when empty holdallowed value present in circulation_rules 

I18N/L10N

  • [24365] Using strict from TmplTokenizer.pm broke the translator script 
  • [25305] Double UTF-8 encoding on translation files 
  • [25501] Encoding issues in the translation process 

ILL

  • [24043] ILL module can’t show requests from more than one backend 
  • [24565] ILL requests do not display in patron profile in intranet 

Installation and upgrade (command-line installer)

  • [24316] Fix non-English web installers by removing obsolete authorised value MANUAL_INV 
  • [24445] Add missing Z3950 updates to Makefile.PL 
  • [24904] New YAML files for installer are slow to insert 
  • [25284] Can’t open /var/log/koha/kohadev/opac-error.log (Permission denied) 

Installation and upgrade (web-based installer)

  • [24137] Marc21 bibliographic fails to install for ru-Ru and uk-UA 
  • [24317] Sample patron data not loading for non-English installations 

MARC Authority data support

  • [22437] Subsequent authority merges in cron may cause biblios to lose authority information 
  • [24421] Generated authorities are missing subfields 

MARC Bibliographic record staging/import

  • [24348] Record matching rules: required match checks does not work 

Notices

  • [24235] /misc/cronjobs/advance_notices.pl DUEDGST does NOT send sms, just e-mail 
  • [24268] advance_notices.pl dies on undefined letter 

OPAC

  • [17896] BakerTaylorEnabled is not plack safe in the OPAC 
  • [24711] Can’t log in to OPAC after logout if OpacPublic disabled 
  • [24803] Clicking “Log in to your account” throws fatal Javascript error 
  • [24874] Printing is broken on opac-results.pl page 
  • [24980] Date formatting from JS – use timezone only with dates with offset 
  • [25024] OPAC incorrectly marks branch as invalid pickup location when similarly named branch is blocked 
  • [25086] OPAC Self Registration – Field ‘changed_fields’ doesn’t have a default valueFinancé par Orex Digital 
  • [25137] PatronSelfRegistrationLibraryList results in empty branch list on opac-memberentry.pl 

Packaging

  • [25068] koha-common build error caused by missing /etc/searchengine 
  • [25510] Typo in koha-common.postinst causing shell errors 
  • [25524] Debian packages always append to /etc/koha/sites/$site/log4perl.conf 
  • [25527] Package does not build because of missing log4perl.conf 
  • [25591] Update list-deps for Debian 10 and Ubuntu 20.04 

Patrons

  • [5161] Patron attributes clearing if duplicate warning 
  • [14759] Replacement for Text::Unaccent 
  • [24964] Do not filter patrons AFTER they have been fetched from the DB (when searching with permissions) 
  • [24988] autorenew_checkouts should default to yes 

REST API

  • [24191] Sorting doesn’t use to_modelFinancé par ByWater Solutions 
  • [24432] order_by broken for date columns 
  • [24487] build_query_params helper builds path parameter with matching criteria 
  • [25411] Plugin routes cannot have anonymous accessFinancé par ByWater Solutions 

Reports

  • [25000] SQL report not updated 

SIP2

  • [23403] SIP2 lends to wrong patron if cardnumber is missing 
  • [23640] L1 cache too long in SIP Server 
  • [24175] Cannot cancel holds – wrong parameter passed for itemnumber 
  • [24800] Koha does incomplete checkin when no return date is provided 
  • [24966] Fix calls to maybe_add where method call does not return a value 

Searching

  • [23970] itemsearch – publication date not taken into account if not used in the first field 
  • [24458] Search results don’t use Koha::Filter::MARC::ViewPolicy 

Searching – Elasticsearch

  • [23676] Elasticsearch – 0 is not a valid boolean for suppress 
  • [24123] bulkmarcimport.pl doesn’t support UTF-8 encoded MARCXML records 
  • [24269] Authority matching in Elasticsearch is broken when authority has subdivisions 
  • [24286] FindDuplicateAuthority does not escape forward slash in ‘GENRE/FORM’ 
  • [24506] Multibranch limit does not work with ElasticSearch 
  • [25050] Elasticsearch – authority indexing depends on mapping order 
  • [25342] Scripts not running under plack can cause duplication of ES records 

Serials

  • [21232] Problems when linking a subscription to a non-existing biblionumber 
  • [21901] Foreign keys are missing on the serials and subscriptions tables 
  • [25081] new item for a received issue is (stochastically) not created 

Staff Client

  • [24482] Purchase Items broken by costs containing a comma 
  • [24858] Incorrect labels on wording in ExcludeHolidaysFromMaxPickUpDelay system preference 

System Administration

  • [24329] Patron cardnumber change times are lost during upgrade for bug 3820 
  • [24670] Circulation and fine rules page has performance issues since issuingrules change 
  • [25601] Error when unsetting default checkout, hold and return policy for a specific library 
  • [25617] Error on about page when TimeFormat preference is set to 12hr 

Templates

  • [24241] Description missing for subpermission manage_accounts 
  • [24713] JavaScript error on staff client catalog search results page
    This patch modifies the output of template toolkit variables so that values in the in-page JavaScript are quoted. This avoids JavaScript errors when the template variable is empty.

Test Suite

  • [24817] Fix timing issues in t/db_dependant/Koha/Cash/Register.t 

Tools

  • [24900] Fix ‘MARC modification templates’ to not assume that ‘from field’ will match ‘conditional field’Financé par Catalyst
    This patch ensures MARC modification template actions work as expected when the ‘from field’ doesn’t match the ‘conditional field’.

Web services

  • [24531] OAI-PMH set mappings only consider first field with a given tag 
  • [24769] DataTable error on patron hold page when hold placed (ILS-DI and other bugs)
    This fixes a problem introduced by another patch in this release cycle. The patron’s hold page now correctly lists holds where holds are placed using ILS-DI (and in some other situations).

Z39.50 / SRU / OpenSearch Servers

  • [25277] Z3950responder keyword search does not work with Elasticsearch 6 

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

  • [24136] Update libraries (sponsors) on the about page 
  • [24402] Some roles missing from about page 
  • [25506] Perl undef warning on the “About Koha” page 
  • [25592] Add Devinim to about page 

Acquisitions

  • [5016] Fix some terminology and wording issues on English PDF order templates 
  • [9993] On editing basket group delivery place resets to logged in library 
  • [11161] Relabel ‘child fund’ to ‘sub fund’ 
  • [17611] Searching for orders uses misleading column name “Pending order” 
  • [21927] Acq: Allow blank values in pull downs in the item form when subfield is mandatory 
  • [22778] Suggestions with no “suggester” can cause errors 
  • [23031] Restore ‘Add to basket’ as immediately accessible option on vendor search page 
  • [23926] In EDI Order limit GIR segment to five pieces of information 
  • [24033] Fix column labelling on basket summary page (ecost) 
  • [24386] Double submit should be prevented when adding to a basket 
  • [24404] Add missing space on invoices page 
  • [24569] Cannot add to basket if it is the only action 
  • [24733] Cannot search for duplicate orders using ‘Basket created by’ field 
  • [25041] Links to ‘pending’ #ASKED tab in suggestions.pl is broken 
  • [25130] Reason for accepting/rejecting a suggestion is not visible when viewing (not editing)Financé par PTFS Europe 

Architecture, internals, and plumbing

  • [14711] C4::Reserves::AddReserves should take a hashref in parameters 
  • [16922] Add RewriteRule to apache-shared-intranet for dev package installs 
  • [17532] koha-shell -c does not propagate the error code
    Before this development, the koha-shell script would always return a successful error code, making it hard for the callers to notice there was a problem with the command being run inside the instance’s shell.
    This development makes koha-shell propagate the running scripts’ error code so the caller can take the required actions.
    Note: this implies a behaviour change (for good) but a warning should be added to the release notes.
    Right now it always returns
  • [17845] Printers related code should be removed 
  • [18227] Koha::Logger utf8 handling defeating “wide characters in print” 
  • [18308] Default value of minPasswordLength should be increased
    This patch increases the value of minPasswordLength to 8 characters to encourage more secure passwords, for all new installs.
  • [18670] RewriteLog and RewriteLogLevel unavailable in Apache 2.4 
  • [19809] Koha::Objects::find no longer need to be forbidden in list context 
  • [20370] Misleading comment for bcrypt – #encrypt it; Instead it should be #hash itFinancé par PTFS Europe 
  • [20882] URI column in the items table is limited to 255 characters 
  • [21684] Koha::Object[s]->delete methods must behave identically as the corresponding DBIx::Class ones 
  • [22098] The stocknumberAV cataloguing plugin should be updated to use Koha::Objects 
  • [22220] Error in ReWriteRule for ‘bib’ in apache-shared-intranet.conf 
  • [22685] Koha::Acquisition::Bookseller methods should return Koha::Objects using the DBIx::Class relationships 
  • [22943] The in_ipset C4::Auth function name can be confusingFinancé par Catalyst 
  • [23084] Replace grep {^$var$} with grep {$var eq $_} 
  • [23384] Calling Koha::Article::Status::* without “use” in Patron.pm can cause breakage 
  • [23407] XSLT Details pages don’t use items, we shouldn’t pass them 
  • [23896] logaction should pass the correct interface to Koha::Logger 
  • [23974] hours_between and days_between lack tests 
  • [24016] manager_id in Koha::Patron::Message->store should not depend on userenv aloneFinancé par Koha-Suomi Oy
    Using userenv within Koha::* object classes is deprecated in favour of passing parameters.
  • [24018] No need to die “Not logged in” 
  • [24051] batchMod.pl: DBIx::Class::ResultSet::search_rs(): search( %condition ) is deprecated 
  • [24089] Upgrade jQuery Validate plugin in the staff client 
  • [24106] In returns.pl, don’t search for item if no barcode is provided 
  • [24114] Remove warn statements from Koha::Patrons 
  • [24150] Add missing Koha::Old::*[s] classesFinancé par Association KohaLa 
  • [24213] Koha::Object->get_from_storage should return undef if the object has been deleted 
  • [24217] use strict for all modules 
  • [24313] XSLT errors should show in the logs 
  • [24367] With strict enabled, Search.t is too verbose 
  • [24388] Useless test in acqui/lateorders.tt 
  • [24457] K::A::Basket->to_api is not passing the parameters to the parent class implementation 
  • [24459] Overloaded ->to_api needs to pass $params through 
  • [24538] REMOTE_USER set to undef if koha_trusted_proxies contains invalid value 
  • [24573] Catmandu::Store::ElasticSearch and Catmandu::MARC are missing from cpanfile 
  • [24595] Warnings displayed by Circulation.t 
  • [24602] The fallback value for onshelfholds should be 0 
  • [24643] Koha::DateUtils::dt_from_string rfc3339 cannot handle high precision seconds 
  • [24647] PDF::API2::Simple is declared as a required dependency but it is not used 
  • [24693] GD is declared as an optional dependency but Koha dies without it 
  • [24722] reserves.priority must be NOT NULL 
  • [24725] xgettext does not support (yet) ES template literals 
  • [24760] BackgroundJob tests fail with latest versions of YAML or YAML::Syck 
  • [24809] OAI PMH can fail on fetching deleted records 
  • [24815] Koha::Cash::Register relations should return sets not undef 
  • [24830] dbic_merge_prefetch is not handling recursive cases correctly 
  • [25006] Koha::Item->as_marc_field generates undef subfields 
  • [25008] Koha::RecordProcessor->options doesn’t refresh the filters 
  • [25018] Jenkins is not running the test with $ENV{_} eq ‘prove’ 
  • [25019] Non standard initialization in ViewPolicy filter 
  • [25044] No need to define koha_object[s]_class for standard object class names 
  • [25095] Remove warn left in FeePayment.pm 
  • [25107] Remove double passing of $server variable to maybe_add in C4::SIP::Sip::MsgType 
  • [25311] Better error handling when creating/updating a patron 
  • [25423] Methods update and empty from Koha::Objects are not class methods 
  • [25535] Hold API mapping maps cancellationdate to cancelation_date, but it should be cancellation_date 

Authentication

  • [24333] AutoSelfCheckPass needs to be masked 

Cataloging

  • [5103] Dates in MARC details not formatted correctlyFinancé par Catalyst
    This fixes how dates are displayed for the list of items on the MARC view pages (in the OPAC and staff interface) and the add item page (staff interface) so that they use the ‘dateformat’ system preference.
  • [7947] 440/490 Koha Mapping 
  • [8595] Link to ‘host item’ confusingFinancé par Catalyst 
  • [9156] System preference itemcallnumber not pulling more than 2 subfields 
  • [11446] Authority not searching full corporate name with and (&) symbol 
  • [11500] Use dateformat syspref and datepicker on additems.pl (and other item cataloguing pages) 
  • [13574] Repeatable item subfields don’t show correctly in MARC view (OPAC and staff) 
  • [13775] Set main headings to mandatory in authority frameworks 
  • [15850] Correct eslint errors in cataloging.js 
  • [16683] Help links to fields 59X in cataloguing form are broken
    This fix updates the help links for 09x, 59x, and 69x fields in the basic and advanced MARC21 editor. The links now go to the correct Library of Congress documentation pages.
  • [17232] When creating a new framework from an old one, several fields are not copies (important, link, default value, max length, is URL) 
  • [17268] Advanced cataloging editor – rancor – macros are lost when browser storage cleared 
  • [18499] Make ‘Call number browser’ on edit items screen use the correct item specific classification scheme 
  • [19312] Typo in UNIMARC field 121a plugin 
  • [19313] Typo in UNIMARC field 130 plugin 
  • [21708] Editing a record moves field 999 to first in the marcxml 
  • [23777] Text converted to html entity codes in cataloguing edit form 
  • [23800] Batch modification tool orders items by barcode incremental by default (regression to 17.11) 
  • [23844] Noisy warns in addbiblio.pl when importing from Z3950 
  • [24090] Subfield text in red when mandatory in record edition 
  • [24185] ‘If all unavailable’ state for ‘on shelf holds’ makes holds page very slow if there’s a lot of items 
  • [24232] Fix permissions for deleting a bib record after attaching the last item to another bib 
  • [24236] Using quotes in a cataloging search, resulting in multiple pages, will not allow you to advance page 
  • [24305] Batch Item modification via item number in reports does not work with CONCAT in report 
  • [24323] Advanced editor – Invalid 008 with helper silently fails to save 
  • [24420] Cataloging search results Location column should account for waiting on hold items 
  • [24423] Broken link to return to record after batch item modification or deletion 
  • [24503] Missing use in value builder barcode_manual.pl 
  • [24789] Remove ‘ITS’ macro format
    During the initial Rancor (advanced cataloging editor) development an existing macro language was copied. As development continued a Rancor macro language was developed. The new language accomplished all needs of the prior language. The old macro language was intended to be removed before submission to community, but was missed. These patches remove the legacy support in favour of the Koha specific model.
  • [25248] Delete All Items should redirect to detail.pl, not additem.pl 
  • [25308] When cataloguing search fields are prefilled from record, content after & is cut off 

Circulation

  • [13557] Add hint for on-site checkouts to list of current checkouts in OPAC 
  • [15751] Koha offline circulation Firefox addon does not update last seen date for check-ins 
  • [23233] AllowItemsOnHoldCheckout is misnamed and should only work for for SIP-based checkouts 
  • [24085] Double submission of forms on returns.pl 
  • [24166] Barcode removal breaks circulation.pl/moremember.pl 
  • [24171] Cannot do automatic renewal with itemBarcodeFallbackSearch 
  • [24214] Due date displayed in ISO format (when sticky) 
  • [24257] item-transfer-modal does not initiate transfer when ‘yes, print slip’ is selected 
  • [24335] Cannot mark checkout notes seen/not seen in bulk 
  • [24337] Checkout note cannot be marked seen if more than 20 exist 
  • [24413] MarkLostItemsAsReturned functionality does not lift restrictions caused by long overdues 
  • [24456] previousIssuesDefaultSortOrder and todaysIssuesDefaultSortOrder sort incorrectly 
  • [24514] Holds Awaiting Pickup sorting by title before surname 
  • [24620] Existing transfers not closed when hold is set to waiting 
  • [24767] “Claim returned” feature cannot be turned off 
  • [24768] “Return claims” column is missing from column configuration page 
  • [24829] ClaimReturnedWarningThreshold is always triggered if patron has one or more claims 
  • [24839] branchtransfers does not deal with holds 
  • [24840] Datetime issues in automatic_renewals / CanBookBeReserved 
  • [25291] Barcode should be escaped everywhere in html code 
  • [25468] Preserve line breaks in hold notes 

Command-line Utilities

  • [19465] Allow choosing Elasticsearch server on instance creation 
  • [20101] Cronjob automatic_item_modification_by_age.pl does not log run in action logs 
  • [21466] Data inconsistencies – koha fields linked to AV cat values must have a corresponding authorised value 
  • [22025] Argument “” isn’t numeric in numeric eq (==) at /usr/share/perl5/DBIx/Class/Row.pm line 1018 for /usr/share/koha/bin/import_patrons.pl 
  • [24105] Longoverdue gives error message when –itemtypes are specified 
  • [24266] Noisy error in reconcile_balances.plFinancé par Horowhenua District Council 
  • [24324] delete_records_via_leader.pl cron error with item deletion 
  • [24397] populate_db.pl is out of sync and must be removed 
  • [24511] Patron emailer report not using specified email column 
  • [25157] delete_patrons.pl is never quiet, even when run without -v 
  • [25480] koha-create may hide useful error 

Course reserves

  • [24283] Missing close parens and closing strong tag in course reserves 
  • [24750] Instructor search does not return results if a comma is included after surname or if first name is included 

Database

  • [22273] Column article_requests.created_on should not be updated 
  • [24289] Deleting branch will not delete entry in special or repeatable holidays 
  • [24640] quotes.timestamp should default to NULL
    This fixes a problem with the QOTD tool – you can now add and edit quotes again.

Developer documentation

  • [22335] Comment on column suggestions.STATUS is not complete 

Documentation

  • [21633] Did finesMode = test ever send email? 
  • [25388] There is no link for the “online help” 

Fines and fees

  • [21879] Code cleaning in printinvoice.pl 
  • [22359] Improve usability of ‘change calculation’ (bug 11373) 
  • [24208] Remove change calculation for writeoffs 
  • [24490] Clarify wording and function of Purchase Items link on POS 
  • [24495] Reword change collection feature
    This patch changes the text “Collect from patron” to “Amount tendered” for all payment options in the patron record, and in the Point of Sale screen.
  • [24525] Hide SIP payment types from the Point of Sale page 
  • [24790] POS missing from the ‘More’ dropdown 
  • [25119] When paying or writing off a single fee, the account type doesn’t display correctly 
  • [25138] Terminology: Point of sale should use library instead of branch
    This fixes menu items and messages for the point of sale feature so that it uses ‘library’ instead of ‘branch’.

Hold requests

  • [19288] Holds placed on a specific item after a next available hold will show varied results 
  • [20708] Withdrawn status should show when placing a request in staff client 
  • [21296] Suspend hold ignores system preference on intranet 
  • [23934] Item level holds not checked for LocalHoldsPriority in Holds Queue 
  • [24510] When placing a hold, cursor doesn’t focus on patron name 
  • [24688] Hold priority isn’t adjusted correctly if checking out a middle priority holdFinancé par Chartered Accountants Australia and New Zealand 
  • [24736] “Enrollments” not correctly disabled when nobody is enrolled to a club yet 
  • [25421] Make Koha::Item and Koha::Biblio ->pickup_locations return an arrayref 

I18N/L10N

  • [18688] Warnings about UTF-8 charset when creating a new language 
  • [24046] ‘Activate filters’ untranslatable 
  • [24358] “Bibliographic record does not exist!” is not translatable 
  • [24636] Acquisitions planning sections untranslatable 
  • [24661] Inclusion of locale-related javascript files is broken 
  • [24734] LangInstaller is looking in wrong directory for js files 
  • [24808] Untranslatable strings in results.js 
  • [24870] Translate installer data label 
  • [24871] Add new -installer-.po translation files 
  • [25118] Return claims has some translation issues 
  • [25517] Koha.mo not found on package installations / Translations not working 

ILL

  • [21270] “Not finding what you’re looking” display needs to be fixed 
  • [24518] Partner filtering does not work in IE11 

Installation and upgrade (command-line installer)

  • [17464] Order deny,allow / Deny from all was deprecated in Apache 2.4 and is now a hard error 
  • [24328] Bibliographic frameworks fail to install 
  • [24851] No sample libraries for UNIMARC installations 
  • [24856] invalid itemtypes.imageurl in fr-FR sample data 
  • [24905] log4perl-site.conf.in missing entries for the z39.50 server 

Installation and upgrade (web-based installer)

  • [24872] Set languages system preferences after web install 
  • [24897] Remove es-ES installer data 

Label/patron card printing

  • [14369] Only show ‘Create labels’ link on staged records import when status is ‘Imported’ 
  • [23488] Line wrapping doesn’t always respect word order in Patron card creator 
  • [23514] Call numbers are not splitted in Label Creator with layout types other than Biblio 
  • [23900] Label maker cannot concatenate database fields 

MARC Authority data support

  • [24094] Authority punctuation mismatch prevents linking to correct records 
  • [24267] C4::Breeding::ImportBreedingAuth is ineffective 
  • [25428] Escaped HTML shows in authority detail view when subfield is a link 

MARC Bibliographic data support

  • [17831] Remove non-existing bibliosubject.subject mapping from frameworks 
  • [22969] fix biblionumber on 001 in UNIMARC XSLT 
  • [23119] MARC21 added title 246, 730 subfield i should display before subfield aFinancé par PTFS Europe 
  • [24274] New installations should not contain field 01e Coded field error (RLIN) 
  • [24281] Fix the list of types of visual materials 
  • [25082] Unknown language code if 041 $a is linked to an authorized value list 
  • [25410] MARC21 out of sync intranet/opac subfield descriptions 

MARC Bibliographic record staging/import

  • [24827] MARC preview fails when staged record contains items with UTF-8 characters 

Notices

  • [19014] Patrons should not get an ‘on_reserve’ notification if the due date is far into the future 
  • [23411] SMS messages sent as print should not fall back to ’email’ 
  • [23787] Add AUTO_RENEWALS in sample_notices.sql 
  • [24378] Change wording on AUTO_RENEWALS notice in updatedatabase 
  • [24612] expirationdate blank if patron has more than one item from bib on hold 
  • [24826] Use of uninitialized value $mail{“Cc”} in substitution (s///) at /usr/share/perl5/Mail/Sendmail.pm 

OPAC

  • [13327] OPACPopupAuthorsSearch doesn’t work with XSLT views
    This enhancement improves the OPACPopupAuthorsSearch feature so that it works in both the normal and XSLT views (OPACXSLTDetailsDisplay).
  • [17221] Orphan comma in shelf browserFinancé par California College of the Arts 
  • [17697] Improve NotesBlacklist system preference description to make clear where it will apply 
  • [17853] MARC21: Don’t remove () from link text for 780/785 
  • [17938] XSLT: Label of 583 is repeated for multiple tags and private notes don’t display in staff
    This fixes the display for records with multiple 583s. Previously the label “Action note” was repeated, now the label appears once and multiple fields are separated by a |. There is now a space between $z and other subfields.
    Private notes are now displayed in the staff interface.
    Notes:

Indicator 1 = private: These will not display in the OPAC. Indicator 1 = 0 or empty: These will display in the OPAC. The staff interface will display all 583s.

  • [18933] Unable to set SMS number in OPAC messaging preferences to emptyFinancé par Catalyst 
  • [22302] ITEMTYPECAT description doesn’t fall back to description if OPAC description is empty 
  • [22515] OPACViewOthersSuggestions if set to Show will only show when patron has made a suggestion 
  • [22821] Use reply-to address for item notes notifications if available to avoid being flagged as spam
    Prior to this patch when a patron added an item note the system would send a notification email to the branchemail with a from address of the patrons email.
    This patch updates the notification system to use the ‘reply-to’ address in preference to the ‘branchemail’ if it is defined and it also sets the ‘from’ address to the ‘branchemail’ and adds the patron email as a ‘reply-to’ as this was the intended functionality.
  • [23383] IdRef link appears even with syspref is off 
  • [23482] BakerTaylor images broken on OPAC lists 
  • [23527] BakerTaylorBookstoreURL is converted to escaped characters by template, rendering it invalid 
  • [23785] Software error Can’t call method “get_coins” on an undefined value at /usr/share/koha/opac/cgi-bin/opac/opac-search.pl line 692. 
  • [24061] Print List (opac-shelves.pl) broken in Chrome 
  • [24206] Change URLs for default options in OPACSearchForTitleIn
    Updates URLs for the default entries (sites now use https, and an update to the Open Library’s URL search pattern).
  • [24212] OPAC send list dialog opens too small in IEFinancé par Toi Ohomai Institute of Technology 
  • [24240] List on opac missing close form tag under some conditions 
  • [24245] opac-registration-confirmation.tt has incorrect HTML body id 
  • [24249] OPAC lists page should require login for login-dependent operations
    Enhancements to lists:
      ◦ Log in links to create a new list now take you to the ‘Create a new list’ form after you log in, instead of to your account summary page. 
      ◦ Logging in is required for any action other the viewing public lists. 
  • [24327] Anonymous suggestions should not be allowed if AnonymousPatron misconfigured 
  • [24345] Fix process of suggesting purchase of existing title for non-logged-in users 
  • [24371] OPAC ‘Showing only available items/Show all items’ is double encoded 
  • [24486] Account Wording Information is duplicated in Patron’s Fines Tab on OPAC 
  • [24523] Fix opac-password-recovery markup mistake 
  • [24560] Don’t show “Public Lists” in OPAC List menu if no public lists exist 
  • [24605] Series link from 830 is not uri encoded 
  • [24654] Trailing double-quote in RDA 264 subfield b on OPAC XSLT 
  • [24676] opac-auth.tt contains trivial HTML error 
  • [24706] Toolbar not rendered correctly when a list is empty 
  • [24745] OPAC news block plugin should evaluate as false if there are no items 
  • [24746] Duplicate id in opacheader markup 
  • [24854] Remove IDreamBooks integration 
  • [24892] Resolve some warnings in opac-memberentry 
  • [24957] OpenLibrarySearch shouldnt display if nothing is returned 
  • [24996] Unwanted CSS change unhides OPAC results sorting button 
  • [25004] Search results place hold button not enabled when checking result checkboxes on opac-search.pl 
  • [25038] OPAC reading history checkouts and on-site tabs not working 
  • [25136] PatronSelfRegistrationLibraryList controls both self-reg and self-modification 
  • [25211] Missing share icon on OPAC lists page 
  • [25233] Staff XSLT material type label “Book” should be “Text” 
  • [25274] JavaScript error in OPAC cart when more details are shown 
  • [25276] Correct hover style of list share button in the OPAC 
  • [25340] opac-review.pl doesn’t show title when commenting 

Packaging

  • [17084] Automatic debian/control updates (master) 
  • [25618] Upgrading Koha to packages made of latest master version breaks Z3950 

Patrons

  • [18680] sort1/sort1 dropdowns (when mapped to authorized value) have no empty entry 
  • [19791] Patron Modification log redirects to circulation page 
  • [21211] Patron toolbar does not appear on all tabs in patron account in staff 
  • [23808] Creating Child Guarantee doesn’t populate Guarantor InformationFinancé par South Taranaki District Council 
  • [24666] Non Koha Guarantors should be able to be seen from the Patron Detail page 
  • [24962] Don’t show floating toolbar when duplicate patron record was detected 
  • [25046] C4::Utils::DataTables::Members does not SELECT othernames from borrowers tableFinancé par Eugenides Foundation Library 
  • [25069] AddressFormat=”fr” behavior is broken 
  • [25299] Date not showing on Details page when patron is going to expire 
  • [25300] Edit details in “Library use” section uses bad $op for Expiration Date 
  • [25301] Category code is blank when renewing or editing expired/expiring patron 
  • [25309] Unable to save patron if streetnumber is too long 
  • [25452] Alternate email contact not displayed 

Plugin architecture

  • [25099] Sending a LANG variable to plug-in templateFinancé par Bibliothèque Universitaire des Langues et Civilisations (BULAC) 

REST API

  • [24366] Merging biblioitems should happen in Koha::Biblio->to_api 
  • [24462] Adjust K::A::Invoice API mapping to voted RFC 
  • [24554] Only embed relations from Koha::Biblio in to_api 
  • [24611] Wrong budget_id query parameter in /acquisitions/orders 
  • [24680] Hold modification endpoints don’t always work properly 
  • [24862] Wrong behaviour on anonymous sessionsFinancé par ByWater Solutions 
  • [24918] Wrong attribute mappings in Koha::Acquisition::Basket 
  • [25048] Successful resource deletion should return 204 
  • [25327] Cannot access API spec 
  • [25493] Koha::Logger is not suitable for using as Mojo::Log 
  • [25502] /advanced_editor/macros doesn’t follow coding guidelines 

Reports

  • [13806] No input sanitization where creating Reports subgroup 
  • [24614] Can’t edit reports if not using cache 
  • [24940] Serials statistics wizard: order vendor list alphabetically 
  • [24959] Fix id/label pairs in saved reports table 
  • [24976] Guided report – “Save” button on last step is misleadingFinancé par PTFS Europe 

SIP2

  • [24250] SIP2 returns debarred comment twice in patron screen message AF field 
  • [24449] SIP2 – too_many_overdue flag is not implemented 
  • [24553] Cancelling hold via SIP returns a failed response even when cancellation succeeds 
  • [24566] UpdateItemLocationOnCheckin triggers SIP2 alert flag, even with checked_in_ok enabled 
  • [24629] SIP2 logs garbage 
  • [24705] Holds placed via SIP will be given first priority 
  • [24993] koha-sip –restart is too fast, doesn’t always start SIP 
  • [25227] SIP server returns wrong error message if item was lost and not checked out 

Searching

  • [10879] OverDrive should check for OverDriveLibraryID before performing search 
  • [15142] Titles facet does not work in UNIMARC 
  • [19279] Performance of linked items in search 
  • [22937] Searching by library groups uses group Title rather than Description 
  • [23081] Make items.issues and deleteditems.issues default to 0 instead of null 
  • [24121] Item types icons in intra search results are requesting icons from opac images pathFinancé par Governo Regional dos Açores 
  • [24219] Elasticsearch needs to remember sort preference when returning to result list 
  • [24443] Consider NULL as 0 for issues in items search 

Searching – Elasticsearch

  • [17885] Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings throws DBD::mysql Duplicate entry exceptions 
  • [22426] Elasticsearch – Index location is missing in advanced search 
  • [22771] Sort by title does not consider second indicator of field 245 (MARC21)
    This Elasticsearch enhancement strips the initial characters from search fields in accordance with nonfiling character indicators.
  • [23521] ES 6 – limit terms with many words can make the search inaccurate 
  • [24128] Add alias for biblionumber => local-number 
  • [24902] Elasticsearch – different limits are joined with OR instead of AND 
  • [25229] Elasticsearch should use the authid (record id) rather than the 001 when returning auth search results 
  • [25278] Search fields cache must be separate for different indexes under Elasticsearch 
  • [25325] ElasticSearch mapping export lacks staff_client/opac fields 

Searching – Zebra

  • [25149] The Zebra language option for Greek should be ‘el’, not ‘gr’
    Please note that the configuration file (/etc/koha/koha-sites.conf) of existing installations that have been set up using ZEBRA_LANGUAGE=”gr” will not be affected by this change.

Self checkout

  • [21250] Auto-self-checkout not fully compatible with multi-branch library setup 
  • [21565] SCO checkout confirm should be modal 

Serials

  • [7046] subscription renewal period should be a pull down
    This enhancement changes the form for the serials renewal period for a subscription into a drop down list – this is consistent with the create subscription form.
  • [7047] Renewing serials note not visible 
  • [23064] Cannot edit subscription with strict SQL modes turned on 
  • [23888] Incorrect vendor id in subscription creation causes internal server error 
  • [24903] Special characters like parentheses in numbering pattern cause duplication in recievedlist 
  • [24941] Serials: Link to basket in acqusition details is broken 

Staff Client

  • [13305] Fix tab order in cataloguing/item editor 
  • [20501] Unhighlight in search results when the search terms contain the same word twice removes the word 
  • [22381] Wording on Calendar-related system preferences not standardized 
  • [23246] Record detail page jumps into the ‘images’ tab if no holdingsFinancé par American Numismatics Society 
  • [23987] batchMod.pl provides a link back to the record after the record is deleted 
  • [24515] Column Configuration for pay-fines-table does not hide Account Type properly 
  • [24516] Column Configuration does not hide Return Date
    This fixes an issue where hiding the return date column for the “Pay Fines” and “Account Fines” screens does not work.
  • [24540] Unexpected behaviour on ‘enter’ in point of sale payment fields 
  • [24549] Cookies for last patron link are always set – even if showLastPatron is turned off 
  • [24646] RoundFinesAtPayment is not a self check in preference 
  • [24649] Cloning item subfields misses a 
  • tag 
  • [24747] Library Transfer Limit page incorrectly describes its behavior 
  • [24838] Help link from patron categories should go to relevant manual page 
  • [24848] Help link from label creator batch/layout/template points to card creator in manual 
  • [25007] AmazonCoverImages doesnt check for ISBN in details.tt
    This fixes the display of cover images in the staff interface where there is no ISBN and both Amazon and local cover images are enabled.
    Covers different combinations:
      ◦ Amazon cover present, no local cover. 
      ◦ No Amazon cover, local cover image present. 
      ◦ Both Amazon and local cover image present. 
  • [25022] Display problem in authority editor with repeatable field 
  • [25072] Printing details.tt is broken 
  • [25224] Add “Large Print” from 008 position 23 to default XSLT 

System Administration

  • [10561] DisplayOPACiconsXSLT and DisplayIconsXSLT descriptions should be clearer 
  • [17355] Authorised value categories cannot be deleted 
  • [24025] Make CodeMirror content searchable 
  • [24170] sysprefs search result does not have a consistent order 
  • [24184] Reword FallbackToSMSIfNoEmail syspref text 
  • [24394] Typo when adding a new cash register 
  • [24395] Floats in cash registers have 6 decimals 
  • [24682] Clarify UsageStatsGeolocation syspref description and behaviour 
  • [25005] Admin Rights issue for Suggestion to Purchase 
  • [25120] In system preference editor first tab is now Accounting and not Acquisitions 

Templates

  • [11281] Add column configuration to ‘Holds awaiting pickup’ tables allowing to print both tables separately 
  • [23113] members/pay.tt account_grp is not longer used
    This patch removes markup that is no longer required in the pay.tt template (this template is used in the accounting section for patrons).
  • [23433] Make consistent use of patron-title.inc in hold confirmation dialogs 
  • [23536] Remove obsolete category markup from patron entry 
  • [23753] Add missing humanMsg library to pages using background job JavaScript 
  • [23885] Move staff client search results JavaScript into separate file
    As part of the coding guidelines (JS1 – Whenever possible JavaScript should be placed in a separate file), this patch patch moves most of the JavaScript embedded in results.tt for the staff interface into a separate file.
  • [23944] Phase out use of jquery.cookie.js in favor of js.cookie.js 
  • [23947] Phase out jquery.cookie.js: Authority merge 
  • [23956] Replace famfamfam calendar icon in staff client with CSS data-url 
  • [23957] Remove button style with famfamfam icon background and replace with Font Awesome 
  • [24053] Typo in FinePaymentAutoPopup description 
  • [24054] Typo in ClaimReturnedWarningThreshold system preference 
  • [24056] Capitalization: Cash Register ID on cash register management page 
  • [24057] Hea is not an acronym 
  • [24059] Remove unused Greybox assets from detail.tt 
  • [24098] Standardize Fines/Fees & Charges
    This patch implements a terminology change – using ‘charges’ instead of ‘fines’ or ‘fees’ (this is also the same terminology used in the OPAC).
  • [24104] Item search – dropdown buttons overflow 
  • [24110] Template vars are incorrectly html filtered when dumped 
  • [24126] Article requests tab appears twice on patron’s checkout screen 
  • [24169] Advanced editor: icons/buttons for sorting the search results are missing 
  • [24230] intranet_js plugin hook is after body end tag 
  • [24282] SCSS conversion broke style in search results item status 
  • [24363] Datepicker calendar is not always sexy
    This bug fixes display issues with the date picker and some other style changes that were inadvertently introduced by bug 24181.
  • [24373] Correct basic cataloging editor CSS 
  • [24391] Remove event attributes from patron clubs edit template 
  • [24393] Remove event attributes from patron clubs list template 
  • [24433] OPAC account page no longer asks for confirmation before deleting hold 
  • [24619] Phase out jquery.cookie.js: MARC Frameworks 
  • [24621] Phase out jquery.cookie.js: Basic MARC editor 
  • [24627] Correct style of clubs search results during hold process 
  • [24776] Remove useless Borrowers Template Toolkit plugin 
  • [24777] Use patron.is_debarred instead of patron.debarred in return.tt 
  • [24798] smart-rules.tt has erroneous comments 
  • [24875] Remove extra punctuation from tools home page 
  • [24876] Fix capitalization on patron search for holds 
  • [24886] Reports template should be reindented 
  • [24939] Labels in system preferences not following capitalization rules 
  • [24963] Terminology: auto renewal, auto-renewal or autorenewal? 
  • [25002] JS Includes should be wrapped with template comments 
  • [25010] Fix typo in debit type description: rewewal 
  • [25012] Fix class on OPAC view link in staff detail page 
  • [25013] Fix capitalization: Edit Items on batch item edit 
  • [25014] Capitalization: Call Number in sort options in staff and OPAC 
  • [25016] Coce should not return a 1-pixel Amazon cover image
    This patch improves the display of cover images where Coce is enabled and Amazon is a source. Where the image from Amazon is a 1×1 pixel placeholder (meaning Amazon has no image) it is no longer displayed.
  • [25176] Styling problem with checkout form 
  • [25186] Lots of white space at the bottom of each tab on columns configuration 
  • [25282] Menu for Action menubutton in dataTables like MARC frameworks page separated from the button 
  • [25343] Use of item in review/comment feature is misleading 
  • [25409] Required dropdown missing “required” class near label 

Test Suite

  • [22860] Selenium tests authentication.t does not remove all data it created 
  • [22898] Selenium tests for placing holds from the staff interface 
  • [23274] t/db_dependent/XISBN.t fails with Elasticsearch 
  • [24002] Test suite is failing on MySQL 8 
  • [24144] regressions.t tests have not been updated after bug 23836 
  • [24145] Auth.t is failing because of wrong mocked ->param 
  • [24199] t/Auth_with_shibboleth.t is failing randomly 
  • [24200] Borrower_PrevCheckout.t failing randomly 
  • [24229] /items API tests fail on Ubuntu 18.04 
  • [24361] Fix warnings (or failing tests) from bug 24217 
  • [24396] Suggestions.t is failing with MySQL 8 
  • [24408] Comparing floats in tests should not care about precision 
  • [24494] 00-valid-xml.t shouldn’t check node_modules 
  • [24507] Checkouts/ReturnClaim.t is failing on MySQL 8 
  • [24509] API related tests failing on MySQL8 
  • [24543] Wrong test in api/v1/checkouts.t 
  • [24546] Club/Hold.t has a wrong call to build_sample_item 
  • [24590] Koha/Object.t is failing on MySQL 8 
  • [24657] Fix tests of bug 22284 – Groups of pickup locations for holds 
  • [24739] Buster ships with Net::Netmask 1.9104 which supports IPv6 
  • [24753] Typo in filepath for test t/Koha/Middlware/RealIP.t 
  • [24756] Occasional failures for Koha/XSLT/Security.t 
  • [24757] t/db_dependent/Koha/Patrons.t get_age fails on February 28 in a Leap Year 
  • [24801] selenium/administration_tasks.t failing if too many categories/libraries displayed 
  • [24813] api/v1/holds.t is failing randomly 
  • [24881] Circulation.t still fails if tests are ran slowly 
  • [24901] C4::Circulation::transferbook lacks tests 
  • [25513] Integer casting in Koha::Object->TO_JSON causes random test failures 
  • [25540] Biblio.t is failing randomly 

Tools

  • [9422] Patron picture uploader ignores patronimages syspref 
  • [10352] Cataloguing log search mixing itemnumber/bibnumber 
  • [14647] When exporting records, the file name extension should match the selected export formatFinancé par Catalyst
    This enhancement to the catalog export data tool automatically changes the file extension in the file name to the selected export format (such as as CSV, or XML), rather than leaving it as .mrc.
  • [17510] MARC modification templates ignore subfield $0 
  • [19475] Calendar copy creates duplicatesFinancé par Koha-Suomi Oy 
  • [22245] MARC modification templates does not allow move or copy control fields 
  • [23236] Remove ‘its items may still be processed’ in action if no match is found 
  • [23377] bulkmarcimport.pl disables syspref caching 
  • [24124] Cannot select authorities in batch deletion tool in Chrome 
  • [24275] Inventory table should be sortable by title without leading articles (allow for title sort with anti-the) 
  • [24330] When importing patrons from CSV, automatically strip BOM from file if it exists 
  • [24484] Add explanatory text to batch patron deletionFinancé par PTFS Europe 
  • [24497] CodeMirror indentation problems 
  • [24764] TinyMCE shouldnt do automatic code cleanup when editing HTML in News Feature 
  • [24982] Update the log viewer to use checkboxes instead of select listsFinancé par Catalyst
    This patch changes the dropdowns in the Log viewer to checkboxes so that the user can see all of their available options and select multiple options more easily.
  • [25020] Extending due dates to a specified date should preserve time portion of original due date 
  • [25247] Exporting ‘modification log’ to a file should not send objects 
  • [25249] When viewing a patron’s modification log we should see both the MEMBERS and CIRCULATION modules 
  • [25250] JS code for checkboxes also affects hidden modules inputs 

Web services

  • [23531] ILS-DI doesn’t implement needed_before_date and pickup_expiry_date parameters (renamed start_date and expiry_date)
    This patch implements the documented “start_date” and “expiry_date” parameters for hold requests using Koha’s ILS-DI service.
    Note: the previously documented but not implemented parameter names were changed:
      ◦ needed_before_date => start_date 
      ◦ pickup_expiry_date => expiry_date 

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. Refactoring

  • C4::Members::Attributes has been moved to Koha::Patron::Attributes. 
      ◦ GetBorrowerAttributeValue has been replaced by Koha::Patron->get_extended_attribute_value 
      ◦ GetBorrowerAttributes has been replaced by Koha::Patron->get_extended_attributes 
      ◦ DeleteBorrowerAttribute has been replaced by Koha::Patron->get_extended_attribute->delete 
      ◦ UpdateBorrowerAttribute and SetBorrowerAttributes has been replaced by Koha::Patron->extended_attributes($attributes) 
      ◦ C4::Members::AttributeTypes::GetAttributeTypes has been replaced by Koha::Patron::Attribute::Types->filter_by_branch_limitations 
  • C4::Items CRUD subroutines have moved to Koha::Item 
      ◦ Pay special attention to Koha::Item->store, ->delete and ->safe_delete 
  • QueryParser has been completely removed from the codebase 
  • The issuingrules table has been completely removed in favour of using the new circulation_rules table. Please use Koha::CirculationRules now 
  • Dependancy management has been moved from the customer Koha code into a cpanfile 

Dev tools A number of developer tools and processes have been refined

  • misc/devel/update_dbix_class_files.pl now defaults to using koha-conf.xml so you are not required to always append parameters now to run the script 
  • The installer files are now translatable using the pootle process 
      ◦ A new YAML format has been migrated to for the installer files 
      ◦ A new command line script may be used to load the new yaml formatted installer files manually where required 
      ◦ Work is ongoing to migrate and remove the original .SQL files which are still supported during the period of the migration (bug 24897 is a good example of the process) 
      ◦ Work is underway to add a ‘localization’ process to the installer allowing for localization to be applied distinctly to translation 
  • Strings found inside JavaScript are now directly translatable
    Prior to bug 21156 a translatable string would have taken the form
        var my_string = _("my string"); # Within the .tt
        alert(my_string); # Within the .js
    Now we can simply use
        alert(__("my string"); # Note the double underscore
  • The database update script now outputs timestamps and skeleton.perl has an updated simplified syntax to follow 
  • Koha::Script added support for simple execution locking: fines.pl is a good example of how to utilise the new functionality 

Plugins support A number of improvements have been made to the plugins system to allows better discoverability and code interaction

  • One can configure the new `plugin_repos` config option to point to their github organisation to allow plugins to be discovered by end users in the koha staff client 
  • Additional hooks have been added in this release, please see the ‘Plugin architecture’ section above. 

API Enhancements The code that is used to implement the REST API has seen many relevant structural changes on this release. Several generic methods have been added to the Koha::Object(s) classes:

  • to_api [23770] [23843] 
  • new_from_api [23893] 
  • set_from_api [23893] 
  • attributes_from_api 
  • from_api_mapping 

They are designed to simplify DB ↔ API attribute name mapping. They allowed us to make our controllers thin and really simple to read and understand (and thus maintain). Tests become easier to write as well. One of the goals behind this move to Koha::Object-level, was that we intended to embed arbitrary data on the responses. So the attribute mapping responsibility (between the DB and our OpenAPI spec) was moved from the controllers to the Koha::Object(s) level (i.e. for an arbitrary object you can now ask for its API representation like in $patron→to_api). This ‘to_api’ method is designed to be passed parameters. Right now it only accepts the ’embed’ parameter which expects a hashref representing the recursive data structures we would like to embed in the object representation (see POD for more details). For example: my $api = $patron→to_api({ embed ⇒ { children ⇒ { checkouts ⇒ {} } } }) will make the resulting $api variable contain the representation of the Koha::Patron object, with the added ‘checkouts’ attribute, which will be the result of calling $patron→checkouts→to_api and so on (if more nested objects need to be included). [24228]. A special syntax has been added for requiring counts (for result sets). And there is a plan to add a ‘for_opac’ parameter so we know what kind of representation we need to generate. There’s been some discussion about having a ‘brief’ representation of objects as well, for some use cases but that’s an ongoing discussion. The API spec got its counter-part additions: an ‘x-koha-embed’ attribute that specifies what things are allowed to be requested for embedding on a route. A special syntax was added to request counts (for example, x-koha-embed: [ checkouts+count] will be interpreted as a request to get the count, and will be placed in an attribute called checkouts_count) [24302] [24321] [24528]. Now we are embedding things, it was natural to think we would like to:

  • automatically build DBIC queries that would prefetch the required tables [24356] 
  • filter by those nested objects in a WHERE condition [24487] 
  • order by those nested properties [24615] 

All the above features have been introduced as well. And the last bit, we introduced a ‘q’ parameter that allows building DBIC-ish queries on the resources we are fetching, as well as on the nested resources. [24487] [24502] New sysprefs

  • AccessControlAllowOrigin 
  • AllowItemsOnHoldCheckoutSIP 
  • AllowPatronToControlAutorenewal 
  • AuthFailureLog 
  • AuthSuccessLog 
  • CalculateFinesOnBackdate 
  • CirculateILL 
  • CollapseFieldsPatronAddForm 
  • DumpSearchQueryTemplate 
  • EnablePointOfSale 
  • IllCheckAvailability 
  • MaxTotalSuggestions 
  • NumberOfSuggestionDays 
  • OPACReportProblem 
  • OPACnumSearchResultsDropdown 
  • OpacBrowseSearch 
  • OpacNoItemTypeImages 
  • PatronSelfRegistrationConfirmEmail 
  • PrefillGuaranteeField 
  • RESTPublicAnonymousRequests 
  • RenewAccruingItemInOpac 
  • RenewAccruingItemWhenPaid 
  • SCOAllowCheckin 
  • TrapHoldsOnOrder 
  • UseCirculationDesks 
  • numSearchResultsDropdown 

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

  • Koha Documentation 

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

  • Koha Manual 

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 (84.9%) 
  • Armenian (100%) 
  • Chinese (Taiwan) (89.1%) 
  • Czech (81.4%) 
  • English (New Zealand) (68.2%) 
  • English (USA) 
  • Finnish (70.2%) 
  • French (90.5%) 
  • French (Canada) (89.5%) 
  • German (100%) 
  • German (Switzerland) (76%) 
  • Greek (61%) 
  • Hindi (100%) 
  • Italian (81.8%) 
  • Norwegian Bokmål (79.9%) 
  • Polish (74.9%) 
  • Portuguese (86.7%) 
  • Portuguese (Brazil) (88%) 
  • Slovak (71.5%) 
  • Spanish (100%) 
  • Swedish (79.3%) 
  • Turkish (91.6%) 
  • Ukrainian (71.2%) 

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

  • Release Manager: Martin Renvoize 
  • Release Manager assistants: 
      ◦ Tomás Cohen Arazi 
      ◦ Jonathan Druart 
  • QA Manager: Katrin Fischer 
  • QA Team: 
      ◦ Jonathan Druart 
      ◦ Marcel de Rooy 
      ◦ Joonas Kylmälä 
      ◦ Josef Moravec 
      ◦ Tomás Cohen Arazi 
      ◦ Nick Clemens 
      ◦ Kyle Hall 
  • Topic Experts: 
      ◦ SIP2 — Colin Campbell 
      ◦ EDI — Colin Campbell 
      ◦ Elasticsearch — Fridolin Somers 
      ◦ REST API — Tomás Cohen Arazi 
      ◦ ILS-DI — Arthur Suzuki 
      ◦ UI Design — Owen Leonard 
      ◦ ILL — Andrew Isherwood 
  • Bug Wranglers: 
      ◦ Michal Denár 
      ◦ Cori Lynn Arnold 
      ◦ Lisette Scheer 
      ◦ Amit Gupta 
  • Packaging Manager: Mason James 
  • Documentation Managers: 
      ◦ Caroline Cyr La Rose 
      ◦ David Nind 
  • Documentation Team: 
      ◦ Donna Bachowski 
      ◦ Lucy Vaux-Harvey 
      ◦ Sugandha Bajaj 
  • Translation Manager: Bernardo González Kriegel 
  • Release Maintainers: 
      ◦ 19.11 — Joy Nelson 
      ◦ 19.05 — Lucas Gass 
      ◦ 18.11 — Hayley Mapley 
  • Release Maintainer mentors: 
      ◦ 19.11 — Martin Renvoize 
      ◦ 19.05 — Nick Clemens 
      ◦ 18.11 — Chris Cormack 

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

  • American Numismatics Society 
  • Association KohaLa 
  • Athens County Public Libraries 
  • Athlone Institute of Technology 
  • BibLibre 
  • Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) 
  • Bibliothèque Universitaire des Langues et Civilisations (BULAC) 
  • ByWater Solutions 
  • California College of the Arts 
  • Camden County 
  • Catalyst 
  • Centre collégial des services regroupés 
  • Chartered Accountants Australia and New Zealand 
  • Cheshire Libraries Shared Services 
  • City of Nîmes 
  • Cork Institute of Technology 
  • Eugenides Foundation Library 
  • Governo Regional dos Açores 
  • Horowhenua District Council 
  • Hypernova Oy 
  • Institute of Technology Tralee 
  • Koha-Suomi Oy 
  • Loughborough University 
  • National Library of Finland 
  • Orex Digital 
  • PTFS Europe 
  • Public Health England 
  • Region Halland 
  • South Taranaki District Council 
  • Toi Ohomai Institute of Technology 
  • Universidad ORT Uruguay 
  • Université Jean Moulin Lyon 3 
  • Vermont Organization of Koha Automated Libraries 
  • Waitaki Distict Council 

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

  • Aleisha Amohia (35) 
  • Pedro Amorim (1) 
  • Tomás Cohen Arazi (190) 
  • Alex Arnaud (12) 
  • Cori Lynn Arnold (2) 
  • Oliver Behnke (2) 
  • Philippe Blouin (1) 
  • David Bourgault (4) 
  • Christopher Brannon (5) 
  • Alex Buckley (7) 
  • Colin Campbell (1) 
  • Nick Clemens (173) 
  • David Cook (18) 
  • Simith D’oliveira (1) 
  • Frédéric Demians (2) 
  • Jonathan Druart (634) 
  • Gus Ellerm (1) 
  • Magnus Enger (3) 
  • Charles Farmer (5) 
  • Katrin Fischer (108) 
  • Andrew Fuerste-Henry (8) 
  • Lucas Gass (28) 
  • Didier Gautheron (3) 
  • Victor Grousset (1) 
  • David Gustafsson (6) 
  • Kyle Hall (75) 
  • Rogan Hamby (2) 
  • Mehdi Hamidi (1) 
  • Andrew Isherwood (27) 
  • Mason James (5) 
  • Andreas Jonsson (2) 
  • Janusz Kaczmarek (1) 
  • Pasi Kallinen (1) 
  • Olli-Antti Kivilahti (1) 
  • Ulrich Kleiber (1) 
  • Bernardo González Kriegel (50) 
  • David Kuhn (1) 
  • Joonas Kylmälä (19) 
  • Nicolas Legrand (4) 
  • Owen Leonard (118) 
  • Ere Maijala (5) 
  • Hayley Mapley (1) 
  • Julian Maurice (24) 
  • Kelly McElligott (1) 
  • Grace McKenzie (1) 
  • Matthias Meusburger (6) 
  • Josef Moravec (20) 
  • Agustín Moyano (39) 
  • David Nind (1) 
  • Andrew Nugged (5) 
  • Eric Phetteplace (1) 
  • Liz Rea (4) 
  • Martin Renvoize (433) 
  • Phil Ringnalda (4) 
  • David Roberts (17) 
  • Marcel de Rooy (87) 
  • Caroline Cyr La Rose (6) 
  • Andreas Roussos (6) 
  • Lisette Scheer (4) 
  • Robin Sheat (1) 
  • Slava Shishkin (3) 
  • Joe Sikowitz (1) 
  • Maryse Simard (13) 
  • Fridolin Somers (33) 
  • Arthur Suzuki (2) 
  • Emmi Takkinen (3) 
  • Lari Taskula (4) 
  • Theodoros Theodoropoulos (1) 
  • Pierre-Marc Thibault (1) 
  • Mirko Tietgen (1) 
  • Mark Tompsett (1) 
  • Koha Translators (2) 
  • Petro Vashchuk (4) 
  • George Veranis (2) 
  • Ian Walls (1) 
  • Jesse Weaver (6) 
  • Mengü Yazıcıoğlu (3) 
  • Nazlı Çetin (6) 
  • Radek Šiman (1) 

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

  • Aristotle University Of Thessaloniki (Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης) (1) 
  • Athens County Public Libraries (118) 
  • BibLibre (79) 
  • Bibliotheksservice-Zentrum Baden-Württemberg (BSZ) (109) 
  • Bibliothèque Universitaire des Langues et Civilisations (BULAC) (4) 
  • ByWater-Solutions (286) 
  • Catalyst (9) 
  • Chetco Community Public Library (4) 
  • Coeur D’Alene Public Library (5) 
  • Dataly Tech (6) 
  • David Nind (1) 
  • Devinim (9) 
  • Equinox Open Library Initiative (1) 
  • Fenway Library Organization (1) 
  • Göteborgs Universitet (6) 
  • Hypernova Oy (4) 
  • Independant Individuals (95) 
  • Koha Community Developers (636) 
  • Koha-Suomi (1) 
  • KohaAloha (5) 
  • Kreablo AB (2) 
  • Latah County Library District (1) 
  • Libriotech (3) 
  • Max Planck Institute for Gravitational Physics (2) 
  • Mirko Tietgen (1) 
  • Prosentient Systems (18) 
  • PTFS-Europe (478) 
  • R-Bit Technology (1) 
  • Rijks Museum (85) 
  • Solutions inLibro inc (32) 
  • Tamil (2) 
  • The Donohue Group (2) 
  • Theke Solutions (229) 
  • Universidad Nacional de Córdoba (50) 
  • University of Helsinki (24) 

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

  • Hugo Agud (3) 
  • Aleisha Amohia (4) 
  • Tomás Cohen Arazi (148) 
  • Alex Arnaud (2) 
  • Cori Lynn Arnold (4) 
  • Donna Bachowski (2) 
  • Bob Bennhoff (1) 
  • Sonia Bouis (3) 
  • Christopher Brannon (1) 
  • Alex Buckley (1) 
  • Nick Clemens (202) 
  • Kevin Cook (1) 
  • David Cook (12) 
  • Holly Cooper (9) 
  • Chris Cormack (4) 
  • Christophe Croullebois (1) 
  • Gabriel DeCarufel (3) 
  • Frédéric Demians (10) 
  • Michal Denar (32) 
  • Angela O’Connor Desmond (10) 
  • Jonathan Druart (562) 
  • Maxime Dufresne (2) 
  • Clemens Elmlinger (2) 
  • Nicole Engard (1) 
  • Magnus Enger (6) 
  • Bouzid Fergani (23) 
  • Katrin Fischer (472) 
  • Mathilde Formery (3) 
  • William Frazilien (1) 
  • Martha Fuerst (4) 
  • Andrew Fuerste-Henry (77) 
  • Brendan Gallagher (1) 
  • Lucas Gass (29) 
  • Didier Gautheron (5) 
  • Victor Grousset (62) 
  • Kyle Hall (230) 
  • Stina Hallin (3) 
  • Frank Hansen (1) 
  • Lucy Harrison (3) 
  • Sally Healey (26) 
  • Felix Hemme (1) 
  • Heather Hernandez (8) 
  • Abbey Holt (2) 
  • Catherine Ingram (1) 
  • Andrew Isherwood (12) 
  • Mason James (4) 
  • Dilan Johnpullé (2) 
  • Barbara Johnson (2) 
  • Daniel Jones (1) 
  • Minna Kivinen (40) 
  • Jon Knight (10) 
  • Bernardo González Kriegel (114) 
  • Rhonda Kuiper (2) 
  • Joonas Kylmälä (54) 
  • Nicolas Legrand (1) 
  • Owen Leonard (73) 
  • Ere Maijala (11) 
  • Hayley Mapley (17) 
  • Ron Marion (1) 
  • Julian Maurice (5) 
  • Kelly McElligott (25) 
  • Matthias Meusburger (2) 
  • Josef Moravec (70) 
  • Agustín Moyano (2) 
  • David Nind (247) 
  • Hannah Olsen (3) 
  • Guillaume Paquet (1) 
  • Hans Pålsson (2) 
  • Séverine Queune (43) 
  • Johanna Raisa (1) 
  • Laurence Rault (3) 
  • Liz Rea (28) 
  • Martin Renvoize (2006) 
  • Phil Ringnalda (3) 
  • David Roberts (14) 
  • Marcel de Rooy (147) 
  • Caroline Cyr La Rose (2) 
  • Andreas Roussos (3) 
  • Joel Sasse (1) 
  • Lisette Scheer (17) 
  • Maksim Sen (1) 
  • Maribeth Shafer (1) 
  • Maryse Simard (18) 
  • Fridolin Somers (18) 
  • Myka Kennedy Stephens (12) 
  • Debra Stephenson (1) 
  • Emmi Takkinen (1) 
  • Lari Taskula (6) 
  • Pierre-Marc Thibault (1) 
  • Mark Tompsett (7) 
  • Ed Veal (1) 
  • George Veranis (1) 
  • Marc Véron (1) 
  • Niamh Walker-Headon (6) 
  • Chris Walton (1) 
  • George Williams (6) 
  • Maggie Wong (1) 
  • Mengü Yazıcıoğlu (10) 
  • Jessica Zairo (5) 
  • Christofer Zorn (1) 
  • Nazlı Çetin (4) 

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

  • Joonas Kylmälä 
  • Andrew Nugged 
  • Martin Renvoize 
  • Andreas Roussos 
  • Petro Vashchuk 

Special thanks from the release manager It has been a privilege and an honour to have served as the Release Manager for the past 12 months. I would like to extend my personal thanks to PTFS Europe for their support in allowing me to take on this role, my family for putting up with me running the late night meetings and finally I’d like to thank the team around me for doing such a great job. Katrin has been fantastic managing an excellent quality assurance team and it’s been brilliant having a close group of allies whom I could trust to get things done, experiment alongside me and work quickly on fixes when bugs inevitably happen. For this release, Tomas Cohen, Jonathan Druart and Mason James also deserve special mention for their diligent efforts in the last weeks of the cycle to ensure Debian packaging issues were resolved. We regret any omissions. If a contributor has been inadvertently missed, please send a patch against these release notes to koha-patches@lists.koha-community.org. Revision control notes The Koha project uses Git for version control. The current development version of Koha can be retrieved by checking out the master branch of:

  • Koha Git Repository 

The branch for this version of Koha and future bugfixes in this release line is 19.12.x. 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 31 May 2020 20:36:02.

koha/release_notes/20.11/20.11.00_nouveautes/rn2005.txt · Dernière modification: 2021/04/30 12:23 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