Maintenance queues

  • Blocker
  • Critical
  • Major
  • Normal
  • Minor
  • Trivial
  • Enhancement
  • New Feature

26.05 114

Backport queue
  • 42453 - "About Koha" breaks if Elasticsearch is used but unavailable
  • 43005 - Regression: Changing category from details page section doesn't trigger expiration update
  • 43110 - When a patron has a value for advance notices the checkboxes are enabled on the details view
  • 43119 - Checkout and hold action logs are not displayed correctly
  • 43139 - ILL requests Widget should sort desc to display newest records
  • 20573 - Patron receives membership expiry notice but 'will expire soon' alert doesn't show for staff at checkout
  • 38361 - Gender field does not include a Required if the field is set to required in PatronSelfRegistrationBorrowerMandatoryField
  • 41898 - Expired bookings do not display when expired filter is used in patron record
  • 42298 - "No automatic renewal before" falls back to "No renewal before" if former is greater than the latter
  • 42396 - Replace C4::Stats::UpdateStats calls with Koha::Statistic->store
  • 42632 - Cannot manage bundles after filters are displayed
  • 42845 - Access to ILL requires parameters => 'manage_sysprefs'
  • 39729 - Add option -exact_days to filter_by_last_update
  • 41681 - bulkmarcimport.pl reports an incorrect number of MARC records processed
  • 41717 - Update PDF::Reuse and PDF::Reuse::Barcode to the latest version
  • 40201 - Subscription search form on the start page is missing additional fields
  • 41116 - Selectors are inconsistently structured in hold found modals
  • 42827 - Items expected column in parcels.pl always displays 0
  • 43053 - Vendor payment methods are not displaying correctly
  • 43082 - Flaky action_logs.t object filter test due to default LIKE matching
  • 43103 - Batch item modification and patron deletion query IDs as OR query chains
  • 43134 - Standardize use of colon in OPAC advanced search page
  • 43159 - Regression to @INC handling by bug 39740 undoing bug 25778
  • 43168 - Incorrect error output when staging a file
  • 43173 - Terminology: Log viewer - "Modify cardnumber" should be " Modify card number"
  • 43192 - Lists cannot be deleted from OPAC
  • 43078 - File transport SFTP backend returns inconsistent list() structure compared to FTP/Local backends
  • 43088 - Koha::File::Transport lacks a consistent current_directory() accessor across FTP/SFTP/Local
  • 43091 - Staff-only Vue island chunks are emitted into the OPAC dist directory
  • 43177 - Use archived link for Bridge Material Type Icon Set
  • 40445 - Point of Sale reconciliation input during daily summaries
  • 30759 - Add hint about the data that is sent via the Google Books API to OPACSuggestionAutoFill
  • 40668 - Library groups and seperateholdings with itemgroups prevents adding items to itemgroup
  • 40800 - TransferArrived needlessly triggers alerts in SIP
  • 42235 - On OPAC messaging preferences page table header contains no text
  • 42451 - "convert" op in guided_reports.pl is broken due to JS error
  • 42656 - File transport test responses can be unclear
  • 43092 - Koha::File::Transport::change_directory(undef) means three different things across FTP, SFTP and Local
  • 43204 - ILL availability search: Source column links to plain OPAC URL instead of the deep link
  • 35104 - We should warn when attempting to save MARC records that contain characters invalid in XML
  • 42973 - Additional contents ordering ignores "Appear in position" when sorting news
  • 43239 - Serial items item type can be set incorrectly when receiving multiple items
  • 41842 - Improve translation of course reserves headings
  • 33758 - Add a parameter to use the intranet_catalog_biblio_enhancements_toolbar_button Plugin hook
  • 35729 - Koha needs to handle ISBNs starting with 979 for cover images
  • 35797 - Add GET route for patron images
  • 40736 - OAuth/OIDC authentication logs error message when CGISESSID is missing
  • 40799 - Loading spinner not removed because .cover-slider is now used instead of .cover-slides
  • 41105 - Add Gender option in Batch patron modification
  • 41896 - Remove C4::Context from Koha::Cache
  • 42018 - Inconsistent behavior for null values for fields selected in PatronDuplicateMatchingAddFields
  • 42112 - Add option when changing a patron's category: allow choosing what to do for the expiry date and messaging preferences
  • 43245 - There should be a message in the staff interface if a patron has no email address and you reset their password (More > Send password reset)
  • 43260 - Debug options in navigation bar untranslatable
  • 41996 - Further improvements to EDIFACT error recording
  • 42700 - In C4/SIP/ILS/Patron.pm, hold_items only counts waiting holds
  • 42789 - EDI ORDRSP: Item and suggestion status not updated when order line cancelled by supplier
  • 41197 - opac/opac-account-pay-return.pl should not require CSRF
  • 42553 - preferences.pl: Allow 'multiple_sortable' to use 'authval' source for dynamic choices
  • 43215 - Checkbox/sortable system preferences show one 'Saved preference' message per option instead of per preference
  • 43313 - Item's permanent location not shown when item's location is set to CART
  • 28740 - Delete old ILL requests with cleanup_database
  • 41029 - Add option for MARC overlay rules to apply when adding to a basket
  • 35142 - Koha::Util::oclc_number should be removed in favor of Koha::Biblio::Metadata::Extractor
  • 42566 - Remove C4::Koha::GetNormalizedUPC in favor of MetadataExtractor
  • 42567 - Remove C4::Koha::GetNormalizedEAN in favor of MetadataExtractor
  • 43211 - Koha hangs when receiving order with AcqCreateItem set to 'receiving an order'
  • 20846 - Suppressed records still appear in public lists
  • 41648 - Incorrect 'update_date' breaks the plugins home page
  • 43203 - Item.t doesn't clean up after itself correctly
  • 43331 - No class on collection code in holdings table on bib detail
  • 43339 - automatic_item_modification_by_age_configuration is not a real system preference
  • 43342 - Default OVERDUES_SLIP contains empty lines
  • 34166 - Show total price in table of suggestions 🎓
  • 35061 - Fix documentation for --preserve-field in import_patrons.pl
  • 42111 - Update various admin pages to use grid layout for forms - Part 1
  • 42207 - Allow library embed on GET /patrons/{patron_id}
  • 12278 - Total amount of each invoice should be displayed in invoices page (parcels.pl)
  • 39337 - Use SQL field to apply OpacSuppression in OAI-PMH
  • 39959 - Add total amount column to invoice search results
  • 41706 - "Use of uninitialized value..." warning in C4/Record.pm
  • 42322 - Collapse sidebar
  • 30144 - Add support for EDI GIR:LVT and/or GIR:LVC, Servicing instructions, segment 🔧
  • 39769 - es_indexer_daemon.pl uses stale L1 cache
  • 42605 - Acquisition Items not listed during receipt
  • 42634 - Self-checkout Finish/logout does not reliably clear the JWT cookie
  • 42661 - Redudant repetition in "Patron: %s Patron's home library: (%s /%s )" when HidePatronName is activated
  • 42727 - Languages displayed in random order in language menu
  • 42875 - Wrong failure message when adding an item to a bundle
  • 43241 - `q=` parameter bypasses datetime conversion for values nested in DBIC operators
  • 43257 - Remove event attributes from circulation.tt
  • 43373 - Holdings table always displays the shelving location column
  • 39589 - Search returns 'No results found' despite existing matching records
  • 42653 - ILL request with log entries from multiple backends causes 500 error
  • 42924 - Restore default MaxAge for CSRF token
  • 42993 - Koha::Edifact::Transport should log transport failures via Koha::Logger
  • 43072 - fill_other_biblio_holds_policy values display incorrectly in circ rules page
  • 43117 - t/Form_MessagingPreferences.t does not use Test::NoWarnings
  • 43259 - Add to group does not add to group
  • 43354 - ILL request table search returns a 500 error
  • 43394 - DT - pagination is broken if pageLength is not an integer
  • 38196 - Filter out concerns by specific status does not include concern without status
  • 39829 - SIP2 title field does not include subtitle, part or number
  • 42565 - GetIssuingCharges returns undef when rentalcharge is NULL
  • 42975 - Patron category filters broken in Record overlay rules
  • 32419 - Show availability in list view in staff interface
  • 36001 - Show MARC field 362 for serials in OPAC and staff
  • 41742 - Use of uninitialized value in repeat (x)... warning in acqui-home.pl
  • 42997 - Keep booking end dates in sync with checkout due dates at issue and renewal
  • 43202 - Improve discoverability of ERM system preferences
  • 41728 - Add `Koha::Item::Availability::Checkin` to centralize logic
  • 41995 - Autocomplete for syspref search
  • 42330 - Use main-container.inc from all the templates
  • 42443 - Update transferstoreceive.pl to use the API to fetch transfer information

