Koha Upgrades

Koha 22.11 Upgrade Notes

Koha 22.11 is a major release, that comes with many new features. The Koha 22.11 release notes include 13 new features, 351 enhancements, 3 security fixes, and 551 bugfixes. This blog post will cover Features and Enhancements, for the complete look, see the Koha Community page: https://koha-community.org/koha-22-11-released/.

Read more about the Koha Community Announces 22.11 Release and ByWater Solutions' Partners Sponsor Development in Koha 22.11 Release.

22.11 Resources

Koha 22.11 Manual can be found at:

Koha 22.11 schema can be found at:

ByWater Solutions 22.11 Material

Significant Changes

New design for staff interface

This is the result of a wide scale review of the staff interface user experience. Staff will experience a new look.

New ERM Module

This new module adds a mechanism to track the selection, acquisition, licensing, access, maintenance, usage, evaluation, retention, and de-selection of a library’s electronic information resources.

New CMS feature

This new feature to add custom pages to the staff interface and the OPAC in the user’s desired language.



  • [30588] Add the option to require 2FA setup on first staff login
  • [31378] Add a generic OAuth2/OIDC client implementation


  • [24606] Allow storing item values as a template for creating new items
    • This new feature allows librarians to create and share “item templates” where one or more item field values can be set for a template. Templates can be applied on a one by one basis, or set for the remainder of the logged in session. Each template may be optionally shared ( read only ) to other catalogers. Librarians with the manage_item_editor_templates permission may edit any template regardless of who created it.
  • [24857] Add ability to group items for records
    • This feature allows for libraries to group items within a record. A new system preference has been added for this feature, EnableItemGroups. This system preference, once enabled, will allow the library to group specific items on a record to each other. A library can name the group and add items from the same record to this group. From the record, a new tab will appear and display on that item if it is part of a group.


  • [24860] Add ability to place item group level holds
    • With this feature you can now place holds on groups of items. A group consists of multiple items of the same record, representing for example, all items of a specific volume. When a hold for an item group is placed, only items of the requested group will be able to fill the hold. The feature is enabled using the new EnableItemGroupHolds system preference. It also requires EnableItemGroups for managing item groups.
  • [28854] Add ability to create bundles of items for circulation
    • This new feature adds the ability to create item bundles for loans.
    • One can create a new collection level biblio record and add items to it as normal. Those items can then be converted to bundles by adding existing items to them using their barcodes. The items will be marked as ‘not for loan’ in their original parent records.
    • Bundle items follow normal circulation rules for checkout. Upon check-in a new verification step is added where by the librarian is expected to scan each constituent item to verify it’s presence in the bundle. If an item is missing from the bundle it is marked as lost with a new lost – Missing from bundle value. If an item is found that is not expected to be in the bundle it it highlighted to the librarian after check-in so it can be placed to one side.
  • [30650] Add a curbside pickup module
    • With this module staff and patrons will be available to manage curbside pickups from the OPAC and staff interface.
    • It adds a new configuration page to the administration module which allows each library in an installation to set their own rules and time slots for scheduling pickups.
    • If a library chooses to activate curbside pickups, they will be able to manage all stages to the process from within Koha: scheduling a pickup time, preparing items for pickup and completing pickups. Patrons can indicate that they have arrived at the library for their pickup through the OPAC.
    • Use the CurbsidePickup system preference to enable this module.


  • [32030] Electronic resource management (ERM)
    • This new module adds a mechanism to track the selection, acquisition, licensing, access, maintenance, usage, evaluation, retention, and de-selection of a library’s electronic information resources. These resources include, but are not limited to, electronic journals, electronic books, streaming media, databases, datasets, CD-ROMs, and computer software.


  • [12446] Enable an adult to have a guarantor
    • Before only categories of a certain type can be guarantees for other patron categories of certain types (Adult to child, organisation to professional). With this new feature it’s possible to define which patron categories can be guarantees independent of the category type. This enables relationships like adult to adult or organization to adult.
  • [23681] Make patron restrictions user definable
    • This adds a new configuration page for managing user defined and Koha internal patron restrictions to the administration module.
    • If the new system preference PatronRestrictionTypes is enabled, you will also be able to choose the restriction type when manually restricting a patron.


  • [17170] Add the ability to create ‘saved searches’ for use as filters when searching the catalog
    • This patchset adds a new feature, the ability to save searches on the staff client and display them in the results page alongside facets (staff client and/or OPAC) as a search filter that can be applied to search result set.
    • The feature is enabled/disabled by new system preference: SavedSearchFilters
    • New filters can be added from the results page after a search, and there is an admin page for updating deleting and renaming filters.
    • There is a new permission, manage_search_filters, to control management of these filters.
    • New filters can be added that are not displayed along with facets, this allows for building custom links using these filters to keep URLs shorter

Staff interface

  • [15326] Add CMS feature
    • This enhancement utilizes the additional contents feature to add custom pages to the staff interface and the OPAC in the user’s desired language.
  • [30952] New design for staff interface
    • This is the result of a wide scale review of the staff interface user experience.
    • A team of librarians, designers and developers has worked hard to refresh, modernize and increase consistency in the staff interface



  • [10086] No way to go back to the basket on uncertain prices page
    • This updates the display of the uncertain prices page (Acquisitions > Uncertain prices)
    • The basket name is now linked to the basket in the list of orders with uncertain prices, making it easier to quickly view the basket.
    • The edit link is now formatted as a button and moved into a column (similar to other areas), instead of being a text link in the order column.
  • [15348] Change/Edit estimated delivery date per order line
    • This enhancement allows you to specify an estimated delivery date per order line. The specified estimated delivery date is also considered (alongside the calculated estimated delivery date, if no date has been specified) when searching for late orders and exporting late orders. You can also edit the estimated delivery date from the late orders page.
  • [25763] Allow update of order fund after receipt
  • [27817] Enhance display of title information throughout acquisitions
    • This adds remainder of title/subtitle, medium, part name, and part number to several pages in the acquisitions module.
  • [28269] Order search should be possible with ISSN too
    • This adds ISSN as a new search option to the acquisitions advanced search form. If SearchWithISSNVariations is enabled, you’ll be able to search for the ISSN with and without the hyphen.
  • [29983] Display the return claims column in the circulation overdues page (overdue.tt)
    • This enhancement adds the “Return claims” column to the circulation overdues page, like it is on a patron’s check out and details pages. Display or hide the column using the column settings options. It can also be configured using the table settings options in the administration area – it is hidden by default.
  • [31017] Add type field for vendors
    • This enhancement adds a new field to record the vendor type when creating or editing vendors. This field can be used as a free text field, or a drop-down menu if there are authorized values in the VENDOR_TYPE authorized value category.
  • [31115] Additional fields for invoices
    • This new feature adds the ability to define additional fields to store information about vendor invoices.
      There is a new ‘Manage invoice fields’ page in the acquisitions administration to configure the fields.
      Users can name additional fields, tie them to authorised values, and specify whether the fields can be searched in the acquisitions module.
      This also adds a new entry to the admin page for additional fields.
  • [31257] Add a new English 1 page layout to export a basket as PDF
    • This patch adds a new English 1 page layout to be used when exporting a basket group as PDF. It can be selected as a new option from the OrderPdfFormat system preference.
  • [31333] Add the ability to limit purchase suggestions by patron category
    • Exclude patron categories from submitting OPAC purchase suggestions by selecting them in the new suggestionPatronCategoryExceptions system preference.
  • [31374] Add a non-public note column to the suggestions table
    • This enhancement adds a non-public notes field to the suggestions tables in the staff interface. It is displayed by default in the suggestion management tables, and is configurable using the table settings.
  • [31377] Add basket’s internal note to tables on vendor search result list
  • [31388] Add select2 to fund selection in new order form
  • [31459] Make order receive page faster on systems with many budgets
  • [31569] Remove GetImportsRecordRange from acqui/addorderiso2709
  • [31586] Log basket number as object when an email order is sent

