26 Aug 2025
Koha is the first free and open source software library automation package (ILS). Development is sponsored by libraries of varying types and sizes, volunteers, and support companies from around the world. The website for the Koha project is:
Koha 24.11.08 can be downloaded from:
Installation instructions can be found at:
Koha 24.11.08 is a bugfix/maintenance release.
It includes 20 enhancements, 180 bugfixes.
System requirements
You can learn about the system components (like OS and database) needed for running Koha on the community wiki.
Fixes XSS vulnerability in suspend hold modal and suspend hold button by refactoring the Javascript that creates the HTML.
This fixes the messages displayed in About Koha "Server information" and "System information" tabs, depending on whether the RabbitMQ service is running and the options for the JobsNotificationMethod system preference. Previously, an error message was shown in the system information tab when the "Polling" option was selected and RabbitMQ was not running, when it shouldn't have.
Expected behavour: - RabbitMQ running: . STOMP option: message broker shows as "Using RabbitMQ", no warnings in the system information tab . Polling option: message broker shows as "Using SQL polling", no warnings in the system information tab - RabbitMQ not running: . STOMP option: message broker shows as "Using SQL polling (Fallback, Error connecting to RabbitMQ)", error message shown in the system information tab . Polling option: message broker shows as "Using SQL polling", no warnings in the system information tab
40165 Incomplete logic for controlling display of OPAC language footer
Sponsored by Athens County Public Libraries
This fixes the default upload and download ports when creating an EDI account (Koha administration > Acquisition parameters > EDI accounts > New account).
If: - FTP is selected, it now defaults to port 21 (instead of port 22). - SFTP is selected, it defaults to port 22.
This fixes the EDIFACT order confirmation message for a basket so that the EAN information is now included on the confirmation page ([a basket for a vendor] > Create EDIFACT order > [select EAN from dropdown list], with the BasketConfirmations system preference set to 'always ask for conformation').
Previously, the
Create EDIFACT orderaction would take librarians to a page to select the EDI Library EAN. Now, the EANs are included in a dropdown list for the action. This removed the chance to review the selected EAN to confirm it was correct. In addition, some libraries have dozens of Library EANs, making the button dropdown list cumbersome to use.
37305 Remove C4::Biblio::prepare_marc_host and use Koha::Biblio->generate_marc_host_field in preference
Sponsored by Open Fifth
This fixes the Koha ESLint configuration (used for finding JavaScript errors) so that it is compatible with ESLint v9, changes the packages used so that ESLint and prettier are installed by default, and tidies some files that require updating after the prettier upgrade.
build-git-snapshot[1] Warning message: [WARN] Use of uninitialized value $branch_limit in concatenation (.) or string at ...
This fixes the generation of item barcodes, where the autoBarcode system preference is set to "generated in the form
yymm0001" and the library code is either a number or alphanumeric value. This automatically generated barcode format didn't work in this case, and the number generated would not automatically increment.
It also: - makes minor formatting changes to improve consistency with the advanced editor: . the help link text is now [?], instead of ? . adds hover text for [?] - "Show help for this tag" . adds some additional spacing before the indicator fields . removes the '-' before the tag title - updates the MarcFieldDocURL system preference description
38895 In advanced editor, the fixed data helpers put '#' instead of space in record content
Sponsored by Ignatianum University in Cracow
39293 Remove box around subfield tag in basic editor
Sponsored by Chetco Community Public Library
39570 Add item form includes itemnumber while adding a new item
Sponsored by Chetco Community Public Library
This fixes a bug with the Batch item modification tool. Previously, if library staff tried to clear the items' not-for-loan, withdrawn, lost, or damaged status using the Batch item modification tool, the fields would not be cleared correctly. Depending on the database settings, the job might fail completely and the items wouldn't be modified at all, or else the status would be cleared, but the status date (such as withdrawn_on or itemlost_on) would not be cleared. Now the tool can be used to clear those fields, just like any other non-mandatory field.
With the introduction of more fine-grained renewals tracking in "Checkout renewals should be stored in their own table", we inadvertently missed applying patron anonymization preferences.
This bug corrects that by adding logic to ensure we follow a patrons preference for removing this data.
31167 Only mark due dates in the past red on overdues report
This fixes the overdues report (Circulation > Overdues > Overdues) so that when the "Show any items currently checked out" filter is selected, the due date is only shown in red for overdue items. Currently, the due date is in red for all items.
Sponsored by Athens County Public Libraries
This restores the ability to filter the holdings table by status. This was lost when the holdings table was upgraded to use the REST API (added to Koha 24.05 by bug 33568).
39919 Overdues with fines report has incorrect title, breadcrumbs, etc.
Sponsored by Athens County Public Libraries
This development makes
koha-removestop all worker processes before attempting to remove the instance's UNIX user.
es_indexer_daemon.pl doesn't use batch_size in DB poll mode38760 koha-mysql doesn't work with encrypted database connection
Sponsored by Karlsruhe Institute of Technology (KIT)
This fixes the koha-create and koha-disable package commands so that they start and stop all the background job worker queues (including long_tasks).
sip_cli_emulator.pl warnings39078 Incorrect variable checks in course reserve details template
Sponsored by Athens County Public Libraries
This fixes a path in a hint in the search for data inconsistencies script (search_for_data_inconsistencies.pl) - misc/cronjobs/fix_invalid_dates.pl should be misc/maintenance/fix_invalid_dates.pl.
This fixes the authorized value description for AggregatedFullText in the ERM_PACKAGE_CONTENT_TYPE category. It updates the description from "Aggregated full" to "Aggregated full text".
This fixes the holds to pull page so that the dropdown library filter works if the library name contains parenthesis (Circulation > Holds and bookings > Holds to pull).
This fixes the translation script so that it now provides a more meaningful error when updating a language that has incorrect strings. It now identifies exactly where the problem comes from, making it easier to fix the problem.
An example of the updated error message:
gulp po:update --lang LANG .. Incorrect structure found at ./koha-tmpl/intranet-tmpl/prog/en/modules/admin/branches.tt:230: '
This fixes the "Error 500..." message generated when printing barcode ranges using the label creator, where the layout type selected is "Bibliographic data precedes barcode" (Cataloging > Tools > Label creator).
This fixes the transfer of public lists to staff patrons that do not have list permissions - when attempting to transfer the list, and the staff member doesn't have list permissions, an error message is now shown. Previously, the list could be transferred and then be edited by the staff patron without list permissions.
This fixes a regression between Koha 24.11, and 25.05 and main. When adding a new authority or bibliographic record, clicking save (without filling in any fields) now restores filling in the auto-populated fields such as 000, 003, and 008.
This fixes adding (or editing) authority terms to authority records (for example, 500$a)- choosing a term using the authority finder was not adding the selected term to the authority record (it was staying on authority finder pop up window, and generated a JavaScript error).
40119 Merge should not leave empty 6XX subfield $2 (MARC 21)
Sponsored by Ignatianum University in Cracow
This patch fixes a problem where a patron's email address is shown in the 'Delivery note' column when the message transport type is print.
This fixes updating personal details in the OPAC. A 500 error was shown if the "Patron category (categorycode)" was selected in the PatronSelfModificationBorrowerUnwantedField system preference and the date of birth field was changed or previously empty.
39680 The navigation item "Clear” in search history doesn't delete searches
Sponsored by Athens County Public Libraries
This fixes searching in the OPAC when the OPACLocalCoverImages system preference is enabled. In some circumstances an error is generated (Can't call method "cover_images" on an undefined value...) when a record is deleted, a search is made, but the search index is not yet updated.
34776 Patron messaging preferences are lost when an error occurs during new account creation
This fixes creating a new patron - the messaging preferences are now remembered if there is an error when creating a new patron. Before this, if there was an error when creating a patron (for example, the wrong age for the patron category), the messaging preferences (either the default or changes made) were emptied and needed to be re-added.
Sponsored by Koha-Suomi Oy
39021 Badly formatted dropdown on patron account transactions page
This fixes the misaligned "Email" item on the "Receipt" action dropdown menu for a patron's accounting transactions page in the staff interface (when UseEmailReceipts is set to "Send"). (This is related to the OPAC and staff interface Bootstrap 5 upgrade in Koha 24.11.)
Sponsored by Athens County Public Libraries
This fixes the add patron form when using the CollapseFieldsPatronAddForm system preference to collapse sections of the form. If the "Non-patron guarantor" option was selected it was also collapsing the "Patron guarantor" section.
39467 Fix patron "View restrictions" link in messages
This patch fixes a problem where the 'View restrictions' buttons was not properly opening the 'Restrictions' tab when clicked.
Sponsored by Gothenburg University Library
40116 Extra popup notice when saving a patron with patron guarantor ends in error
This patch changes existing guarantors elements in the patron add form to use classes "guarantor_id" and "guarantor_relationship" to prevent an unnecessary pop-up if the form throws an error.
Sponsored by Koha-Suomi Oy
39534 Saved report subgroup filter not hidden correctly
Sponsored by Athens County Public Libraries
This restores the logging of fatal SIP errors to both the SIP logs and standard output from the command line.
40108 Self-checkout print receipt option not working
Sponsored by Athens County Public Libraries
This fixes the serials receiving (receive_serials) permission - staff that only have this permission can now only receive serials, and can no longer (incorrectly) close a subscription. Previously, the "Close" action was incorrectly shown on the subscription details page and this allowed staff to close (but not reopen) a subscription (Serials > Search > [select a serial from the results] > Subscriptions detail page for a serial).
This fixes a JavaScript error on bibliographic record pages in the staff interface, where the record has no items.
This fixes a bug where the 'Last borrower' and 'Previous borrower' links did not appear when the borrower lacked a cardnumber. This patch makes it fall back to borrowernumber in those cases.
This updates the description for the ChildNeedsGuarantor system preference as it was misleading, as it not longer just applies to children (historically it did - but now it can be any patron type that can have a guarantor).
The updated description:
Any patron of a patron type than can have a guarantor [does not require|requires] a guarantor be set when adding the patron. WARNING: Setting this preference to 'requires' will cause errors for any pre-existing patrons that would now require a guarantor and do not have one.
38294 Checkbox/label for search filters incorrectly aligned
Sponsored by Athens County Public Libraries
38968 Identity providers "More" controls broken after Bootstrap 5 upgrade
This fixes the identity providers add and modify form so that the "More" buttons now correctly expand and show hidden help text. (This is related to the OPAC and staff interface Bootstrap 5 upgrade in Koha 24.11.)
Sponsored by Athens County Public Libraries
39051 Cash register statistics form submit button styled incorrectly
Sponsored by Athens County Public Libraries
39053 Add page-section div to reports results pages
This fixes several report result pages so that they have a "page-section" div - they now have a white background, instead of the light grey background.
Sponsored by Athens County Public Libraries
39409 Duplicate modifybiblio ids in cataloguing toolbar
Sponsored by Chetco Community Public Library
39441 Some templates have div.container instead of div.container-fluid
This updates a few templates so that div.container is replaced with div.container-fluid. div.container has a fixed maximum width that isn't consistent with the rest of Koha. An example where this caused display issues - the staff interface cart: the action icons were bunched up to the left, instead of being spread evenly across the pop-up window width.
Sponsored by Athens County Public Libraries
This fixes the dropdown filters for the holdings table in the staff interface. The filters now use an exact match.
Example: Items with an item type of BK (Books) and BKA (Other type of book) would both be shown if either was selected in the dropdown list, instead of just the items for the specific item type.
39499 Add some padding to the Save button in the sticky bar in cataloging
This fixes a regression in the style of the floating toolbar on the basic MARC editor page - it adds more padding before the 'Save' button in the sticky toolbar and is now aligned correctly with other page elements. Before this, it was aligned to the left without any padding before it.
Sponsored by Athens County Public Libraries
39954 Cataloging search results incorrect menu markup
Sponsored by Athens County Public Libraries
40111 Fix title sorting on two reports
Sponsored by Athens County Public Libraries
Fixes text in overdues with fines "Overdues at with fines {library}" into "Overdues with fines at {library}"
40249 "Copy settings" should be "Copy permissions"
This bug changes the phrase "Copy settings" to read as "Copy permissions".
Sponsored by Athens County Public Libraries
This adds validation to the rental discount field in the circulation rules table.
PTFS Europe is no more, Long live Open Fifth
This enhancement add a 'Hold note' column to the patron's hold history table. It is configurable via administration's Table settings.
New system preference "OPACDisableSendList" provides libraries the option to disable the ability to send lists from the OPAC, and hides the "Send list" link on the opac-shelves.pl page.
This enhancement allows branch information to be included in predefined notices templates for the
Patrons (custom message)module, which defines notices that can be sent to patrons by clicking the "Add Message" button on the patron account. These notices can now use thebranchtag to access information about the branch the staff member is logged into at the time they send the message. For example:[% branch.branchname %]- the logged-in branch's name,[% branch.branchaddress1 %]- the logged-in branch's address, etc.
This adds support for ISNI and WIKIDATA ID to 'Author information' tab in the OPAC. The feature is configured using the OPACAuthorIdentifiersAndInformation system preference.
This enhancement moves the OPACVirtualCard system preferences (OPACVirtualCard and OPACVirtualCardBarcode) from the OPAC suggestion section to the OPAC features section.
38818 Add diag option to t::lib::Mocks::Logger
Sponsored by Open Fifth
The Koha manual is maintained in Sphinx. The home page for Koha documentation is
Koha Documentation As of the date of these release notes, the Koha manual is available in the following languages:
The Git repository for the Koha manual can be found at
Complete or near-complete translations of the OPAC and staff interface are available in this release for the following languages:
Partial translations are available for various other languages.
The Koha team welcomes additional translations; please see
For information about translating Koha, and join the koha-translate list to volunteer:
The most up-to-date translations can be found at:
The release team for Koha 24.11.08 is
Release Manager: Lucas Gass
QA Manager: Martin Renvoize
QA Team:
Documentation Manager: David Nind
Documentation Team:
Translation Manager: Jonathan Druart
Wiki curators:
Release Maintainers:
Release Maintainer assistants:
We thank the following libraries, companies, and other institutions who are known to have sponsored new features in Koha 24.11.08
We thank the following individuals who contributed patches to Koha 24.11.08
We thank the following libraries, companies, and other institutions who contributed patches to Koha 24.11.08
We also especially thank the following individuals who tested patches for Koha
We regret any omissions. If a contributor has been inadvertently missed, please send a patch against these release notes to koha-devel@lists.koha-community.org.
The Koha project uses Git for version control. The current development version of Koha can be retrieved by checking out the main branch of:
The branch for this version of Koha and future bugfixes in this release line is 24.11.x.
Bug reports and feature requests can be filed at the Koha bug tracker at:
He rau ringa e oti ai. (Many hands finish the work)
Autogenerated release notes updated last on 26 Aug 2025 15:11:12.