Koha Upgrades
Koha 20.11 Upgrade Notes
The Koha community has released version 20.11! Here is a summary of the release notes highlighting the Enhancements and Features Not all items from the release notes are here. For a more comprehensive look, see the Koha Community page:
A total of 9 new features, 354 enhancements, and 412 bug fixes come in Koha 20.11.
Here is a look at the community input that it takes to make this version happen.
Again thank you to all that contribute to this process, through developments, signing off on bugs, release manager, the Q&A Team, Documentation Team, bug wranglers, and so many more!
Blog Posts/Tutorial Videos
ByWater has created blog posts and tutorial videos on some of the enhancements and features coming in 20.11, this list will continue to be added to:
Create Matching Profiles When Importing Records
Unwanted Fields in the Purchase Suggestion Form
Monday Minutes: Publisher Drop-down in Cataloging
New features
Architecture, internals, and plumbing
[22417] Add a task queue
Circulation
[21946] Group circulation by item type
[25534] Add ability to specifying and store a reason when cancelling a hold
Fines and fees
[19036] Number payment receipts / payment slips
ILL
[22818] ILL should be able to send notices
Patrons
[24151] Add a pseudonymization process for patrons and transactions
System Administration
[22343] Add configuration options for SMTP servers
[26290] Add the ability to set a default SMTP server in koha-conf.xml
Tools
[23019] Ability to create ‘matching profiles’ when importing records
Enhancements
Acquisitions
[15329] Show budget in addition to fund for late orders in acquisition
[21882] Add price column to acquisition details tab in staff interface
[21898] Add basket info available for ACQORDER
[23420] Add “SuggestionsUnwantedFields” to hide fields from the suggestions form
[23682] Add ability to manually import EDI invoices as an alternative to automatic importing on download
- [24157] Additional acquisitions permissions
- [25033] Counts of suggestions are confusing
[26014] Add publication year and edition to Z39.50 results in acquisition
[26089] Add acquisitions-related reports to acquisitions sidebar menu
[26503] Allow to limit on standing orders in acquisition advanced search
[26582] Add Koha::Acquisition::Basket->close
[26680] Update (rcvd) to (received) with its own class in basket view
[26712] Set focus for cursor to basket name input box on basketheader.pl
[26729] When adding a new vendor set focus for cursor to name input box
Architecture, internals, and plumbing
[16357] Plack error logs are not time stamped
[20582] Turn Koha into a Mojolicious application
[21395] Make perlcritic happy
[22393] Remove last remaining manualinvoice use
[22394] Remove C4::Accounts::manualinvoice
[23070] Use Koha::Hold in C4::Reserves::RevertWaitingStatus
[23092] Add ‘daterequested’ to the transfers table
[23166] Simplify code related to orders in catalogue/*detail.pl
[23376] Cleanup order receive page code
[23632] Remove C4::Logs::GetLogs
[23895] Tidy up the directories under installer/data/mysql/
[25067] Move PO file manipulation code into gulp tasks
[25070] Include files to display address and contact must be refactored
[25114] Remove duplicated logic from GetLoanLength()
[25287] Add columns_settings support to API datatables wrapper
[25333] Change message transport type for Talking Tech from “phone” to “itiva”
[25334] Add generic ‘phone’ message transport type
[25663] Koha::RefundLostItemFeeRules should be merged into Koha::CirculationRules
[25723] Improve efficiency of holiday calculation
[25998] Add ‘library’ relation to Koha::Account::Line
[26132] Improve readability of TooMany
[26133] Unneeded calls in detail.pl can be removed
[26141] Duplicated code in search.pl
[26251] Remove unused routines from svc/split_callnumbers
[26268] Remove items.paid for once and for all
[26325] Add primary_key_exists function to Installer.pm
[26394] .mailmap needs to be updated
[26432] Remove unused ModZebrations
[26485] Simplify itemnumber handling in returns.pl
[26515] Add Koha::Acquisition::Order->cancel
Sponsored by ByWater Solutions[26524] Add Koha::Acquisition::Basket->orders
[26555] Add a way for Koha::Object(s) to carry execution information
[26577] Make basket.pl and cancelorder.pl use $order->cancel
[26579] Remove unused C4::Acquisition::DelOrder function
[26580] Remove unused C4::Acquisition::DelBasket function
[26584] Remove unused C4::Acquisition::CloseBasket function
[26600] Missing module in Indexer.pm
[26621] .mailmap adjustments
- [27002] Make Koha::Biblio->pickup_locations return a Koha::Libraries resultset
Cataloging
[5428] Back to results after deleting a record
[12533] Improve authority search result display
- [15851] Only display “Analytics: Show analytics” when records have linked analytics.
[15933] Add cataloguing plugin to search for existing publishers in other records
[16314] Show upload link for upload plugin in basic MARC editor
[20154] Stay in the open tab when editing authority record
[22399] Improve responsive behavior of the basic marc editor
[24134] Add placeholder for 2 digit years to allow autogeneration of dates in 008
[24176] Show the date of the last circulation in the items table in the staff interface
[25728] Add the ability to create a new authorised value within the cataloguing module
[26145] Add the ability to attach a cover image at item level
Circulation
[12656] Allow a CANCELLATION_REASON to be specified on the cancel_expired_holds.pl job
[14866] Make high holds work with different item types and number of open days
[15780] Include inventory number in patron account summary print
[16112] Specify renewal date for batch renew
[16748] Batch checkout needs set due date
[19351] Add copynumber in the checkouts table in staff interface
[19382] Add ability to block guarantees based on fees owed by guarantor and other guarantees
[20469] Add item status to staff article requests form
[21750] Move collection to its own column in checkins table
[23916] Issuer should be recorded and visible in patron circulation history
[23979] “Account is locked” message should be displayed on all patron pages
[24083] Koha should support “seen” vs “unseen” renewals
[24159] Allow daysMode for calculating due and renewal dates to be set at the circulation rules level
[24201] Attach desk to intranet session
[25232] Add ability to skip trapping items with a given notforloan value
[25261] Multiple parts handling – confirmation alert
[25430] Improve the styling of the claims returned tab
[25699] Add edition information to Holds to pull report
[25717] Improve messages for automatic renewal errors
[25798] Copyright year to Holds to pull report
[25799] Edition information to Holds queue report
[25907] When cancelling a waiting hold on returns.pl, looks for new hold to fill without rescanning barcode
[26424] Better performance of svc/checkouts
[26501] Article requests: Add datatables to requests form in staff client
[26643] Staff should be notified that a transfer has been completed on checkin
[26694] Set focus for cursor to search input box on guarantor_search.pl
Command-line Utilities
[21111] Add –exclude-indexes option to koha-run-backups
[21591] Data inconsistencies – Item types and biblio level
[23696] build_oai_sets.pl should take biblios from deletedbiblio_metadata too
[24152] Add the ability to purge pseudonymized data
[24153] Add a confirm flag to the cleanup_database.pl cronjob
[24306] Add debug option to koha-indexer
[25511] Add –force option to update_dbix_class_files.pl
[25624] Update patrons category script should allow finding null and not null and wildcards
[26175] Remove warn if undefined barcode in misc/export_records.pl
[26451] Small typo in bulkmarcimport.pl
[26641] link_bibs_to_authorities.pl: Add the ability to specify the MARC field to operate on
Course reserves
Database
[13535] Table alert is missing FK and not deleted with the patron
Fines and fees
[8338] Add ability to remove fines with dropbox mode
[23091] Add options to charge new or restore forgiven overdues when a lost item is returned
[24603] Allow to cancel charges in patron accounting
[24610] Let user switch between ‘Pay’ and ‘Write off’ mode
[24786] Allow setting a cash register for a login session and configuring library-default cash registers
[26160] Add column configuration to the Point of sale, Items for purchase table
[26172] Add a cashup summary view (with option to print)
[26327] Include checkout library in fines
[26506] Koha::Account::pay will fail if $userenv is not set
Hold requests
[19889] LocalHoldsPriority needs exclusions
[22789] Establish non-priority holds
[23820] Club hold pickup locations should be able to default to patron’s home library
[24412] Attach waiting hold to desk
[25892] Clarify the visual hierarchy of holds by library and itemtype
[26281] Add cancellation reason to holds history
I18N/L10N
[25317] Move translatable strings out of additem.js.inc
[25320] Move translatable strings out of merge-record-strings.inc into merge-record.js
[25321] Move translatable strings out of strings.inc into the corresponding JavaScript
[25351] Move cart-related strings out of opac-bottom.inc and into basket.js
[25443] Improve translation of “Select the host record to link%s to”
[25687] Switch Y/N in EDI accounts table for Yes and No for better translatability
[25922] aria-labels are currently not translatable
[26065] Move translatable strings out of marc_modification_templates.tt and into marc_modification_templates.js
[26118] Move translatable strings out of tags/review.tt and into tags-review.js
[26217] Move translatable strings out of templates into acq.js
[26225] Move translatable strings out of audio_alerts.tt and into audio_alerts.js
[26229] Move translatable strings out of categories.tt and into categories.js
[26230] Move translatable strings out of item_search_fields.tt and into item_search_fields.js
[26237] Move translatable strings out of preferences.tt and into JavaScript files
[26240] Move translatable strings out of sms_providers.tt and into sms_providers.js
[26242] Move translatable strings out of results.tt and into results.js
[26243] Move translatable strings out of templates and into circulation.js
[26256] Move translatable strings out of templates and into serials-toolbar.js
[26291] Move translatable strings out of z3950_search.inc into z3950_search.js
[26334] Move translatable strings out of members-menu.inc into members-menu.js
[26339] Move translatable strings out of addorderiso2709.tt into addorderiso2709.js
[26395] Move translatable strings out of letter.tt into letter.js
[26439] Move translatable cart-related strings out of js_includes.inc and into basket.js
[26441] Move translatable strings out of catalog-strings.inc into catalog.js
[26697] Make translation file for types and descriptions of charges consistent between OPAC and staff
ILL
[20799] Add a link from biblio detail view to ILL request detail view, if a biblio has an ILL request
[23391] Hide finished ILL requests
Installation and upgrade (web-based installer)
[24973] Allow to localize and translate system preferences with new yaml based installer
[25129] Update German (de-DE) web installer files for 20.05
List
[24884] Remove ‘New list’ button in ‘Public lists’ tab if OpacAllowPublicListCreation is disabled
MARC Authority data support
[25313] Add optional skip_merge parameter to ModAuthority
MARC Bibliographic data support
[15141] Add MARC21 770/772 to OPAC and staff detail pages
[15436] MARC21: Use semicolon between series name and volume information
[15437] MARC21: Show $i for 780/785
[16728] Add MARC21 777 – Issued with entry to staff and OPAC detail pages
[24322] National Library of Medicine (NLM) call number to XSLT Detail
Notices
- [16371] Quote of the Day (QOTD) for the staff interface.
[24197] Custom destination for failed overdue notices
[24591] Add developer script to preview a letter
[25097] Add option to message_queue to allow for only specific sending notices
[25776] Add last updated date for notices and slips
[26745] Notice titles/subjects should support Template Toolkit
OPAC
[5927] Show series information in search results page
[8732] Add a system preference to allow users to choose to display an icon based on the Koha bibliographic level itemtype
[16696] Rename “Publisher” to “Publication details” on detail and result lists
[18911] Option to set preferred language in OPAC
[19616] Add MARC21 505$g – Formatted Contents Note / Miscellaneous information
[20168] Update of the OPAC bootstrap template to bootstrap v4
[20936] Holds history for patrons in OPAC
[22807] Accessibility: Add ‘Skip to main content’ link
[23795] Convert OpacCredits system preference to news block
[23796] Convert OpacCustomSearch system preference to news block
[23797] Convert OpacLoginInstructions system preference to news block
[24405] Links in facets are styled differently than other links on the results page in OPAC
[25151] Accessibility: The ‘Your cart’ page does not contain a level-one header
[25154] Accessibility: The ‘Search results’ page does not use heading markup where content is introduced
[25155] Accessibility: The ‘Login modal’ contains semantically incorrect headings
[25236] Accessibility: The ‘Refine your search’ box contains semantically incorrect headings
[25237] Accessibility: The ‘Author details’ in the full record display contains semantically incorrect headings
[25238] Accessibility: Multiple ‘H1’ headings exist in the full record display
[25239] Accessibility: The ‘Confirm hold page’ contains semantically incorrect headings
[25242] Accessibility: The ‘Holdings’ table partially obscures navigation links at 200% zoom
[25244] Accessibility: Checkboxes on the search results page do not contain specific aria labels
[25402] Put OPAC cart download options into dropdown menu
[25639] Add search queries to HTML so queries can be retrieved via JS
[25771] Allow the user to sort checkouts by the renew column in the OPAC
[25801] Add itemnumber parameter to the OPAC detail page that allows to show a single item
[25871] Add “only library” to OpacItemLocation options
[25984] Accessibility: Shelf browse lacks focus visibility when cover image is missing
[26008] Remove the use of jquery.checkboxes plugin from OPAC cart
[26039] Accessibility: Shelf browser is not announced upon loading
[26041] Accessibility: The date picker calendar is not keyboard accessible
[26094] “Suggest for Purchase” button missing unique CSS class
[26148] OpenLibrary “Preview” link target is unclear to patrons
[26266] Add jQuery validator to opac-password-recovery.tt
[26299] Help text for OPAC SMS number should be less North American-centric
[26454] Add system preference to set meta description for the OPAC
Functionality to add meta description tag with content with the system preference OpacMetaDescription. This is used by search engines to add a description to the library in search results.[26519] Clean up OPAC buttons with incorrect classes
[26655] Accessibility: Checkboxes on OPAC lists do not contain aria labels
[26695] Set focus for cursor to login box on the login popup modal
[26706] Fix btn-default styling for better contrast
[26718] Change ‘Your reading history” to “Your checkout history”
[26753] Set focus for cursor to password field on Overdrive login popup on OPAC
[26763] Use standard information style for multi-hold message
[26783] Set OpacRenewalAllowed to “Allowed” for new installations
[26805] Remove remaining instances of jquery.checkboxes plugin from the OPAC
[26825] Add span for publication date in OPAC
[26828] Set focus for cursor to current password field when updating in the OPAC
[26830] Set focus for cursor to name input box when creating a new list in the OPAC
[26881] Remove the period at the end of ‘Limit to currently available items’ in facets
Patrons
[6725] Make patron duplicate matching flexible
[10910] Add a warn when deleting a patron with pending suggestions
[13625] RenewalSendNotice setting should be reflected in messaging preferences descriptions
[20057] Auto-approve option for borrower modifications
[21345] Patron records with attached files not obvious from patron details view
[22087] Show city and state in patron search results
[23816] Allow to have different password strength and length settings for different patron categories.
[25364] Add “Other” to the gender options in a patron record
[25654] Make the contact and non-patron guarantor sections separate on patron entry form
[26534] Add a Font Awesome icon to help identify staff patrons
[26687] Add a Font Awesome icon for superlibrarian patrons
Plugin architecture
[21468] Plugins need hooks for checkin and checkout actions
[24031] Add plugin hook after_hold_create
[24633] Add support for gitlab searching of plugins
[25855] Add hook to AddRenewal using a new aftercirc_actions method in circulation
- [25961] Add hooks for plugins to inject variables to XSLT
[26063] Use Koha::Plugins->call for other hooks
[26338] Show tool plugins run in tools home
Reports
[24665] Add ability to run cash register report with new cash register feature
This enhancement exposes the ability to refine the cash register report by cash register the transactions have taken place upon if you are using the ‘UseCashRegisters’ feature.[24834] Display report number after running
[24958] Remember last selected tab in SQL reports
[25605] Exporting report as a tab delimited file can produce a lot of warnings
SIP2
[12556] SelfCheck machine starts the hold instantly with an email sent out
[21979] Add option to SIP2 config to send arbitrary item field in CR instead of collection code[24165] Add ability to send any item field in a library chosen SIP field
[25344] Add support for circulation status 10 ( item in transit )
[25347] Add support for circulation status 11 ( claimed returned )
[25348] Add support for circulation status 12 ( lost )
[25541] Add ability to prevent checkin via SIP of items with holds
Searching
[20888] Allow use of boolean operator ‘not’ in item search
[25867] Label holdingbranch as Current library rather than Current location
[26032] Add ‘is new’ filter in items search
Searching – Elasticsearch
[19482] Elasticsearch – prevent removal / editing of required indexes
[24155] Weights should be (optionally) applied to Advanced search
[24807] Add “year” type to improve sorting by publication date
[26180] Elasticsearch – Add option to index records in descending order
[26310] Allow setting trace_to parameter in Elasticsearch config
Serials
[26484] Add serials-related reports to serials sidebar menu
Staff Client
[12093] Add CSS classes to item statuses in detail view
[15400] Display patron age in useful places in the staff interfacet
[18170] Show damaged status on check-in
[26007] Warning/reminder for changes to Koha to MARC mapping
[26182] Clearly pair UpdateItemWhenLostFromHoldList and CanMarkHoldsToPullAsLost system preferences
[26435] AutoSelfCheckID syspref description should warn it blocks OPAC access
[26458] Get item details using only itemnumber
[26473] Get items for editing using only itemnumber
System Administration
[20815] Add ability to choose if lost fee is refunded based on length of time item has been lost
- [22844] Simplify the process of selecting database columns for system preferences
[23823] Allow system preferences to be bookmarked
[25288] Make the libraries list use the API
- [25630] More capitalization and terminology fixes for system preferences
[25709] Rename systempreference from NotesBlacklist to NotesToHide
[25945] Description of AuthoritySeparator is misleading
[26595] Add SMTP server column to libraries table
Templates
[23148] Replace Bridge icons with transparent PNG files
[23410] Add submenus to system preferences sidebar menu
[23852] Merge biblio-title.inc and biblio-default-view.inc
[24012] Display ‘Locked’ budget with a lock icon
[24156] Basket – Make sort order and number of items to display configurable
[24625] Phase out jquery.cookie.js: showLastPatron
[24899] Reindent record matching rules template
- [25031] Improve handling of multiple covers on the biblio detail page in the staff client
- [25354] Clean up JavaScript markup in cataloging plugin scripts
[25363] Merge common.js with staff-global.js
[25427] Make authority subfield management interface consistent with bibliographic subfield management view
[25471] Add DataTables to MARC subfield structure admin page for bibliographic frameworks
[25593] Terminology: Fix “There is no order for this biblio.” on catalog detail page
[25627] Move OPAC problem reports from administration to tools
[25727] Update the Select2 JS lib
Sponsored by Orex Digital[25827] Add floating toolbar to the holds summary page in staff interface
[25832] Add DataTables to MARC subfield structure admin page for authorities
[25834] Relabel “Search to add” to “Search for guarantor” or “Add guarantor” on patron form
[25879] Improve display of guarantor information in the patron entry form
[25906] Style corrections for OPAC serial pages
[25941] Reindent Upload local cover image page
[25968] Make logs sort by date descending as a default and add column configuration options
[26004] Remove unused jQuery plugin jquery.hoverIntent.minified.js from the OPAC
[26010] Remove the use of jquery.checkboxes plugin from staff interface cart
[26011] Remove unused jQuery plugin jquery.metadata.min.js from the OPAC
[26015] Terminology: staff interface should be used everywhere
[26016] Capitalization: MARC Preview
[26060] Replace staff interface table sort icons with SVG
[26061] Improve style of sidebar datepickers
[26085] Add the copy, print and export DataTables buttons to lost items report
[26087] Add table configuration and export options to orders by fund report
[26091] Add column configuration and export options to catalog statistics report
[26120] Remove the use of jquery.checkboxes plugin from tags review template
[26149] Remove jquery.checkboxes plugin from problem reports page
[26150] Remove the use of jquery.checkboxes plugin from inventory page
[26151] Remove the use of jquery.checkboxes plugin from suggestions management page
[26152] Remove the use of jquery.checkboxes plugin from serial collection page
[26153] Remove the use of jquery.checkboxes plugin from items lost report
[26154] Remove the use of jquery.checkboxes plugin from batch item deletion and modification
[26159] Remove the use of jquery.checkboxes plugin from batch record delete page
[26164] Replace OPAC table sort icons with SVG
[26194] Messages about missing cash registers should link to cash register management
[26201] Remove the use of jquery.checkboxes plugin from batch extend due dates page
[26202] Remove the use of jquery.checkboxes plugin from batch record modification page
[26204] Remove the use of jquery.checkboxes plugin from staff interface lists
[26212] Remove the use of jquery.checkboxes plugin from pending offline circulations
[26214] Remove the use of jquery.checkboxes plugin on late orders page
[26215] Remove the use of jquery.checkboxes plugin from Z39.50 search pages
[26216] Remove the use of jquery.checkboxes plugin from catalog search results
[26245] Remove unused functions from members.js
[26261] Split calendar.inc into include file and JavaScript file
[26280] Add unique IDs or class names for each condition in returns.tt
[26419] Replace OPAC Koha logo with SVG
[26456] Reindent MARC subfield structure template
[26504] Remove the use of jquery.checkboxes plugin from checkout notes page
[26530] Use patron card number as checkbox label during patron merge
[26767] Remove the use of jquery.checkboxes plugin from duplicate orders template
[26768] Remove the use of jquery.checkboxes plugin from library transfer limits page
[26769] Remove the use of jquery.checkboxes plugin from staff interface search history
[26795] Remove the use of jquery.checkboxes plugin from ILL pages
[26798] Remove the use of jquery.checkboxes plugin from patron detail page
[26799] Remove the use of jquery.checkboxes plugin from patron payment page
[26800] Remove the use of jquery.checkboxes plugin from checkout page
[26806] Remove the jquery.checkboxes plugin from the staff client
[26817] “Total” line in checkouts table is too short when ExportCircHistory is activated
[26826] Set focus for cursor to name input box when creating a new list
Test Suite
[25113] Make CirculationRules.t flexible for new scope combinations
Sponsored by National Library of Finland[26157] Redirect expected DBI warnings
[26462] t/db_dependent/Holds.t tests delete data unnecessarily
Tools
[4985] Copy a change on the calendar to all libraries
[5087] Option to not show CSV profiles in OPAC
[21066] Replace opac_news.timestamp by published_on and add updated_on as timestamp
[22660] Allow use of CodeMirror for editing HTML in the news editor
[23114] Inventory: allow to scan barcodes into input field
[25101] Add ability to skip previewing results when batch extending due dates
[25694] Add ability to delete a MARC modification template when viewing
[25845] Cannot limit system logs to ‘api’ interface
[26013] Date on ‘manage staged MARC records’ is not formatted correctly
[26086] Add a ‘cron’ interface limit to the log viewer
[26207] Compare values of system preference log entries
[26431] Use split button to offer choice of WYSIWYG or code editor for news
[26572] Add autocomplete to librarian field in log viewer
[26736] Compare values of reports log entries
[26804] News: Move the news preview out of the table and into a modal
[26844] Log viewer does not indicate which logs are enabled
Web services
[19353] Make possible to have custom XSL template for marcxml and marc21 metadata prefixes in OAI server
[25460] Allow using item information in OAI set mappings and automatically update sets when items are added, edited or deleted
[25650] Add location and itype descriptions in ILS-DI GetRecords
New System Preferences
AddressForFailedOverdueNotices
ArticleRequestsMandatoryFieldsItemOnly
AutoCreditNumber
BiblioItemtypeInfo
CircConfirmItemParts
DefaultLongOverdueSkipLostStatuses
EdifactInvoiceImport
HoldsNeedProcessingSIP
ILLDefaultStaffEmail
ILLHiddenRequestStatuses
ILLSendStaffNotices
NewsToolEditor
NoIssuesChargeGuarantorsWithGuarantees
NoRefundOnLostReturnedItemsAge
NotesToHide
OAI-PMH:AutoUpdateSetEmbedItemData
OPACHoldsHistory
OPACSuggestionUnwantedFields
OpacMetaDescription
PatronDuplicateMatchingAddFields
PhoneNotification
Pseudonymization
PseudonymizationPatronFields
PseudonymizationTransactionFields
RecordStaffUserOnCheckout
SkipHoldTrapOnNotForLoanValue
UnseenRenewals
Renamed system preferences
NotesBlacklist => NotesToHide
Deleted system preferences
opaccredits
OpacCustomSearch
OpacLoginInstructions
GoogleIndicTransliteration
AllowPurchaseSuggestionBranchChoice
New authorized value categories
HOLD_CANCELLATION
New letter codes
ILL_PICKUP_READY
ILL_REQUEST_UNAVAIL
ILL_REQUEST_CANCEL
ILL_REQUEST_MODIFIED
ILL_PARTNER_REQ
More 20.11 Resources
Koha 20.11.00 Manual can be found at:
Koha 20.11.00 schema can be found at:
Read more by Kelly McElligott