# RELEASE NOTES FOR KOHA 24.05.00 28 May 2024 Koha is the first free and open source software library automation package (ILS). Development is sponsored by libraries of varying types and sizes, volunteers, and support companies from around the world. The website for the Koha project is: - [Koha Community](http://koha-community.org) Koha 24.05.00 can be downloaded from: - [Download](http://download.koha-community.org/koha-24.05-latest.tar.gz) Installation instructions can be found at: - [Koha Wiki](http://wiki.koha-community.org/wiki/Installation_Documentation) - OR in the INSTALL files that come in the tarball Koha 24.05.00 is a major release, that comes with many new features. It includes 9 new features, 239 enhancements, 529 bugfixes. **System requirements** You can learn about the system components (like OS and database) needed for running Koha on the [community wiki](https://wiki.koha-community.org/wiki/System_requirements_and_recommendations). ## New features & Enhancements ### About #### Enhancements - [32693](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32693) The 'About Koha' page loads slowly >This enhancement improves the 'About Koha' page loading time. Instead of loading all the tabs at once, the content is loaded when the tab is selected. ### Acquisitions #### Enhancements - [10758](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10758) Show bibliographic information of deleted records in acquisition baskets >This makes the title of a deleted bibliographic record visible in the basket summary page. Please note that this will only work on records, where the biblionumber of the deleted record has been stored. - A feature that was introduced with Koha 23.05. - [18360](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18360) Allow deletion of cancelled order lines >This patch set allows you to delete cancelled order lines from an open acquisition basket. - [30070](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30070) Performance issues with edifactmsgs when you have a large number of messages >This enhancement converts the EDIFACT messages display table to an API driven asynchronous datatable greatly improving the performance of that page when large numbers of messages exist. - [33171](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33171) Add coded_location_qualifier, barcode, and enumchron to MarcItemFieldsToOrder >This enhancement allows the use of `coded_location_qualifier`, `barcode` and `enumchron` fields in the `MarcItemFieldsToOrder` preference. - [33393](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33393) Modify sentence above the order table in English 1-page order PDF >This enhancement adds the new `1PageOrderPDFText` system preference allowing librarians to customise the output of PDF orders. **Sponsored by** *Pymble Ladies' College* - [35724](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35724) Define non-standard port numbers for SFTP upload/download in EDI accounts >This adds configuration options for the upload port and download port to the EDI account configuration page. If no port is added, it will keep using the default port 22. **Sponsored by** *Waikato Institute of Technology, New Zealand* ### Architecture, internals, and plumbing #### Enhancements - [19097](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19097) Koha to MARC mappings (Part 3): Correct remaining GetMarcFromKohaField calls - [31335](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31335) Unnecessary holds fetch in serials/routing-preview.pl - [31345](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31345) Add ability to exit process_message_queue.pl early if any plugin before_send_messages hook fails - [32474](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32474) Implement infinite scroll in vue-select - [33431](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33431) Make code use C4::Context->yaml_preference - [34426](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34426) Add tests for CSRF checks missing - [35133](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35133) Accessors defined in AUTOLOAD does not work if called with SUPER - [35388](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35388) Add comment to circ/transfers_to_send.pl about limited use in stock rotation context - [35490](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35490) Remove GetMarcItem from C4::Biblio - [35536](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35536) Improve removal of Koha plugins in unit tests - [35581](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35581) ILL Koha classes are not consistent >This is behind-the-scenes work that restructures the Koha ILL classes in the source code. No functionality is added or updated here. > >For backend authors: >If your ILL backend(s) invokes core class methods e.g.: >my $request = Koha::Illrequests->find( $illrequest_id ) > >It'll have to be updated to: >my $request = Koha::ILL::Requests->find( $illrequest_id ) - [35616](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35616) Add a 'source' field to Koha::Tickets to denote the path taken to report the ticket - [35633](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35633) Upgrade Chocolat JS library from v1.1.0 to v1.1.2 - [35638](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35638) Upgrade Enquire JS library from v2.0.1 to v2.1.6 - [35640](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35640) Upgrade FileSaver JS library to v2.0.4 - [35642](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35642) Upgrade Font Face Observer library from v2.0.3 to v2.3.0 - [35643](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35643) Upgrade HC Sticky library from v2.2.3 to v2.2.7 - [35782](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35782) Remove Koha::Template::Plugin::Biblio::HoldsCount - [35783](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35783) Remove Koha::Template::Plugin::Biblio::RecallsCount - [35787](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35787) Remove Koha::Template::Plugin::Biblio::CanBook - [35788](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35788) Remove Koha::Template::Plugin::Biblio::BookingsCount - [35789](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35789) Remove Koha::Template::Plugin::Biblio::ArticleRequestsActiveCount - [35790](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35790) Remove Koha::Template::Plugin::Biblio::CanArticleRequest - [35793](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35793) Remove Koha::Template::Plugin::Cache - [35907](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35907) Add ability to log all custom report runs with or without query - [35955](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35955) New CSRF token generated everytime we need one - [35994](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35994) New acquisition status method to see if biblio record is still in acquisition - [36017](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36017) Dead code in admin/clone-rules - [36018](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36018) Improve consistency in Acquisition/Order(s) regarding active/current orders - [36019](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36019) Dead code in tags/review - [36051](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36051) Add option to specify SMS::Send driver parameters in a system preference instead of a file - [36084](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36084) Pass CSRF token to SVC scripts (1/2) >The /svc API now requires a CSRF token for stateful requests (i.e. POST/PUT/PATCH/DELETE). Third-party developers should consult the wiki documentation for updated workflows. CSRF tokens are available through the /svc/authentication endpoint. - [36102](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36102) Protect login forms from CSRF attacks - [36148](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36148) Move CSRF check code outside of CGI->new - [36151](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36151) Update leaflet.js to current version **Sponsored by** *Geosphere, Austria* - [36246](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36246) Have a centralized method for submitting a form via a link - [36328](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36328) C4::Scrubber should allow more HTML tags - [36374](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36374) Some of our JS files should stay tidy - [36400](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36400) Centralize {js,ts,vue} formatting config in .prettierrc.js - [36546](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36546) Bundle API spec to speed up worker startup >This change adds a bundled version of the API specification during build time, which requires less processing, which in turn allows Koha to start up faster. - [36788](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36788) Debian control* updates for new dependencies - [36792](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36792) Limit POSIX imports ### Authentication #### Enhancements - [36503](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36503) Add a plugin hook to modify patrons after authentication >This plugin hook allows to change patron data or define the patron based on the authenticated user. **Sponsored by** *Karlsruhe Institute of Technology (KIT)* ### Cataloging #### New features - [31791](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31791) Add the ability to lock records to prevent modification through the Koha staff interface >This feature adds a way to lock records from being manually edited, if their defined source is marked as such. > >The record source can only be set (so far) when adding records using the API (or a dedicated plugin using the new code). A future enhancement (bug 36372) will allow privileged users to set the record source manually, as well. **Sponsored by** *ByWater Solutions* #### Enhancements - [30554](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30554) Use XSLT in authority search cataloguing plugin >This fixes the authority search cataloguing plugin so that the search results when adding an authority term to a record are customisable when using the AuthorityXSLTResultsDisplay system preference (for both MARC21 and UNIMARC). **Sponsored by** *Écoles nationales supérieure d'architecture (ENSA)* - [32435](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32435) Add resolution types to catalog concerns >This enhancement adds a new `TICKET_RESOLUTION` authorized value type. You may use it to optionally add new resolution values to the catalog concerns workflow. > **Sponsored by** *PTFS Europe* - [33494](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33494) Catalog concerns - Toggle 'Hide resolved' and 'Show all' **Sponsored by** *PTFS Europe* - [35034](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35034) Add link to the bibliographic records when they are selected for merging - [35062](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35062) Allow a framework plugin to add class to prevent submit during ajax call - [35628](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35628) Add optional statuses to catalog concerns >This enhancement adds a new `TICKET_STATUS` authorized value type. You may use it to optionally add new statuses to the catalog concerns workflow. > **Sponsored by** *PTFS Europe* - [35657](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35657) Add ability to assign tickets to librarians for catalog concerns >This enhancement adds to the ability to assign tickets to librarians in the catalog concerns feature. > **Sponsored by** *PTFS Europe* - [35768](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35768) Show 'Used in' records link for results in cataloguing authority plugin **Sponsored by** *Education Services Australia SCIS* - [36156](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36156) Don't duplicate selected value when a field or subfield linked to an authorized value is repeated >When a field or subfield is linked to a list of authorized values and repeated in the cataloging editor, the selected value was repeated in the copied field. This makes it so the copied field will be empty. - [36370](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36370) Add ContentWarningField to UNIMARC XSLT >This enhancement enables UNIMARC installations to pick a note field to use to store 'Content warnings' about bibliographic records, using the ContentWarningField system preference (added in Koha 23.05 by bug 31123, but only for MARC21 installations). > >To use this feature, add a tag and subfields to your bibliographic framework(s), and update the ContentWarningField system preference with the tag to use. A 'Content warning:' label will then be displayed in the OPAC and staff interface, on both the detail and results pages. If a $u subfield for a URL is added, the $a subfield will use this as to create a clickable link. Other subfields will be displayed after the $a subfield. ### Circulation #### New features - [6796](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=6796) Overnight checkouts taking into account opening and closing hours >This feature adds the ability to set opening and closing hours for your library and for these hours to be considered when calculating due dates for hourly loans. If the due date for an hourly loan falls after the library closes, the library can choose for the due date to be shortened to meet the close time, or extended to meet the open time the next day. This feature adds a new table 'branch_hours' for storing the open and close times per day for each library, and a new system preference 'ConsiderLibraryHoursWhenIssuing' to choose which behaviour should be followed when calculating due dates. **Sponsored by** *Auckland University of Technology*, *Catalyst* and *PTFS Europe* - [29002](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29002) Add ability to book items ahead of time >This lays the foundations for item bookings in Koha. > >An item can be made 'bookable' via the item modification screens; Once at least one item is `bookable`, a new "Place booking" button will appear as an option on the bibliographic record detail page and a "Bookings" tab will be available from the side menu to allow management of bookings. > >Bookings cannot overlap, and circulation will detect when an item has a booking on it and notify the librarian appropriately. > >*Note*: There are many further enhancements in the pipeline still to come. #### Enhancements - [16122](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16122) Item record needs to keep local use count >This patch adds a new separate field for recording local use to the items table. It will be hidden from the holdings table by default but can be made visible using the table configuration settings. > >This includes a new CLI script to update the `update_localuse_from_statistics.pl` that can be used to set the new items.localuse field with information from the statistics table. - [27595](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27595) Place holds for patrons on accepted purchase suggestions >This patch adds a new system preference “PlaceHoldsOnOrdersFromSuggestions” that allows accepted suggestions to automatically be put on hold for the suggesting patron as soon as the suggested item is ordered. > >The default value is “Don't” automatically place a hold when ordering from a suggestion. > **Sponsored by** *Bedford Public Library* **Sponsored by** *Altadena Library District* **Sponsored by** *St. Paul's School* - [27753](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27753) Automate resolution of return claim when checking in an item >This patch adds two new system preferences, ‘AutoClaimReturnStatusOnCheckin’ and ‘AutoClaimReturnStatusOnCheckout’, to allow automatic resolution of return claims on checkin and/or on checkout of the item claimed as returned. Both system preferences allow choosing between "Found in library" or "Returned by patron" as reasons for the resolution. The default value for both preferences is empty, meaning automatic resolution on checkin/checkout is turned off by default. > **Sponsored by** *Altadena Library District* **Sponsored by** *Altadena Library District* - [31671](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31671) Add button to print transfer slips to the 'Transfer items' page - [33174](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33174) Have better indication when one is cancelling multiple holds on a record >This improves the confirmation message when multiple holds are cancelled to include the number of holds to be cancelled. - [33737](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33737) Add bookings to patron details >This enhancement exposes a patron's bookings in their details page in the staff interface. > **Sponsored by** *PTFS Europe* and *ByWater Solutions* - [34668](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34668) Notify staff with a pop-up about waiting holds for a patron when checking out >This enhancement adds a new system preference, WaitingNotifyAtCheckout, that generates a pop-up in the circulation module alerting staff that the patron they are checking out items to also has holds waiting for them. - [35813](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35813) When placing a booking, we should feedback successful placements - [36074](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36074) Make materials specified note easier to customize, part 2 - [36096](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36096) Add ability to select default sort and display length for tables on 'Holds awaiting pickup' page - [36120](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36120) Add pickup locations to bookings >This enhancement adds the requirement to pick a pickup location when placing a booking. **Sponsored by** *Cuyahoga County Public Library* - [36373](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36373) Show existing bookings in datepicker >With this change it's possible to see the dates an item is already booked for within the calendar widget when creating a new booking. The booked dates will show with a little blue dot. ### Command-line Utilities #### Enhancements - [26831](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26831) Enable librarians to control when unaccepted private list share invites are removed by the cleanup_database.pl cronjob >The new `PurgeListShareInvitesOlderThan` system preference enables librarians to control when unaccepted private list share invites are removed from the database. > >Unaccepted private list share invites will now be removed based on the following prioritised options: > >- Priority 1. Use DAYS value when the cleanup_database.pl cronjob is run with a --list-invites DAYS parameter specified. > >- Priority 2. Use the PurgeListShareInvitesOlderThan system preference value. > >- Priority 3. Use a default of 14 days, if the cleanup_database.pl cronjob is run with a --list-invites parameter missing the DAYS value, AND the PurgeListShareInvitesOlderThan system preference is empty. > >- Priority 4. Don't remove any unaccepted private list share invites if the cleanup_database.pl cronjob is run without the --list-invites parameter and the PurgeListShareInvitesOlderThan syspref is empty. **Sponsored by** *Catalyst* - [29440](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29440) Refactor/clean up bulkmarcimport.pl - [31286](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31286) Embed see-from headings into bibliographic records export >This adds a new option `--embed_see_from_headings` to the CLI script `export_records.pl`. It allows to include the see-also headings from the linked authority records in the exported bibliographic records. - [34611](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34611) Add a script for pseudonymizing existing data >This adds a new CLI script `pseudonymize_statistics.pl` that will allow to pseudonymize rows in the statistics table before a given date. - [35169](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35169) Make long overdue patron category options configurable in interface >This adds two new system preferences `DefaultLongOverduePatronCategories` and `DefaultLongOverdueSkipPatronCategories` that allow for additional configuration of the `longoverdue.pl` CLI script directly from the staff interface. The settings of the system preferences will be used when the script is called without the corresponding options. - [35479](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35479) Nightly cronjob for plugins should log the plugins that are being run - [35653](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35653) Allow the patron import script to log it's output to the action_logs cron logging - [35836](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35836) search_for_data_inconsistencies.pl - Search for loops in dependencies - [35954](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35954) Add --status to koha-plack - [35996](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35996) Add clarification to POD in writeoff_debts.pl - [36068](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36068) Add maintenance script acq_cancel_obsolete_orders.pl >This adds a new CLI script `acq_cancel_obsolete_orders.pl` that allows to clean up older acquisition data with conflicting information on the order status. This will also cancel order lines that are no longer linked to a bibliographic record, but are still considered pending. - [36309](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36309) create_superlibrarian.pl output could be more helpful - [36325](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36325) Add option to koha-run-backups/koha-dump, to exclude logs ### Database #### Enhancements - [36755](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36755) Increase length of 'code' column in borrower_attribute_types >This extends the borrower_attribute_types.code field from varchar(10) to varchar(64). This makes it easier to use also for plugins who might want to use unique prefixes. ### ERM #### New features - [34788](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34788) Add the ability to import KBART files to ERM >This enhancement to the ERM module allows for importing KBART format files into the system. It also allows to optionally create linked bibliographic records from the provided data. **Sponsored by** *UK Health Security Agency* #### Enhancements - [36618](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36618) Make creation of bibliographic records optional for ERM local titles >Without this patch creating a local title would always create a bibliographic record in the catalog as well. Now this is optional depending on a checkbox. The checkbox is also available when importing local records form a KBART file. ### Fines and fees #### Enhancements - [22740](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22740) Automatically change lost status when item is paid for >This patch implements two new system preferences, `UpdateItemLostStatusWhenWriteOff` and `UpdateItemLostStatusWhenPaid` that allow you to specify the status to change an item to when the outstanding balance of a lost item is paid or written off. These preferences are tied to the LOST authorised values set. > **Sponsored by** *Cuyahoga County Public Library* ### Hold requests #### Enhancements - [15565](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15565) Place multiple item-level holds at once for the same record >Allow borrowers to place multiple item-level holds on a record in the staff interface and OPAC. > >Item radio buttons are replaced with checkboxes. > >This feature is enabled/disabled via the system preference "DisplayMultiItemHolds". - [23208](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23208) Ability to set default ratio in holds ratio report >This patch adds the new system preference 'HoldRatioDefault' to allow setting a different default value for the holds ratio report found in Circulation -> Holds -> Hold ratios. >The default value for the new system preference is 3. - [30579](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30579) When placing item level hold, some options that are not used are not disabled >This is part of improvements to placing holds from the record page in the staff interface. > >It improves the structure of the page to make it clear that the different type of holds ("Hold next available item", "Hold next available item from an item group" (when enabled), and "Hold a specific item") are mutually-exclusive options, including: > >- Simplifying the hold details section at the start of the page >- Putting the information and options for each type of hold in their own selectable section of the page > >Note: additional improvements to the design were made in bugs 36864 and 36899. - [31981](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31981) Add classes to each NEEDSCONFIRM message for easier styling in circ/circulation.tt >This patch adds a unique class to each "needs confirmation" message shown in circulation. Previously the only selector for any circulation message needing confirmation was #circ_needsconfirmation, so CSS or jQuery targeting only a single specific message was not easy to do. >With this patch you can directly target the new unique class selector for the specific message found behind the class element .needsconfirm. - [34032](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34032) Holds expirationdate left blank if waiting status is reverted **Sponsored by** *Koha-Suomi Oy* - [35432](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35432) Clarify and simplify the workings of MapItemsToHoldRequests - [35564](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35564) Add home library (homebranch) column to holds queue report - [35576](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35576) Make the callnumber column easier to customize when viewing the holds queue report >This adds the class 'hq-callnumber' to the call number column on the holds queue report. This will allow for easier customization using CSS or jQuery. - [35727](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35727) Unused code in HoldsQueue::MapItemsToHoldRequests - [35826](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826) Optimize building of holds queue based on transport cost matrix - [36559](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36559) Transport cost matrix update helpers >With a lot of columns and rows the transport cost matrix got hard to edit. This patch makes it so that the header column and row are fixed and will always remain visible while editing. ### ILL #### Enhancements - [19605](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19605) ILL backends should be pluggable through regular Koha plugins - [34431](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34431) Distinguish between status and status alias in ILL UI - [35106](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35106) ILL - Add patron autocomplete to 'Edit request' Patron ID input - [35107](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35107) ILL - Type disclaimer value and date should be visible under "Request details" in the manage request page - [35108](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35108) ILL - "Manage request" page is too loaded >This enhancement hides option fields that are empty when displaying ILL requests. - [35151](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35151) Convert ILLModuleCopyrightClearance system preference to additional contents - [36105](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36105) Add option to filter for "No status alias" ### Installation and upgrade (web-based installer) #### Enhancements - [35681](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35681) Add support for colored messages in the output of updatedatabase >This enhancement adds support for colored messages for Koha database updates, in both the terminal and browser. > >These new CSS classes are used: >.updatedatabase-report-red for warnings >.updatedatabase-report-green for ? >.updatedatabase-report-yellow where action is required >.updatedatabase-report-blue for information > **Sponsored by** *PTFS Europe* ### MARC Authority data support #### New features - [13706](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13706) Deduping authorities script (dedup_authorities.pl) >This new command line script (misc/maintenance/dedup_authorities.pl) is a tool for helping to automatically remove duplicate authority records. > >Features: >- Choose a method(s) to select which authority record to keep when duplicates are found. Methods include: > . date: keep the most recent authority (based on 005 field) > . used: keep the most used authority > . ppn: PPN (UNIMARC only), keep the authority with a ppn (when some authorities don't have one, based on 009 field) >- Use a SQL WHERE statement to limit the authority records checked for deduplication >- Check only specified authority types >- Increase the level of detail shown using the --verbose option >- Changes are only made when the --confirm option is used > >Examples: >- Methods - for the authorities that have a PPN, keep the most recent, and if two (or more) have the same date in 005, keep the most used: --method ppn --method date --method used >- SQL WHERE statement - only look at records with an auth_id less than 5,000: --where="authid < 5000" >- Limit deduplication to specific authority types: --authtypecode PERSO_NAME > >See the script help for the options available and usage examples (misc/maintenance/dedup_authorities.pl --help). #### Enhancements - [29825](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29825) Preview of authority record on edit mode as MARC formatted view - [30047](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30047) Add a field to auth_header to record main heading as text string - [35328](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35328) Add a notes pop-up for authority records to authority search results >This enhancement makes authority record notes (6xx) more accessible in a special Notes pop-up, available in all authority search result lists. **Sponsored by** *Education Services Australia SCIS* - [35903](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35903) In cataloguing authority plugin using autocomplete should set operator exact after selecting an entry ### MARC Bibliographic data support #### Enhancements - [35993](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35993) AddBiblio should add 005 just like ModBiblio updates it - [36108](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36108) Update MARC21 default framework to Update 37 (December 2023) >This enhancement updates the default MARC21 framework for new installations to reflect the changes from Update 37 (December 2023). > >NOTES: >- For existing installations, manually updating the default and other frameworks with the changes is required. >- For new installations, only the default framework is updated. Manually updating other frameworks with the changes is required. ### MARC Bibliographic record staging/import #### Enhancements - [30349](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30349) Cleanup bulkmarcimport.pl >Updates the help info and adds multi-character options where they are missing. (e.g. --help for -h) - [33418](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33418) Allow setting overlay_framework for connexion imports - [36247](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36247) MARC21 Addition to relator terms in technical notice 2024-02-27 >This patch adds the relator code gdv (Game developer) in the list of MARC21 relator terms in Koha. > >Note: this is added in the installer files. It will not affect existing installations. For existing installations, add the new relator code in Administration > Authorized values > RELTERMS. ### Notices #### New features - [29393](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29393) Ability to send emails from patron details page >This new feature allows staff with appropriate permissions, `send_messages_to_borrowers`, to email patrons from the patron details pages. > >Notice templates can be defined, and used for defaults, using the new `Patrons (custom message)` module. > **Sponsored-by** *Aix-Marseille University* #### Enhancements - [12802](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12802) Send notices using several email addresses >This enhancement allows libraries to select a list of email address fields to use when sending notices to patrons. > >The address fields used in the notices are selected using a new system preference, `EmailFieldSelection` - these address fields are then used for the notices when `EmailFieldPrimary` is set to `selected addresses`. **Sponsored by** *St Luke's Grammar School & Pymble Ladies' College* - [18397](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18397) Add recipient/sender information to notices tab in staff interface >This enhancement adds `from`, `to` and `cc` addresses to the 'Delivery note' column in the patron's notices table, once the notice is sent. > **Sponsored by** *PTFS Europe* - [31627](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31627) Add ability to embed the letter ID in outgoing email notices >This enhancement adds two new email headers to notices sent by Koha. > >`X-Koha-Template-ID` to contain the ID of the template used to generate the notice, and `X-Koha-Message-ID` to contain the ID of the specific message as defined by Koha. > >This allows staff to easily trace issues with message content back to their source. Headers are not displayed to end users by default, but are easily accessible to support staff. > **Sponsored by** *ByWater Solutions* - [33478](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33478) Customise the format of notices when they are printed >This implements a style field for each template to allow for advanced CSS customisations of printed notices and slips. There are links to insert selectors as helpers. Styles can be applied for an individual notice or all notices at once. **Sponsored by** *Colorado Library Consortium* - [34854](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34854) Add ability to skip Talking Tech Itiva notifications for a patron if a given field matches a given value - [35279](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35279) Add fallback for WELCOME notice to allow 'print' when patrons are missing email address - [35925](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35925) Port default NEW_SUGGESTION, REJECTED, ACCEPTED, and ORDERED notices to Template Toolkit - [36106](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36106) Port default PREDUE and DUE notices to Template Toolkit - [36113](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36113) Port default RENEWAL notice to Template Toolkit syntax - [36125](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36125) Port default HOLD_SLIP notice to Template Toolkit syntax - [36126](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36126) Port default HOLD notice to Template Toolkit syntax - [36608](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36608) Port default TO_PROCESS and AVAILABLE notices to Template Toolkit syntax ### OPAC #### Enhancements - [19768](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19768) Possibility to choose "Note" tab in OpacSerialDefaultTab >This adds an additional option to the `opacSerialDefaultTab` system preference that allows to select the 'Title information' tab as default on serial records in the OPAC. **Sponsored by** *Athens County Public Libraries* - [29948](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29948) Display author information for researchers >This enhancement enables the display of authority record information about authors and contributors on OPAC record and authority detail pages.[1] > >Use the new system preference OPACAuthorIdentifiersAndInformation to configure what information to display, and in what order. (This replaces OPACAuthorIdentifiers, which enabled the display of identifiers from 024$a and 024$2.) > >Information available for display: >- Field of activity (372$a$s$t) >- Address (371$a$b$d$e) >- Associated group (373$a$s$t$u$v$0) >- Electronic mail address (371$m) >- Identifiers (024$2$a)[2] >- Occupation (374$a$s$t$u$v$0) >- Place of birth (370$a) >- Place of death (370$b) >- URI (371$u) > >[1] Displayed on the bibliographic record detail page in the holdings section under a new 'Author information' tab; and on the authority record detail page under the 'Author information' heading. > >[2] Valid codes for author and contributor identifiers to use in the source subfield (024$2) are currently: orcid (ORCID), scopus (ScopusID), loop (Loop ID), rid (Publons ID), and viaf (VIAF ID). **Sponsored by** *Orex Digital* - [34793](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34793) We should ship default 'CookieConsentPopup' data that describes our required cookies >This only applies to new installations that select "sample news items" in the web installer. - [35346](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35346) 'Accept essential cookies' should always appear if CookieConsent is enabled - [35347](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35347) 'More information' should always display in cookie consent bar - [35586](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35586) Add the collection to the location column in the OPAC cart - [35663](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35663) Wording on OPAC privacy page is misleading - [35689](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35689) Add id and classes to each MARC note in OPAC bibliographic details >This enhancement adds id and class attributes to each MARC note in the description tab for the OPAC bibliographic detail page. > >It adds a unique id for each note (for unique styling of each repeated tag), and a general and unique class for each tag (for consistent styling across the same tag number). An example of the HTML output: >``` >