Architecture, internals, and plumbing

  • [15545] Remove remainders of unfinished reqholdnotes functionality
  • [23991] Move SearchSuggestion to Koha::Suggestions
  • [24295] C4::Circulation::GetTransfers should be removed, use Koha::Item->get_transfer instead
  • [27272] Move C4::Items::GetItemsInfo to Koha namespace
    • Another step on the old code refactoring. At this time, related to item information display.
    • There are several DB queries that get avoided with this change as well, leading to more performant processing of requests.
  • [27342] Improve readability and improvement of C4::Auth::get_template_and_user
  • [28186] Use Koha::Authority in C4::AuthoritiesMarc::AddAuthority
  • [29454] Stash itemtypes in plugin objects to reduce DB calls
  • [29623] Cache effective circulation rules
  • [29672] Increase performance of Koha::Plugins->call
  • [29697] Replace GetMarcBiblio occurrences with $biblio->metadata->record
  • [29744] Harmonize psgi/plack detection methods
  • [29883] Uninitialized value warning when GetAuthorisedValues gets called with no parameters
  • [29939] Replace opac-ratings-ajax.pl with a new REST API route
  • [29955] Move C4::Acquisition::populate_order_with_prices to Koha::Acquisition::Order
  • [30016] Remove GetOpenIssue subroutine
  • [30042] Remove Date::Calc use
  • [30057] Move Virtualshelves exceptions to their own file
  • [30168] Use checkout object in GetSoonestRenewDate
  • [30275] Checkout renewals should be stored in their own table
    • This enhancement adds a renewals table to store details of a checkouts renewals.
  • [30420] Rename Koha::Patron->get_overdues with ->overdues
    • This enhancement makes the method naming more consistent.
  • [30543] Decouple DumpSearchQueryTemplate from other template dump preferences
  • [30578] We should drop circ/ysearch.pl in preference to using the REST API’s
  • [30612] Add account_lines method to Koha::[Old::]Checkout
  • [30830] Add Koha Objects for Koha Import Items
  • [30848] Introduce Koha::Filter::ExpandCodedFields
  • [30874] Simplify patron category handling in memberentry
  • [30877] use List::MoreUtils::uniq from recalls_to_pull.pl
  • [30901] Add template method to be able to look up renewal data in Koha slips and notices
    • This adds a way to print information about renewals to notices with Template Toolkit. This includes the numbers for used renewals, allowed renewals and remaining renewals and more.
      Documentation: Koha Wiki
  • [30921] Replace use of C4::XSLT::transformMARCXML4XSLT with RecordProcessor
  • [30950] timepicker.inc is no longer used and should be removed
  • [30982] Use the REST API for background job list view
  • [31001] “CGI::param called in list context” warning in basket.pl flooding error log
    • This fixes the cause of a warning message that appears in the system logs when emailing an order to a vendor (Acquisitions > [select a vendor] > [select a basket] > E-mal order). The warning message was “[WARN] CGI::param called in list context from /kohadevbox/koha/acqui/basket.pl line 175, this can lead to vulnerabilities. See the warning in “Fetching the value or values of a single named parameter” at /usr/share/perl5/CGI.pm line 414.”.
  • [31183] Add Koha::Item::Transfers->filter_by_current
  • [31306] Add Koha::Items->search_ordered method
  • [31308] Remove GetItemsInfo from basket/basket
  • [31309] Remove GetItemsInfo from basket/sendbasket
  • [31310] Remove GetItemsInfo from catalogue/imageviewer
  • [31311] Remove GetItemsInfo from labels/label-item-search
  • [31312] Remove GetItemsInfo from misc/migration_tools/rebuild_zebra.pl
  • [31313] Remove GetItemsInfo from opac-detail
  • [31314] Remove GetItemsInfo from opac-reserve.pl
  • [31315] Remove GetItemsInfo from moredetail
  • [31316] Remove GetItemsInfo from opac-sendbasket
  • [31317] Remove GetItemsInfo from opac-tags
  • [31318] Remove GetItemsInfo from serials/routing-preview
  • [31319] Remove GetItemsInfo from tags/list.pl
  • [31320] Remove GetItemsInfo from virtualshelves/sendshelf.pl
  • [31321] Remove GetItemsInfo from catalogue/detail.pl
  • [31328] Make Koha::Item->get_transfer* use Koha::Item::Transfers->filter_by_current
  • [31389] Calculate user permissions in separate function
  • [31517] C4::Tags should use Koha::Tags objects instead of raw SQL
  • [31519] Unused template parameters in request.pl
  • [31590] Remove Text::CSV::Unicode
  • [31666] Add job progress bar to stage-marc-import.pl
  • [31776] Typo in cleanup_database.pl cron’s help/usage


  • [25936] Notify users if their password has changed
    • When the system preference NotifyPasswordChange is set to ‘Notify’ a notification will be sent to the user when their password is changed. The new notification uses the letter code PASSCHANGE.
  • [28787] Send a notice with the TOTP token
    • Add the ability to send an email containing the token to the patron once it’s authenticated
    • The new notice template is ‘2FA_OTP_TOKEN’.
  • [31495] Allow viewing CMS pages when enforcing GDPR policy


  • [23063] Item table in cataloguing doesn’t respect CurrencyFormat
    • This makes sure that the price and replacement price of an item is displayed according to the CurrencyFormat setting in the items table above the add/edit item form.
  • [26368] Add support for OCLC Encoding level values
  • [27981] Add option to automatically set the 001 control number to the biblionumber
    • This patch adds a new system preference:
    • The systempreference has two options, Control Number (001) is
      • generated as biblionumber: will set field 001 to the biblionumber when you create a new record or edit an existing record and clear the 001 field. If a value is present in 001 when saving the record it will be preserved.When duplicating a record the pre-existing 001 will be removed.
      • not generated automatically: the 001 field will not be touched
  • [30392] Add a deleted_on column to deleteditems
  • [30504] Value builder for UNIMARC field 181
    • This enhancement for UNIMARC field 181 adds value builders for subfields $a, $b, $c, and $2. These are based on the official UNIMARC codes.
  • [30506] Value builder for UNIMARC field 182
    • This enhancement for UNIMARC field 182 adds value builders for subfields $a, $c, and $2. These are based on the official UNIMARC codes.
  • [30507] Value builder for UNIMARC field 183
    • This enhancement for UNIMARC field 183 adds value builders for subfields $a and $2. These are based on the official UNIMARC codes.
  • [30716] Add Collection column to cn_browser results table
  • [30775] 952w should have datepicker plugin enabled for it by default
    • This enhancement adds the date picker to 952$w (price effective from).
    • This improves usability (952$d (date acquired) has the date picker enabled) and also adds date field validation (the date is added to the database as YYYY-MM-DD and when entered incorrectly it can lead to crashes in other areas).
  • [30871] Make it clear that 008 Type of Material is controlled by Leader 6th position in MARC21
    • This enhancement adds title elements or clarifies existing title elements to indicate how default values are chosen (for both the default and advanced editor).
  • [30941] Add value builders for UNIMARC 146 ($b, $c, $d, $e and $f)
    • This enhancement adds value builders for UNIMARC 146$b, $c, $d, $e, and $f.
  • [30997] “CGI::param called in list context” warning in detail.pl flooding error log
    • This fixes the cause of “CGI::param called in list context from” warning messages that appear in the log files when viewing record detail pages in the staff interface.
  • [31250] Don’t remove advanced/basic cataloging editor cookie on logout
  • [31371] Value builder for UNIMARC field 283
  • [31372] Value builder for UNIMARC field 325
  • [31417] Re-instate the cataloguing sidebar menu
  • [31536] Add UNIMARC framework plugin to fetch PPN from sudoc.fr
    • This enhancement adds a UNIMARC plugin (unimarc_field_009_ppn.pl) that uses sudoc.fr web services (isbn2ppn, issn2ppn, ean2ppn) to search for the Sudoc record identifier (PPN) using the ISBN, ISSN, or EAN identifiers as the search criteria. The plugin expects the ISBN in 010$a, ISSN in 011$a, and EAN in 073$a.


  • [7021] Add patron category to the statistics table
  • [20262] Add ability to refund lost item fees without creating credits
  • [21381] Add serial enumeration to circulation history
  • [23012] Possibility to mark processing fee by default refund when item is found
    • This enhancement gives the ability to set a policy for the lost item processing fee that may get charged additional to the lost item replacement cost. The processing fee can be
      • refunded
      • refunded if unpaid
      • kept
  • [23838] Add ability to view item renew history
    • This enhancement adds a modal to display checkout renewal history details where appropriate. This includes the circulation history and the items tab of the staff detail page.
  • [29129] The clear screen and print icons in circulation should be configuarable to print either ISSUESLIP or ISSUEQSLIP
    • This enhancement expands upon the ‘DisplayClearScreenButton’ allowing the choice of printing either the ISSUESLIP or the ISSUEQSLIP when using the printclearscreen icon.
  • [30407] Add ability to syspref UpdateNotForLoanStatusOnCheckin to show only the notforloan values description
  • [30802] numReturnedItemsToShow doesn’t show more than 20 items on the return screen
  • [30905] Show waiting recalls in patron account on checkouts tab
    • This enhancement shows recalls ready for pick-up on the patron’s account so they can’t be missed.
  • [30947] Simplify date handling in CanbookBeIssued
  • [30964] Add information about overdues and restrictions on the curbside pickup list
  • [30965] Add patron autocomplete search to curbside pickups
  • [31157] overdue_notices.pl –frombranch option should be available as a system preference
    • This patch adds a new system preference “OverdueNoticeFrom” that overrides the –frombranch parameter of the overdue_notices.pl cronjob.
    • This allows systems librarians the option to pick which address to use for overdues notices.
    • The default value is “command-line option”, meaning if there is a branch specified in the cronjob, the behavior will not change.
  • [31261] Curbside pickups – remove slots in the past
  • [31262] Curbside pickups – disable dates without slots
  • [31265] Curbside pickups – improve slots selection
  • [31419] Add accesskeys to recall modal
  • [31485] Move ItemsDeniedRenewal checks from C4::Circulation to Koha::Item
  • [31753] Dialog boxes inside of modals don’t seem wide enough

