The current build is BETA 23.11.920, which is installed on all servers .

prev: KK-team release 23.05 (19th) changelogs 


  1. Changed the size of barcodes in label creator (Bug 10762)
  2. Changed sending email to guarantor using the CC field and fixed various related issues (Bug 12532)
  3. Modified basket creation date addition to late orders table for sorting and utilized data-order for sorting instead of data-sort (Bug 12732)
  4. Enhanced the acquisition order search form with the 'any status' option (Bug 14092)
  5. Improved the OPAC lists display by fixing the missing "Add to cart" option and other list options (Bug 15222)
  6. Updated the functionality around TrackLastPatronActivity, including the introduction of a new syspref TrackLastPatronActivityTriggers and refinements in tracking patron activity (Bug 15504)
  7. Introduced the ability to define liftable restrictions, added new columns to the restriction_types table, and improved the logic around fee limits and "Lift after payment" (Bug 16223)
  8. Improved the messaging preferences with the addition of Koha-objects, enhanced validation for phone and transport types, and replaced some legacy functionalities with updated Koha::Patron::MessagePreference modules (Bug 17499)
  9. Enhanced the handling of repeatable patron attributes in the batch patron modification tool and allowed for the removal of all attributes (Bug 21083)
  10. Extended the 'Last patron' navigation feature to show the last 10 patrons and introduced a new syspref to control the display count (Bug 21246)
  11. Improved the deletion of biblios by updating linked ILL requests and introduced a new API object for ILL requests (Bug 21983)
  12. Enhanced the inventory CSV export to display the 'shelved out of order' error (Bug 22135)
  13. Clarified the purpose of disallow_overpayment with an added comment (Bug 22873)
  14. Improved CSRF protection in boraccount, pay, and suggestion, fixed issues in and shelves table, and resolved template syntax problems in (Bug 22990)
  15. Improved email sending functionality by exposing CC address in patron notices display and enabling email sending to both guarantor and guarantee (Bug 12532)
  16. Improved OPAC lists display by including 'Add to cart' option and other list options (Bug 15222)
  17. Made multiple improvements to patron tracking and removed 'PatronLastActivity' preference (Bug 15504)
  18. Introduced and fixed checkout APIs, and improved consistency of the 'AddIssue' return (Bug 23336)
  19. Enhanced the Clubs tool in the staff interface, including 'edit' functionality and display of club enrollment question answers (Bug 25079)
  20. Overhauled auto renewals logic, UI adjustments, and integrated the 'noautorenewalbefore' circulation rule (Bug 25393)
  21. Defined item-type specific rules in 'UpdateNotForLoanStatusOnCheckin' (Bug 25560)
  22. Made improvements to distinguish expired patron restrictions (Bug 26053)
  23. Refined title search, volume link display, and addressed changes related to bug 11175 methodology (Bug 26314)
  24. Improved MARC21 530 display on detail pages (Bug 26862)
  25. Listed names in alphabetical order in Suggestion filter (Bug 26994)
  26. Adjusted mappings to add title without punctuation and made interface updates for Elasticsearch indexing (Bug 27153)
  27. Renamed field names from "Mobile" to "Other phone" and from "phone" to "primary phone". (Bug 29762)
  28. Addressed an issue where linking authorities automatically didn't detect duplicate authorities (Bug 31185)
  29. Made item searches in the staff interface call barcodedecode if the search index is a barcode (Bug 31253)
  30. Improved styling and pre-selection (Bug 31503)
  31. Updated the description for system preference (Bug 31503)
  32. Used CalculateFundValuesIncludingTax when modifying an existing order (Bug 31631)
  33. Improved handling of several system preferences, fixing handling of undefined values in ItemsDeniedRenewal and more (Bug 32478)
  34. Addressed various issues in Koha::Item and Koha::Biblio, corrected caching, and made other minor adjustments (Bug 32894)
  35. Upgraded Font Awesome icons to V6, adjusted fontawesome icons references, and made various icon corrections (Bug 32910)
  36. Addressed the OPACHoldsIfAvailableAtPickup which considered "On order" as available (Bug 33087)
  37. Made numerous adjustments related to vendors, including API specifications, database revisions, and object classes (Bug 33105)
  38. Improved option description (Bug 33204)
  39. Updated 'catalog' to 'bibliographic' in preferences (Bug 33286)
  40. Caught more cases and correctly used new-password hint, made use of the 'autocomplete=off' attribute on password fields (Bug 33343)
  41. Renamed preference and added new PatronAutoCompleteSearchMethod system preference. (Bug 33117)
  42. Used facet label value for mouseover text on facet removal link. (Bug 33140)
  43. Improved option description and added the ability to filter on patron library for (Bug 33204)
  44. Improved description and added the ability to run only on a specified message name. (Bug 33239)
  45. Improved vendor aliases display in dropdown list. (Bug 33480)
  46. Defaulted to searching 'standard' fields and parsed search fields in buildPatronSearchQuery. (Bug 33428)
  47. Updated AddRenewal to take a hashref of params. (Bug 33444)
  48. Made interface URL clickable on vendor details. (Bug 33499)
  49. Made cosmetic changes, added a erm/config route to retrieve the ERM config needed for the Vue app, fixed settings, and marked the endpoint as experimental (Bug 33606)
  50. Added sample patrons to patch, provided some hints, and disabled sample holidays if libraries are not selected (Bug 33581)
  51. Stopped showing guarantor info on details page if borrowerRelationship is empty (Bug 33620)
  52. Made cosmetic changes, added a erm/config route to retrieve the ERM config needed for the Vue app, fixed settings, and marked the endpoint as experimental. (Bug 33606)
  53. Made several updates related to the Statistics module, including adding new circulation types, updating stats, and polishing the Koha::Statistic. (Bug 33608)
  54. Improved the ILL Type Disclaimer in both OPAC and Staff views and introduced new system preferences related to this feature. (Bug 33716)
  55. Improved terminology in various instances, including changing terms like "biblio record" and "Item already issued to other borrower." (Bug 33778, 33779, 33781)
  56. Changed the term from 'Authentication providers' to 'Identity providers' (Bug 33859)
  57. Checked "Change currency" only if it was checked before and updated values in data that would be saved (Bug 33863)
  58. Upgraded the Multiple Select plugin in the staff interface (Bug 33868)
  59. Improved display for missing bibliographic record links (Bug 33946)
  60. Enhanced the email sending mechanism using Email::Sender::Transport::SMTP::Persistent (Bug 33964)
  61. Enhanced Koha::Biblios functionality with api_query_fixer and made columns searchable (Bug 33974)
  62. Enhanced auto-expiring mechanism for problematic recalls (Bug 33992)
  63. Improved UI in recall pages (Bug 34010 & 34012)
  64. Displayed recall count on each tab in the 'Recalls awaiting pickup' section (Bug 34013)
  65. Improved efficiency in handling authorized value descriptions for items in results (Bug 33989)
  66. Improved translation of CSV header templates (Bug 34043)
  67. Improved translations of strings on the about page (Bug 34074)
  68. Improved phrasing for "Displaying [all|approved|pending|rejected] terms" (Bug 34079)
  69. Cached empty hashref for non-existent authorised values (Bug 34051)
  70. Improved datatable translations on list of saved reports (Bug 34066)
  71. Changed the phrasing of 'automatic checkin' to fit consistent terminology (Bug 34071)
  72. Showed location on detail page when there is no permanent location (Bug 34086)
  73. Moved patron_autocomplete functionality to enhance search (Bug 34092)
  74. Used DefaultPatronSearchMethod consistently (Bug 34094)
  75. Adjusted shipment cost logic for receiving shipments (Bug 34095)
  76. Capitalized "Currencies & Exchange rates" (Bug 34103)
  77. Improved header search box functionality (Bug 34106)
  78. Improved in-page navigation on table settings page (Bug 34124)
  79. Updated the page title, breadcrumbs, and side menu for better consistency (Bug 34131)
  80. Set default sort on first column (ID) in descending order (Bug 34133)
  81. Enhanced UI by moving the icons for the selected tab to the left of the search bar in the staff interface (Bug 34135)
  82. Improved ordering from staged files and validated amounts in the acquisitions module (Bug 34169)
  83. Used barcodedecode when attaching items to another record (Bug 34171)
  84. Enhanced ItemsAnyAvailableAndNotRestricted cache and performance (Bug 34178)
  85. Adjusted biblio.serial based on biblio.seriestitle in AddBiblio (Bug 34182)
  86. Enhanced styling of sidebar form on funds admin page and vendor contact settings (Bug 34196)
  87. Restored sorting indicator on ERM tables (Bug 34201)
  88. Improved 'select all ...' header display (Bug 34209)
  89. Improved Illbackend to handle ONLY_FULL_GROUP_BY and various fixes (Bug 34223)
  90. Enhanced KohaTable handling for batch item deletion and modification (Bug 34225)
  91. Improved datatable type handling and filtering (Bug 34226)
  92. Enhanced translation context for "Managed by" (Bug 34228)
  93. Improved dropdown display order on additem page (Bug 34232)
  94. Enhanced translation of notice character count (Bug 34247)
  95. Enhanced currency code comparisons (Bug 34269)
  96. Corrected overduefinescap enforcement logic (Bug 34279)
  97. Improved access control for the cataloguing module (Bug 34288)
  98. Updated the "checked out on" date formatting (Bug 34292)
  99. Addressed issues with table refreshing (Bug 34302)
  100. Accounted for negative prices on acquisitions details tab (Bug 34305)
  101. Enhanced credit rethrowing of exceptions (Bug 34316)
  102. Corrected the search icon in fund search options and enhanced header search icon (Bug 34322)
  103. Utilized register from userenv when parameter isn't passed (Bug 34331)
  104. Enhanced holds with an embed option for cancellation_requested (Bug 34333)
  105. Changed "Tendered" to "Collected" (Bug 34340)
  106. Reverted changes from Bug 34072 to display holds queue search interface on small screens (Bug 34341)
  107. Updated style of fixed footer navbar in Z39.50 searches (Bug 34343)
  108. Uniformed item types breadcrumbs (Bug 34344)
  109. Validated and escaped inputs for task scheduler (Bug 34349)
  110. Ensured sort order always defaults to the correct column (Bug 34356)
  111. Improved layout of curbside pickups items ready list (Bug 34373)
  112. Improved translatability in system preferences (Bug 34412)
  113. Improved clarity in user interfaces (Bug 34446 to 34457)
  114. Displayed the patron's expiration date in the interface (Bug 34462)
  115. Enhanced OAI GetRecord encoding for Unimarc (Bug 34467)
  116. Enhanced progress callback in job_progress.js (Bug 34468)
  117. Blocked editing for received order lines (Bug 34469)
  118. Initialized random seed after spawning a child worker process (Bug 34470)
  119. Improved dialog component to allow optional input options on confirmation modal (Bug 34497)
  120. Adjusted overdue notice for better coding compatibility in Czech e-mails (Bug 34583)
  121. Improved patron search filter functionality (Bug 34592)
  122. Enhanced handling of not found ILL request (Bug 34598)
  123. Adjusted sort and discount fields in acquisitions (Bug 34645)
  124. Updated MARC21 frameworks (Bug 34648, 34649, 34658, 34659, 34665)
  125. Adjusted list toolbar functionality (Bug 34650)
  126. Merged cataloging plugins for UNIMARC (Bug 34657)
  127. Improved group reserve matching (Bug 34666)
  128. Updated MARC21 default framework to Update 36 (June 2023) (Bug 34667)
  129. Updated to MARC21 relator terms list and additional updates to match the LOC list, including transposed value and description adjustments (Bug 34677)
  130. Changed description for RELTERMS authorized value category (Bug 34679)
  131. Changed Report to Reports as category in notices and slips (Bug 34136)
  132. Enabled enable_plugin_browser_upload by default. (Bug 25672)
  133. Improved the translation of some strings in the patron import template. (Bug 34098)
  134. Enhanced the digest data compilation process for successful renewal and adjusted auto-renewal email to reflect success for final renewals. (Bug 34924)
  135. Optimized the rebuild of POT files to run only when necessary or explicitly requested. (Bug 35079)
  136. Improved the translation of the usage statistics country list. (Bug 35091)
  137. Used TrimFields instead of stripWhitespaceChars and added a TrimFields field class. (Bug 33749)
  138. Changed terminology from "issue note" to "checkout note" and used template wrapper for breadcrumbs: OPAC part 3. (Bug 34855)
  139. Improved translation of title tags for Tags and Comments, and Patron Lists. (Bug 34802 and Bug 34769)
  140. Changed terminology from "returned" to "checked in" in AddReturn on stats patron call. (Bug 27992)
  141. Updated item location on checkout, including related template, and YAML changes. (Bug 21159)
  142. Offline circulation updated to accept user ID as well as card number, with adjustments to column heading. (Bug 34529)
  143. Displayed checkout override for all noisy statuses. (Bug 35188)
  144. Utilized template wrapper for breadcrumbs in the OPAC. (Bug 34866)
  145. Passed context parameters to generate_subfield_form for customization. (Bug 34993)
  146. Clarified the misleading description in TrackLastPatronActivityTriggers. (Bug 35221)
  147. Enhanced visual feedback for checkouts with the addition of fieldset for 'Yes, check out (Y)' and a confirmation for hold when printing slip from another patron's account. (Bug 17798)
  148. Improved translation of title tags in various templates and cataloging tools. (Bug 33928, Bug 34773)
  149. Updated the style of the 'Required' label for OPAC patron attributes. (Bug 35144)
  150. Updated checkout count when refreshing the issue table and ensured renew/check-in selections are retained on reload with updated button order and icons. Also, split RenewCheckinChecked button into separate renew/check-in buttons. (Bug 35068)
  151. Made ILS-DI not require authentication when OpacPublic is disabled. (Bug 35008)
  152. Adjusted template for logviewer and added an action parameter to set_password. (Bug 21431)
  153. Converted SelfCheckHelpMessage, SelfCheckInMainUserBlock, and SCOMainUserBlock system preferences to HTML customizations. (Bugs 35065, 35063, 35048)
  154. Improved OPAC self-registration confirmation page. (Bug 35262)
  155. Adjusted the style of the add button on curbside pickups administration. (Bug 35206)
  156. Allowed specifying sort field and order for author links and improved system preference description. (Bug 33217)
  157. Required library branch selection when logging in and renamed the related system preference to 'ForceLibrarySelection' (Bug 34188)
  158. Converted OpacSuppressionMessage system preference to HTML customization. (Bug 34894)
  159. Converted PatronSelfRegistrationAdditionalInstructions system preference to HTML customization (Bug 34889)
  160. Converted OPACResultsSidebar system preference to HTML customization (Bug 34869)
  161. Converted OpacMaintenanceNotice system preference to additional contents (Bug 23798)
  162. Updated links for self-registration to avoid non-descriptive "here" text (Bug 35261)
  163. Enabled GetPatronInfo via ILS-DI to indicate if a loaned item is on hold by another patron (Bug 21284)
  164. Implemented a cronjob to debar patrons with unpaid accountlines and allowed setting a lower limit (Bug 15157)
  165. Defaulted 'can_place_ill_in_opac' to 1 to allow ILL in the OPAC by default (Bug 35263)
  166. Moved store routine from Resource to Title and updated code (Bug 35115)
  167. Changed the preservation system preferences to authorize value dropdowns (Bug 35450)
  168. Used "Online resources" label in search results (Bug 35410)
  169. Corrected the 'Laserdisc)' string on the 007 builder (MARC21) (Bug 35453)
  170. Rephrased the privacy statement for some patrons (Bug 35415)
  171. Rephrased the 'be careful...' statement for clarity (Bug 35376)
  172. Capitalized 'barcode' and fixed the capitalization of the 'name' label in the preservation module (Bug 35387)
  173. Made the copy in OPAC Search History translatable (Bug 35436)
  174. Optimized user experience when dragging a tag or subfield (Bug 35425)
  175. Allowed SMSalertnumber to be hidden via BorrowerUnwantedField (Bug 35352)
  176. Made subfields of repeated tags draggable (Bug 35383)
  177. Improved processing of hard due date and auto renewal date (Bug 35341)
  178. Reduced database lookups when sending a list of barcodes to inventory (Bug 35641)
  179. Replaced non-existing README link with a wiki link and updated control file (Bug 25691)
  180. Optimized biblios fetching and utilized framework code from biblio object (Bug 35702)
  181. Improved concatenated string in JS file, making strings in booking JS file translatable (Bug 35475)
  182. Distinguished different RMaint and Topic Expert roles, updated the maintainers list, and made several corrections and updates to team and wiki (Bug 35504)
  183. Made adding item to item group functional from (Bug 33639)
  184. Included overdues with fines in overdues_report permission (Bug 25835)
  185. Prevented translation of Host-item in "Show analytics" link (Bug 35567)
  186. Updated DefaultPatronSearchMethod system preference description (Bug 35395)
  187. Standardized error messages for user restrictions (Bug 35650)
  188. Re-implemented functionality and handled all rules for UpdateNotForLoanStatusOnCheckin syspref (Bug 35293)
  189. Simplified text and added version information to about page license entries, listing alphabetically (Bug 34900)
  190. Changed form validation for numbering patterns, added numeric input mode to display order field, marked mandatory fields as required, and used definedness test instead of boolean for nulling fields in numbering pattern creation. (Bug 28012)
  191. Scoped authorised value description lookup according to field/subfield. (Bug 35588)
  192. Updated breadcrumbs and page titles for vendor issues. (Bug 35417)
  193. Updated terminology to "Manage issues" (issue_manage). (Bug 35413)
  194. Renamed error to issuingimpossible and question to needsconfirmation. (Bug 35216)
  195. Specified 'all item types' and 'all patron categories' in the template and displayed the rule criteria used to determine the checkout limits in the template. (Bug 18139)
  196. Showed current renewal value of the currently active check out and only showed 'Current renewals' link and <li> entry if there are current renewals and the item is currently checked out. (Bug 35310)
  197. Updated circ-nav and hid 'Transfer to send' if StockRotation disabled. (Bug 35389)
  198. Allowed for cancellation of holds with or without a reason. (Bug 35535)
  199. Replaced Datatables' column filters throttling with input timeout. (Bug 35396)
  200. Required OPAC user to confirm self-registration with button push. (Bug 35445)
  201. Informed UserCSS and UserJS in libraries administration are for OPAC. (Bug 35530)
  202. Updated label creator pop-up windows with consistent footer markup. (Bug 35350)
  203. Updated description of EmailLibrarianWhenHoldisPlaced system preference (Bug 35354)
  204. Corrected terminology to "Show fewer collections" (Bug 35407)
  205. Changed wording to indicate request to cancel (Bug 35841)
  206. Verified --days parameter and used find command to select old backups for deletion (Bug 30627)
  207. Attempted to clarify prioritizing of options and used new PurgeListShareInvitesOlderThan syspref (Bug 26831)
  208. Reworded default privacy option in (Bug 35663)
  209. Renamed tx() parameter to ease translation (Bug 35379)
  210. Updated page title for bookings (Bug 35419)
  211. Updated syntax for translatable string and moved patron selection history to a reusable file (Bug 34479)


  1. Fixed no way to get back to search results from overdrive results (Bug 12421)
  2. Fixed the issue of creating duplicate overdue fines when an issue is returned (Bug 18855)
  3. Fixed and enhanced email notifications related to guarantor, including CC address exposure (Bug 12532)
  4. Adjusted AQ setting when item doesn't exist (Bug 23548)
  5. Fixed an issue where claiming a serial didn't create the next one (Bug 23775)
  6. Ensured claims returned dates were formatted according to dateformat preference (Bug 25023)
  7. Ensured guarantor information persistence despite an error (Bug 26558)
  8. Fixed code style, caught NoOpenDays exception while checking out an item, prevented infinite loop when searching for an open day, and replaced DateTime->now by dt_from_string (Bug 27249)
  9. Fixed GetSoonestRenewDate to really return the soonest renew date (Bug 30362)
  10. Fixed GetSoonestRenewDate to really return the soonest renew date (Bug 30362)
  11. Fixed the issue where 'If any unavailable' didn't consider negative notforlan values as unavailable (Bug 30846)
  12. Fixed minor UI problems in QOTD editor tool (Bug 31014)
  13. Fixed recalls so they don't adjust the due time for related checkouts (Bug 31147)
  14. Fixed a typo in POD for C4::ImportBatch::RecordsFromMARCXMLFile (Bug 31618)
  15. Fixed the issue with deleting news items from the staff home page (Bug 32245)
  16. Corrected the overdue fines cap (amount) set to 0.00 when editing the rule (Bug 32271)
  17. Fixed EDI message status case (Bug 32676)
  18. Fixed biblio embeds (Bug 32711)
  19. Fixed the 'Agreements' icon (Bug 32910)
  20. Fixed resource_id param for EHoldingsLocalResourcesShow and updated router to use object references - agreements (Bug 32932)
  21. Fixed typo, restored missing statuses, addressed Suggestion API route when non 'standard' status are present (Bug 32942)
  22. Fixed the error response from a 500 to a 404 when a biblio doesn't exist (Bug 33047)
  23. Fixed serverhost, initialized $page, and saved in UTF-8 encoding in Z3950SearchAuth. (Bug 33404)
  24. Fixed the controller when editing a restriction type and fixed patron restriction types edition (Bug 33578)
  25. Fixed controller when editing a restriction type and improved patron restriction types edition. (Bug 33578)
  26. Fixed incorrect URL escaping on search filters. (Bug 33734)
  27. Fixed cloning issues with framework plugins. (Bug 33744)
  28. Fixed a UI issue when importing records from a staged MARC file. (Bug 33748)
  29. Fixed a typo 'Thankyou' in sample notices. (Bug 33759)
  30. Fixed ExportCircHistory description which was misleading (Bug 33828)
  31. Fixed an issue where enabling Coce in the OPAC broke cover images on the bibliographic detail page (Bug 33848)
  32. Fixed a missing closing tag in the API key management page (Bug 33875)
  33. Fixed some entries in teams.yaml and added missing team members (Bug 33877)
  34. Fixed 2FA registration when the library name contained non-latin characters (Bug 33904)
  35. Displayed use restriction only once on OPAC detail page (Bug 33933)
  36. Fixed URL name in EBSCOPackagesList (Bug 33941)
  37. Fixed SetEnv middleware to preserve $env integrity (Bug 33967)
  38. Fixed asset links in the Installer and onboarding for Font Awesome (Bug 33998)
  39. Checked for stage_marc_import permission (Bug 34002)
  40. Prevented HTML injection in "back to results" link from search page (Bug 34023)
  41. Fixed manual entry for two factor authentication and displayed the secret when registering from the auth screen (Bug 34028)
  42. Fixed update typos (Bug 34033)
  43. Fixed item search broken by FontAwesome upgrade (Bug 34042)
  44. Addressed an issue where adding authority from automatic linker closes imported record (Bug 33978)
  45. Disabled the claims returned option in when another lost status is selected (Bug 33976)
  46. Fixed paths to jQuery for OAI XSLT (Bug 34093)
  47. Prevented clicking ellipsis for dateaccessioned plugin from causing unintentional scroll up (Bug 34097)
  48. Limited item types that can be checked out via SIP2 (Bug 34101)
  49. Fixed the display of plus and minus icons (Bug 34129)
  50. Fixed 'Next available' display at OPAC when item-level hold is forced (Bug 34155)
  51. Fixed Ris export (Bug 34174)
  52. Fixed JavaScript issue in authority MARC preview (Bug 34180)
  53. Made delete checkboxes reappear in a certain interface (Bug 34181)
  54. Fixed koha-shell for debian 12 (Bug 34204)
  55. Fixed string comparison and replaced Koha::Checkouts->find with $item->checkout (Bug 34212)
  56. Fixed a regression (Bug 34256)
  57. Limited item types by branch in (Bug 34257)
  58. Restored missing argument in show_account (Bug 34261)
  59. Ensured default to biblioitems.itemtype only if it's a valid itemtype (Bug 34266)
  60. Fixed database revision related to a previous bug (Bug 34276)
  61. Fixed a warning in logs when saving patron details (Bug 34280)
  62. Fixed appearance of hold reordering arrows after Font Awesome upgrade (Bug 34320)
  63. Fixed an error caused by an extra parenthesis (Bug 34332)
  64. Fixed wording inconsistency in 'Circulation and fine rules' (Bug 34345)
  65. Fixed typo in progress display (Bug 34354)
  66. Fixed timezone problem in Patrons.t (Bug 34489)
  67. Fixed indenting in (Bug 34493)
  68. Fixed table tmp_holdsqueue creation issue for MySQL 8 (Bug 34494)
  69. Fixed typo "Paramater" (Bug 34441)
  70. Corrected the spelling in Patron search pop-up (Bug 34443)
  71. Fixed typo in manage_staged_records permission description (Bug 34511)
  72. Fixed and improved authorization checks (Bug 34513)
  73. Fixed 'Renew all' button in OPAC (Bug 34518)
  74. Fixed template logic to show patron restrictions correctly (Bug 34531)
  75. Fixed missing jsdiff library from guided reports page (Bug 34533)
  76. Stripped non-XML chars during TransformHtmlToMarc (Bug 34549)
  77. Fixed Novelist display issue (Bug 34641)
  78. Prevented link_bibs_to_authorities from dying on invalid metadata and caught ES search exceptions in it, warning and continuing (Bug 35141)
  79. Handled the special case for 'content' attribute in Koha::Config (Bug 31393)
  80. Fixed date sorting on the Date column. (Bug 33575)
  81. Fixed FK for item_groups in reserves for new installations. (Bug 34520)
  82. Made CanBook more resilient and fixed related Permissions test. (Bug 29002)
  83. Fixed UI handling to avoid inserting an empty string, set the default NULL for authorised_value_category in the additional_fields table, and adjusted the database schema and revisions. (Bug 35190)
  84. Fixed description for catalogue_item and made related fixes. (Bug 35230)
  85. Resolved crash on nonexisting patron in Auth. (Bug 35231)
  86. Fixed inconsistencies in Identity providers/domains page titles, breadcrumbs, and headers. (Bug 34406)
  87. Fixed insert_fields_ordered instead of append_fields in SimpleMARC and shifted new fields into an array and added after all are copied. (Bug 24480)
  88. Fixed markup errors in the point of sale template. (Bug 35241)
  89. Ensured HTML notices use explicit line breaks for consistency. (Bug 35187)
  90. Corrected mismatched label on the identity provider entry form. (Bug 35212)
  91. Fixed duplicate ID attribute in desks search form. (Bug 35205)
  92. Fixed inconsistencies in Classification sources page titles, breadcrumbs, and headers. (Bug 34397)
  93. Fixed ERM usage endpoints to ensure visibility in documentation. (Bug 35219)
  94. Retrieved the authorized value description from the Koha field for improved clarity. (Bug 35059)
  95. Fixed item selection when receiving. (Bug 35273)
  96. Fixed the style of Flatpickr in iOS mobile view. (Bug 34413)
  97. Used buildSearchPatronQuery when searching for patrons on left side filters. (Bug 34058)
  98. Fixed patron autocomplete. (Bugs 35303, 35295)
  99. Fixed display of old checkouts when no checkouts exist (Bug 35366)
  100. Fixed a 500 error on circulation history (Bug 35335)
  101. Fixed "Callnumber" to "Call number" (Bug 35377)
  102. Fixed a bibliographic check in opac-MARCdetail (Bug 35266)
  103. Fixed expired holds issue when modifying requests (Bug 35306)
  104. Fixed inconsistencies in Record matching rules page titles, breadcrumbs, and headers, and added a missing '|' (Bug 34398)
  105. Fixed the addition and editing of hold rules in the circulation rules table (Bug 35460)
  106. Fixed the import job link (Bug 35408)
  107. Fixed incorrect copy and paste in string (ILL batches) (Bug 35404)
  108. Fixed the typo in the 'UniqueItemsFields' system preference (Bug 35441)
  109. Fixed an issue with '_get_usage_months' (Bug 35418)
  110. Sanitized field input on cataloguing/ (Bug 35290)
  111. Validated filepaths in linking files, prevented symlinks for link files in cover image ZIP, and prevented leaks from the file system (Bug 35291)
  112. Applied changes to all events and prevented click handler from firing twice (Bug 35012)
  113. Silenced a warning related to 'number_of_copies' (Bug 35414)
  114. Ensured lists are not shown in OPAC if OpacPublic is disabled (Bug 33244)
  115. Corrected capitalization in 'Toggle Dropdown' (Bug 35412)
  116. Corrected the capitalization of a language name (Bug 35327)
  117. Fixed logic for checking holds in CanBookBeIssued (Bug 35322)
  118. Fixed issue where non-patron guarantor was missing from CollapseFieldsPatronAddForm options (Bug 35510)
  119. Fixed DidYouMean feature when not configured (Bug 35676)
  120. Fixed hiding all columns in item batch mod tools and ensured function hideColumns launches after changing datatables settings (Bug 32477)
  121. Fixed typo AutoMemberNum (Bug 35602)
  122. Ensured no transfer trigger if lost item returned and BlockReturnOfLostItems enabled (Bug 35587)
  123. Correctly serialized patron data in patron search popup/modal (Bug 35756)
  124. Corrected issue with generated dist file not installed for preservation module (Bug 35759)
  125. Corrected page heading and installer step 3 template title (Bug 35686)
  126. Chose correct default header search tab according to permissions (Bug 35517)
  127. Showed warning when non-existent items are added to the waiting list (Bug 35477)
  128. Fixed get_enabled_plugins when the database is not yet created. (Bug 35070)
  129. Fixed misalignment in collectionFormat in patron_holds.yaml. (Bug 35658)
  130. Fixed validation error alignment in the change password form. (Bug 35619)
  131. Added missing TT filters, used values for operations to avoid translation issues, fixed preset display issue, and improved translatability for MARC overlay rules presets. (Bug 31694)
  132. Prevented checkouts table from flickering. (Bug 35600)
  133. Fixed closing tag in bookings alert. (Bug 35592)
  134. Fixed terminology and spelling for ERM data providers, SMS in aria-labels for messaging in OPAC, terminology in basket group CSV export, and doubled up quotes in the cash register title. (Bugs 35526, 35525, 35524, 35523)
  135. Fixed random selenium failure if category on the second page. (Bug 35556)
  136. Prevented an expired password from throwing a 500 error. (Bug 35204)
  137. Corrected API permission for listing biblio-specific bookings and ensured the Bookings tab from biblio details only required manage_bookings permission. (Bug 35574)
  138. Fixed capture of return values from checkpw as a follow-up to bug 34893. (Bug 36034)
  139. Fixed some misplaced messages, added missing messages, included, and removed blocking_errors where there is no main. (Bug 34862)
  140. Fixed availability check in ILL batches. (Bug 34282)
  141. Fixed saving existing report with incorrect AV category. (Bug 35936)
  142. Fixed typo in holds queue viewer template. (Bug 35406)
  143. Fixed permission check in staff interface navigation, updated missing descriptions, added list_borrowers to the singular endpoint, fixed unit tests for API definition change, added list permission on home-search include, updated atomic update file, fixed display issue on search bar and introduced new 'list_borrowers' permission. (Bug 30230)
  144. Fixed total cost update when adding multiple items to order. (Bug 35514)
  145. Fixed removal of added user from fund. (Bug 35742)
  146. Fixed patron's category selection in the column filter. (Bug 35743)
  147. Fixed 'Set suggester' of a suggestion. (Bug 35745)
  148. Silenced few warnings from searching and fixed warnings from C4/Koha. (Bug 35833)
  149. Fixed table ID on hold ratios page (Bug 35820)
  150. Fixed hint for OpacMoreSearches HTML customization (Bug 35323)
  151. Fixed hint on patron's category when batch updating patrons (Bug 35817)
  152. Fixed mistakes in system preference files highlighted by unit test and sorted sysprefs.sql alphabetically (Bug 34979)
  153. Corrected issue where Cardnumber was incorrectly set to userid on LDAP auth if cardnumber not mapped (Bug 29930)
  154. Corrected field name from itemprice to price in addorderiso2709 template (Bug 35912)
  155. Fixed Activate/Deactivate filters with table_filters.js, adjusted item search and "Manage staged MARC records", and fixed a selenium test (Bug 34913)


  1. Added basket creation date to late orders table for sorting (Bug 12732)
  2. Added 'any status' option to acq order search form (Bug 14092)
  3. Added id tags to each MARC note in the display (Bug 14156)
  4. Added "Add to cart" option and other list options to the OPAC lists display (Bug 15222)
  5. Clarified --last_seen option in delete_patrons, introduced new syspref TrackLastPatronActivityTriggers, and made other changes related to patron activity tracking (Bug 15504)
  6. Added the missing 6th position to the date-entered-on-file index (Bug 24517)
  7. Included OPAC messages in SIP display (Bug 25816)
  8. Added item type option to batch extend due date tool (Bug 26978)
  9. Introduced cookie consent to OPAC and staff client and fixed permissions (Bug 27378)
  10. Added a warning to the about page if PatronSelfRegistrationDefaultCategory not set, added the ability to exclude fields from "modal" sysprefs, hid "Register here" links, turned off patron self-registration if no default category is set, and updated PatronSelfRegistrationBorrowerUnwantedField's value (Bug 27634)
  11. Optionally added MARC fields to authority search (Bug 28166)
  12. Added column with invoice number to basket summary page (Bug 28449)
  13. Added new notice MEMBERSHIP_RENEWED, added renew option to, allowed to pass another renewal notice, and used pod2usage for incorrect usage (Bug 28688)
  14. Added sort1 and sort2 to patron card creator - patron search. (Bug 28726)
  15. Added --added_after filter to the writeoff_debts script and updated aliases. (Bug 28995)
  16. Introduced C4::Context->multivalue_preference. (Bug 29033)
  17. Created a patron card creator batch from the report result. (Bug 29181)
  18. Added core CSRF checking code and ensured only generating CSRF token if it will be used (Bug 30524)
  19. Added holds_control_library in Koha::Item, moved it to Koha::Policy::Holds and removed GetReservesControlBranch in favor of Koha::Item->holds_control_library (Bug 30825)
  20. Added mfa_range configuration option for TOTP (Bug 30843)
  21. Added a button to clear the cataloguing auth finder form and reset dropdown values and styled the button (Bug 31132)
  22. Introduced a staff wrapper template include for tool plugins (Bug 31339)
  23. Added 'feature_enabled' to Koha::Plugins (Bug 31503)
  24. Introduced a new system preference (Bug 31631)
  25. Adjusted reserves.item_level_hold and added the ability for librarians to change hold type in the staff client (Bug 31692)
  26. Added a pull-down option to DefaultLongOverdueLostValue and DefaultLongOverdueChargeValue preferences (Bug 31731)
  27. Added a reference for EnableItemGroups to EnableItemGroupHolds system preference (Bug 31832)
  28. Added a system preference for serials search results limit (Bug 31846)
  29. Introduced a man page for koha-z3950-responder (Bug 31964)
  30. Added a clear cache routine to delete_holiday_range_repeatable (Bug 32048)
  31. Added "Modification date" to OPAC Lists table (Bug 32402)
  32. Added a wrapper method for dt_from_string to the KohaDates template toolkit plugin (Bug 33029)
  33. Introduced a standardized subroutine for processing Template Toolkit syntax outside of notices (Bug 33030)
  34. Added the ability to specify a template for the serial subscription "Published on (text)" field (Bug 33039)
  35. Added a new option for patron home library to OverdueNoticeFrom (Bug 32740)
  36. Added 'public_read_list' appropriately, added biblio details to modal (Bug 32711)
  37. Addressed QA issues, added branch specific userjs and usercss (Bug 32721)
  38. Renamed preference, added new PatronAutoCompleteSearchMethod system preference (Bug 33117)
  39. Handled records that fail attempt to ignore bad characters, added record_strip_nonxml routine to Koha::Biblio::Metadata, attempted to recover from invalid metadata exception (Bug 33270)
  40. Added collective owing message to moremember page (Bug 33271)
  41. Added [Install] section to koha-common.service (Bug 33371)
  42. Added support for FA styles and built breadcrumbs and left-hand side menu from routes definition. (Bug 33169)
  43. Enforced bad values, enforced RequirePaymentType with API, and handled RequirePaymentType. (Bug 33176)
  44. Added collective owing message to moremember page. (Bug 33271)
  45. Added toolbar imports and options, created standard toolbar component, fixed translation in toolbar, and removed old components. (Bug 33417)
  46. Added a filter relationship for branchtransfers. (Bug 33493)
  47. Added 'host_items' param to Koha::Biblio->items. (Bug 33496)
  48. Used template wrapper for tabs in various editors and details pages. (Bugs 33524, 33525, 33528)
  49. Added a public endpoint for cancelling holds (Bug 33573)
  50. Added a link to acq advanced search to acq navigation (Bug 33662)
  51. Allowed copying holidays to all libraries when editing (Bug 33667)
  52. Added fields to the verbose output that display the barcode and title of items that cannot be deleted (Bug 33698)
  53. Added the ability to send a welcome notice when creating patrons using the REST API (Bug 33690)
  54. Added cancel links, updated breadcrumbs, amended system preference description, improved formatting, moved sysprefs to new Workflow sub-heading, added ILL Type Disclaimer for both OPAC and Staff, introduced a new ILLModuleDisclaimerByType sys pref, and made several other fixes and improvements (Bug 33716)
  55. Added link to acq advanced search to acq navigation. (Bug 33662)
  56. Added fields to the verbose output that display the barcode and title of items that cannot be deleted. (Bug 33698)
  57. Added collection to search results and adjusted grouping logic. (Bug 33725)
  58. Enhanced ILL requests table id. (Bug 33786)
  59. Added page numbers to opac results breadcrumb (Bug 33819)
  60. Added hints to and warned the librarian about logging out if they change their username (Bug 33820)
  61. Added the ability to optionally fill the next hold when an item is automatically checked in (Bug 33887)
  62. Added the ability to specify fields allowed in a response (Bug 33926)
  63. Added more detail to 'No encryption_key in koha-conf.xml' (Bug 33934)
  64. Added ability to delay the loading of the current checkouts table on the checkouts page and made related UI improvements (Bug 33945)
  65. Added order_receive to GET orders endpoints (Bug 33993)
  66. Added support for advanced cataloging editor and allowed staff to edit degraded records (Bug 34014)
  67. Preserved order of subfields in 264 display and added spans to subfields (Bug 34020)
  68. Added a "print slips" action links to print in batch (Bug 34030)
  69. Added API client class to get items (Bug 34055)
  70. Added DefaultAuthorityTab system preference (Bug 34075)
  71. Added a client-side check for input length and addressed server crashes due to multiple copies (Bug 34146)
  72. Added the ability to allow items with additional materials notes to be checked out via SIP (Bug 34153)
  73. Added hyperlink to item barcode from the holds queue viewer (Bug 34160)
  74. Added empty option for suggestion "document type" (Bug 34184)
  75. Enabled SSLProtocol for current versions and deprecated old versions (Bug 34193)
  76. Added full title information to subscription detail page (Bug 34199)
  77. Made 'icon' configurable for Toolbar options and introduced a ToolbarButton Vue component (Bug 34214)
  78. Added persistent selections and batch operations to item search (Bug 34227)
  79. Added holds column to order table (Bug 34300)
  80. Made input prompt in datatables column search boxes translatable (Bug 34310)
  81. Made item(s) in MARCdetail translatable (Bug 34334)
  82. Added link to access_url (Bug 34351)
  83. Added managing librarian feature (Bug 34377)
  84. Implemented several ERM-related changes (Bug 34339)
  85. Added Non-public notes to the member purchase suggestion table (Bug 34501)
  86. Added the ability to render a report using a notice template (Bug 34136)
  87. Added missing column descriptions to the statistics table (Bug 32312)
  88. Added protected status for patrons but excluded API behavior change tests and database updates. (Bug 26170)
  89. Used a confirmation modal when removing titles from a list in the OPAC. (Bug 26824)
  90. Added timestamp option on authority record type. (Bug 29811)
  91. Added a FIXME in POD to highlight the return value and a Patron Lists tab to patron details and circulation pages. (Bug 32730)
  92. Added compatibility with Elasticsearch 8.x and Search::Elasticsearch 8.0. (Bug 33353)
  93. Added the ability to cancel order lines in closed baskets and included a database revision update. (Bug 33664)
  94. Added REST endpoint for a list of item types and harmonized attribute names. (Bug 34008)
  95. Added the ability to download a template-rendered report as a file. (Bug 34456)
  96. Abstracted reports backend to allow new data types, accepted date inputs upon confirming 'run now' button, added the ability to delete saved reports, integrated with the counter registry API, and improved various functionalities and error handling in reports, updated database columns. (Bug 34587)
  97. Added translation context for the term "Order". (Bug 34834)
  98. Added 'auto_renew_final' and 'auto_unseen_final' return to CanBookBeRenewed. (Bug 34924)
  99. Added validation for biblioitems in about/system information. (Bug 35033)
  100. Implemented patron relationship alias and added support for category_code to writeoff_debts. (Bug 35074)
  101. Added send_empty option to runreport for more efficient report execution. (Bug 35171)
  102. Introduced a new holds pickup period circulation rule to the system. (Bug 8367)
  103. Added a toggle switch for basic/advanced cataloging editors. (Bug 34275)
  104. Used clipboard icon for inventory. (Bug 31477)
  105. Added 'manage_bookings' permission, ensured bookings stash was up to date, and fixed various issues related to patron and item selection, async bookings load, patron display, and editing in the booking timeline; also, added an edit modal, bookable state to items, and ability to book material from the staff client, along with new bookings objects and API classes, and database schema updates. (Bug 29002)
  106. Added per borrower category restrictions on placing ILL requests and renamed a column in the database. (Bug 18203)
  107. Added a toggle switch for basic/advanced cataloging editors. (Bug 34275)
  108. Added a check on existing items to prevent duplication. (Bug 32379)
  109. Added requirements for guarantor and guarantee. (Bug 12133)
  110. Added ability for SIP2 to distinguish missing items from other lost types and renamed new options with additional comments for clarity. (Bug 34868)
  111. Added cancellation reason input on check-in. (Bug 29007)
  112. Added missing subfields h and x to field 583 for staff XSLT and OPAC detail page. (Bug 35283)
  113. Added a new Sortable library to didyoumean configuration. (Bug 35304)
  114. Added the ability to modify orderline to increase quantity. (Bug 34708)
  115. Added patron_slip module to letters and allowed printing on members' accounts. (Bug 32986)
  116. Added 'damaged' as a searchable status in item search and import_record_id to order inputs. (Bugs 26468, 35254)
  117. Added a template plugin for fetching searchable patron attributes and ensured arrays are always handled properly (Bug 34519)
  118. Added Scottish Gaelic to available languages (Bug 34328)
  119. Added a quantity field to the manual invoice form (Bug 34985)
  120. Added a collection column to hold ratio report (Bug 34938)
  121. Added a confirmation email notice to patron when a hold is placed and introduced a related system preference (Bug 17617)
  122. Added a SIP message for successful checkins (Bug 25814)
  123. Added separate email configurations for acquisitions and serials emails (Bug 20755)
  124. Added descriptive links to various system preference descriptions (Bug 33390)
  125. Added a language field to the OPAC patron self-registration form (Bug 34438)
  126. Added a system preference for loading checkouts by default in the staff interface (Bug 34557)
  127. Added a check on the public availability endpoint and amended the unit test (Bug 34287)
  128. Added an option to gulp tasks to pass a list of tasks (Bug 35103)
  129. Added a test for attribute search field and made cleanup more robust (Bug 34517)
  130. Added a warning for patron image upload if a cardnumber is missing (Bug 35344)
  131. Added a missing period in 'This authority type is used {count} times' (Bug 35378)
  132. Implemented the Koha Manual (Bug 34955)
  133. Added an icon for protected patrons (Bug 35474)
  134. Added check to ensure user has advanced_editor permission (Bug 35651)
  135. Added availability statuses for in transit and on hold items (Bug 34950)
  136. Added chunk_size option to Elasticsearch configuration and split chunks for background job indexing (Bug 35086)
  137. Added missing licenses to about page and corrected duplicate license entry (Bug 35584)
  138. Added plugin hook template_include_paths. (Bug 35070)
  139. Allowed null value for description in subscription_numberpatterns. (Bug 31297)
  140. Added more preservation manual links, opened erm and preservation help in new tab, and linked preservation module help to the manual. (Bug 35463)
  141. Added additional edits to description, clarified text in sysprefs to indicate that MarcFieldsToOrder is a fallback to MarcItemFieldsToOrder, and improved readability of sysprefs for MarcFieldsToOrder. (Bug 34644)
  142. Made 'Submit' translatable in TrainsFormAddItem.vue and other vue components. (Bug 35476)
  143. Opened article requests tab by default on after placing an article request, holds tab after cancelling a hold, suspending a hold, and placing a hold. (Bugs 35496, 35495, 35492, 35488)
  144. Added a hidden input for itemnumber even if the item has no barcode. (Bug 35489)
  145. Allowed tab to indent lines and trigger autocomplete. (Bug 35498)
  146. Added guards for plugins_enabled. (Bug 35930)
  147. Added message delivery details to the notices tab and made some tiny style and spelling changes as a follow-up. (Bug 18397)
  148. Added page-section to invoice files page. (Bug 35300)
  149. Added public to "Add a new checkout" in API documentation. (Bug 35368)
  150. Added page-section to "Orders by fund" result list, duplicated orders list, and cart pop-up in staff interface. (Bug 33464, 34298, 34872)
  151. Added missing closing tag in OPAC course details template (Bug 35795)
  152. Added missing hint about permissions when adding managers to a basket (Bug 35865)
  153. Added ability to skip Talking Tech Itiva notifications for a patron if a given field matches a given value (Bug 34854)


  1. Removed OPACCustomConsentTypes (Bug 31503)
  2. Moved preferences and configurations, removed partner_code and adjusted system preferences accordingly (Bug 32911)
  3. Removed GetAllIssues for checkouts management (Bug 33947)
  4. Removed use of event attributes from basket groups template and fixed typos in Javascript (Bug 34085)
  5. Removed Twitter share button from the OPAC (Bug 34584)
  6. Prevented uninstall when plugin browser upload is disabled. (Bug 25672)
  7. Removed ES6 template literals to fix translation strings (Bug 35374)
  8. Removed authentication parameters from suggestion hash (Bug 35276)
  9. Removed focus handler from the dateaccessioned plugin (Bug 35298)
  10. Removed skip_intermediate_commit parameter and transacted each record import separately (Bug 35438)
  11. Removed drag and drop in Elasticsearch mappings (Bug 35265)
  12. Removed deprecated parameter "type" from page. (Bug 35618)
  13. Removed references to unused PREF_LocalCoverImages and LoadResultsCovers. (Bug 35557)
  14. Removed '=' in ICU for indexing/searching. (Bug 35455)
  15. Removed noise from MARC::Record in SearchAuthorities. (Bug 35405)
  • No labels