changelogs of builds for KK-customers. Differences and follow-ups against KC ("KohaCommuity") master and our KK-Koha (formerly named KCMinni) build.

All technical info available in subpages: 

Most important changes in human readable form for current, latest build

Build 426 (and 444 build changes upcoming (v16.444))

Reflected in JIRA important updates since Spring (since release v15.311)
(main codebase community tree changes as well as non-main codebase additions by us)

  1. Settings for Pseudonymization wasn't saved (29056) and 500 error when checking-out with Pseudonymization enabled
                     KOHA-77 - Getting issue details... STATUS
                     KOHA-78 - Getting issue details... STATUS
  2. Show the parent record's component parts in the detailed views (as a feature: 11175)
            (this now in the community master!)
                     KOHA-144 - Getting issue details... STATUS
            and bugfixes related to it:
            - 500 error on parent when child records are present 
                     KOHA-108 - Getting issue details... STATUS
            - make ElasticSearch give proper explanation for the user to use special language:
                     KOHA-116 - Getting issue details... STATUS
  3. Add support for MARC holdings records (20447)
            (this one still in progress in community, overlaid as our own branch)
                     KOHA-143 - Getting issue details... STATUS
            and related bugfixes for it:
            - Default holdings framework not allowed to be changed, and no default values filled in holdings
                     KOHA-145 - Getting issue details... STATUS
            - SummaryHoldings syspref for holdings saved in Yes/No in DB, but should 0/1
                     KOHA-147 - Getting issue details... STATUS
            - Can't add book by barcode or biblionumber to virtual shelves
                     KOHA-169 - Getting issue details... STATUS
  4. Koha not finds books when some syntax error in ElasticSearch query. Fix ES crashes related to various punctuation characters (28316)
                     KOHA-112 - Getting issue details... STATUS
  5. Security issue with API keys: 
            - Users with pretty basic staff interface permissions can see/add/remove API keys of any other user
            - Any user that can work with reports can see API keys of any other user
            (28759, 28772)
                     KOHA-11 - Getting issue details... STATUS
  6. Make OPACHoldsIfAvailableAtPickup work in Finna
                     KOHA-56 - Getting issue details... STATUS
                     KOHA-90 - Getting issue details... STATUS
                     KOHA-102 - Getting issue details... STATUS
  7. Code alignment with current Koha build for DI plugin:
            Since Koha v21.06.00.031 (our KK-Koha v16.329) dt_from_string needs to be loaded explicitly from Koha::DateUtils
                     KOHA-109 - Getting issue details... STATUS
            Since Koha v21.06.00.046 (our KK-Koha v16.426) syspref 'RequestOnOpac' becomes 'OPACHoldRequests'
                     KOHA-177 - Getting issue details... STATUS
  8. Fix to Significantly reduce DB action_log table size (28700, 28692)
                     KOHA-159 - Getting issue details... STATUS
                     KOHA-161 - Getting issue details... STATUS
  9. More stable SIP: Fix for SIP caches now flushed to get proper data (26871)
                     KOHA-138 - Getting issue details... STATUS
  10. Fix for Z39.50/SRU service not starting (29207)
                     KOHA-140 - Getting issue details... STATUS
  11. Fix for Search patrons in Finnish interface is not working (29261)
                     KOHA-158 - Getting issue details... STATUS
  12. Fix for charges for expired holds have not been generated
                     KOHA-146 - Getting issue details... STATUS
  13. Fix for not to crash with 500 error when adding new customer without leading zeroes in birthdate
                     KOHA-149 - Getting issue details... STATUS
  14. Fix for "Duplicate" and "Add & Duplicate" doesn't prefills previous item data (27526)
                     KOHA-156 - Getting issue details... STATUS
  15. Fix for broken autorenewals cron script
                     KOHA-174 - Getting issue details... STATUS
  16. Fix for background jobs finished wrongly when the number of biblios > ~800 or items > ~5000 (29386)
                     KOHA-175 - Getting issue details... STATUS
  17. Patron Emailer plugin improvements
                     KOHA-36 - Getting issue details... STATUS