Command-line Utilities

  • [17379] Add a man page for koha-passwd
  • [21903] koha-dump be able to include koha-upload
  • [26311] Add patron invalid age to search_for_data_inconsistencies.pl
    • This enhancement to the command line script used for searching for data inconsistencies (misc/maintenance/search_for_data_inconsistencies.pl) now lists patrons where their age doesn’t match the criteria set for the patron category.
    • This includes where there is
      • a minimum age required
      • an upper age limit
      • a minimum age and an upper age limit
    • An example of the output:
      • Patrons with invalid age for category:
      • Patron borrowernumber=49 has an invalid age of 10 for their category ‘PT’ (24 to unlimited)
      • Patron borrowernumber=49 has an invalid age of 71 for their category ‘PT’ (0 to 50)
      • Patron borrowernumber=44 has an invalid age of 70 for their category ‘PT’ (20 to 60)
    • Note: Where a patron’s age can’t be calculated (for example: a school or other organisation, or the date of birth is missing), then they are not included in the checks.
  • [28555] Improve output of verbose option for overdue_notices.pl
  • [30684] koha-* scripts –restart should start even when not running
    • This enhancement restarts services if they are not running when using the –restart option for koha-plack, koha-indexer, koha-sip, koha-worker, koha-z3950-responder, and koha-zebra .
    • An example of a message if plack is not running and the service is restarted:
      koha-plack –restart kohadev
      [warn] Plack not running for kohadev. … (warning).
      [ ok ] Starting Plack daemon for kohadev:.
    • Previously if a service was not running an error message was generated (Error: {servicename} not running for ${instancename}”) and a start command for the service was required.
  • [31155] Document –since option in help of borrowers-force-messaging-defaults.pl
    • This enhancement adds a brief explanation of the –since option for borrowers-force-messaging-defaults.pl.
  • [31203] Cronjobs should log completion as well as logging begin
  • [31342] process_message_queue can run over the top of itself causing double-up emails
  • [31854] Document conflict with delete_patrons.pl –not_borrowed_since and anonymization
  • [31969] Options for cleanup_database.pl to remove finished jobs from the background job queue


  • [30571] Table z3950servers: Make host, syntax and encoding NOT NULL


  • [32130] Vue files must be kept tidy

