What to look out for when upgrading to Koha 25.11

Last updated on: 18th May 2026| 2nd April 2026 | Aude Charillon | Koha

If your Koha system is hosted by us and we are upgrading it to version 25.11, here is a short “before and after” to-do list.

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:

 

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.

 

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.

 

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.
Previous

Back to our roots: Open Fifth at the Koha Hackfest 2026

Overturned silver fern with more ferns in the background
Next

What’s on our mind: Validating ISBNs in Koha 25.11

Overturned silver fern with more ferns in the background