Master branch (community) codebase changes


  1. Indexing: Elasticsearch - include 245p to default title index mappings and include 245b subtitle subfield in the default title index mappings. (27848)
  2. Indexing: Added 264$c, 024aa, 710, 711 to the default mapping for the copydate index and to the author-name-corporate index mappings when using Elasticsearch. (28378, 28379, 28380, 28381)
  3. Indexing: Added 050$a (Library of Congress classification number) to the lc-call-number index mapping when using Elasticsearch. It means that when searching using lc-call-number both 050$a and 050$b (Library of Congress item number) are now searchable. (28393)
  4. Language support: Added Estonian, Inuktitut, Inupiaq, Latvian, and Lithuanian (along with their translations) to the list of languages in the advanced search for the OPAC and staff interface. (15067)
  5. Language support: Add default language value to KohaNews template plugin. (22544)
  6. Authorizations: Allows administrators to control, at a more fine-grained level, which users may delete patron records. (15788)
  7. Batch editing of patrons: The batch patron modification tool can now accept a file or list of borrowernumbers in addition to accepting cardnumbers or a patron list. (24019)
  8. Batch editing of patrons: Added ability to preserve patron field from being overwritten by import. (27883)
  9. Check-in: Accesskey elements are added to the hold modals during check-in (=select option with the keyboard. C = confirm, etc.). (20688)
  10. Holds: Added a way for staff to choose multiple holds using checkboxes, to cancel them in bulk on holds waiting over tab. (23678)
  11. SIP: Added ability to specify client IP and SIP account used in SIP2 logging. (25464)
  12. SQL: Added an optional '--where' parameter to the '' task. This allows for arbitrarily complex SQL where statements to be passed to the script to filter affected patrons. (28456)
  13. SQL: Added a link for the previously-hidden option of using a runtime parameter for selecting "Source of classification or shelving scheme." Now when composing an SQL report you can click the "Insert runtime parameter" button to see a menu that includes this option. (29351)
  14. (Course reserves: Allow patron to add bibliographic records to course reserves. They can be added individually or in a batch.) (14237)
  15. Patron data: Added new field for patron record: main contact method. (11879)
  16. OAI-PMH: Added a new option to the OAI configuration file, to tell it to expand authorised values. (26195)
  17. Result lists: OPACResultsMaxItems and OPACResultsMaxItemsUnavailable system preferences were added. (26302)
  18. Added a plugin hooks to transform item barcodes scanned and to transform patron cardnumbers scanned in to Koha. (26351, 26352)
  19. GUI: Use aria-disabled attribute in OPAC cart for disabled links. (26761)
  20. Result lists: Added search limit for records without items. (26860)
  21. (Added support for the new 'links' property that will allow an availability plugin to return an array of links for a result.) (27170)
  22. Acquisitions: Added a link for the Hold Ratios to Acquisitions home page. (27498)
  23. Added new item types images for carredart: controller, boardgame, zoom-in, and zoom-out, info, lock. (27505, 27520, 27522, 27523)
  24. Search link for 260 a and c in MARC21 XSLT OPAC and intranet display. (27850)
  25. Added support for circulation status 9 ( waiting to be re-shelved ), 2 ( on order ). (27906, 27907)
  26. Add visual feedback on overridden pickup locations on patron's page (28261)
  27. Added the ability to set a new lost status when a claim is resolved. (28271)
  28. When processing records for display we loop through each field in the record and translate authorized values into descriptions. Item fields in the record contain many authorised values, and the lookups can cause a delay in displaying the record. If using the default XSLT these fields are not displayed as they exist in the record, so parsing them is not necessary and can save time. Added a system preference that disables sending these fields for processing and thus saving time. Enabling the system preference will allow users to pass the items to custom style sheets if needed. (28373)
  29. Added a minor change to the MARC modifications template (Staff interface > Administration > MARC modification templates) so that the "mmtas" variable isn't defined if there is no JSON to be assigned as its value. (28423)
  30. Changed adds the AllowHoldItemTypeSelection system preference to the list of system preferences usage data that will be shared with Hea. (28563)
  31. Added a new field, 'Public', to the definable library information. When enabled, the library details will be displayed in the libraries page on the OPAC. (27360)
  32. Allow plugin authors to implement an 'after_authority_action' method in order to act upon authority create, modify and delete. (27173)
  33. This enhancement passes the parameters received by through to the before_send_messages plugin calls. This allows plugins to respect calls that should only affect certain letter codes etc. (28474)


  1. Now you can send a single record to 'batch' modification in order to process a MARC modification template against the record. (27985)
  2. Changed the way error form validation error messages are displayed when using the basic MARC editor in cataloging. Instead of a JavaScript alert, errors are now shown on the page itself, with links in the message to take you to the corresponding field. A new "Errors" button in the toolbar allows the user to jump back to the list of errors for easy reference. (28694)
  3. Replaced the 'Holding library' field in the check-in table with a new 'Transfer to' field. The 'Holding library' would always match the current branch, as holding branch is updated by the check-in process. We now highlight transfers by populating the new 'Transfer to' field with the destination library. (25883)
  4. For item search in the staff interface the shelving location and item type values are now sorted by the description, rather than the authorized value code. (28545)
  5. Patrons from the currently-logged-in library are highlighted in a way that differentiates them from other patrons. (10902)
  6. Replace the special case patron results page from circulation searches and instead redirect to the standard patron search results page. (15812)
  7. The "News" tool is renamed to the more generic "Additional contents" as it serves a larger purpose than just adding news. (24387)
  8. Improved reliability of sip_shutdown script. (12169)
  9. Enhancement that significantly improves the performance when merging records with many items (for an installation using Elasticsearch). (22690)
  10. When clicking on "Save and pay" button it creates payment now without a need to click the "Pay" button again. (26760)
  11. Clarified the parts of the cash management module by updating the names or pages and embellishing the breadcrumb navigation for these pages. (27583)
  12. Moved external search results links out of page heading. (27882)
  13. Article requests feature significantly improved:
    1. New `ArticleRequestsHostRedirection` system preference is added. When enabled, if a user attempts to place an article request from an analytic record the system will automatically populate some details in the request from using data from the host record. (20310). Also new `ArticleRequestsSupportedFormats` syspref is added. This preference controls which formats are actually offered to patrons of the library via the Article Request feature. (20472)
    2. When article requests come in they may require additional processing, for example: determining the type of request or other workflows. Now it adds a requested stage before the pending and processing stages for the article request process. (27944)
    3. Now you can limit of the number of active article requests a patron can make each day. Edit the patron category and enter the 'Maximum active article requests'. (27945)
    4. Added a way to define a list of possible cancellation reasons for article requests. That way, they can be chosen upon cancellation. (27947)
    5. Now you can include text that patrons need to accept before they can place an article request (similar to the ILLModuleCopyrightClearance system preference). (27948)
  14. Renamed System preference RequestOnOpac to OPACHoldRequests. It could be confused with the 'Article Request' feature and does not follow Koha terminology - OPAC related system preferences normally start with OPAC. (29180)
  15. Changed the layout for creating new authorities consistent with creating new records - there is now a separate button 'New from Z39.50/SRU' (rather than being part of the drop-down list). (28543)
  16. Some general improvements have been made to the "Upload" page in the Tools section: An "Upload" toolbar button is now present on upload results and search results pages; Search forms now appear in the sidebar if you're not on the main page; Upload categories are shown in search results as full descriptions linked to a search for that category. (28175)
  17. As part of improving OPAC accessibility this change ensures that all tables have relevant captions and all forms have relevant legends - this makes navigation easier for people using a screen reader. (28242)
  18. Simplified the way new system preferences are added to Hea for statistical reporting. Before this enhancement the tests (t/db_dependent/UsageStats.t) required adjusting every time a new system preference was added. Now when a new system preference is added to Hea they are automatically picked up for the tests. (28565)
  19. Hide the previously shown patron category type "()" after the patron category. The patron category type code (A, C, O, ...)  was displayed in the patron module search, patron card creator, and acquisition patron searches. This information was not useful for most users, as these were internal codes that cannot be easily "decoded". And while you might be able to guess A as Adult in English, it doesn't translate to other languages. (24406)
  20. Improve styling of check-in message. (26838)
  21. Improved message consistency: checkout and patron detail pages. (27873)


  1. Fixed the advanced search form in the OPAC and staff interface so that the publication date (and range) uses the value(s) in 008 instead of 260$c when using Elasticsearch. (22801)
  2. Fixed an error that occurs in cataloging search when entering a search term with ten characters (like "7th Heaven" or "2nd edition") - Koha thinks you are entering an ISBN10 number, gets confused and delivers an error page. Searching now works as expected for ISBN13/ISBN10 (without the '-'s), title and author searches. (29319)
  3. Now the 'lastseen' date for a patron is updated when items are checked out (when TrackLastPatronActivity is enabled). (The last seen date is displayed on the patron details page.) (28455)
  4. Improved the wording for the TrackLastPatronActivity system preference to reflect that the 'last seen' date updates when a patron logs into the OPAC or connects using SIP. (28467)
  5. Fixed the patron search result page so that the results can be sorted using the 'Circ note' column. Before this fix you could not sort the results by this column.. (28350)
  6. "Select all" and "Clear all" now correctly selects and clears selection of all patrons in the patron list. (18747)
  7. Issue with specified due date incorrectly retained when using fast add resolved. (21093)
  8. Searching using the 'Corporate name' index now works correctly when the QueryAutoTruncate system preference is not enabled. (21286)
  9. Fixed: if the city field was not filled out on the main or alternate address, the content of state, country and zipcode wouldn't display on the Details tab in the patron account in staff. (21794)
  10. Fixed: In Unimarc installations when adding/editing an authority record there is no Tag Editor for the leader field ( 000 ). (24698)
  11. Fixed: The ISBD view in the OPAC interface does not display item information. (26223)
  12. Allow to transfer a hold only from the transfers page. (27064)
  13. Fixed issuer display on "Checkout history". (27279)
  14. Fixed field 008 length below 40 positions in cataloguing plugin. (27461)
  15. Only show subfield "9" if subfield "a" is visible (28022)
  16. Update wording on batch patron deletion (28191)
  17. Fixed the display of 'Default replacement cost' and a 'Processing fee (when lost)' when adding item types so that amounts use two decimals instead of six. (28280)
  18. Fixed an issue where items that should be hidden from display in the OPAC (using the rules in OpacHiddenItems, for example: damaged) were displayed under availability in OPAC lists. (28299)
  19. Fixed the problem with search for when trying to access the item search form in the staff interface (/cgi-bin/koha/catalogue/ when not logged in, an internal server error (error code 500) is received after entering your login details. (28383)
  20. Fixed problem with the MARC detail view, as previously in the normal and ISBD detail views for a record in the OPAC the 'Place hold' link only appears if a hold can actually be placed. This fixes the MARC detail view so that it is consistent with the normal and ISBD detail views. (Before this, a 'Place hold' link would appear for the MARC detail, even if a hold couldn't be placed, for example if an item was recorded as not for loan.) (28422)
  21. Previously overdue notices exclusively used the default language, but bug 26420 changed this to the opposite - to exclusively use the language chosen by the patron. However, if there is no translation for the overdue notice for the language chosen by the patron then no message is sent. This is now fixed so that if there is no translation of the overdue notice for the language chosen by the patron, then the default language notice is used. (28487)
  22. Fixed an issue when adding a new library - the pick-up location was always saving as "Yes", even when no was selected. (28567)
  23. Fixed an issue with the 'Returned claims' feature (enabled by setting a value for ClaimReturnedLostValue)- resolving returned claims now works as expected. Before this fix, an attempt to resolve a claim resulted in the page hanging and the claim not being able to be resolved. (28586)
  24. Correct the text in the AUTO_RENEWALS and AUTO_RENEWALS_DGST notices. These are sent when an item is setup for automatic renewal and can no longer be automatically renewed as the maximum number of renewals reached. For new installations the sample notices are updated. For existing installations the notices will be updated if they exist and haven't been changed. (28263)
    1. Current wording: "You have reached the maximum number of checkouts possible."
    2. Updated wording: "You have reached the maximum number of renewals possible."
  25. Don't obscure page when check-in modal is non-blocking. (27847)


  1. Improved (cleaned up) server logs from ".. uninitialized value .." warnings (28545, more)
  2. Deprecated non-XSLT views for staff and OPAC are removed. (12561)
  3. Removed password check from SIP2 `renew_all`, `cancel_hold` and `add_hold`. (27600)

  • No labels