Fines and fees

  • [24865] Customize the accountlines description
    • This patch adds a new notice/slip: OVERDUE_FINE_DESC

    • This can be used to customize the accountlines description for overdue fines that can access objects for the checkout, the item, and the borrower

  • [27802] Set focus for cursor on first input field when adding a cash register
  • [30335] Add ability to hide/disable manual invoices and manual credits in patron accounts
  • [30619] Add the option to email receipts as an alternative to printing
    • This enhancement adds an email receipt option to the Point of Sale module, along with a sample notice (RECEIPT). When completing a transaction, there is now an ‘Email receipt’ button next to ‘Print receipt’ button – the email address is entered in a pop-up window if the email receipt option is selected.
  • [31121] Format date range on top of cashup summary page
    • This fixes the formatting of dates on the cashup summary modal (it uses the existing $datetime JS include).
  • [31163] Sort cashup history so that newest entries are first
  • [31254] Add additional fields for accountlines
  • [31713] Allow easy printing of patron’s fines
    • Adds the option to print an accounts summary from the print pull down in the patron’s account in the staff interface. This uses the new notice ACCOUNTS_SUMMARY.

Hold requests

  • [14364] Allow automatically canceled expired waiting holds to fill the next hold
  • [14783] Allow patrons to change pickup location for non-waiting holds
    • This enhancement allows patrons to change the pickup location of non-waiting holds from the opac.
    • The new system preference “OPACAllowUserToChangeBranch” controls at what stages the pickup location can be changed (Pending, In-transit, Suspended).
  • [29057] Use font awesome icons on request.pl
    • This enhancement updates the arrows used on the holds page for a record to change the hold priority. Instead of using images for the arrows, Font Awesome icons are now used.
    • In addition, you can now override the icons using any Font Awesome icons in the IntranetUserCSS system preference. For an example, see https://gitlab.com/-/snippets/...
  • [30500] Add option to allow user to change the pickup location while a hold is in transit
  • [30878] Canceling holds from ‘Holds awaiting pickup’ should not reset the selected tab
  • [31105] Holds to pull counts items from other branches when independentbranches is active
  • [31948] Add timestamp to tmp_holdsqueue
    • This adds a timestamp column to the tmp_holdsqueue table that the holds queue in circulation is built from. With RealTimeHoldsQueue this will enable reporting on the date and time an entry was added to the holds queue.


  • [28708] fr-CA localization file
  • [30028] Patron message delete confirmation untranslatable
    • This fixes the patron delete messages dialogue box to make the message shown translatable.
  • [30733] Simplify translatable strings
    • Cleanup of translatable text done by guiding the string extractor to make it do simpler strings for translators instead of large concatenation of long strings in the code with a lot of unnecessary %s placeholders.
  • [31068] Context for translation: Print (verb) vs. Print (noun)
    • This enhancement adds context for translation purposes to the term ‘Print’ for notices and slips message transport types (email, print, SMS). (In English, the word “print” is the same whether it is a verb (to print something) or a noun (a print of something), however, for other languages different words may be used. When the word is in a sentence, it’s not too difficult to translate, but in cases where the string to translate is simply “Print”, it is often used in different cases (noun or verb). For example: in French there are two different spellings, “Imprimer” or “Imprimé”.)
  • [31715] Add missing German translations for language descriptions
    • This adds the missing German translations for languages, as seen in the language list on the advanced search in staff interface and OPAC.
  • [31807] Context for translation: Filter (verb) vs. Filter (noun)
    • This enhancement adds some context for translators for the term “Filter” when used as a noun as opposed to a verb.


  • [22321] Make it possible to edit illrequests.borrowernumber
  • [24239] Let the ILL module set ad hoc hard due dates
  • [28909] Allow Interlibrary loans illview method to use backend template
  • [30484] Interlibrary loans should have the ability to send notices based on request supplier updates
    • This interlibrary loans module enhancement allows backend developers to trigger notices to patrons upon certain backend actions.

Installation and upgrade (command-line installer)

  • [25622] Change way MySQL password is generated by koha-create
  • [29673] Allow an English sql localization script
  • [32191] Consistent upgrade messages

Installation and upgrade (web-based installer)

  • [31403] Activate circulation sidebar (CircSidebar system preference) on default in new installations

Label/patron card printing

  • [28512] Quick spine label creator: Add CSS class with logged in library’s branchcode
  • [31633] Add home and holding data attributes to quick spine label print to help customizing


  • [11889] Option to keep public or shared lists when deleting patron
    • This report adds the preference ListOwnershipUponPatronDeletion.
    • It allows you to choose between the existing behavior of just deleting all lists when deleting a patron, or transfer ownership of public and shared lists to the staff member that deleted the patron.
    • Follow-up reports will allow for even more flexibility.
  • [25498] Allow to change owner of public or shared list
    • This enhancement allows staff members with sufficient permissions to change the owner of a public list.
    • It also add the possibility for the owner of a shared list to transfer ownership to one of the other users of the list via the opac shelves form. Implicitly, we hereby add the option of showing which users are currently sharing the list to the owner.
  • [29114] Can not add barcodes with whitespaces at the beginning to the list
    • This fixes an issue where barcodes with white spaces at the beginning could not be added to a list.
  • [30933] Add a designated owner for shared and public lists at patron deletion
    • This enhancement enables the transfer of public list ownership when a patron is deleted (from the staff interface, and scripts or cron jobs such as misc/cronjobs/delete_patrons.pl). A new system preference ListOwnershipUponPatronDeletion sets the action to take when a patron with public lists is deleted (options: delete the lists or change owner of these lists). If set to change the owner, the lists are transferred to the borrower number set in the new ListOwnerDesignated system preference.

