What’s new
This section highlights new features and enhancements in the latest Koha releases.
This section is updated as the manual is updated. Therefore, it may not contain all the new features and enhancements in the release. Please consult the release notes for an exhaustive list of all changes in Koha for each version.
The version number indicated in the manual is the newest in which the feature or enhancement appears. Be aware that bugs may have been backported to previous Koha versions. If this is the case, you may come across a feature in an earlier version than indicated throughout these pages.
26.11
Tip
The official release notes for 26.11 will be published in November, when Koha version 26.11 is released. In the mean time, please enjoy these exciting previews of new functionalities!
Test SMTP server configuration
A new option to test the SMTP configuration was added to the SMTP configuration page. This is a simple button that will try to send an email to the address in the KohaAdminEmailAddress system preference and will report either success or failure.
Note that this feature is available as of Koha version 26.05.01.
26.05
Tip
While waiting for 26.05 features to be documented by fellow community members, you can read the full release notes for Koha 26.05.00.
Auditing records
A new ‘Audit’ button is now available in the bibliographic record’s detail page to check various breaking errors in the record and items.
The following checks have been implemented:
Record doesn’t have an item type
Record has an item type, but it is not a valid item type
Item doesn’t have a home library
Item doesn’t have a holding library
Item doesn’t have an item type
Item has an item type, but it’s not a valid item type
Record or items has invalid values in fields where the framework uses authorized values
Unarchive purchase suggestions
It is now possible to unarchive archived purchase suggestions.
Granular hold fee settings
Hold fees are now configured in the circulation and fine rules instead of the patron categories settings. This allows you to set granular rules for your hold fees based on library, patron category and item type combinations.
New system preferences
EdifactLSL
If you are using EDI, review the EdifactLSL system preference. It allows you to add a sub location field mapping for EDI.
LostChargesControl
The LostChargesControl system preference determines which library’s circulation rules are used for charging lost fees when an item is marked lost.
TitleHoldFeeStrategy
If you are using hold fees, review the TitleHoldFeeStrategy system preference. It allows you to determine which fee level to apply when a title-level hold is placed and different items could result in different hold fees.
Modified system preferences
BorrowersLog
The BorrowersLog system preference now logs changes to patron permissions.
StoreLastBorrower
The StoreLastBorrower system preference was expanded to allow to store more than one patron.
Deprecated system preferences
BakerTaylorBookstoreURL, BakerTaylorEnabled, BakerTaylorUsername, BakerTaylorPassword
Baker and Taylor closed in 2025. The integration was removed from Koha. This includes Content Cafe.
New patron permissions
Display the debug interface (debug)
The new debug permission gives access to a feature allowing the user to temporarily disable the custom CSS or custom JS in the staff interface. When the staff member has the permission, a little bug icon will appear in the navigation bar at the top of the staff interface, allowing them to choose to disable or reenable the code in the IntranetUserCSS, IntranetUserJS, intranetcolorstylesheet, or intranetstylesheet system preferences.
Note that this debug feature is not new, it was simply made more easily accessible in version 26.05 for the staff interface and globally made limited to staff users with the permission.
25.11
Tip
While waiting for 25.11 features to be documented by fellow community members, you can read the full release notes for Koha 25.11.00.
CheckPrevCheckout at item type level
This enhancement extends the CheckPrevCheckout functionality to item types. If the CheckPrevCheckout system preference is set to either ‘Unless overridden by patron category or by item type, do’ or ‘Unless overridden by patron category or by item type, do not’, a new option will appear in the item type settings. This lets libraries to customize whether Koha should warn staff when a patron has already checked out the same title, on a per-item type basis.
Record display customization with Template Toolkit
The new record display customization tool allows additional custom MARC fields to be easily added to bibliographic record display pages in the OPAC and in the staff interface using Template Toolkit instead of XSLT.
Statistics and pseudonymization for ILL transactions
Reporting for interlibrary loan (ILL) requests is easier now ILL transactions are recorded in the statistics table.
When using the Pseudonymization system preferences, ILL transactions are pseudonymized alongside the other statistics types. To reflect this change and allow for more options, the pseudonymized_borrower_attributes table has been renamed pseudonymized_metadata_values.
Logging patron record changes - resetting 2FA and patron merges
If the BorrowersLog system preference is enabled, these changes to patron records are now logged:
resetting two-factor authentication for staff patrons (RESET 2FA)
merging patrons (PATRON_MERGE)
New display locations for HTML customizations
Moving system preferences to HTML customizations continues. These system preferences were moved to the HTML customization tool in Koha 25.11:
IntranetReportsHomeHTML
Permission changes
The description for the anonymous_refund permission was changed from “Perform anonymous refund action” to “Perform refunds of point of sale transactions”. This makes it clearer about what the permission does.
New system preferences
DisplayPublishedDate
If you have serial subscriptions set to create items when receiving issues, you can use the DisplayPublishedDate system preference to hide or show the publication date on the item record.
EnableBooking
If you do not use bookings, disable the feature with the new EnableBooking system preference. Doing this will hide all mentions of bookings in the staff interface.
FacetSortingLocale
The new FacetSortingLocale system preference is used when the FacetOrder system preference is set to ‘alphabetically’, to make sure the facets are correctly ordered.
FilterSearchResultsByLoggedInBranch
The new FilterSearchResultsByLoggedInBranch system preference may be used to add a button at the top of the ‘Location’ column in the staff interface search results that allows the user to toggle the view of items and only show availability for the items from the library where they are logged in.
PreventWithdrawingItemsStatus
The new PreventWithdrawingItemsStatus system preference can be used to prevent library staff from marking items as withdrawn if the items are either checked out or in transit.
ShowPatronFirstnameIfDifferentThanPreferredname
The ShowPatronFirstnameIfDifferentThanPreferredname system preference enables showing a patron’s first name beside their preferred name in patron search results, if they are different.
Modified system preferences
ESPreventAutoTruncate renamed to ElasticsearchPreventAutoTruncate
The ESPreventAutoTruncate system preference was renamed to ElasticsearchPreventAutoTruncate for consistency with other Elasticsearch system preferences.
NewsLog renamed to AdditionalContentLog
The NewsLog system preference was renamed to AdditionalContentsLog to better describe what is logged. NewsLog already logged all additional content changes, including HTML customizations, and pages, not just news. The new name makes this explicit. The logging itself is not affected by the change.
Deprecated system preferences
IntranetReportsHomeHTML
This system preference was moved to the HTML customization tool.
25.05
Tip
While waiting for 25.05 features to be documented by fellow community members, you can read the full release notes for Koha 25.05.00.
Renewal date picker
When renewing from the Circulation > Renew page, it is now necessary to click the renewal settings icon in the barcode field to access the date picker for setting a custom renewal date. Previously, the renewal date field was always visible.
This is a minor behavior change, but it aligns with the interface used elsewhere in Koha, such as on the Circulation > Check in page.
Expired hold charge in circulation rules
It is now possible to define the charge for late hold pick-ups in the circulation rules, under ‘Expired hold charge’. If no value is defined in the circulation rules, the value set in the ExpireReservesMaxPickUpDelayCharge system preference will be used.
Logging patron record changes - patron attributes
If the BorrowersLog system preference is enabled, changes to patron attributes for a patron are now logged.
New locations for additional fields
It is now possible to add additional fields to libraries, credit types, and debit types.
New display locations for HTML customizations
The move of system preferences to HTML customizations continues. These were moved to the HTML customization tool in version 25.05.
RoutingListNote
StaffLoginInstructions
New system preferences
AlwaysShowHoldingsTableFilters
The new AlwaysShowHoldingsTableFilters system preference determines whether the filters are shown by default at the top of each column in the holdings table in the record details page of the staff interface.
AutoILLBackendPriority
Use the AutoILLBackendPriority system preference to check which interlibrary loan provider(s) would be able to supply the requested title, before deciding which one you want to place the request with.
CardnumberLog
Use CardnumberLog to log changes to the patron’s card number separately from other changes to the patron account. This can be used when the BorrowersLog system preference is disabled or to make it easier to search logs for changes in card numbers.
ConsiderHeadingUse
The new ConsiderHeadingUse system preference can be turned on to restrict the authority records search results in the cataloging module to only those where the value in 008/14-16 allows their use for this type of heading.
ElasticsearchBoostFieldMatch
The new ElasticsearchBoostFieldMatch system preference can be used to boost exact matches to the top of the search results.
HoldCancellationRequestSIP
The new HoldCancellationRequestSIP system preference controls whether holds canceled via SIP are canceled directly or sent as hold cancellation requests.
ILLOpacUnauthenticatedRequest
When ILLOpacUnauthenticatedRequest is set to ‘Allow’, patrons can place interlibrary loans request in the OPAC without being logged in.
This is useful when patrons are redirected from another catalogue or website to place an ILL request in your OPAC. It allows them to place their request straightaway, without worrying about whether they are already a library member or not.
ILLRequestsTabs
Use the ILLRequestsTabs system preference to organize your interlibrary loan requests into custom tabs on the ILL requests view.
OPACDisableSendList
The new OPACDisableSendList system preference determines whether a ‘Send list’ button appears in OPAC lists allowing OPAC users to send lists by email.
PatronSelfRegistrationAgeRestriction
The new PatronSelfRegistrationAgeRestriction system preference allows libraries to limit the age of patrons self-registering on the OPAC. This avoids having errors in birth years, such as 1894 instead of 1984.
PatronSelfRegistrationAlert
The new PatronSelfRegistrationAlert system preference determines whether a message is displayed on the staff interface main page to alert staff members that a new patron registered on the OPAC. This is useful for libraries who need to check self-registered patron accounts and validate them.
TransfersLog
The new TransfersLog system preference controls whether item transfers between libraries should be logged into the action_logs table. Library staff can view these logs in the log viewer tool.
Modified system preferences
CheckPrevCheckout
When AllowMultipleIssuesOnABiblio is enabled, CheckPrevCheckout now checks both the patron’s current checkouts and their history. A confirmation message will appear if they already have an item from the same record on loan.
Deprecated system preferences
RoutingListNote
This system preference was moved to the HTML customization tool.
StaffLoginInstructions
This system preference was moved to the HTML customization tool.
New and improved command-line tools
cleanup_database.pl
New parameters were added to the cleanup_database.pl script.
--statistics-type: to specify which types of statistics to purge, e.g. localuse, issue, return, renew, writeoff, payment.--statistics-type-pseudo: to purge from the statistics table all entries with statistics types that are also being stored as pseudonymized transactions.
delete_patrons.pl
A new parameter was added to the delete_patrons.pl script:
--without_restriction_type: to only delete patrons who do not have a restriction of the type specified. In effect, the script will not delete patrons who have restrictions of this type. It will delete patrons with any other type of restrictions.