25.11 90

Targeted bugs
  • 43330 - C4::Tags fails to compile when TagsExternalDictionary is configured
  • 43155 - POS breaks on modal if change required
Backport queue
  • 42757 - Suggester is not passed by purchase-suggestions.pl
  • 42695 - Minor language and markup corrections to reports error messages
  • 42764 - codespell.t fails after container OS upgrade due to newer codespell dictionary
  • 41605 - Fix incorrect default value keys in Vue
  • 41829 - Tag editor button has wrong id on copied MARC field when value builder plugin is used
  • 42395 - Missing translations for the existing holds table (load_patron_holds_table) for a record in the staff interface
  • 42708 - Itemtype images no longer displayed on the holdings table
  • 42741 - Plural strings don't apply in list content column
  • 42781 - Declare 'name' before using it in patron-format.js
  • 42555 - (Bug 25314 follow-up) ID incorrectly used for facet label for customized facets in the OPAC
  • 42862 - bookingsModalDatePicker_spec.ts is failing
  • 42739 - OPAC ratings.js: Add CSRF-TOKEN header to fetch call
  • 42802 - kohastructure.sql needs adjustments for mariadb 12.3
  • 42159 - With OPACAuthorIdentifiersAndInformation information lacking from field 110/111
  • 42231 - Fix accessibility issues in OPAC summary table
  • 42357 - Holds table is missing patron name
  • 42611 - Javascript error on readingrec.pl when no reading history
  • 42640 - Script search_for_data_inconsistencies.pl should use binmode UTF-8
  • 42734 - autoMemberNumValue syspref has no formal UI
  • 42825 - ERM Local Title - Start date (started_on) not saved for package resources
  • 40610 - Update OPAC templates to improve ease of translation
  • 41889 - /checkouts?checked_in=1 errors when patron_id is null
  • 42321 - Z3950/SRU Search should handle empty results from search targets better 📝
  • 42909 - Suspend class missing from suspended holds on request.pl
  • 42654 - Regression: Section missing from OPAC course reserve detail page
  • 42664 - Changes to SIP2 accounts may not applied immediately
  • 39208 - printoverdues.sh requires unavailable cli tool xhtml2pdf
  • 41358 - action logs info column should always store JSON
  • 41796 - "Forgot your password" link is not visible if OpacResetPassword is enabled but OpacPasswordChange is disabled
  • 41819 - Refunds via the Cash registers page should not result in PAYOUTS if the transaction type is 'Account Credit'
  • 41946 - Superlibrarian should be able to set protected status on patron creation
  • 42225 - On sites with many vendors spent.pl cannot load
  • 42339 - Canceling a Record display customization directs to the HTML customizations
  • 42430 - Fix issue with stale plugin methods after plugin upgrade
  • 42512 - MARC control field length detection prevents editing of records with invalid MARCXML
  • 42551 - C3 merge error when syntax checking some installed plugins
  • 42571 - Sending EDI order results in variable not available warnings
  • 42579 - Checkout history export "title" column too long
  • 42618 - Incorrect sidebar menu link to MARC order accounts
  • 42885 - FineNoRenewals description mentions fines rather than charges
  • 42912 - Javascript error on opac-readingrecord when no Circulation history
  • 43033 - Holds queue allocate with transport cost matrix can choose impossible holds
  • 35948 - cleanup_database.pl should remove not only finished background jobs
  • 41604 - Impossible to hide Checkin column in issues-table in circ/circulation.pl
  • 42066 - CSRF-token sometimes missing from pages
  • 42349 - Incorrect filter by recalls
  • 42519 - Terminology: branch should be library 🎓
  • 42568 - Match maxlength attributes to marc_order_accounts column sizes
  • 42617 - ILL availability pagination not working
  • 42669 - es_indexer_daemon.pl silently marks jobs finished on indexing failure and doesn't recover from NoNodes
  • 42868 - Bookings are storing incorrect timezone values
  • 42919 - Suggestion duplicate warning erases suggestion info
  • 42920 - Looking up authority records in Advanced editor appends 20 extra spaces
  • 42937 - `$Test::Strict::TEST_STRICT = 0;` no longer needed in t/db_dependent/00-strict.t
  • 42986 - JS error when writing off selected charges
  • 43046 - Checkbox labels in Currencies and EDI accounts have unnecessary colons
  • 41061 - No longer need to validate dates manually
  • 41084 - Zotero connector broken by bug 37370
  • 41227 - SuspendHoldsIntranet have no effect
  • 41879 - Holds that move to a new bib can be unfillable 📝
  • 42118 - Update various admin pages to use grid layout for forms - Part 2
  • 42166 - Cannot Edit as new (duplicate) a record without a 008 in the advanced editor
  • 42799 - Toolbar stickiness implementation is flaky
  • 42874 - z3950_auth_search is losing index parameter
  • 42915 - Filtering Holds table by patron name or pickup library is broken
  • 42933 - ERM - Error adding a license to an agreement when leaving non-mandatory fields empty
  • 42988 - Saving a SIP account imported from SIPconfig.xml can change the holds (Holds get captured - holds_get_captured) behavior
  • 42992 - FTP file transport list_files() corrupts filenames
  • 42999 - $valid_items flag contamination in reserve/request.pl causes non-holdable items to appear as available after the first holdable item in the loop
  • 43001 - Non priority hold label doesn't always appear on the staff interface holds page for a record (reserve/request.pl)
  • 43043 - Library limit for OpacMySummaryNote HTML customization doesn't work
  • 43069 - Empty PatronDuplicateMatchingAddFields considers every new patron as duplicate
  • 43098 - Typo in URL for "Edit SQL" button in guided reports (guided_reports_start.tt)
  • 43121 - Vue: Don't pattern match on translatable strings
  • 43174 - Regressions: Staff interface patron search on a record details page - lists patrons by default
  • 33364 - Stop holds to pull report showing items that have been allocated to a recall
  • 36762 - Item not transferred correctly when there is a pending hold
  • 40492 - Improvements to the pending offline circulation actions table
  • 41988 - OPAC: News RSS links with HTML not working
  • 42522 - Holdings created in ERM with a linked bibliographic record do not show the link to the record
  • 42699 - Editing an already received serial with a duplicate barcode leads to Error 500
  • 42861 - System warning about missing encryption_key on a fresh instance
  • 42928 - Terminology: Log viewer results - show "Check-in" instead of "Return" in the action column 🎓
  • 42981 - ERM package result list hangs when filtering by vendor and search status is saved
  • 43034 - t/db_dependent/Koha/EDI.t fails when SearchEngine is Elasticsearch
  • 43071 - Test failures when Holds Allowed (daily) has a value
  • 43101 - search_for_data_inconsistencies.pl creates a query that ORs every biblionumber in the catalog
  • 43206 - cn_browser plugin red background on exact match is hard to read