MARC Authority data support

  • [30218] Add subfield g to 150 heading_fields
  • [30280] Support authority records with common subject headings from different thesaurus
    • This enhancement adds support for displaying and linking to subject headings from different thesaurus when using Elasticsearch. The thesaurus used for the term is added to the authority record using 040$f. For the bibliographic record, set the second indicator to 7 for 650 and add the source to 650$2. For local terms, use 4 (Source not specified) as the indicator.
    • Example for a bibliographic record:
      • 650 _ 0 $a Feminism
      • 650 _ 7 $a Feminism $2 sao
      • 650 _ 7 $a Feminism $2 barn
    • The first example above is the LCSH term. The other two terms are from sao (controlled Swedish subject heading system) and barn (Swedish children subject heading system). These three are using the same TOPIC_TERM Feminism, but they belong to different thesaurus.

MARC Bibliographic data support

  • [21705] Map copyrightdate to both 260/264c by default for new MARC21 installations
    • This enhancement adds a default mapping from 264c to biblio.copyrightdate for MARC21. Previously, it was only mapped to 260c. Now it is mapped to both.
      **This only affects new installations. For current installations, you need to add it manually through Administration > Koha to MARC mapping.
  • [25449] Make itemtype mandatory by default
  • [30430] UNIMARC XSLT : displaying field B_214

MARC Bibliographic record staging/import

  • [27421] Porting tools/stage-marc-import.pl to BackgroundJob


  • [19966] Add ability to pass objects directly to slips and notices
  • [26689] Monetary accounts notices should be definable at the credit_type/debit_type level
    • This enhancement allows end users to define their account notices (print receipt and print invoice for example) at the debit type and credit type level.
    • Simply add a new notice with code ‘DEBIT_your_debit_type_code’ or ‘CREDIT_your_credit_type_code’ to the notices and we will pick that over the existing default ‘ACCOUNT_DEBIT’ and ‘ACCOUNT_CREDIT’ notices.
  • [27265] process_message_queue.pl cron should be able to take multiple types as a parameter
    • This patch adds the ability to specify several types or letter codes when running the process_message_queue script. This allows libraries to consolidate calls when some message types or letter codes are scheduled differently than others
  • [31626] Add letter ID to the message queue table
  • [31714] Add a more generic way to print patron slips
    • This is a first step towards drying out our slip printing code. We add a new, modern, controller script that accepts any notice template to be passed to it for printing.
    • Next steps would be to start migrating some of the old slips to use this controller and drop their respective controller scripts.


  • [7960] Choice to not show the text labels for item types
    • This enhancement adds the class “itypetext” around item type descriptions so they can be hidden with CSS. To hide the descriptions, add .itypetext { display:none; } to the OPACUserCSS (for the OPAC) or IntranetUserCSS (for the staff interface) system preferences.
  • [8305] Add an icon for iOS home screens
  • [8948] MARC21 field 787 doesn’t display
  • [22456] Allow patrons to cancel their waiting holds
    • This enhancement allows patrons to cancel holds waiting for pickup from their account (summary > holds > request cancellation button), instead of having to contact the library (for example, by email, phone, or in person).
    • This is enabled by setting rules by library, patron type, and item type. The rules are set from a new “Default waiting hold cancellation policy” section under Administration > Patrons and circulation > Circulation and fines rules.
    • Cancellation requests are listed in a new tab “Holds with cancellation requests” under Circulation > Holds > Holds awaiting pickup.
  • [23538] Email library when new patrons self register
    • This enhancement allows libraries to receive notifications when patrons self-register.
    • This is enabled using the new system preference EmailPatronRegistrations (options are: none, email address of library, EmailAddressForPatronRegistrations, and KohaAdminEmailAddress) and a new notice (OPAC_REG).
    • To use a specific email address for notifications, use the new system preference EmailAddressForPatronRegistrations.
    • If verification is required for self-registrations (when PatronSelfRegistrationVerifyByEmail is enabled), then notifications are only sent to the library once the registration is confirmed.
  • [29144] Move branches.opac_info to AdditionalContents allowing multi language
    • This reports moves the contents of column branches.opac_info to a HTML block under Additional contents, identified by the new location OpacLibraryInfo.
      This allows translation of this block too.
  • [29897] Display author identifiers for researchers
    • This new enhancement adds the capability to list the different identifiers of authors. It is helpful for research publications for instance. It will add a new “Author identifiers” tab on the detail page (OPAC) of a bibliographic record, with the list of the authors and their identifiers. On the detail page of the authority record, the same identifier list will be displayed. The authority must have a 024$a (identifier) and 024$2 (source).
  • [29922] Group of libraries are now displayed in alphabetical order
    • This fixes the display of library groups in the advanced search (Groups of libraries) for the OPAC and staff interface so that they correctly sort in alphabetical order. Before this:
      • OPAC: were sorted in the order library groups were added, group names with diacritics and umlauts (such as Ä or À) came last (after something starting with Z)
      • Staff interface: were sorted correctly, but had the same issue as the OPAC for group names with diacritics and umlauts
  • [30036] Add XSLT for authority results view in OPAC
    • This enhancement enables the use of custom XSLT stylesheets for displaying OPAC authority search results.
  • [30195] Suggestion form in OPAC should use ISBN to FindDuplicate
  • [30508] Do not display OPAC message about block from holds when OPACHoldRequests is disabled
  • [30566] Incorporate link handling in OPAC’s biblio-title include
    • Output of titles in the OPAC was centralized into an include file (biblio-title), but unlike the staff interface this didn’t include the option of adding a link to the default bibliographic view. This enhancement provides that option. It also updates OPAC pages where the biblio-title include was previously wrapped in an anchor tag, to add a link parameter: [% INCLUDE ‘biblio-title.inc’ link=> 1 %]
  • [30678] Add OCLC_NO as option to OPACSearchForTitleIn
    • This enhancement to the OPAC detail page allows you to search WorldCat using the OCLC number. (Example: add an entry to 035$a (such as (OCoLC)62385712) and use {OCLC_NO} in the OPACSearchForTitleIn system preference.)
  • [30880] Expand OPACResultsUnavailableGroupingBy to have a ‘branch only’ option
  • [30927] Improve formatting or iCal files for checkout due dates
  • [31064] Local login is difficult to style using CSS
  • [31217] Fix Coce JavaScript to hide single-pixel cover images in the OPAC lightbox gallery
  • [31294] Article requests: Mandatory subfields in OPAC don’t show they are required
  • [31605] Improve style of OPAC suggestions search form
  • [31634] Add part_number and part_name in OPAC result browser
    • This enhancement adds the title’s part number and part name in the OPAC result browser.
  • [31635] Empty title for current result in OPAC results browser’s tooltip on paging
  • [31672] Remove ‘Your’ from tab descriptions in OPAC patron account



  • [7660] Enhanced messaging preferences are not set when creating a child patron from the adult
  • [10950] Add preferred pronoun field to patron record
    • This adds a new free text field ‘pronouns’ to the patron record. The pronouns also display prominently in the brief patron information section on the left side of the patron account pages.
  • [20439] SMS provider sorting
  • [21978] Add middle name field
    • This adds a new free text field ‘Middle name’ to the patron record.
  • [29971] Remember selections across patron search pages
    • This enhancement to patron search remembers selections across multiple pages of search results and multiple different searches. The selected patrons can be added to a patron list or submitted for merging. Selections can be cleared manually and are automatically removed upon logout. Previously, selections were only remembered for the current page of search results.
  • [30646] Add option to send WELCOME notice for new patrons added at first login via LDAP/SAML
    • When LDAP or Shibboleth are used to create user accounts on first login, the WELCOME notice can be send automatically to the new users. This requires adding the new configuration option 1 to the respective configuration files.

