Koha Upgrades
19.11 Upgrade Notes
Koha 19.11
The Koha Community has released Koha 19.11.00. 19.11 is a major release, that comes with many new features. It includes 7 security fixes, 20 new features, 146 enhancements, 367 bugfixes.
19.11 Resources
Tutorial Videos and Blog Posts
Monday Minutes: Advanced Editor Enhancements for 19.11
Koha Introduces a Cash Register Feature
Ability to Add Multiple Guarantors
New Feature with the Account Credit Slip
The Accountlines Table in 19.11
See and Pay Your Guarantee's Fines on the OPAC
Monday Minutes: New Opt-Out Option for Auto Renewals
Monday Minutes: Adding Social Networks in the Koha OPAC
Monday Minutes Displaying Itemtypes in Circulation
New System Preference for Trapping Holds
Old Debits and New Credits in 19.11
Monday Minutes: Editing an Accountlines Report After Upgrade
Keyword to MARC mapping / Koha to MARC Mapping
Module Specific Blog Posts
The Education Team has taken the 19.11 Release Notes and expanded on the new features and enhancements by module! Here are the links to those specific blog posts!
19.11 Technical Services Updates
19.11 Admin and Reports Updates
19.11 OPAC and Public Services Updates
19.11 Patrons and Circulation Updates
What's New Webinar
Here is a link to the recorded What's New webinar from 5/19:
Here is a link to the second recorded What's New Webinar from 5/21:
Q&A Page
We have gathered all the questions that were asked during our two "What's New" webinars and the two Q&A sessions - check out what other partners are asking!
Q&A Sessions
Here is a link to our first Q&A session to discuss 19.11:
Here's a link to our second Q&A session:
Here is a breakdown of the 19.11 Release Notes from the Koha Community
Security Bugs
Koha
- [22543] Patron might be logged in again using browser back button
- [23025] security vulnerability detected in fstream < 1.0.12 defined in yarn.lock
- [23042] Local login attempt populates shibboleth url with userid and password in plain text
- [23058] Cross-site scripting in OPAC search
- [23329] tracklinks.pl accepts any url from a parameter for proxying if not tracking
- [23451] Reflected XSS in opac-imageviewer.pl
- [23836] tracklinks.pl should not forward if TrackClicks is disabled
New features
Cataloging
- [17179] Advanced editor: Add keyboard shortcuts to repeat (duplicate) a field, and cut text. Sponsored by Round Rock Public Library
- [22445] Ability to define a URL for custom cover images. Sponsored by Orex Digital
Fines and fees
- [23228] Add option to automatically display payment receipt for printing after making a payment
This enhancement adds the optional ability to automatically popup the receipt print dialogue upon successful payments.
Hold requests
- [19618] Add ‘Club Holds’ feature. Sponsored by South East Kansas Library System
OPAC
- [22581] Add support for Plaine & Easie musical incipits rendering in OPAC
Sponsored by Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción) - [23214] Add ability to pay guarantees fines
Patrons
- [14570] Make it possible to add multiple guarantors to a record
Sponsored by Northeast Kansas Library System and Vermont Organization of Koha Automated Libraries
Plugin architecture
- [22706] Add plugin hooks to allow custom password strength checking modules
- [22709] Add hooks to notify plugins of biblio and item changes
- [22834] Add a method for plugins to return the absolute path for bundled files
- [22835] Serve static files from plugins through the API. Sponsored by Theke Solutions
- [23050] Add hook to add a tab in intranet biblio details page
- [23237] Add support for [% INCLUDE %] in plugin templates
REST API
- [16825] Add API route for getting an item. Sponsored by Koha-Suomi Oy
- [17003] Add API route to get checkout’s renewability
- [23517] Add API route to update a holds priority
- [23584] Add public API routes to change privacy settings
- [23677] Add API route to get a bibliographic record
Staff Client
- [23321] Add ‘cash registers’ to the accounts system
Sponsored by Cheshire Libraries Shared Services and PTFS Europe
Z39.50 / SRU / OpenSearch Servers
- [13937] Add an Elasticsearch-compatible Z39.50/SRU daemon. Sponsored by National Library of Finland
New Enhancements
Acquisitions
- [14669] Search orders by managing library
- [20254] Forbid the download of duplicate EDI messages
- [20595] EDI: Add support for LRP (Library Rotation Plan) for Koha with Stock Rotation enabled.Sponsored by PTFS Europe
- [23522] Show “Actual price” in basket when available. Sponsored by Virginia Tech
Architecture, internals, and plumbing
- [18928] Move holdallowed, hold_fulfillment_policy and returnbranch into the circulation_rules table.
- [18930] Move ‘refund lost item fee rules’ into the circulation_rules table
- [22563] Convert lost handling to use ‘status’ instead of multiple accounttypes
- [22610] SIP Payment Types should be moved out of accountype
- [22721] Normalize GetMarcFromKohaField calls
- [22837] Koha::Account::Line->apply should not require a ‘set’ of debits
- [23068] Add ability for Koha to handle X-Forwarded-For headers so REMOTE_ADDR features work behind a proxy
- [23152] koha_object[s]_class methods must be implemented when needed
- [23230] Make Koha::Plugins::Base::versioncompare OO
- [23272] Koha::AuthorisedValue should use Koha::Object::Limit::Library
- [23281] Add Koha::Objects::Limit::Library
- [23414] Improve performance of C4/XSLT/buildKohaItemsNamespace
- [23580] Add C4::Context->yaml_preference
- [23623] Use the new API and remove /svc scripts for privacy settings
- [23770] Add Koha::Object(s)->to_api method. Sponsored by ByWater Solutions
- [23793] Add an EmbedItems RecordProcessor filter for MARC::Record objects
- [23807] Add Koha::Item->as_marc_field
- [23843] Make existing endpoints use Koha::Object(s)->to_api
Authentication
- [23146] Add support for Basic auth on the OAuth2 token endpoint. Sponsored by ByWater Solutions
Cataloging
- [15497] Limit item types by library
Sponsored by Central Kansas Library System, Northeast Kansas Library System and South East Kansas Library System - [17178] Add a popup/keyboard shortcuts for diacritics and symbols in the advanced cataloging editor
Sponsored by Round Rock Public Library - [23602] Library limitations should display in the item types table
Circulation
- [14697] Extend and enhance “Claims returned” lost status
Sponsored by Fargo Public Library and North Central Regional Library System - [17492] Show warning if patron’s age is out of category limit
- [20194] Display both biblioitems.itemtype and items.itype in circulation screens
- [20959] Style checkin form more like the checkout form, with collapsed settings panel
- [23328] Some check-in messages should be dismissable
- [23507] Add ability to show and print change given on fee receipt from FinePaymentAutoPopup
- [23686] Check onsite checkout when the last checkout was an onsite one
Command Line Utilities
- [16219] Runreport.pl should allow SQL parameters to be passed on the command line
- [17168] Add a command line script for updating patron category based on status
Sponsored by Round Rock Public Library - [22509] Add a script to generate MARC fields containing date formatted strings
Sponsored by Orex Digital - [23346] Add without-db-name parameter to koha-dump
Fines and Fees
- [6759] Use a different account type for account renewals than for new accounts
- [22627] Rephrase ‘your fines and charges’ tab in OPAC
Sponsored by Catalyst - [23049] Replace MANUAL_INV authorised value with a dedicated table
- [23805] Add a dedicated credit_types table
Hold Requests
- [22922] Allow to modify hold and hold expiration date in staff
Holidays
[15260] Option for extended loan with useDaysMode
Sponsored by Cheshire East Council, Cheshire West and Chester Council, Newcastle City Council and Sefton Council
I18N/L10N
- [23631] fr-CA translation of NEW_SUGGESTION notice
- [23983] Contextualization of “Order” (verb) vs “Order” (noun)
Label/patron card printing
- [23464] Update the process of quick spine label printing
MARC Bibliographic data support
- [18309] UNIMARC update from IFLA for new Koha installations
- [20364] Show languages from MARC21 field 041 in intranet
- [20434] UNIMARC update from IFLA for existing Koha installations
- [22884] Remove ending . from XSLT templates
- [23731] Display LC call number in OPAC and staff detail pages
Notices
- [21180] Allow Talking Tech outbound script to limit based on patron home library branchcode
- [23278] Reopen last panel upon “Save and continue” in notices
OPAC
- [5287] Add floating toolbar to search results in OPAC
- [8778] Add Keyword phrase search to OPAC search
- [20691] Add ability for guarantors to view guarantee’s fines in OPAC
- [21701] Have PayPal optionally return to originating OPAC url rather than OPACBaseURL
- [23096] Add floating toolbar to OPAC lists
- [23299] Switch address1 and streetnumber for German address format on opac-memberentry
- [23392] Support MARC21 indicators for private note fields
- [23566] Continue on device – with QR codes
- [23633] Filter out historical charges by default on a users ‘your charges’ page
- [23694] Author “By” should have its own class
- [23720] Add div wrapper to search results to make moving cover images easier
- [23791] Allow granular control of social networks enabled by SocialNetworks syspref
- [23903] Replace OPAC icons with Font Awesome
- [23955] Replace famfamfam icon in OPAC holds template
Packaging
- [23400] Add –status to koha-indexer
Patrons
- [23219] Show a warning about canceling their holds before a patron is deleted
- [23697] Add autocomplete for patron search in patron module
Plugin Architecture
- [21073] Improve plugin performance
- [23191] Administrators should be able to install plugins from the command line
- [23213] Add hook to OPAC payments to allow plugins to set minimum payment threshold
Rest API
Reports
- [15422] Number of items to order on holds ratio report will not fulfill the holds ratio
- [23206] Batch patron modification from reports which return cardnumber
- [23389] Add ‘All’ option to report value dropdowns
- [23390] Add placeholder syntax for column names
SIP2
- [20292] Filter/censor info sent via SIP
Sponsored by Duchesne County Library and Uintah Library System - [20954] Add ability to set syspref overrides in SIP as we can in Apache
Sponsored by South East Kansas Library System - [22540] Add ability to place holds using SIP CLI emulator
Searching
- [23386] Add language of original in advanced search – staff client
- [23543] Adding withdrawn to the item search
Searching - Elastic
- [17851] Add Elasticsearch config to koha-conf.xml. Sponsored by Koha-Suomi Oy
- [20334] Elasticsearch – Option for escaping slashes in search queries
- [20589] Add field boosting and use elastic query fields parameter instead of deprecated _all
- [20607] Elasticsearch – ability to add a relevancy weight in mappings.yaml file
- [22592] Elasticsearch – Support for index scan
- [22826] Allow indexing of individual authority records in Elasticsearch
Serials
- [21588] Add “Collapse/Expand” options on subscription-detail page
- [23435] Add multiple copies of an item when receiving in serials. Sponsored by Brimbank City Council
Staff Client
- [18421] Make Coce cover images available for staff search
- [21245] Move ‘Last patron’ button inside of the ‘breadcrumb’ bar
- [23711] Icons on staff main page should be font icons
- [23803] Add Font Awesome icon to cart in staff interface
System Administration
- [11529] Add subtitle, medium and part fields to biblio table. Sponsored by National Library of Finland
- [21574] Local use system preferences page doesn’t have the system preferences menu
- [23179] Add ‘Edit subfields’ to framework management tag dropdown and clarify options
- [23606] Add columns configuration and export options to item types administration
- [23611] Add export option to authorized values administration
- [23866] HEA submission preferences should prompt similar to ManaKB
Templates
- [7074] Show subtitle, part and number of a record in list of checkins
- [17057] Remove event attributes from holds template
- [21058] Missing class for results_summary spans
- [21824] Add ability to format dates in various formats in templates
- [21852] Add more columns and column configuration to overdues report
- [22209] Move stock rotation stage and item forms into modals
- [22897] Switch two-column templates to Bootstrap grid: ILL requests
- [22935] Improve style of Bootstrap pagination
- [22999] Switch two-column templates to Bootstrap grid: Circulation
- [23013] Upgrade DataTables in the staff client
- [23094] Use Bootstrap-style pagination on staged MARC records page
- [23159] Reindent addbiblio.tt
- [23183] Reindent cataloging.js
- [23196] Reindent tools/batch_record_modification.tt
- [23197] Add more batch operation options to SQL report results
- [23221] Reindent tools/manage-marc-import.tt
- [23259] Remove reset-fonts-grids.css
- [23286] Improve style of hold confirmation modal
- [23304] Reindent cataloguing/z3950_search.tt
- [23307] Add columns configuration to cataloguing/z3950_search.tt
- [23339] Reindent addbooks.tt
- [23351] Clean up localization template
- [23399] Reindent returns.tt
- [23438] Use Font Awesome icons in intranet search results browser
- [23444] Terminology: Use library instead of branch
- [23448] Clean up subscription detail template
- [23458] Clean up holds template in the staff client
- [23834] Add default ESLint configuration
- [23958] Use Font Awesome icon to replace “new window” icon image
- [24034] Capitalization on suggestion edit form: No Status
- [24076] Remove inline CSS to center patron home library in search results
Test Suite
- [23280] Warning in t/db_dependent/selenium/patrons_search.t
- [23284] Duplicate test in t/db_dependent/Plugins.t
- [23994] AdditionalFields.t is failing randomly (U18)
Tools
- 13552] Add debar option to batch patron modification
- [22272] Calendar: When entering date ranges grey out dates in the past from the start date
- [22888] Use DataTables for Koha news table filtering
- [22996] Move barcode separators to a preference
- [23279] In news management interface, sort news by publication date descending
- [23385] Hide default value fields by default on patron import
- [23512] Reindent notices and slips page (letter.tt)
Web Services
- [22677] Include hint on OAI-PMH URL for Koha in system preference
- [23154] Add pagination to /api/v1/checkouts
- [23156] Add pagination to checkouts in ILS-DI GetPatronInfo service
Critical Bugs
Critical bugs fixed
(This list includes all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)
Acquisitions
- [18743] Filter suggestion lists correctly for IndependentBranches. Sponsored by BULAC
- [21316] Adding controlfields to the ACQ framework causes issues when adding to basket
- [23397] Order lines can be duplicated in acqui scripts spent.pl and ordered.pl
- [23854] Cannot edit a suggestion
- [23855] Cannot mark the selected suggestion as “pending”
- [23863] Editing a basket clears create_items value
- [23927] Duplicate a “Complete” order link the “New” one to the invoice
Architecture, internals, and plumbing
- [22857] Entries missing in koha-conf.xml
- [23095] Circulation rules not displayed (empty vs null)
- [23316] GetFine needs updating for bug 22521
- [23599] Koha::Objects::Limit::Library fails if no library passed
- [23655] Errors when running on Debian Jessie
- [23723] Using exit inside eval to stop sending output to the browser doesn’t work under Plack
- [23867] 18.12.00.051 fails with “Truncated incorrect DOUBLE value”
Authentication
- [22585] Fix remaining double-escaped CAS links
- [23526] Shibboleth login url with query has double encoded ‘?’ %3F
- [23771] CAS/Shib Authentication can fail when multiple users with no userid/cardnumber defined and one of them is locked
Cataloging
- [23045] Advanced cataloging editor (rancor) throws a JS error on incomplete/blank lines
- [23252] Pressing enter should not submit form in item editor
- [23851] Auto generate accession number format yymm0001 fails to add branchcode prefix(branchcode) for multiple item addition
Circulation
- [13958] Add a suspensionsCalendar syspref
Sponsored by Universidad Nacional de Córdoba - [20086] AddRenewal is not executed as a transaction and can results in partial success and doubled fines
- [22877] Returning a lost item not marked as returned can generate additional overdue fines
- [23018] Refunding a lost item fee may trigger error if any fee has been written off related to that item
- [23079] Checkouts page broken because of problems with date calculation (TZAmerica/Sao_Paulo)
- [23103] Cannot checkin items lost by deleted patrons with fines attached
- [23120] Internal server error when checking in item to transfer and printing slip
- [23145] Confirming transfer during checkin clears the table of previously checked-in items
- [23293] OPACFineNoRenewals always compares against ‘balance’ not ‘outstanding’
- [23382] Issuing rules failing after bug 20912
- [23404] Circulation::TooMany error on itemtype when at biblio level
- [23405] Circulation autocomplete for patron lookup broken if cardnumber is empty
- [23518] Problem with borrower search autocomplete
- [23551] Problem with renewal period when using the renewal tab
- [23774] When placing a hold editing using Inspect Element allows addition to the code of non listed library
- [23938] Title missing from Checked out box
- [23985] The method Koha::Item-> is not covered by tests!
- [24013] Transferring a checked out item gives a software error
- [24075] Backdating a return to the exact due date and time results in the fine not being refunded
Command-line Utilities
- [22566] Stock rotation cronjob reporting has issues
- [23933] commit_file.pl Can’t call method “get_effective_marcorgcode” on an undefined value at /usr/share/koha/lib/C4/AuthoritiesMarc.pm line 578.
Course reserves
- [22142] An item’s current location changes to blank when it is removed from Course Reserves
- [23083] Course reserve item edit fails if one does not set all values
Database
- [23265] Update to DB revision 16.12.00.032 fails: Unknown column ‘me.item_level_hold’
- [23579] error during web install: ‘changed_fields’ can’t have a default value
- [23809] Update to DB revision 16.12.00.032 fails
Fines and fees
- [19919] Writing off a Lost Item Fee marks as “Paid for by patron”
- [23826] Manual Invoice does not use new accounttype and status for fines
- [24100] “Pay selected” is broken
Hold requests
- [13640] Holds To Pull List includes items unreserveable items
- [14549] Hold not removed when item is checked out to patron who is not next in priority list
- [23116] Cannot place overridden holds
- [23484] Holds to pull (pendingreserves.pl) uses removed default_branch_item_rules table
- [23710] Holds broken on intranet, displays a JSON page with an error
- [23964] An item level hold when placed is set to Waiting, if ReservesNeedReturn is set to Automatic
I18N/L10N
- [23713] Subscription add form broken for translations
ILL
- [23229] “Get all requests” API call fired when loading any ILL page
- [23529] Interlibrary loan javascript is broken
Installation and upgrade (command-line installer)
- [23090] MySQL validate_password plugin breaks koha-create
- [23168] Database Updates broken due to conflicts in bug 21073 and bug 22053
- [23250] koha-create generates broken mysql password
- [23813] DB error on 18.12.00.020
Installation and upgrade (web-based installer)
- [23353] ACQ framework makes fr-CA web installer explode
- [23396] Rancor fails to load: insert_copyright is not defined
Label/patron card printing
- [23289] Label Template – Creation not working (MariaDB >= 10.2.4)
- [23455] Patron card printing from Patron lists is broken
Lists
- [17526] OPAC lists sortfield breaks with a (
MARC Authority data support
- [23053] Local-Number cannot be used for authority matching due to non-existence of ‘phrase’ index
MARC Bibliographic record staging/import
- [23846] Handle records with broken MARCXML on the bibliographic detail view
Mana-kb
- [22210] ManaKB should not require firstname and lastname for signup
- [22915] Cannot subscribe to Mana-KBNotices
- [23181] Unable to use payment library in ACCOUNT_PAYMENT or ACCOUNT_WRITEOFF notices
- [23765] After TranslateNotices is set to ‘Don’t allow’, email settings still show multiple languages
- [24064] DUEDGST typoed as DUEGST
- [24072] Typos in advance_notices.pl causes DUEDGST not to be sent
OPAC
- [23150] GDPR feature breaks patron self modification on OPAC
- [23151] Patron self modification sends null dateofbirth
- [23194] Public notes items in the OPAC should allow for HTML tags
- [23225] OPAC ISBD view returns 404 when no item attached
- [23253] OpacNavRight does not display correctly for opacuserlogin disabled or self registration
- [23428] Self registration with a verification by email is broken
- [23431] having Date of birth in PatronSelfModificationBorrowerUnwantedField causes DOB to be nullified
- [23467] Duplicated screen if error in opac-reserve.pl
- [23530] Opac-basket.pl script accidentally displays ‘hidden’ items
- [23868] PayPal payment button is never enabled
Patrons
- [17140] Incorrect rounding in total fines calculations, part 2
- [23082] Fatal error editing a restricted patron
- [23822] Regression: As of 19.05.04 deletion of patrons with outstanding credits is silently blocked
- [23905] Button “Search to add” doesn’t work on Quick add new patron
- [24113] guarantor info lost when a duplicate is found
REST API
- [23597] Holds API is missing reserved parameters on the GET spec
Reports
- [23626] Add a system preference to limit the number of rows of data used when charting or exporting report results
Sponsored by Fenway Library Organization and Higher Education Libraries of Massachusetts - [23730] Exporting reports is broken
- [23982] Count/pagination broken for reports with duplicated column names
SIP2
- [23057] If checked_in_ok is set and item is not checked out, alert flag is supressed for any reason
Searching
- [11677] Limit to Only items currently available for loan or reference not working
- [23425] Search explodes with “invalid data, cannot decode object”
Searching – Elasticsearch
- [22997] Searching gives no results in auth_finder.pl
- [23004] Missing authtype filter in auth_finder.pl
- [23089] Elasticsearch – cannot sort on non-text fields
- [23322] Elasticsearch – Record matching fails when multiple keys exist
- [23630] Elasticsearch indexing is removing field 999
In Koha::SearchEngine::Elasticsearch::Indexer::update_index() first arg record ids is now mandatory - [23719] Record matching for authorities using defined fields is broken under ES
- [23986] Batch Record Deletion does not remove records from Elasticsearch search index
Staff Client
- [23315] Some system preferences are no longer editable
System Administration
- [23104] Regression (18925) in circ rules – unlimited vs 0
- [23309] Can’t add new subfields to bibliographic frameworks in strict mode
- [23398] Exporting/Reimporting frameworks in XML format will give incomplete results
- [23772] Itemtype icons not showing in table
- [23804] Itemtype not checked when editing
- [24026] Wrong parameters in Koha/Templates/Plugin/CirculationRules.pm and smart-rules.tt
Test Suite
- [21985] Test t/db_dependent/Circulation.t fails if SearchEngine is set to elasticsearch
- [23234] Circulation.t failing when comparing dates that seem identical
- [24022] Z3950Responder tests are failing randomly
Tools
- [11642] Improve Batch patron deletion and anonymization GUI to make consequences clearer
- [15814] Templates for MARC modification: Edit action does not work when Description contains ‘
- [17359] Patron import results use wrong encoding
- [18707] Background jobs post disabled inputs
- [18710] Wrong subfield modified in batch item modification
- [23093] Error during upgrade of OpacNavRight preference to Koha news
- [23963] Visible reduction in image quality
Web services
- [22249] Error when submitting Mana comment
New System Preferences coming in 19.11
AllowStaffToSetFinesVisibilityForGuarantor
BarcodeSeparators
ClaimReturnedChargeFee
ClaimReturnedLostValue
ClaimReturnedWarningThreshold
CustomCoverImages
CustomCoverImagesURL
ElasticsearchMARCFormat
FinePaymentAutoPopup
IntranetCoce
OPACCustomCoverImages
OPACFineNoRenewalsIncludeCredits
OPACPlayMusicalInscripts
OPACShowMusicalInscripts
OnSiteCheckoutAutoCheck
OpacCoce
PatronAutoComplete
PayPalReturnURL
PreserveSerialNotes
QueryRegexEscapeOptions
RoundFinesAtPayment
SuspensionsCalendar
TransfersBlockCirc
UseCashRegisters
Read more by Kelly McElligott