25.05 108

Targeted bugs
  • 40840 - Failure of an EDI SFTP account will kill edi_cron.pl preventing uploads from subsequent accounts
Backport queue
  • 40663 - Package GD::Barcode::QRcode@2.01 👑
  • 37796 - Generated issue has incorrect number in pattern when receiving
  • 41451 - Hold history search fails when itemtype column present
  • 39014 - Storing a guarantee fails due to TrackLastPatronActivityTriggers "creating a patron"
  • 40446 - DB config used by Cypress (mysql2) is not configurable
  • 41327 - `yarn css:build` generates several warnings
  • 36136 - Flatpickr allows selecting date from the past on copied serial subscriptions
  • 40822 - Custom cover images not displayed in search results
  • 41163 - Circulation logs record issuing branch in database but show logged-in branch in log viewer
  • 41315 - Using patron-homelibrary option for overdue notices may not send notices to all branches 📝
  • 41682 - Syspref discrepancies between new and upgraded installs
  • 41710 - SearchEngine/Elasticsearch/Search.t does not rollback properly 👑
  • 36360 - Link ILL requests to surviving patron record when patrons are merged
  • 40946 - "Aborted connection 42 to db" from Koha/Z3950Responder/ZebraSession.t
  • 40966 - 'whole_record' and 'weighted_fields' not passed around
  • 41035 - bundle_remove click handler in returns.tt has invalid path component "item"
  • 41204 - OpenURL ILL no longer defaults to Standard if FreeForm
  • 41287 - Using locale sorting may have a negative impact on search speeds
  • 41684 - notices_content hook is not checking if individual plugins are enabled and is reloading plugins
  • 33782 - OAuth2/OIDC identity providers code is not covered by unit tests
  • 28528 - bulkmarcimport delete option doesn't delete biblio_metadata
  • 39749 - RestrictPatronsWithFailedNotices should not trigger for DUPLICATE_MESSAGE failures 📝
  • 40711 - Fix value builder for 181 in UNIMARC
  • 41097 - Deduping authorities script (dedup_authorities.pl) can die on duplicated ids
  • 41131 - Libaray transfer limits basic editor allows one to prevent transfers from a library to itself and block related holds 📝
  • 41316 - Using patron-homelibrary option for overdue notices does not change which rules are used
  • 40306 - Use GET in form of value_builder/unimarc_field_4XX.pl
  • 41587 - node audit identified several vulnerable node dependencies
  • 15792 - Double-clicking the 'renew' button on circulation.pl will double-charge account management fee
  • 21453 - blinddetail-biblio-search.pl/.tt use hardcoded subfield values for MARC21 📝
  • 23269 - Long hold queues are slowing the service
  • 27826 - Self checkout dies on '?' as a barcode
  • 31717 - Value builder unimarc_field_010.pl should also use 214$c
  • 39107 - kohastructure.sql doesn't load on new MySQL versions 👑
  • 39748 - Daylight savings breaks circulation (when DST change eliminates 00:00 to 00:59)
  • 40658 - When sorting by local-number we should use the sort field 📝
  • 40962 - t/db_dependent/OAI/Server.t is failing 👑
  • 41247 - ILL batches modal does not reset correctly
  • 41353 - koha-dump failing on mysqldump PROCESS privileges
  • 41373 - Report share with mana not working when language_loop is not true
  • 41454 - Remove unused dbh calls
  • 41476 - Plugins table explode if one of the plugin is in error 📝
  • 41521 - WebService::ILS::OverDrive not passing pl_valid
  • 41585 - Refunds don't always appear on the register page
  • 41699 - onsite_checkout not available in Statistics wizards
  • 41783 - Query parameters for suggestions filtering is not encoded
  • 41795 - UNIMARC: a Zebra search for Corporate Body Name authorities will also return Collective Titles
  • 41843 - Koha::Authorities->move_to_deleted can die on encoding errors
  • 41882 - Batch hold modification tool updates pickup locations to disallowed libraries
  • 41944 - Error 500 on non-existent ILL request (op=illview)
  • 42126 - t/db_dependent/00-strict.t not testing all perl files
  • 42142 - The gear icon to toggle panel for login settings needs accessibility updates
  • 42147 - Action logs for hold creation contain less data
  • 42149 - The main navigation needs an aria-label
  • 42156 - Staging and matching authorities with bad characters can fail
  • 42163 - wrapper-staff-tool-plugin.inc no longer loads the admin menu
  • 42182 - StaffReportsHome HTML customization does not work when library limited
  • 42221 - autoBarcode set to incremental EAN-13 barcodes do not increment
  • 42300 - OPAC detail page: authority links have no text
  • 42309 - JS error when there are no cash registers
  • 42312 - Must enter all four lines of physical address when editing a vendor
  • 42343 - JS error holdsQueueTable is undefined when no holds exist
  • 42356 - New yarn build warning: if() syntax is deprecated
  • 42398 - Form validation does not work on additional content news
  • 42424 - Javascript error prevents saving when an instance of an 'important' or 'required' subfield is deleted
  • 42447 - SIP template fields in the database are too small
  • 42710 - Purchase suggestion creation form (staff interface) no longer defaults to logged-in library
  • 41998 - Some templates in suggestion.pl are computed even through a redirection
  • 42193 - The "Suspend hold" modal in the OPAC sometimes tries to resume hold
  • 29016 - Improve performance of the Log viewer when working with a high volume of action logs
  • 42194 - Sharing a report to Mana does not give feedback
  • 42133 - Cataloguing plugins are broken on the batch item mod tool (again)
  • 38426 - Node.js v18 EOL around 25.05 release time
  • 42498 - Accessibility - Page tabs/pagination on results in opac produces accessibility error "Aria state or property has invalid value"
  • 42705 - OPAC/SCO_spec.ts is failing
  • 42141 - Design pattern introduced in 40191 does not work in staff SIP configuration
  • 41959 - Holds queue builder doesn't always check all holds when using transport cost matrix
  • 42518 - Capitalization: Refund Payout Receipt 🎓
  • 42783 - Tools/ManageMarcImport_spec.ts is still flaky
  • 42844 - Subscription search breaks when using additional field and no search result is returned
  • 42299 - OPAC detail page: star ratings has no associated label
  • 42245 - Patron search for guarantors is preselecting borrower sort values from the borrower record
  • 42233 - OPAC suggestions table header contains no text
  • 42232 - Fieldset with missing legend on OPAC account messaging settings page (opac-messaging.tt)
  • 42229 - Form label used on non-form elements on opac-memberentry.tt pages
  • 41992 - Checkout History remembering Last Page
  • 42485 - Elasticsearch dynamic mapping date detection causes indexing failures with ARRAY MARC format
  • 42234 - OPAC checkout history page table header contains no text
  • 42707 - Malformed Bootstrap dropdown in reports output
  • 42659 - Multiple numbers and parts shown incorrectly on checkin screen 📝
  • 12757 - Integers in saved SQL report ODT export prepended with single quote
  • 40225 - The --send-all option in the stockrotation job fails if there are no items to rotate at all
  • 41070 - No warning when filling no fund while importing in a basket from a file
  • 42202 - IndependentBranches shouldn't filter public libaries in OPAC search, news, and most popular
  • 42641 - JavaScript errors on patron attribute types admin page
  • 42531 - Repeatable field values with long text do not wrap on staff record detail page
  • 42535 - Remove useless "news_delete" javascript in staff interface
  • 42846 - Koha::Database::DataInconsistency typo for biblioitemnumber in MARC
  • 42002 - SIP screen msg regexp can't be empty
  • 42803 - Regression in Reports > Items with no checkouts (reports/catalogue_out.pl)
  • 42116 - e.preventDefault is a function, needs parentheses
  • 42582 - Uncaught TypeError on Place request with partner libraries when no z39.50 service is set
  • 42666 - Next button in Item types and Patron categories does not work
  • 42930 - Overdues (circ/overdue.pl) incorrectly shows bibliographic record title in patron column instead of the patron's title (salutation)
  • 42795 - Bug 40658 breaks CLI for 25.11
  • 42850 - ILL requests stylesheet is not installed
  • 42886 - CSS files not installed

24.11 1

Backport queue
  • 8127 - Most-circulated items report doesn't work when limited by library