Plugin architecture

  • [31894] Extend hold hooks with more actions
    • This patch adds three more hooks to the existing “after_hold_action”, extending it to handle the different found values
      • “transfer” when a hold calls “set_transfer()” (found=T)
      • “waiting” when a hold calls “set_waiting()” (found=W)
      • “processing” when a hold calls “set_processing()” (found=P)
  • [31895] New account hook when adding credit
    • This patch adds a new hook “after_account_action” with the action “add_credit”. This is triggered when a credit is added via for example PAYMENT or WRITEOFF.
  • [31896] New recall hook when adding recall
    • This adds a new hook “after_recall_action” with the action “add”.


  • [22678] Set ‘Koha::Logger’ as the default mojo logger for the REST API
  • [26635] Expand coded values in REST API call
  • [30923] OAuth2 implementation is not experimental
    • This enhancement removes the [EXPERIMENTAL] text from the RESTOAuth2ClientCredentials system preference description. OAuth2 has been in use by third parties to securely interact with Koha since its introduction in 2018.
  • [31128] Add effective_not_for_loan_status to API item objects
  • [31555] Getting holds via REST API needs edit_borrowers permission


  • [29579] Show saved SQL report ID in database query
    • This enhancement shows a saved SQL report’s ID in the database process list (from example, “/* saved_sql.id: 123 */). This can help when troubleshooting reports that are causing issues, such as taking too long to run or taking up too many system resources.


  • [20058] Option to use shelving location instead of homebranch for sorting
  • [31236] Add ability to send custom item fields via SIP using Template Toolkit
  • [31296] Add ability to disable demagnetizing items via SIP2 based on itemtypes


  • [23919] Make ISSN searchable with and without hyphen
    • This enhancement enables searching by ISSN without using hyphens and using a space instead of the hyphen. This works in the advanced search (staff interface and OPAC) and item search (staff interface).
    • It is enabled using a new system preference, SearchWithISSNVariations, with two options – “don’t search” (the default), and “search”.
  • [27136] Add additional languages
    • Adds Cree, Afrikaans and Multiple languages, Undetermined and No linguistic content to our language definitions.
  • [27546] Add option to search within results on the staff interface
    • This enhancement adds a new input above the search results allowing one to search within the results. The search box will take a query and add it as a limit to the previous search.
  • [30858] Add serial enumeration/chronology to itemsearch.pl
    • This enhancement to the item search in the staff interface adds a serial enumeration/chronology (952$h) column to the search results and export.
  • [31213] When performing a basic search with no results, repeat the search with term quoted
    • This enhancement adds a second, automatic, search with the search terms between quotation marks when a search returns no results.
    • For example, searches with special characters don’t work with Elasticsearch.
    • A search for Ivy + Bean will return no results. But a search for “Ivy + Bean” will return results.
    • With this enhancement, if a user searches for Ivy + Bean without quotation marks and gets no results, Koha will automatically search for “Ivy + Bean” and return those results.
    • This targets both Zebra and Elasticsearch, but is more relevant for Elasticsearch.

Searching – Elasticsearch

  • [27667] Display the number of non-indexed records
    • This enhancement adds information about non-indexed records when using the Elasticsearch search engine on the About Koha > System information page.For example:
      • Records are not indexed in Elasticsearch
      • Warning 1 record(s) missing on a total of 435 in index koha_kohadev_biblios.record(s).
      • Warning 1 record(s) missing on a total of 1705 in index koha_kohadev_authorities.
  • [31687] Add see from and see also from tracings in Match index (Elasticsearch, MARC21)
    • This enhancement adds see from and see also from terms for uniform title, chronological term, topical term, geographic name, and genre/form term to the Match index in Elasticsearch for MARC21. These will now be searchable in the Authorities module, by selecting the ‘Search all headings’ tab.
    • Previously, only see from/see also from for personal names, corporate names, and meeting names were indexed and searchable this way.
  • [31689] Add see from tracings in Match-heading-see-from index (Elasticsearch, MARC21)
    • This enhancement adds fields 430, 448, 450, 451, and 455 to the Match-heading-see-from.
    • Previously, only 400, 410, and 411 were indexed.
  • [31690] Add see from tracings in See-from index (Elasticsearch, MARC21)
    • This enhancement adds fields 450, 451, and 455 to the See-from index for MARC21.
    • Previously, only 400, 410, 411, 430, 447, 448, and 462 were indexed.
  • [31691] Remove non-existent fields from the See-from index (Elasticsearch, MARC21)
  • [31693] Remove non-existent fields from the See-also-from index (Elasticsearch, MARC21)

Searching – Zebra

  • [31614] Add configurable timeout for Zebra connections


  • [26377] Clearly label parts of subscription-add.pl that relate to optional item records
  • [26549] Show value of global system preferences on subscription form
  • [29055] Focus on keyword field when subscription biblio search window opens
  • [30039] Add publication date column to serial claims table