...

>``` >Styles can be defined for notes and individual tags in the `OPACUserCSS` system preference - see the test plan for an example. - [35812](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35812) Should specify canonical URLs to help search indexers >This adds a nice canonical URL for search engines to use. It will prevent duplicates with different URL query parameters from getting indexed separately and will also prevent search engine confusion when the search automatically redirects to the detail page for searches with only one result. - [36138](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36138) Add cancellation reason to the status column on the OPAC hold history page ### Patrons #### Enhancements - [25996](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=25996) Changes to restrictions should be logged >This adds logging of adding, updating and lifting of patron restrictions. It's controlled by the `BorrowersLog` system preference. **Sponsored by** *Karlsruhe Institute of Technology (KIT)* - [26597](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26597) Transfer information from guarantor when adding a guarantor to an existing patron - [31097](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31097) Patron restriction types should display in staff interface and OPAC >This patch allows the display of patron restriction types and expiry dates directly in the checkout area and in the patron details as well as in the OPAC when patron restriction types are in use and also uses a newline for each restriction. Previously only the comment was displayed. - [32610](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32610) Add ability to specify patron attribute as a date >This makes it possible to add patron attribute fields as dates. The field will then display as any other date field including the calendar widget. - [33703](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33703) Entering dates should be more flexible accepting different entry formats >This makes entering dates directly into the date field a bit more flexible by allowing to omit the delimiters ('/' or '-', or '.') for the set date format. - [34574](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34574) Datatables column dropdown select filter does not have a CSS class - [34575](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34575) Patron search results: Add a CSS class to patron email to ease customization - [35316](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35316) Add call number to holds history page - [35356](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35356) SMS number field shows on moremember.pl even when null - [35474](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35474) Add icon for protected patrons - [36204](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36204) Add othernames to the PatronAutoComplete display ### Plugin architecture #### Enhancements - [30897](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30897) Gracefully reload Koha after plugin install/upgrade >This fix, (enabled by default for new installations), allows plugins to be installed via the staff interface without the additional need to ask a system administrator to restart your Koha instance. - [34943](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34943) Add a pre-save plugin hook for biblios >This plugin hook allows tweaking bibliographic records right before they are stored on the database. > >This allows having plugins that add custom/calculated fields, for example. **Sponsored by** *Theke Solutions* - [35331](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35331) Add an ILL table actions plugin hook - [35568](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35568) Add a plugin hook to allow modification of notices created via GetPreparedLetter - [36206](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36206) Administrative plugins >This adds a new type of administrative plugin that supplements the existing tool and report plugins. When installed, an entry for this plugin will be shown on the administration module start page. ### REST API #### Enhancements - [22613](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22613) Add /patrons/patron_id/checkouts endpoints - [26297](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26297) Add a route to list patron categories - [33036](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33036) Add route to merge bibliographic records >A new endpoint of REST API /biblios to merge two bibliographic records. You need to pass parameters with a JSON file. >Complete endpoint: /api/v1/biblios//merge >Parametes of json file: >- biblio_id_to_merge (mandatory) >- rules (optional) >- framework_to_use (optional) >- datarecord (optional) >More info in the Swagger/OpenAPI specification of the API. **Sponsored by** *Technische Hochschule Wildau* - [33960](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33960) Add ability to retrieve deleted bibliographic records - [35353](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35353) Add API endpoint to fetch patron's previous holds - [35386](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35386) Add ability to configure renewal library when not specified in API request - [35744](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35744) Implement +strings for GET /patrons/:patron_id - [35967](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35967) Add /api/v1/patrons/{patron_id}/recalls endpoint to list a patron's recalls **Sponsored by** *Auckland University of Technology* - [36480](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36480) Add GET /libraries/:library_id/desks >This enhancement adds an API endpoint for requesting a list of desks for a library. For example: http://127.0.0.1:8080/api/v1/libraries/cpl/desks - [36481](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36481) Add GET /libraries/:library_id/cash_registers >This enhancement adds an API endpoint for requesting a list of cash registers for a library. For example: http://127.0.0.1:8080/api/v1/libraries/cpl/cash_registers - [36482](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36482) Make it possible to embed desks and cash_registers on /libraries - [36495](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36495) Add render_resource_not_found() and render_resource_deleted() helpers - [36565](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36565) Fix API docs inconsistencies ### Reports #### Enhancements - [5920](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5920) Remove HTML from downloaded reports in CSV format >When choosing the CSV option of downloading a report from the reports module, any HTML used for creating links etc. will automatically be removed from the exported file. - [35746](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35746) Multiple selections for parameters used in the IN function >This enhancement adds the ability for report runtime parameters to allow selecting multiple options from the list of authorized values. > >**Usage**: `WHERE branchcode IN <