What to look out for when upgrading to Koha 25.11
Last updated on: 18th May 2026| 2nd April 2026 | Aude Charillon | Koha
Before your upgrade
1. Warn all library staff who use Koha of the upgrade date and times
We will have sent you information on how we run Koha upgrades; feel free to share it with your colleagues.
Koha will be unavailable while the upgrade is run. Staff should not attempt to login. If they do anyway and perform some actions, their changes may be lost once the upgrade completes.
During the upgrade, staff will need to record transactions manually – and add them to Koha afterwards.
Tip: to warn staff in advance, you can use a News item displayed solely in the staff interface.
2. Advise your library users
Your public catalogue will not be available during your Koha upgrade.
- If you use the Koha OPAC, we will enable the OPAC maintenance page. You can customize the contents of the page in advance by creating an HTML customization for the OpacMaintenanceNotice display location.
- If you use Aspen, the site will still be up but some user account functionality will be affected.
Tip: give some advance notice to your users by using a News item for the Koha OPAC or a system message for Aspen.
3. Check what’s new
With your upgrade, you will get all the new features and improvements from versions 25.05 and 25.11. To get some insights into what these are:
- Read our curated – but still extensive – list of new features.
- Watch some video highlights from our What’s On Our Mind series.
- Read about the new features documented in the Koha Manual so far.
After your upgrade
1. Check your workflows
Once we confirm your upgrade is complete, the most important thing to do is to check that everything is working as expected.
Our Koha upgrades page has a list of suggested things to check – 7 for the OPAC and 9 for the staff interface.
If you have added any custom CSS or JavaScript to your site (e.g., via OPACUserCSS / OPACUserJS and IntranetUserCSS / IntranetUserJS system preferences) we would advise you check how these are applied post-upgrade. If you have any custom integrations with local systems, it is best to check those still work correctly too.
- Log support tickets on our helpdesk if you find anything amiss.
2. Review patron category settings for the membership expiry notice
The membership expiry notice is now part of the messaging preferences [bug 30300]. If you currently use it (the MembershipExpiryDaysNotice system preference has a value and the membership_expiry.pl script is running), users will automatically have “Patron account expiry” ticked in their messaging preferences as part of your upgrade. However, you will need to review your patron category defaults.
- Go to Administration > Patron categories > [edit one who should receive membership expiry notices]. Under “Default messaging preferences for this patron category”, tick “Patron account expiry”.
- If your users are allowed to update their own messaging preferences (the EnhancedMessagingPreferencesOPAC system preference is set to Show) and you do not want them to opt out of the membership expiry notice, also switch “Enforce patron account expiry notice” in the patron category settings to “Yes”. [bug 30301]
3. Be aware of updated labels in the OPAC
If you have just one library marked as ‘public’ in the Libraries settings, the OPAC link for the library’s information will be labelled ‘Contact’ instead of ‘Library’ [bug 32051]. The URL does not change; only the label does.
If you have enabled the virtual card feature using OPACVirtualCard, be aware the OPAC tab ‘My virtual card’ has been renamed ‘Library card’ and moved up to just below the ‘Summary’ tab [bug 38792].
- You may need to update any user-oriented resources that mention these labels.
4. If using borrowers.lastseen: check the new option for TrackLastPatronActivityTriggers
Koha stores a “last seen date” (borrowers.lastseen) for each library member. This date gives an indication of activity on the user’s account, which is used by library teams for reporting and workflows. The TrackLastPatronActivityTriggers system preference allows library teams to choose which actions update the last seen date.
Third-party platforms – computer reservation services, e-content providers (BorrowBox, OverDrive, etc.), reference resources – allow users to login with their library credentials. To do this, they connect to Koha; this connection can use SIP2, ILS-DI or the REST API route.
- If you want the last seen date to be updated when a user logs in to a third-party platform with their library credentials via the REST API, tick the new option ‘Patron authentication via API’ in the TrackLastPatronActivityTriggers system preference.
5. If using the pseudonymized_borrower_attributes table in reports: update your SQL
The pseudonymized_borrower_attributes table has been renamed pseudonymized_metadata_values in 25.11 [bug 37901].
- For all your reports using pseudonymized_borrower_attributes, replace with pseudonymized_metadata_values.
6. If using Elasticsearch: boost exact titles in search results
If using Elasticsearch as the Koha search engine (your system’s About Koha page mentions Elasticsearch), it can now treat keyword searches as both a keyword search and an exact match search on specific fields – and display the “exact match” results at the top [bug 38694]. For example: if the keywords entered are an exact match for a title, the record with this title will be higher up the results list.
- To use this, set the ElasticsearchBoostFieldMatch system preference to Enable.
7. To use the ISBN validator: update your MARC frameworks
When adding or editing bibliographic records, you can get an alert if the value in the ISBN field is not in the expected format – e.g., if it’s too short to be an ISBN [bug 29980]. To enable this validation, you will need to update your MARC frameworks.
- Go to Administration > MARC bibliographic framework > [on the line for one of your frameworks, click] Actions > MARC structure. Search for your usual ISBN field, e.g. 020. Use Actions > Edit subfields > [navigate to the relevant subfield tab, e.g. a] > [set] Plugin = validate_isbn.pl.
8. If using EDIFACT ordering: enable the use of purchase order numbers as the basket name
If using the EDI process, it is now possible for the basket name to be the purchase order number used by the supplier [bug 20253]. This is optional, but we are including it here as we know it is a popular request!
- If you want to enable this for some suppliers, go to Administration > EDI accounts > [edit one] > Use purchase order numbers.