Staff interface

  • [27497] Display Koha version in staff interface home page
  • [27779] Cashup summary ‘refunds’ should denote what the refund was actioned against
  • [28864] The patron search results in the patron card creator doesn’t seem to use PatronsPerPage syspref
  • [29282] Show items.issue and items.renewals in the holdings table on the detail page in the staff interface
  • [30077] Add option for library dropdown in search function for staff interface
    • With the new system preference IntranetCatalogSearchPulldown enabled, you will be able to limit your simple searches in the staff interface by library.
  • [30922] Make the “Relative’s checkouts” table configurable by the table settings
  • [31116] Article requests doesn’t respect the ‘CircSidebar’ preference
  • [31162] Add a clear cataloguing module home page
    • This enhancement brings more order to the cataloguing features. We create a new ‘Cataloguing’ module home page and collect the cataloguing tools into it.
  • [31750] Need more padding in cataloguing
  • [31758] Add ‘page-section’ to system preferences page
  • [31762] Flat vs 3D or mixed
  • [31763] Add ‘page-section’ to patron lists page
  • [31764] Add ‘page-section’ to patron clubs page
  • [31765] Add ‘page-section’ to import patrons page
  • [31766] Add ‘page-section’ to notices and slips page
  • [31767] Add ‘page-section’ to tags page
  • [31770] Add ‘page-section’ to rotating collections page
  • [31771] Add ‘page-section’ to stock rotation pages
  • [31773] Add ‘page-section’ to manage MARC import page
  • [31780] Add ‘page-section’ to audio alerts ( audio_alerts.tt )
  • [31781] Transferred items table (branchtransfers.tt) needs page-section class
  • [31806] Add ‘page-section’ to holds page
  • [31811] Add ‘page-section’ to MARC modification templates pages
  • [31831] Make inactive search options font slightly bigger
  • [31834] Inconsistent table formatting for list of MARC imports
  • [31864] Fix breadcrumbs for each link coming from the new cataloging module home page
  • [31879] Convert mainpage.css to SCSS
  • [31882] Fix page title of pages in the new cataloging module home page
  • [31906] Managed by on basket summary page is misaligned
  • [31911] Headings are inconsistent in rotating collections
  • [31917] Headings don’t seem quite right for system preference search
  • [31939] Add page-section to admin > libraries area
  • [31940] Add page-section to admin > library groups area
  • [31941] Add page-section to admin > item types area
  • [31945] Add page-section to admin > patron categories area
  • [31955] Add page-section to additional fields (admin)
  • [32155] Course reserves – instructors display is misaligned on course information page

System Administration

  • [27519] Normalize Show/Don’t show vs Display/Don’t display in system preferences
    • This enhancement replaces “Display/Don’t display” with “Show/Don’t show” for several system preferences to improve terminology consistency and make translation easier. A few preferences were also updated where “Yes/No” and “Show/Hide” were used.
  • [30462] Improve the default display for the background jobs queue management page
  • [30850] Add default mapping for biblio.author to 110$a (MARC21)
    • This enhancement maps 110$a (corporate author in MARC21) to biblio.author in the default framework.
    • Having the corporate author in biblio.author ensures it will appear wherever the author usually appears in the staff interface.
  • [30937] Add a detail view for libraries
  • [31191] Specify FacetLabelTruncationLength is only for Zebra
    • This enhancement adds a note to the FacetLabelTruncationLength system preference description that it only works with Zebra. When using ElasticSearch, facets are displayed in full.
  • [31264] CalendarFirstDayOfWeek not taken into account when configuring curbside pickups
  • [31289] Hide article requests column in circulation rules when ArticleRequests syspref is disabled
  • [31475] Group system preferences for suggestions on OPAC tab under new heading
  • [31545] ComponentSortField description is incorrect
  • [31577] Use patron category multi-select for OpacHiddenItemsExceptions system preference
  • [31603] Add search option for plugin page
  • [31730] Link to authorized value interface when an authval is mentioned in preferences
  • [31923] ‘Ignore’ tab description is misleading
    • This enhancement modifies the description of the ‘Ignore’ tab in MARC bibliographic and authority framework administration to add that not only does the ‘ignored’ subfield not appear in the editor, but the subfield will also be deleted from the record. This is the normal behavior of the ‘Ignore’ tab, it has not changed. Only the description was updated to reflect it’s actual behavior.


  • [22276] Add client storage of user-selected DataTables configuration
    • This allows Koha to remember the changes a user has made to the columns settings on a page so they are kept when reloading the page.
  • [26486] Group edit buttons in reports toolbar
  • [27191] Set focus for cursor to category code input box when creating new patron categories
    • This updates the new patron category input form so that the cursor focus is on the category code input field.
  • [27193] Set focus for cursor to patron attribute type code input box when creating new patron attributes
  • [27195] Set focus for cursor to city input box when creating new cities
  • [27436] Set focus for cursor to report name field when creating new SQL report
  • [29723] Add a “Configure table” button for KohaTable tables
  • [30304] Reindent lists template in the staff interface
  • [30309] Convert lists tabs in the staff interface to Bootstrap
  • [30333] Move view actions on acquisitions receipt summary page into menu
  • [30389] Switch to Bootstrap tabs on the page for adding orders from MARC file
  • [30487] Convert checkout and patron details page tabs to Bootstrap
  • [30523] Quiet console warning about missing shortcut-buttons map file
  • [30570] Replace the use of jQueryUI tabs in OPAC templates
  • [30609] Reindent serial claims template
    • This enhancement updates the serial claims template in the staff interface (claims.tt) so that the indentation is consistent and replaces tabs with spaces. It also adds comments to highlight the markup structure.
  • [30718] Use flatpickr’s altInput option everywhere
  • [30786] Capitalization in (Opac)AdvancedSearchTypes
    • This fixes the descriptions for the AdvancedSearchTypes and OpacAdvancedSearchTypes system preferences – sentence case is now used for “..Shelving location..”.
  • [30806] Use patron-title.inc in member-flags template
    • This enhancement updates the template for the patron set permissions page (members/member-flags.pl) to use the patron-title.inc include wherever patron names are referenced. This is used to format patron name names consistently, rather than a custom format each time the patron name is referenced. The patron name is now displayed as “Set permissions for firstname lastname (patron card number), instead of “Set permissions for lastname, firstname”.
  • [30807] Use patron-title.inc in patron payments pages
    • This enhancement updates the templates for patron accounting – make a payment tab and payment pages (pay and write off options) to use the patron-title.inc include wherever patron names are referenced. This is used to format patron name names consistently, rather than a custom format each time the patron name is referenced. The patron name is now displayed as “Make a payment for firstname lastname (patron card number)” and “Pay charges for firstname lastname (patron card number)”.
  • [30859] Upgrade jQuery Validation plugin from v1.19.1
  • [30917] Improve course reserves breadcrumbs
  • [30936] Reindent authority detail template in staff interface
  • [31228] Fix Coce JavaScript to hide single-pixel cover images in both the staff client detail and results pages
  • [31397] Set focus for cursor to framework code field when creating a new bibliographic framework
    • This enhancement sets the cursor focus on the first input field (Framework code) for the new bibliographic framework form.
  • [31398] Set focus for cursor to framework code field when creating a new authority type
    • This enhancement sets the focus on the first input field for the new authority type form.
  • [31399] Set focus for cursor to first input field when adding new classification source, filing rule, or splitting rule
    • This enhancement sets the cursor/focus on the first form field when adding an entry on the classification configuration page (includes input forms for new classification source, filing rule, and splitting rule).
  • [31400] Set focus for cursor to matching rule code when adding a new matching rule
  • [31404] Update circulation sidebar to match circulation start page
  • [31414] Set focus for cursor to Name when adding additional fields for baskets or subscriptions
  • [31425] Minor correction to patron categories admin title
  • [31428] Shorten new button text “Configure this table”
  • [31490] Terminology: change “staff client” to “staff interface” in marc-overlay-rules
  • [31528] Replace scss-lint configuration with one for stylelint
  • [31529] Fix errors in SCSS files raised by stylelint
  • [31677] Convert basic MARC editor tabs to Bootstrap
  • [31678] Convert authority editor tabs to Bootstrap
  • [31718] Change the IF ELSE values in MARC subfields structure breadcrumbs to facilitate translation
    • This enhancement changes the strings in the IF ELSE for the framework name in the breadcrumbs on the marc_subfields_structure.pl page. There is no change to the page in English. However, it will facilitate the translation by having complete strings.
  • [31759] Improve styling of tabs
  • [31993] Improve specificity of authorized values breadcrumbs
  • [32014] Tweak style of checkout settings panel
  • [32022] Style tweaks to fieldsets and page-section
  • [32038] Sidebar and footer style improvements on suggestions page
  • [32050] Add ‘page-section’ to calendar page
  • [32068] Consistent classes for primary buttons: Administration
  • [32070] Consistent classes for primary buttons: Acquisitions
  • [32071] Consistent classes for primary buttons: Catalog
  • [32072] Consistent classes for primary buttons: Cataloging
  • [32073] Consistent classes for primary buttons: Circulation
  • [32085] Consistent classes for primary buttons: Labels
  • [32086] Consistent classes for primary buttons: Patrons
  • [32087] Consistent classes for primary buttons: Course reserves
  • [32088] Consistent classes for primary buttons: Patron card creator
  • [32091] Consistent classes for primary buttons: Reports
  • [32094] Consistent classes for primary buttons: Serials
  • [32096] Consistent classes for primary buttons: Tools
  • [32097] Consistent classes for primary buttons: Lists
  • [32098] Consistent classes for primary buttons: Clubs and rotating collections
  • [32099] Consistent classes for primary buttons: Assorted templates
  • [32101] Add padding to floating toolbars
  • [32102] Improve specificity of batch record modification breadcrumbs
  • [32112] Move “Delete selected items” button to new line
  • [32147] Capitalization: E-Resource management should be E-resource management
  • [32165] Add page-section to some catalog pages
  • [32179] ERM is missing page-sections
  • [32182] Replace static tabs markup with Bootstrap
  • [32193] Reindent item details template
  • [32254] Add ‘page-section’ to various tools pages

Test Suite

  • [31676] Make db_dependent/Circulation.t tests more robust
  • [31870] Cleaning up t/db_dependent/Context.t


  • [6936] Allow to limit on multiple itemtypes when exporting bibliographic records
    • This allows multiple item types to be chosen when exporting bibliographic records from the export catalog tool.
  • [22659] Add ‘save and continue’ functionality to news and HTML customizations
    • Adds the ability to save & continue when working with either News or HTML customization editors.
  • [27920] Add ability to update patron expiration dates when importing patrons
    • This adds a new option to the patron import from that allows to use the expiration date from the import file or recalculate the patron’s expiration date using today’s date or the original expiration date as base.
  • [31000] Use of uninitialized value $record_type in string eq
    • This fixes the cause of an error message that appears in the system logs every time that Tools > Catalog > Export data (/cgi-bin/koha/tools/export.pl) is accessed. The error message was “AH01215: Use of uninitialized value $record_type in string eq at /kohadevbox/koha/tools/export.pl line 43.: /kohadevbox/koha/tools/export.pl,…”.
  • [31062] Change description of QOTD tool in tools-home
    • This enhancement changes the name and description of the QOTD tool in order to make them more consistent with the other tool names and descriptions.
  • [31385] Additional contents: Allow searching a CMS page by code in multilanguage env
  • [31553] News item contents field does not always expand when you click on a non-default language

New system preferences

  • ApplyFrameworkDefaults
  • AuthorityXSLTOpacResultsDisplay
  • AutoLinkBiblios
  • AutomaticWrongTransfer
  • BundleLostValue
  • BundleNotLoanValue
  • CircControlReturnsBranch
  • ComponentSortField
  • ComponentSortOrder
  • CurbsidePickup
  • DefaultHoldPickupLocation
  • ERMModule
  • ERMProviderEbscoApiKey
  • ERMProviderEbscoCustomerID
  • ERMProviders
  • EmailAddressForPatronRegistrations
  • EmailPatronRegistrations
  • EnableItemGroupHolds
  • EnableItemGroups
  • ExpireReservesAutoFill
  • ExpireReservesAutoFillEmail
  • HoldsSplitQueueNumbering
  • IntranetAddMastheadLibraryPulldown
  • ListOwnerDesignated
  • ListOwnershipUponPatronDeletion
  • NotifyPasswordChange
  • OPACAllowUserToChangeBranch
  • OPACAuthorIdentifiers
  • OverdueNoticeFrom
  • PatronRestrictionTypes
  • RequireChoosingExistingAuthority
  • RetainCatalogSearchTerms
  • RetainPatronsSearchTerms
  • SavedSearchFilters
  • SearchWithISSNVariations
  • UseLocationAsAQInSIP
  • UseOCLCEncodingLevels
  • autoControlNumber
  • suggestionPatronCategoryExceptions

Deleted system preferences

  • BiblioAddsAuthorities (replaced by AutoLinkBiblios and AllowManualAuthorityEditing)

New Authorized value categories


New letter codes


Read more by Jessie Zairo

Tags 22.11, upgrades