Hello David Cook

Rolling monthly stats

  • Signed Off: 2
  • Passed QA: 2
  • Failed QA: 4
  • Documented: 0
  • Pushed to main: 1

Rolling yearly stats

  • Signed Off: 29
  • Passed QA: 30
  • Failed QA: 36
  • Documented: 0
  • Pushed to main: 51

Lifetime stats

  • Signed Off: 140
  • Passed QA: 58
  • Failed QA: 111
  • Documented: 0
  • Pushed to main: 302

Your bugs

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

Reported 162

Confirmed 2

  • 38407 - Eliminate event handler attributes in the staff interface
  • 37041 - Logging into addbiblio.pl triggers a 403

New 131

  • 40271 - Remove unused sub C4::MarcModificationTemplates::ModifyRecordsWithTemplate
  • 40153 - Add Authen::SASL::Perl as explicit dependency
  • 39976 - Serving static error pages from Apache instead of Starman
  • 39975 - OpacMoreSearches HTML customization is mangled by TinyMCE
  • 39974 - "OpacMoreSearches" HTML customization generates invalid HTML
  • 39964 - PLUGIN_PATH/get_plugin_http_path() doesn't work for most installs
  • 39813 - z3950_responder.pl needs support for authentication
  • 39769 - es_indexer_daemon.pl uses stale L1 cache
  • 39536 - "Add patron to list" silently fails if patron does not have cardnumber
  • 39535 - Patron search in patron lists does not work for patrons without cardnumber
  • 39459 - The staff interface has 2 places to change hold priority in the same table
  • 39440 - Add option to OAI-PMH harvester for bibliographic framework
  • 39433 - When holds restricted by Library Groups, staff can cancel holds for other libraries outside group
  • 39432 - When restricting holds via Library Groups, you can place a hold on another library's item
  • 39431 - bookcount.pl doesn't honour Library Groups settings
  • 39429 - Patron name, branch, and transaction data leak through "Checkout history" when using Library Groups
  • 39384 - Holds pages in circulation do not honour Library Groups
  • 39383 - Library Groups equivalent of IndependentBranchesTransfers needed
  • 39382 - Add permission for manage_messages in circulation
  • 39381 - "Add a new message" appears even when staff user does not have edit_borrowers
  • 39380 - Buttons for managing holds appear in "Check out" even when user has no hold permissions
  • 39378 - No way to hide and disable "Offline circulation"
  • 39377 - No way to disable "Send" option in staff interface cart
  • 39376 - Adding Private Lists in the staff interface should require a permission
  • 39375 - About page accessible to low privileged staff users
  • 39373 - No way to define export options for OPAC Lists and Cart
  • 39351 - SuggestionEngine plugin AuthorityFile is hard-coded to use Zebra
  • 39285 - Library groups "Limit item editing by group" doesn't prevent changing branches during add/update
  • 39201 - Escape double quotes for strings going into Javascript
  • 38996 - Add API endpoint for export tool
  • 38869 - Keep previous versions of Notices/Slips
  • 38868 - numSearchResults and OPACnumSearchResults are not sanity checked
  • 38867 - Optimize Koha::Items->filter_by_for_hold for search
  • 38641 - Javascript error generated in SCI if item not checked out
  • 38498 - C4::Scrubber should sometimes allow "id" and "class" attributes
  • 38363 - get_template_and_user and checkauth don't use C4::Output for rendering auth pages
  • 38277 - Patron card creator image upload ungraceful error when uploading large image
  • 38047 - Convert DataTable in boraccount.pl to use API
  • 38046 - Koha::Calendar dies on invalid datetimes during addDuration()
  • 37696 - Improve perldoc for SIP server
  • 37667 - q_errors in Reports export phase is wrong data type
  • 37603 - Protect static files served by Apache
  • 37518 - Show brief/full record on bib record detail page
  • 37487 - import_records missing index on upload_timestamp field
  • 36965 - Self-registration category selection should be limited
  • 36550 - koha-elasticsearch commit default should be configurable
  • 36514 - The "kick_out" in auth should return an anonymous session instead of no session
  • 36239 - Availability calculation in OPAC Results XSLT is too slow
  • 36238 - C4::Context->preference doesn't cache values for non-existent sysprefs
  • 35209 - Staff interface search within creates strange URLs
  • 35038 - Koha::Z3950Responder has no authentication
  • 34879 - ./catalogue/getitem-ajax.pl appears to be unused
  • 34877 - Convert ./serials/subscription-numberpattern.pl to REST API
  • 34876 - Convert ./serials/subscription-frequency.pl into REST API
  • 34875 - Convert ./members/default_messageprefs.pl into REST API
  • 34710 - Remove GreyBox from OPAC
  • 34700 - Add flag to indicate if an OPAC user has set their preferences
  • 34551 - Don't allow Z39.50 import if MARC can't be converted to MARCXML
  • 34539 - Time not shown for due dates and renewal dates with time of 23:59
  • 34503 - additional-contents.tt unnecessarily tests for languages.size
  • 34477 - Further reduce memory usage for idle background job worker
  • 34450 - systempreferences.pl has unused op 'update_and_reedit'
  • 34293 - ILS-DI returns 200 instead of 403 for unauthorized requests
  • 34065 - Remove unnecessary column-level collation settings for upgraded databases
  • 34018 - Patron image upload silently fails without cardnumber
  • 33991 - Inventory tool should be run in the background for performance reasons
  • 33816 - Holds API errors not easily machine-readable
  • 33614 - Templates contain problematic references to local login
  • 33552 - Automatic renewals should only send emails for successes
  • 32638 - No detailed messages provided in UI when MARC import fails due to bad item data
  • 31983 - Add "public_api_routes" Koha plugin method
  • 31755 - Store biblio OPAC visibility in biblio table
  • 31613 - koha-z3950-responder doesn't log (apart from YAZ logging in theory)
  • 31612 - koha-z3950-responder breaks if it's run in a Koha that was created before bug 28364 was applied
  • 31491 - [Omnibus] C4::Service scripts should be replaced with REST API
  • 31480 - OAI-PMH Identify response missing "Repository identifier" and "Sample identifier"
  • 31334 - New article requests should be emailed to library
  • 31242 - Add rate-limiting to the REST API
  • 31135 - Circulation guided report missing biblio table
  • 30866 - In unit tests, validate CCL queries using ZOOM::Query::CCL2RPN
  • 30795 - Configure unwanted and mandatory borrower fields based on patron category
  • 30664 - PatronSelfRegistration fields shouldn't make "email" field mandatory
  • 30479 - Add index for dateaccessioned in items table
  • 30427 - Debian packages only include release notes for Koha 3.x
  • 29953 - Possible inefficiency in REST API for biblios endpoint
  • 28979 - Cronjob references in system preference descriptions don't make sense for most installations
  • 28277 - MARCOrgCode has an incorrect default value
  • 28245 - Language dropdown in advanced search should be sorted
  • 27616 - Manually track claims in serials module
  • 27615 - serialsUpdate.pl should send emails letting staff know that issues are late
  • 27612 - Add "Edit serials" option to "Edit" button in Serials
  • 27293 - Refactor C4::Templates and C4::Languages to not use CGI objects directly
  • 27235 - Add gzip to package dependencies
  • 27141 - QueryWeightFields should be 0 on new installs since QueryAutoTruncate is 1
  • 27140 - koha-zebra doesn't properly stop Zebra
  • 27139 - Search errors are incorrectly shown to users as no results found
  • 26662 - Automated authority linking doesn't work with custom authority type
  • 26588 - additem.pl is slow to load when record has many items
  • 26586 - Koha should return a SIP2 64 response to a 63 request for fee items
  • 26494 - "Next issue publication date" doesn't update if no Expected issues available
  • 26329 - opac-tags.pl hardmax should be configurable
  • 26198 - koha-sip --enable should also have --raw_port and --telnet_port options
  • 26156 - Record matching rule code should be unique
  • 26140 - .tt template files should be deployed separately from static assets
  • 26055 - Advanced Editor Rancor should use "visibility" and not "mandatory" for drawing new records
  • 25967 - Plugin upgrade should remove existing code before installing new code
  • 25963 - Koha converts ":" to "=" in search terms for Zebra which causes search to fail
  • 25937 - Notify patrons about failed login attempts
  • 25935 - Use time-based mechanism for account lockout
  • 25934 - [OMNIBUS] Passwords should be more complex / password policy complexity
  • 25881 - Alternate address and Alternative contact appear in Details even when fields hidden
  • 25796 - Allow REST API to use external OAuth2 authorization server
  • 25795 - Add OAuth2 scopes to REST API
  • 25705 - Make it possible to view full serials history in staff without serials permissions
  • 25661 - auth_header missing authtypecode index
  • 25600 - Koha doesn't check for warnings when parsing (ISO2709) MARC
  • 25523 - Address lintian warnings when packaging Koha
  • 25371 - Koha::Email doesn't validate header data
  • 25370 - Create allowlist of plugins allowed to be installed by Web UI
  • 25362 - Code to create CGISESSID should be in function
  • 22344 - Limits cannot contain parentheses
  • 18202 - Define profiles for Z39.50 server targets
  • 15536 - Additional match check comparison operators
  • 12719 - Fix bulkmarcimport.pl documentation 🎓
  • 12599 - IndependentBranches Holes
  • 12591 - CRUD operations for handling notices should all be managed in Koha::Notice::Template
  • 12442 - Query... variables should be defined within loop in Search.pm
  • 12035 - PDF print: Purchase order overflows incorrectly
  • 12011 - ReservesNeedReturns breaks 'Hold Filled' notice functionality
  • 10816 - Relational operators in Search
  • 10734 - Add Publication Date Facet in Searching

Reopened 4

  • 36549 - es_indexer_daemon.pl leaks memory
  • 32499 - HOLDPLACED email goes to patron branch rather than item branch
  • 31050 - Standardize session setup
  • 26790 - Refactor Koha configuration (koha-conf.xml)

In discussion 7

  • 38749 - Truncation doesn't work as expected with phrase searches
  • 38338 - Add support for XOAUTH2 authentication for SMTP servers
  • 37519 - Display MARC 340 information on the OPAC
  • 36721 - Preload core libraries to speed up worker startup and reduce memory usage
  • 25952 - Github search for plugin throwing errors due to API rate limits
  • 25339 - Validate biblionumber on opac-basket.pl and opac-review.pl
  • 10638 - Show alert when receiving an order with holds/reserves

Failed QA 6

  • 36820 - NEW_SUGGESTION is still sent for some modifications to the suggestion
  • 34164 - OAuth2/OIDC should redirect to page that initiated login
  • 32203 - Refactor checkauth() auth rejected to improve maintainability
  • 29783 - Account lockout message appears incorrectly for blank userid
  • 27301 - Harmonize methods for providing biblionumbers to opac-reserve.pl 🎓
  • 21098 - Add missing budget optgroups to parcels.tt and newemptyorder.tt

Needs signoff 1

  • 33646 + "Cataloging search" missing important data for not for loan items

Pushed to main 6

  • 39441 + Some templates have div.container instead of div.container-fluid
  • 39404 + Inconsistency due to "Add to list" vs "Add to a list"
  • 39379 + The "Edit" button appears in patron search results even when you cannot edit the patron
  • 39262 + showCartUpdate indirectly uses eval()
  • 38979 + Standardize word spacing for Cardnumber
  • 36954 - SIP server logging: the use of three log files is confusing

Pushed to stable 3

  • 38981 + Local cover images failing to load in OPAC search results
  • 36586 + Self-checkouts will get CSRF errors if left inactive for 8 hours 📝
  • 8425 + Autobarcode generates duplicate barcodes with AcqCreateItems = on order

Needs documenting 2

  • 37489 + Cannot delete patron image without uploading a file
  • 30897 + Gracefully reload Koha after plugin install/upgrade

Needs work 35

Patch doesn't apply 4

  • 38270 - Add MARCXML options to ElasticsearchMARCFormat
  • 37486 - Selectively populate OAI-PMH set by set_id using build_oai_sets.pl
  • 23817 - Normalize phone number when searching patrons
  • 26657 - "Unlinked" output of LinkBibHeadingsToAuthorities is ambiguous

Failed QA 16

  • 15516 - Allow to place a hold on first available item from a group of titles
  • 37713 - OAI-PMH - Honour OpacSuppression syspref
  • 28457 - cleanup_database.pl self-registration options are not configurable
  • 36561 + Inappropriate permission for "/api/v1/auth/password/validation" 📝
  • 21731 - t::lib::QA::TemplateFilters missing built-in TT filter "xml" causes false warnings
  • 28011 + Add CLI script to update bibs from linked authority records
  • 17704 - Fix OAI breakage when using HTTP::OAI 4.03+
  • 34021 - Add option to search within results in the OPAC
  • 25384 - Label maker font list is not configurable
  • 19704 - OPACs most popular feature includes titles hidden by OpacHiddenItems
  • 30913 - Show itemtype notforloan with ILS-DI service GetRecords
  • 27267 - Create more efficient daemon for indexing Zebra
  • 33701 - Catalogue detail page no longer shows all tab data when printing
  • 32500 - OPAC_REG_VERIFY has too many options for "Message body"
  • 30261 + opac/tracklinks.pl renders 404 incorrectly
  • 25382 - opac-sendbasket.pl and opac-sendshelf.pl don't validate email addresses

In discussion 11

  • 36947 + Sort Elasticsearch/Zebra facets according to configurable locale instead of using Perl's stringwise/bytewise sort
  • 11583 - Add WYSIWYG editor for HTML notices/letters
  • 39109 - Add throttling / rate limiting to Koha
  • 39327 - UTF-8 BOM missing from label creator CSV and some UTF-8 output broken
  • 27305 - Use low privileged tokens to enable authenticated iCal feed
  • 32791 - Log4perl configuration files need a tool for updating on package upgrade
  • 36312 - Authorities Z39.50 missing Subject-heading 21
  • 24632 - Plugins should support simple signing for security/verifiability
  • 31744 - Inventory tool can take a long time and never complete
  • 34335 - Run Koha plugin method from CLI
  • 30289 - Use Template::Toolkit WRAPPER to reduce template boilerplate

Assigned 1

  • 36094 - svc/authentication needs adjustments

New 3

  • 39391 - No way to hide the "Help" button
  • 36261 - Calculating OpacHiddenItems is too slow in OPAC search
  • 34726 - Clicking the title of a record in cart creates URL with duplicate query strings

Waiting 5

Needs signoff 2

  • 39160 - Mojolicious::Plugin::OAuth2 is loaded suboptimally
  • 31380 - Build Mojolicious controller for running Koha plugins

Needs QA 3

  • 39296 - Provide a template plugin to return MARC::Record for MARCXML metadata
  • 38997 - Remove reference to "members" in SendAlerts
  • 39372 - No way to restrict OPAC users from creating private lists specifically

Other bugs

Claimed QA 2

Failed QA 1

  • 38330 - Make bib-level suppression a biblio table field instead of part of a MARC tag

Passed QA 1

  • 40164 - Add Template::Plugin::JSON to handle JSON in Template Toolkit

CC Bugs 904

Needs documenting 60

  • 23685 + Exporting report may consume unlimited memory
  • 37407 + Fast add / fast cataloging from patron checkout does not checkout item
  • 34645 - Add missing fields to MarcItemFieldsToOrder system preference
  • 37552 + Automatic renewals cronjob can die when an item scheduled for renewal is checked in
  • 35987 + See highlighted items below link broken
  • 37905 + Correctly fix the "last hour" filter on the job list
  • 36891 - Restore returning 404 from svc/bib when the bib number doesn't exist
  • 30230 + Search for patrons in checkout should not require edit_borrowers permission
  • 35869 + Dismissing an OPAC message from SCO logs the user out
  • 36948 - Adjust SIPconfig for log_file and IP version
  • 37679 + Dublin Core export option broken
  • 37595 + Double HTML escaped ampersand in pagination bar
  • 33018 + Debian package tidy-up
  • 37784 + Patron password hash can be fetched using report dictionary
  • 36049 + Rounding prices sometimes leads to incorrect results
  • 37425 + Deletion of bibliographic record can cause search errors
  • 29509 + GET /patrons* routes permissions excessive
  • 33099 + Add missing MARC21 match authority mappings so "Search all headings" search works
  • 36678 + Include fields with non-filing characters removed when indexing
  • 36867 + ILS-DI AuthorizedIPs should deny explicitly except those listed
  • 35655 + Make it possible to switch off RabbitMQ without any warns in logs/about page
  • 37478 + bulkmarcimport.pl can die on bad records
  • 36557 + Improve logic and display of OPAC cart, tag, and lists controls
  • 37587 + Wrong priority when placing multiple item-level holds
  • 27893 - Deleting a bibliographic record should warn about attached acquisition orders and cancel them
  • 33419 + Make home library and holding library in items mandatory by default
  • 33594 + Sorting results by Title A-Z might use wrong title field
  • 31365 - Plugin link location needs extra documentation so indicate where it may be found
  • 36328 - C4::Scrubber should allow more HTML tags
  • 33568 + Use the REST API to display items on the staff biblio detail view 🎯
  • 36085 + Setting and unsetting the protected flag should be limited to superlibrarian accounts
  • 23295 + Automatically debar patrons if SMS or email notice fail
  • 39899 - Reset Zebra FAQ
  • 33353 + Add compatibility with Elasticsearch 8 and OpenSearch 2
  • 36026 + Add TLS MySQL connection without mutual authentication
  • 33659 - Using TT in CSV profiles is undocumented
  • 35826 + Optimize building of holds queue based on transport cost matrix
  • 19605 + ILL backends should be pluggable through regular Koha plugins
  • 26933 + Improve handling of multiple covers on catalog search results in the OPAC
  • 30579 + When placing item level hold, some options that are not used are not disabled
  • 36766 + Add command-line utility to SFTP a file to a remote server
  • 36996 + Add a system preference to mark items unavailable in Z39.50 responder
  • 27919 + Split claims return from LOST
  • 28833 + Speed up holds queue builder via parallel processing
  • 33703 + Entering dates should be more flexible accepting different entry formats
  • 30047 + Add a field to auth_header to record main heading as text string
  • 10758 + Show bibliographic information of deleted records in acquisition baskets
  • 34943 + Add a pre-save plugin hook for biblios
  • 32680 - Add hooks to allow cover images to be provided by plugins
  • 34529 + Offline circulation should be able to accept userid as well as cardnumber
  • 15222 + Add to cart option/other list options missing from OPAC lists display
  • 27424 + One should be able to assign an SMTP server as the default
  • 17723 - Using MySQL on external server - lack of documentation giving example
  • 23773 + Send MEMBERSHIP_EXPIRY notice by SMS
  • 29100 + Add checkouts data loop to predue/due notices script (advance_notices.pl)
  • 28633 + Add a preferred name field to patrons
  • 14670 + Add 'cite' option to detail page in OPAC
  • 35287 + Add additional fields support to ERM licenses
  • 13706 + Deduping authorities script (dedup_authorities.pl)
  • 8179 + Receiving multiple order lines at once

Pushed to stable 21

  • 38375 + SIP2 syspref SIP2SortBinMapping is not working
  • 39911 + Fatal errors from SIP server are not logged
  • 31124 + koha-remove fails to remove long_tasks queue daemon, so koha-create for same <instance> user fails
  • 39305 + About page must warn if Plack is not running
  • 38892 + Patron category 'can be a guarantee' means that same category cannot be a guarantor (again)
  • 40166 - Syspref description for ILS-DI:AuthorizedIPs is incorrect
  • 39558 + Timestamps on biblio biblioitems and biblio_metadata are not in sync
  • 40108 + Self-checkout print receipt option not working 📝
  • 37286 + Fix REST API authentication when using Mojo apps
  • 33268 + Overlay rules don't work correctly when source is set to *
  • 38605 - t/db_dependent/Koha/OAIHarvester.t fails with wrong date format
  • 39644 + Too many borrower_relationships causes patron page to not load
  • 38646 + C4::Languages::getLanguages is very unreasonably slow (100+ ms)
  • 38929 + POST endpoints not returning the Location header
  • 37311 + Tone down the SMTP servers administration page
  • 38714 + Adjust templates for prettier
  • 39434 + The pages are missing semantic tags that identify the regions of the pages. 📝
  • 39772 + Background jobs page lists unknown job types for jobs implemented by plugins
  • 36365 + compare_es_to_db.pl should offer a way to reconcile differences
  • 37448 + Add build_sample_ill_request to TestBuilder.pm
  • 36039 + The output of audit_database.pl should be accessible through the UI

Pushed to oldstable 2

  • 38477 + Regression: new overdue fine applied incorrectly when using "Refund lost item charge and charge new overdue fine" option in circ rules
  • 35904 + C4::Auth::checkauth cannot be tested easily

Pushed to oldoldstable 1

  • 13342 + Not logged in user can place a review/comment as a deleted patron

Pushed to main 62

  • 40079 + C4::Scrubber "note" profile should allow for list (ul, ol, li, dl, dt, and dd) HTML tags
  • 37334 + Cannot filter holdings table by status
  • 39604 + Remember for the session for this patron doesn't remember to cancel a hold
  • 39389 + Cannot use dataTables export function on checkout table in members/moremember.pl
  • 30707 + Move container's closing div tag into template from intranet-bottom.inc
  • 33407 + With ES and QueryAutoTruncate on, a search containing ISBD punctuation returns no results
  • 39618 + Add a non-unique index/key to borrowers table for preferred_name
  • 39842 + SIP current_location field is never sent
  • 39567 + Move form-submit js into js includes files
  • 39079 + Matchpoints with multiple fields require all fields to match under Elasticsearch
  • 39011 + Unable to search the holdings table (except home/holding libraries and barcode)
  • 39771 + The `data` attribute in job.yaml should be nullable
  • 39826 + Vendor interface's password not utf8 decoded on display
  • 39833 - mysqldump SET character_set_client = utf8 vs utf8mb4
  • 39661 + Self-registration form - field label missing for gender selection
  • 38760 + koha-mysql doesn't work with encrypted database connection
  • 39410 + Notice display modal should use shadow dom
  • 38630 + Make the REST API respect KohaOpacLanguage cookie
  • 38713 + Incorrect HTML structures
  • 39088 + If OPACURLOpenInNewWindow is enabled, URLs without http are broken in OPAC results
  • 39000 + "Encoding errors" block on detail page hurt the eyes
  • 38900 - Translation script explodes without a meaningful error when an "incorrect" structure is found
  • 38963 - Deletion of bibliographic record can cause search errors in OPAC
  • 39206 + Koha improperly tries to remove foreign cookies on logout (and in general the cookies aren't actually removed, but set to empty values)
  • 39223 + The OPAC browse search (opac-browse.pl) is broken since 24.11
  • 39354 - Remove unintended Bootstrap 5 change to scroll-behavior
  • 36932 + koha-plack: Add parameter for specifically enabling Starman development environment
  • 38729 + Linker should consider diacritics
  • 39350 + The language switch is not displayed at the bottom of ERM module pages
  • 19113 + Barcode value builder not working with numeric branchcode
  • 37546 + We should output error messages alongside error codes for z39.50 errors
  • 38694 + Boost exact title matches in Elasticsearch
  • 39483 - Update staff interface forms to use grid layout
  • 38663 + Add additional fields to libraries
  • 38664 - Tidy the whole codebase
  • 38792 + Move "My virtual card" tab and maybe re-label it
  • 38255 + Do not use dataTable constructor directly
  • 26869 + Enable batch record modification to create items on existing bibs
  • 26553 + Remove KohaTable (columns_settings.inc) and use kohaTable (datatables.js)
  • 39238 + Add links toward private lists in bibliographic record detail page in staff interface
  • 38930 + Add a permissions store for Vue apps 📝
  • 39062 + Increase length of inventory number field in database
  • 36275 + The displayed values for 'client ID' and 'secret' need copy to clipboard buttons when managing API keys in patron accounts
  • 26744 + Log changes to extended patron attributes
  • 38941 + Convert the acquisitions menu to a Vue island 📝
  • 25318 + Convert authorities_js.inc to JavaScript file with translatable strings
  • 39325 + Run codespell successfully on the whole codebase
  • 38944 - Add Test::NoWarnings to tests without warnings
  • 37911 + Prototype vue islands within static pages
  • 39762 + Add datatables server-side rendering to OPAC
  • 39565 + OPACVirtualCard system preferences should not be in Suggestions section
  • 25947 + Improve locked account message in brief patron info in staff interface
  • 39171 + Rename IS02709 ElasticsearchMARCFormat to base64ISO2709
  • 36433 + Plugin hook elasticsearch_to_document
  • 38408 + Add parallel exporting of MARC records to Zebra rebuild/reindex
  • 30975 + Use event delegation for framework plugins to avoid using private jQuery method _data
  • 38720 + HTML1 no longer valid? TT tags can be present in HTML without breaking the translator tool
  • 38307 + Make overdue_notices.pl quiet if there are no libraries with active overdue rules
  • 38832 + Dead code in catalogue/search.pl
  • 38010 + Migrate vendors to Vue
  • 30888 + Add a table for deletedauthorities
  • 36197 + Allow unauthenticated ILL requests in the OPAC 🎯 🎯

Ready to push 1

  • 40179 + Add maxLength to the patron's category definition

Needs QA 23

  • 40265 - t/db_dependent/OAI/Server.t is failing randomly
  • 39589 - Search returns 'No results found' despite existing matching records
  • 39980 - Vendors pages are broken when using Koha as a Mojolicious application
  • 39789 - Add ability to specify an alternative header to X-Forwarded-For for finding the real IP address
  • 36853 + Enhance Elasticsearch Notes/Comments MARC21 index mappings
  • 38050 + Add REST endpoints for working with "lists"/"virtual shelves"
  • 39142 + Add debug permission to allow user to toggle JS and CSS customizations on/off
  • 40172 - Remove jQuery from js/fetch/http-client.js
  • 28495 + Add validation to branchcode upon library creation
  • 25090 - Moderate OPAC self-registrations before a patron account is activated
  • 39190 - Rework new (S)FTP classes to be polymorphic classes
  • 35761 - Add an administration editor for FTP and SFTP servers
  • 32266 - Make the late orders page render using the API
  • 35145 + Add ability to order patron attributes
  • 39526 - Unify system preference variable names for Elasticsearch
  • 30657 - Make patron attributes available via Template Toolkit in notices 🎯
  • 7376 + Transfer limits should be checked at check-in
  • 37512 - Add a function to reset login attempts
  • 19339 - Enhance streaming cataloging to include Vimeo
  • 34326 - Add forbidden notforloan status
  • 20551 - Add option for including deleted records in export_records.pl
  • 34978 - Add --include and --exclude options to install_plugins.pl to choose the plugins to install
  • 38291 - Add GET /library_groups

Needs signoff 19

  • 33905 - A patron's username and cardnumber must each not be used by another patron in any permutation
  • 38906 - REGEXP_REPLACE not in MySQL < 5.7b DB update 24.06.00.064 fails
  • 39790 - ES server can timeout during matching process
  • 39860 - Add a way to allow for additional/custom MARC fields in the record display
  • 36154 - Add the ability for some pages to be able to use images coming from plugin
  • 40173 - Reuse http-client from Cypress tests - preparation steps
  • 12620 - Proxy Add-on for Koha z39.50/SRU servers
  • 32488 - Add search engine indexes for content, media and carrier type
  • 35267 - Clarify CSS options for Notices
  • 37598 - Ability to use the BCC field for sending notices to multiple addresses, rather than the To field
  • 35797 + REST API: Add GET route for patronimage
  • 31897 - New hook when indexing with Elasticsearch
  • 39564 - Enable runtime translations for plugins (Koha::I18N)
  • 37472 - Make plugins translatable
  • 36357 - Add Template::Toolkit filters for internationalization (I18N)
  • 36569 - Compact action_logs indicies
  • 38924 - Introduce an organization level loan 'Quota' system for Koha
  • 32476 - Add caching for relatively expensive patron methods
  • 28173 - Add plugin hooks object_store_pre and object_store_post

Failed QA 86

  • 38384 - General fix for plugins breaking database transactions
  • 38258 - Connecting without a proper CGI cookie can disconnect all sessions
  • 35165 + Batch item deletions are run in a single transaction and cause locking issues
  • 39637 + Patron search generates URIs that are too long and can cause "HTTP 414 URI Too Long" errors
  • 40163 - Several http links should be moved to https
  • 20956 - BorrowersLog is not logging permission changes
  • 20985 - CanBookBeReserved and CanItemBeReserved should check 'On shelf holds allowed' policy
  • 32702 - Item statuses that block holds should be checked in CanItemBeReserved
  • 37144 - Add a subpermission for hiding patron contact information
  • 39605 - We should resubmit an elasticsearch index job that fails
  • 28608 + Creating a biblio record leads to item creation even if framework has no items field
  • 33554 - Searching borrowers is a lot slower if there's searchable extended attributes
  • 38912 - Elasticsearch record show is a 404 from staff catalog details
  • 23141 - The Debian scripts do not use the MySQL port number
  • 27066 - Implement hooks for patrons updates
  • 38426 - Node.js v18 EOL around 25.05 release time
  • 38712 - Order My Lists options alphabetically
  • 35729 - Koha needs to handle ISBNs starting with 979 for cover images
  • 36304 - Add ability to have an external list of trusted proxies, for services such as CloudFlare.
  • 29606 - Include items from host record in XML for XSLT processing
  • 24143 - buildQuery should disable Query* on identifier search
  • 36333 - Remove all empty lines from template's output
  • 35509 - Make SQL autocomplete an optional feature
  • 33938 - Installer wants to upgrade even when the DB is up-to-date
  • 33009 - bump Standards-Version to 4.6.2
  • 16786 - Cannot add multiple emails addresses in an email field
  • 24675 - No update of the list of MARC21 subfields in C4/Heading/MARC21.pm, Generated authorities are missing subfields
  • 15434 - Make search results breadcrumbs human readable
  • 37573 + Restrict OPACSearchForTitleIn token removal to underscore and alphanumeric
  • 33184 - Warnings when running holds queue builder
  • 34545 - AutoSelfCheckID fails silently if userid is invalid
  • 19684 - Colon char in MARC data breaks facets 🎓
  • 33802 - On OPAC authority detail page, usage count in wrong (when using Elasticsearch)
  • 24679 - Allow to apply a MARC modification template in export tool
  • 18064 - Long overdue cronjob does not follow the library's calendar and skip closed days
  • 23269 + Long hold queues are slowing the service
  • 20813 + Revamp user permissions system
  • 23641 - Checkout via camera on device
  • 13811 - Silent Cronjobs
  • 31391 - Staff-side recalls 🎯 🎯
  • 33259 - Optionally set SameSite attribute of cookie to Strict
  • 20028 + Export all patron related personal data in one package
  • 37245 - Add test script that runs `perl -c` on all Perl files
  • 27734 - OpacHiddenItems produces a 404 from borrower holds list
  • 11300 - Add a new authority linker which searches for authority links on a Z39.50 server.
  • 36617 - The old googleopenidconnect service should redirect to page that initiated login
  • 23111 - Setting a custom framework as the default for cataloguing is not possible
  • 19316 + Items should have sort1 and sort2 fields
  • 13705 - Move indexation subs in C4::ZebraIndex
  • 20340 - Ability to use authentication plugin
  • 31748 - Restore progress bar on record import
  • 31109 - Prevent overwriting bibliographic records in case of simultaneous modification
  • 22890 - Add a chronological changelog
  • 32731 + Option for cataloguing tools to also be shown in tools home
  • 21314 - Koha enforces three (3) character password length even if RequireStrongPassword is disabled
  • 20657 - Globally enable PRE_CHOMP and POST_CHOMP in Template Toolkit configuration
  • 24192 - Show host record items in cart and list in staff interface
  • 24589 - Add plugin hook addbiblio_check_record
  • 35131 + Add scan-able barcode to the patron sidebar (patroninfo)
  • 11180 - IP branch attribute should accept CIDR notation and add multiple ip
  • 27309 - Add plugin hooks for capturing raw passwords (NNPDB)
  • 27311 - Don't pass borrowernumber to check_password plugin hook
  • 30182 - background_jobs.status should be an ENUM
  • 30700 - Patrons who can log into staff interface should be able to change their own password
  • 33503 - Plugin OpenAPI2.0 specification schema fragments are not resolved. Merge full schema definitions.
  • 29992 - Default Apache config should contain CGIPassAuth directive
  • 25948 - Clean up apache protocols and ciphers
  • 12617 - Koha should let admins to configure automatically generated password complexity/difficulty
  • 20859 + Enter SMS number and SMS provider during self registration
  • 18008 - Use templates for generating pagination in intranet
  • 14872 - Reminder to update SMSnumber when primary phone is updated
  • 9833 + New virtual shelves/lists permissions
  • 19838 - Add system preference for adding text to self registration form
  • 27426 - Plugin barcode must keep leading zeros
  • 25222 + Add ability to let plugins live in individual subdirectories
  • 27009 - Use 301 to redirect from tracklinks.pl
  • 27312 - Add a syspref to redirect patron after self registration
  • 24631 - Plugin metadata should be outside the main class
  • 15544 - Zebra facets must be managed from the intranet
  • 16413 - Prototype for GetLatestAutoRenewDate and GetSoonestRenewDate should be changed
  • 20635 - Write authentication tests with Test::Mojo
  • 37893 + Migrate some SIP configuration into the staff interface
  • 37025 - Add CLI tool to generate/delete api keys for a given patron on a Koha instance
  • 17509 - Notify patrons to return items requested on hold by another person
  • 15292 - Libris (Swedish national catalogue) item status service
  • 29480 - Add email address as a method for generating the userid when self registering in OPAC

Patch doesn't apply 32

  • 11983 - Code to select patrons to purge needs to be centralized (use of filter_by)
  • 31865 - Hide display of 'dev/testing' packages on production installs
  • 13901 - sort1 and sort2 not on self registration form
  • 33856 - Inventory tool CSV export contains untranslatable strings
  • 11999 - Add two checks in CanBookBeReserved and CanItemBeReserved
  • 34142 - Add column sub_location to items table
  • 30515 - Move Overdue transports to patron messaging preferences
  • 35104 - We should warn when attempting to save MARC records that contain characters invalid in XML
  • 38936 + Move suppressed record redirection into a sub
  • 24499 - Add new syspref EnhancedMessaging for central activation/desactivation of notifications
  • 37711 - IdP auto-register should work on the staff interface
  • 17712 - Move availability calculation to the Koha namespace
  • 37538 + Improve documentation printed by connexion_import_daemon.pl --help
  • 26392 - Wrap all translatable strings in opac-main.tt
  • 20844 + Reset a hold when it is missing after allocation
  • 21266 - Missing doc-head-close and cssinclude in sco-main.tt
  • 14367 - History for MARC records. Roll back changes on a timeline or per field.
  • 27503 - Rename system preference virtualshelves to OpacLists 🎓
  • 20630 - An attempt at multitenancy with Mojolicious
  • 25260 - Merge 'reserves' and 'old_reserves' into a new 'holds' table
  • 26625 - Add ability to configure mojolicious applications
  • 17511 - Change authority linking subfield from $9 to $0
  • 27208 - Add a configurable time delay feature to hold notice templates
  • 18768 - Add the ability to authenticate patrons against other ILSs via SIP2
  • 16243 - Add reference manager software (Mendeley and EasyBib) to OPAC
  • 32370 - Provide a generic set of tools for JSON fields
  • 7957 - Routing lists: manage several routing list for each subscription, and export them as CSV
  • 12017 - Move language description out of database
  • 26067 - Member email validation based on MX record
  • 12805 - Proposed changes to Koha plugins system (.KPZ) structure
  • 11130 - Change pl Place-publication index for Marc21
  • 20447 + Add support for MARC holdings records

In discussion 99

  • 29678 - Can't use external URL for XSLT stylesheet
  • 36314 - koha-email-disable does not disable all emails
  • 31059 - encryption_key config entry not generated when upgrading
  • 33166 - Item type database fields should not be nullable
  • 32709 - Background job UI and REST API routes explode if JSON is incorrect
  • 18186 - Plack config: Amounts with decimal comma instead of decimal dot breaking payments
  • 38040 - IndependentBranches doesn't prevent editing other libraries' holds
  • 39862 - Make cookie auth take more precedence than other methods
  • 35624 - Plugin tasks 'type' issue with plugins
  • 38179 - koha-common runtime dependency on yarn
  • 38345 - Remove support for OpenSearch
  • 38491 - Update OAI servers code to current standards
  • 37605 - Why do the vue apps use 'dialog' in place of modals?
  • 1993 + Task Scheduler Needs Re-write
  • 37675 - MARC basic editor loses data for records with thousands of the same field
  • 28491 + Field 003 in authority records not updated after import
  • 24326 - Remove advance_notices_digest.t
  • 32951 - No rule to make target calendar.css needed by pm_to_blib
  • 22796 - koha-common and mariadb start in the wrong order
  • 18265 - Should biblio_metadata.biblionumber be biblioitemnumber instead?
  • 16156 - Do not ensure the dbh is connected all the time
  • 33932 - Why multiple statuses on item record
  • 32664 - Remove test and dev module dependencies from koha-common pkg
  • 10112 + add test for ./debian/control file
  • 25586 - Something wrong with KOHA_HOME (?)
  • 15618 - Small typos in system preferences
  • 32572 - We should have a background queue for each job type
  • 37919 - Unable to report on patrons with borrowers.auth_method password
  • 34053 - Text in holdings table gets wrapped on mobile, breaking words and decreasing readability
  • 32453 - Object methods _result and _resultset methods not available in templates
  • 20632 - Staff users without superlibrarian can't log into OPAC
  • 39001 - Language list is displayed in wrong order (getLanguages sorts it by language code; places that display language list to the end-user in UI should re-sort that by localized display name order)
  • 39517 - Make LDR/6-7 = 'am' be interpreted by MARC21slim2OPACDetail.xsl as 'Book' instead of more generic 'Text'
  • 40275 + Add Koha::Patrons->find_by_identifier()
  • 11361 - Add a Z39.50 search page in the OPAC to let members search for records on remote Koha instances
  • 19523 - Koha::Cache changes not passed to all plack workers with in-memory caching.
  • 38201 - VueJS architecture rethink
  • 40052 - there should be a Zebra restart button in Staff Interface in About Koha when it says it is not running
  • 35716 + Duplicated assets in both koha-tmpl/intra-tmpl and koha-tmpl/opac-tmpl
  • 40045 - Shortcuts (i.e. Y or N keys) to not require Alt as well as pressing the specific key
  • 40023 - Allow embedding `patron` when validating credentials
  • 39027 - News are ordered with oldest on top
  • 27432 - Add report run to action logs
  • 35920 - Centralize code from workers
  • 35837 - Add a fully fledged plugin store to Koha
  • 37054 - Allow for custom library colors in the staff interface
  • 31327 - Add color scheme picker to the OPAC
  • 36350 - Add subclass of Koha::Objects that provides caching for find and search
  • 36143 - Pop-up window sizes are not consistent
  • 28411 - Investigate memory footprint of the different dependencies
  • 15500 - Add FRBRized view to OPAC & staff interface results
  • 15522 - New interface for revamped circulation rules
  • 38226 - Add RPC endpoint for batch filling empty callnumbers
  • 18148 - Make list of lists in OPAC sortable
  • 38263 - Add a PDF download option to print a report based on a notice
  • 37738 - Framework update accessibility for existing installations
  • 19306 - Adding hooks to the plugin system
  • 37952 - Store datetime DB columns in UTC
  • 4042 + Public OPAC search can fall prey to web crawlers
  • 21572 - Allow checkout an item with pending hold that is not yet in waiting state
  • 36852 + Enhance Elasticsearch subject, subject as phrase MARC21 index mappings
  • 19518 - Document per-site .psgi files
  • 36851 + Enhance Elasticsearch author, author as phrase MARC21 index mappings
  • 36484 - Even with RabbitMQ enabled, we should should poll the database for update_elastic_index jobs at koha-es-indexer startup
  • 20271 - Merge deleted biblio, biblioitems, biblio_metadata, and items tables
  • 34713 - Standardize plugin hooks
  • 31729 - Enable automatic filesystem refresh in Plack
  • 36203 - Authorised value's descriptions should not be NULL
  • 33633 - Check if email exists
  • 29291 - Link self registration verification email to patron account after verification
  • 27557 - Add the ability to display the error that caused a 500
  • 32395 - Why do we send jobs params to the broker
  • 27434 - Background Jobs should use classes as job types
  • 16837 - koha-start-zebra should start zebra-indexer too
  • 15341 - Performance - Retrieve all sysprefs at once
  • 27080 - Add --statute-barred-fees option to cleanup_database.pl to purge all fees where the item has been returned and the fee is older than the given number of days.
  • 27880 - Store each database migrations state in database
  • 28743 - With IndependentBranches block changes to biblio records shared with other libraries
  • 18238 + Test harness/suite/"test runner"
  • 14012 - Koha::FTP, a happy FTP-library to supercharge FTP operations.
  • 32036 - Cannot set single sub-permission without also setting the top level flag
  • 30225 - Rewrite cities admin view in Vue
  • 17937 - Adding item description to Twitter Summary
  • 7365 - Koha should support PostgreSQL
  • 30326 + Cronjob that checks biblios for MARC errors
  • 6590 + Removing hyphens from ISBN and ISSN when cataloging a biblio
  • 19886 - Two Factor Authentication: Yubikey
  • 27334 - Add Template Toolkit support to news items
  • 10638 - Show alert when receiving an order with holds/reserves
  • 27527 - Plugin hooks to create additional contents
  • 28589 - Move C4 and Koha to lib
  • 28415 - z3950_responder.pl is running with all the modules in RAM
  • 26509 - Add Koha::Items->safe_delete
  • 23890 - Plugins that utilise possibly security breaching hooks should warn
  • 16140 - Only clear L1 cache when needed
  • 23066 - Add foreign key for issues tables to branches table for branchcodes
  • 6772 + Implementation of a recommendations engine
  • 13911 - Add support for Internet Archive BookReader
  • 18081 - [omnibus] GDPR (General Data Protection Regulation)

Reopened 8

  • 21104 - oai.pl returns wrong baseURL
  • 28996 - SendAlerts crashes on a bad email 'To'
  • 26128 - Proxy Error while importing a large number of patrons (e.g. 6000 patrons) with Plack
  • 26129 - Add a new 'configurations' table
  • 31180 - Create an audit and/or fixup script for koha-conf.xml
  • 32571 + Use template wrapper to build tabbed components
  • 24738 - Online registration should check if patron is registering for an already existing account
  • 1937 + Scan barcode with webcam

Blocked 8

  • 7012 + Limit to available does not exclude in-transit items
  • 15284 - Switch default ISSUESLIP notice to Template Toolkit
  • 15567 - Update API to allow multiple holds for the same record
  • 18232 - Koha::Cache::flush - Simply flush all caches
  • 14540 - Move member-flags.pl to PermissionsManager to better manage permissions for testing.
  • 27338 - Use current window as fallback, if no opener window available during importing record from Z39.50
  • 11974 - Enable non-default unix socket location for database connections.
  • 11847 - Display basketgroup closed date at OPAC

Assigned 25

  • 21507 - Decimal separators issues in patrons payments/fines, simplified
  • 29275 - Use the API to render checkout history for a biblio 🎯
  • 31623 - Greater/smaller than in DB password is problematic
  • 6960 - staffaccess permission requires borrowers permission
  • 4330 + Copyright statements out of date
  • 31021 - Part of C4::Search::searchResults() is only for staff interface
  • 28919 - When placing a multi-hold from results in staff pickup location is empty
  • 37258 - Locked records can still be modified/deleted by an unauthorized librarian with merge and in advanced editor
  • 38706 - Replace UserJS system preference with snippets
  • 39538 - Replace UserCSS system preference with snippets
  • 34472 - Template Toolkit reference guide needed 🎯
  • 39271 - Remove size attribute from input tags in the OPAC
  • 23732 - Hold rules checker: show matched rules and syspref values to help understand why a hold is possible or not
  • 20817 + Add ability to retain 9xx fields when adding on order item to existing record
  • 26383 - Koha::Patron->is_superlibrarian is not optimal
  • 2500 + Standing enhancement request for adding/updating call number splitting algorithms in C4/Labels.pm
  • 36855 - Replace legacy CodeMirror5 with Monaco Editor
  • 28655 - New ideas/proposal to enhance pluggability
  • 15054 - Get items from database instead of search engine in search results
  • 31035 - Script to update OPACSuppression field depending on hidden items
  • 28702 - Improve performance of C4/XSLT/buildKohaItemsNamespace
  • 28498 - Add CLI counterpart for plugin actions
  • 5158 + Koha needs its own cookie, ice cream, and fudge flavors
  • 11405 - Inventory tool enhancements [OMNIBUS]
  • 14645 - Koha::RecordProcessor should deal with Koha::MetadataRecord objects

Unconfirmed 2

  • 37978 - Plack causes Internal server error in upload-cover-image.pl
  • 38022 - Identity Provider error 500 on /api

New 445

  • 39314 - RabbitMQ can't upgrade from 3.x to 4.x without running a data migration on 3.13
  • 14210 - Manage staged MARC records deletes replaced item when undoing import into catalog
  • 37449 - Authority matching using Elasticsearch on 'Number' fields fails
  • 39107 - kohastructure.sql doesn't load on new MySQL versions 👑
  • 15050 - Nonpublic note searchable from OPAC
  • 38933 - Some oversized records with UTF-8 characters cause import worker to die
  • 37831 - [OMNIBUS] Timezone ignored when passing rfc3339 formatted date
  • 27303 - Behaviour depends on DB user permissions
  • 29743 - Importing bad MARC can cause internal server errors in Koha
  • 39798 - Add ability to shut off modules completely
  • 36369 - Make APIClient be more useful
  • 39986 - OPACdidyoumean, acting like a system preference when it is not
  • 31199 - selenium/patrons_search.t is failing randomly
  • 36145 - Fix incorrect OPAC authority search results sort order
  • 37060 - KOCT cannot send circulation data due to missing CSRF token
  • 39277 - koha-common keeps bringing up RabbitMQ even if disabled on purpose
  • 39461 - Cite feature
  • 30845 - OMNIBUS: Move holds checks into CanBookBeReserved/CanItemBeReserved
  • 39819 - Additional performance improvements when loading borrower relationships.
  • 39794 - Improve 404 for VueJS components
  • 30951 - Duplicate entry 'ar' for key 'PRIMARY'
  • 17815 - Problems with search for dateaccessioned
  • 36272 - Exporting too many items from item search gives "Request-URI Too Long"
  • 39591 - koha-create needs options to set up encrypted database connections
  • 39487 - Inconsistency in handling of Z39.50 records for bibliographic records and authorities
  • 10060 + Allow adding a branch parameter to the web-based self check to indicate library its used at
  • 21941 - Incorrect GROUP BY in circ/reserveratios.pl
  • 32278 - Batch modifications from the biblio page can cause 414 URI too long when attempting to modify many items
  • 39174 - Search::Elasticsearch is end of life and will at some point not be compatible anymore with future versions
  • 38327 - 403 errors when logging back into Koha after timeout
  • 37223 - Deleting the last item in a label batch needs to redirect to ?op=new
  • 18983 - koha-create does not default to --create-db
  • 34632 - Patron Importing should be a background job
  • 28742 - OAI.xslt has hardcoded metadataPrefix = oai_dc
  • 38516 - Closed group basket not able to open pdf file with adobe The root object is missing or invalid
  • 28806 - Labels exported as PDF create zero sized PDF files.
  • 34546 - Report group code should only contain ASCII chars
  • 17258 - [OMNIBUS] MySQL 5.7
  • 38406 - Item fields should not be stored in the MARCXML in biblio_metadata
  • 28911 - Bcrypt settings are required for pseudonymization but are not set on upgrade
  • 38217 - TT tags breaking translation script when used to build a JS string
  • 37548 - Race condition in CHECKIN notices
  • 25962 - In Advanced Editor mandatory subfields are not enforced if tag is not mandatory
  • 37558 - Statistics table does not have an id
  • 32117 - "Items with no checkouts" report (catalogue_out.pl) broken with SQL strict mode enabled
  • 37660 - Cannot login to SCO module when cardnumber is NULL
  • 28680 - Staff without edit_borrower permission still see patron information
  • 16925 - Shelving location search in OPAC nests search term in single quotes for every level of search results.
  • 36214 - plugin install/update/removal should be logged
  • 37098 - MARC Bibliographic record staging failed
  • 23187 - Koha::Objects supports find_or_create without passing through the Koha::Object store method
  • 22497 - '0' width can lead to an infinite loop.
  • 37042 - Schema Upgrade fail at 23.06.00.049 > Bug 31503 - Change patron_consent.type
  • 36848 - Cannot make "Protected" field required via BorrowerMandatory syspref
  • 34697 - Auth.t: Key derivation method "opensslv1" is deprecated
  • 24501 - Authorities 'merge' is confusing
  • 24125 - Batch delete should not remove authorities that are still in use
  • 36826 - Incorrect instantiations of CGI ::->
  • 27423 - ILS-DI should be deprecated and functions moved to REST API
  • 36590 - check_internal_auth does not return a patron and is inconsistent with other authorization routines
  • 36570 - OAI-PMH - Hide items non-public notes
  • 35984 - automated static code analysis should include security tests
  • 15204 - Auth.pm does too much
  • 17427 + Replace CGI::Session with Data::Session
  • 34890 - Cannot delete plugin with error
  • 27278 - FindDuplicate uses 'exact' for searching and is too strict
  • 26912 - Expired staff accounts can still log in to Koha staff intranet, SIP, API, etc.
  • 35439 - Large background jobs can create delays
  • 5534 + Koha mapping punctuation to space for indexing/searching can be confusing
  • 31175 - OPAC Logout should return you to where you were (unless that's a restricted page)
  • 29016 - Log viewer has problems with many entries
  • 31616 - koha_worker isn't using RabbitMQ on startup if it's a local server.
  • 35022 - Local use preferences - variable should be a required field
  • 34815 - Improve efficiency of C4::Biblio::LinkBibHeadingsToAuthorities
  • 16327 - Running build_oai_sets.pl with embed items option should consider every item in a biblio
  • 34705 - Koha should use a CSV library to generate CSV
  • 34670 - Problem with system preference casServerUrl persistency
  • 12012 - Updating Zebra config files for debian packages
  • 10881 - Fast Add Framework has different item fields 🎓
  • 22262 - text/javascript responses should be compressed by Apache
  • 17921 - Shelf Browser does not take OpacSuppression or OpacHiddenItems into consideration
  • 32556 - borrower_message_preference_id reaches limit
  • 17754 - MARCXML upload in Intranet is broken (encoding) if LDR pos. 9 is missing
  • 26711 - Editing records subfield code is editable
  • 20591 - DBI->last_insert_id does not work as expected
  • 18943 - Add documentation of new SIP configuration parameter
  • 11612 - 404 error page for Intranet may leak information
  • 30812 - subfield 9 deleted if no other data is available
  • 24465 - Label creator requires catalogue permission instead of label_creator permission from tools
  • 22983 - The Koha copy of NotoSans font (in the new OPAC) lacks glyphs for (some) Roman letters with diacritics
  • 27665 - Clarify usage of matching dropdown on addorderiso2709.pl
  • 13665 - Retrieve facets from zebra is slow
  • 30278 - Auto renewal should be moved to an object method
  • 30803 - output_error should not assume a 404 status
  • 30249 - Search limit by itemtype fails when itemtype codes are too similar
  • 29661 - PreFillItem should not apply to duplicated items
  • 21102 - OAI-PMH specification conformance [UMBRELLA]
  • 28737 - Unwanted and Mandatory borrower fields should be enforced consistently
  • 24749 - Plack restart should clear orphaned cgi_compile directories on restart
  • 21250 - Auto-self-checkout not fully compatible with multi-branch library setup
  • 22481 - Koha::Uploader does not work under Plack
  • 26952 - plugin search term is not correct escaped
  • 22217 - error "Connection to the memcached servers '__MEMCACHED_SERVERS__' failed" during install
  • 14527 - UNIMARC: zebra error 114 when searching for items added before or after a specific date / 995$5 is not indexed
  • 23654 - Patron Cards - Bar code and image do not show up
  • 20655 - Z3950 Authorities search is unordered
  • 7802 + A MySQLism is used to get the current date.
  • 40006 - Upgrading install.pl shows code vs HTML
  • 15655 - Do not display patron information on biblio detail page if not allowed
  • 39403 - showmarc.pl confusing broken vertical align
  • 39152 - Variables defined as `our` not tidied
  • 39259 - SQL reports should allow Common Table Expressions
  • 13654 - Cannot place a hold for biblio with too many items to display unless viewing them all
  • 34594 - Incorrect table name in OpacHiddenItems causes searches to fail or details not to display
  • 35758 - Background jobs should not log personal data apart from borrowernumber
  • 24383 - koha-create doesn't restart / empty memcached causing installer fail
  • 23303 - When uninstalling a plugin we don't call any form of 'unload'
  • 35534 - Wrong encoding of reports exported in tab format
  • 4439 + Two acq webservices should use REST API
  • 19963 - ethnicity and ethnicity tables and columns survived update
  • 30996 - ModBiblio breaks MARC::File::XML
  • 11581 - HTTP 404s generated badly in some cases
  • 11388 - Error exporting records to non-Unicode/MARC-8
  • 28587 - ldap auth fails unless <ldapserver id="ldapserver">
  • 35537 - Home entry in navigation can be misleading
  • 33780 + Multi-line TT comment: [%% item.object.itemnotes.replace('\n',' 🎓
  • 32296 - Capitalization: Specification of Dimensionality,... 🎓
  • 32297 - Punctuation: System code␠:, ... 🎓
  • 29896 - Sync the functionality of the datatables api wrapper on the OPAC with the Staff Client equivilent
  • 26304 - Better failure message when patrons can't log into the Opac due to self check permissions
  • 16972 - ./misc/sip_cli_emulator.pl should list mandatory vs. optional command line options in its usage section.
  • 15262 - Run Koha Run. Koha search should be fast again.
  • 25071 - Explain close budget vs make budget inactive
  • 39245 - Preferred name should give option to replace more than first name
  • 37052 - Restrict reports so they can only be run by permitted users
  • 23908 - Require patrons to confirm their email address
  • 30198 - Add privacy elements to reports
  • 40175 - [OMNIBUS] Missing maxLength to REST API specs
  • 40155 - Admin type plugins clutter the administration main page
  • 40152 - CatalogerEmails system preference does not allow more than one email address
  • 31814 - Make list of staged MARC imports a datatable
  • 35754 - Place multiple item-group holds at once for the same record
  • 24949 - Provide password visibility toggle / icon to unmask password on staff login screen
  • 35693 - Granular Permissions to Everything
  • 18787 - Create permission profiles for staff users
  • 36001 - Visualize MARC fields 310 and 362 for serial publications
  • 30557 - Add ability to create Item lists
  • 33965 - Hide patron accounts that are for admin use only
  • 28465 - Don't allow staff user to change patron categories of other staff users and their own account
  • 21860 - MARC modification templates cannot check or change indicators
  • 35802 - Note date when patron password was last changed
  • 38550 - Add dark mode option to the staff interface
  • 40001 - edit_items permission allows deletion of individual items. Should be separate.
  • 34832 - [OMNIBUS] API all the Tables!
  • 39792 - Patron Home Library has too much responsibility
  • 16544 - Changes to circ rules should be logged
  • 15428 - Different timeout preference for OPAC and staff interface
  • 23232 - Enable the option to use the onscreen keyboard on the basic cataloguing editor
  • 39557 - Normalize MARC21 XML metadata into structured MySQL database tables via Koha Plugin
  • 39601 - Add passkey support to Koha as an authentication mechanism
  • 30723 - Allow for notices to have custom header/footer includes
  • 39337 - Use SQL field to apply OpacSuppression in OAI-PMH
  • 39812 - Add the ability to replace an uploaded image
  • 31188 - Improve the use of ASIN for retrieving cover images from Amazon
  • 39822 - Add Multi-Piece Functionality to Checkout
  • 33985 - Add the ability to integrate electronic signatures
  • 35832 - Add option to include an email signature on all notices
  • 38090 - The UX for custom notice styling per notice template is confusing
  • 15278 - [Omnibus] Port default slips and notices from bespoke syntax to Template Toolkit 🎯
  • 32962 - Add ability to enable/disable Authorities module
  • 32961 - Add ability to enable/disable Serials module
  • 32963 - Add ability to enable/disable Acquisitions module
  • 39263 - When an ILL request is closed the item and biblio record created for it should be deleted
  • 36702 - Background Jobs: Add option to retry failed jobs with a max tries parameter
  • 17387 - Add an undelete feature for items/biblios
  • 38677 - XSLT doesn't follow framework's visibility settings
  • 29490 - Preview for more notices
  • 26993 - Allow StoreLastBorrower to retain a locally-defined number of previous borrowers
  • 39662 - Register a new account page - X next to calendar is confusing, should use different button style 🎓
  • 38745 - Add a proof of concept JSON-RPC driven endpoint for RPC style calls that don't fit REST ideals
  • 39638 - Notice display modal should respect 'email' message transport type
  • 39573 - Add ability to set location ( LOC ) to NFL ( not for loan ) like with itype (item types)
  • 39598 - Make it possible to ignore apostrophe in searching (Zebra)
  • 27647 - Allowing lists to have a hierarchical structure/groups
  • 39541 - Do we need to store the whole MARC record in Elasticsearch?
  • 39549 - Mark some ElasticSearch mappings as "internal"
  • 39509 - Move XSLT into Cascading XSLT
  • 37762 - Expand ILL to allow for Supplying Agency/Lending Library workflows
  • 14772 - Remove or clarify checkbox «flagged» on subfield visibility frameworks
  • 33627 - OAI-PMH script build_oai_sets.pl is slow and memory hungry
  • 25603 - Add 001 and 003 to biblio table
  • 37849 - Permissions for additional content - HTML Customizations, Pages, News, OPAC, etc
  • 29880 - Item cataloguing should be split into add and edit permissions
  • 39436 - C4/Matcher does not check if the biblio returned by search exists in DB
  • 38137 - Refactor Koha::Auth::Permissions->get_authz_from_flags to build a fully populated authz hash, and then create Koha::Auth::Permissions->get_template_authz_from_authz()
  • 21412 - Optionally limit OPAC access to files attached to bib records via upload to only logged in users
  • 39069 - The 'Your lists' tabs should show both the user's private and public lists
  • 36682 - Replace yarn with pnpm
  • 39085 - No space preserved incorrecly after END
  • 39311 - Make accepted borrower file types configurable
  • 33017 - SQL comments are not fully ignoring runtime parameters
  • 28410 - [Omnibus] Reduce memory footprint
  • 39227 - Improvements to cataloging save error message
  • 30834 - Trigger nightly reindex with a syspref
  • 36540 - Consider modernising the checkout page to be an Vue page
  • 28638 - Provide authority records via OAI-PMH
  • 35421 - Is "A guarantor cannot be a guarantee." still correct?
  • 18583 - Add the ability to merge multiple authorities
  • 26884 - [Omnibus] Refactor overdue_notices.pl
  • 38453 - Make koha-l10n get upgraded when koha-common gets upgraded
  • 19360 + Give items URL a link text
  • 39087 - Some files are uglier when tidy
  • 39086 - Lines incorrectly split
  • 24035 - When recording local use, holds should be captured
  • 25390 - Login box is removed from opac-main.tt if Shibboleth or CAS is enabled
  • 10756 - Add carousel/coverflow display of new titles to the OPAC
  • 3935 + Schedule tasks periodically
  • 26754 - Budget plans need a note that no changes can be made when budget is locked
  • 36655 - Add ability to requeue a background job from the staff interface
  • 30681 - Allow overlay protection of MARC data by subfield
  • 38866 - API functionality needed in news to allow future connectivity with discovery systems
  • 23030 - Installation and last update date in About
  • 37547 - One should be able to disable sending of element set name in z3950 connections
  • 37502 - Holdings table needs an ERM tab
  • 38821 - Create records for packages
  • 36117 - Can svc/bib_profile be removed?
  • 38014 - Migrate from Font Awesome to Bootstrap Icons
  • 38723 - Move widely used TT plugins to LOAD_PLUGINS
  • 38781 - Add ability to weight search results based on popularity of biblio / item
  • 38756 - Fix "See highlighted items below" link without using an onclick attribute
  • 34962 - Add a system messages feature to Koha to report issues and failures in a more visible way
  • 34113 - Replace the use of jQueryUI autocomplete
  • 17485 - Add MARC modification templates to Z39.50 import
  • 29222 - OMNIBUS: Replace the use of jQueryUI
  • 38214 - Audit use of TT url filter for uses that should be uri instead
  • 36205 - Plugins should be able to create permissions
  • 31118 - Allow to send the TOTP token by email when enabling 2FA
  • 35210 - 2FA: more flexibility
  • 30724 - Add ability for administrator to reset a users 2FA
  • 35631 - Default Z39.50 target syntax to match sys pref marcflavour
  • 38427 - (38408 follow-up) Additional fixes in rebuild_zebra.pl and koha-rebuild-zebra
  • 16264 - Do we still need extra pages to confirm deletions?
  • 33540 - Add death date for deceased patron
  • 13125 - Total holds does not tally holds / items.reserves is not populated
  • 36805 - Separate OPACSearchForTitleIn content from markup
  • 25997 - Add system preference to disable RSS feed
  • 25673 - Access logging of borrower's personal information
  • 34543 - Content block accessibility helpers 🎓
  • 38151 - Cumulative restriction does not apply when return in batch
  • 38178 - Report pagination is inefficient
  • 38152 - Add "copy to clipboard" feature to barcodes in detail pages
  • 37225 - Cascade failed notices
  • 31002 - Add ability to send notices over instant messaging services
  • 33308 - Add ability to to use SFTP with runreport.pl
  • 15248 - Make it possible to configure duplicate check on bibliographic records
  • 19942 - Children's search interface
  • 35794 - Better docs for switching from Zebra to Elasticsearch
  • 34806 - Identity Provider Single-Logout Enhancement
  • 37715 - It should be possible to enable/disable each authentication method on the OPAC and staff client
  • 36152 - Allow to add jQuery directly in custom pages
  • 35092 - [OMNIBUS] Remaining background job/worker issues
  • 30592 - Move borrowers.secret to a new generic credentials table
  • 32957 - Add option to CMS pages to make page private
  • 34863 - Allow definition of custom url for pages
  • 33254 - 2FA - Trust current device
  • 37554 - Add ability to import and export mapping files from the koha interface
  • 25610 - Inconsistent display of 856$3 in OPAC between brief result and full record
  • 24968 - Add system preference controls for cronjobs
  • 21303 - XSLT should look in LDR/18 to know whether to add punctuation or not
  • 37073 - Action logs should include the logged in library for user
  • 14593 - Send notifications for pending moderation staff actions
  • 26130 - opacbookbag 'Cart' confuses patrons - add optional name alternatives?
  • 36900 - Job errors should be stored on a separate location
  • 36866 - Allow parent / child relationship for Pages
  • 15279 - Deprecate bespoke syntax for Slips and Notices
  • 23705 - Add a syspref to enable record locking, so that when one record is opened to be edited, it's read only for other users
  • 34507 - Add configuration for renaming of terms on the staff interface
  • 33092 - Add ability to search within a list
  • 34976 - Encryption keys should not be shared between modules
  • 14962 - Temp Shelving Location
  • 30887 - Gravestone page for deleted authorities or biblios
  • 5807 + Add collection code to circulation rules
  • 35250 - Eliminate circular dependencies caused by C4::Context
  • 26177 - The 'set library' functionality should be changed to 'session settings' or similar
  • 23833 - [Omnibus] JavaScript should conform to coding guidelines recommended by ESLint
  • 16605 - All notices should give the ability to unsubscribe or flag account for a wrong email address used
  • 11456 - Add validation to circulation rules
  • 36479 - Z39.50 responder does not support element set / composition "B"
  • 36385 - HTML escaped via JavaScript should encode all entities
  • 36404 - Allow patrons to create saved searches
  • 36306 - Make username creation configurable
  • 31572 - E-mail and SMS verification
  • 31510 - The notice template tag helper still uses <<>> sytnax.. we should move to TT instead
  • 20678 - Save draft records without committing them to the catalogue
  • 31376 - Input type email in system preferences prevents multiple addresses
  • 29587 - Test mail option in SMTP servers
  • 15521 - Make circulation rules backend more granular
  • 14216 - Koha should send a notice (via e-mail/print/or both) when changes are made to a patron account.
  • 31004 - MS Teams notifications
  • 28970 - Create runtime parameters on the fly
  • 25424 - Document our exceptions
  • 25467 - Improve performance of ViewPolicy filter
  • 25221 - Imported records are not checked for accuracy
  • 22794 - [Omnibus] Improve and extend logging in Koha
  • 26890 - Add opac_biblio_tab and opac_biblio_enhancements_toolbar_button hooks
  • 26861 - Indicate that a record is using OpacHiddenItems in the staff interface
  • 26746 - Variables available for selecting into notices are misleading
  • 19795 - Allow files to be uploaded and stored in object storage (Swift and S3)
  • 30363 - Retrieve uploaded files from staff interface by file id or hash
  • 25660 - Unable to change system preferences in "vintage" git install without plack
  • 25921 - Merge (deleted)biblio* and (deleted)items tables - Update reports
  • 35497 - Add a view of related import records to the details page
  • 35160 - Ability to subscribe to library news by email
  • 10958 - No need for home link on home page
  • 35122 - Allow Koha to Print Barcodes Singularly or a Batch of barcodes that are not in the system
  • 35052 - OpacHiddenItemsHidesRecord system preference should be considered on index time instead
  • 32243 - BackgroundJob: Leave encoding to Net::Stomp
  • 27258 - Rename BackgroundJobs => Tasks
  • 25332 - Add library card to smart phone wallet
  • 33768 - We need tests for the OAuth2/OIDC client
  • 35011 - Allow system administrators control over whether plugins can be uninstalled
  • 21859 - Fields to choose on Notice editor often contains non-applicable tables and fields
  • 21922 - Allow to decide if price is entered tax inlcuded or excluded on receive
  • 19852 - Add message text box in circulation for patrons does not accept HTML tags
  • 32078 - We should have an easy way for an administrator to update the encryption keys
  • 20405 - enhanced messaging preference should always be on
  • 26303 - [OMNIBUS] Preparing for Perl 7
  • 26188 - Allow disabling SMTP configuration in koha-conf.xml
  • 34766 - Searching for URIs in MARC fields could be improved
  • 34527 - Enhance the Openlibrary book cover retrieval to use the 024 MARC record and the OLID
  • 15045 - URLs should be built using PATH_INFO and SCRIPT_NAME
  • 24888 - Remove the use of "onclick" from serials edit template
  • 17858 - [OMNIBUS] Move staff client JavaScript to the footer
  • 23928 - Move saved reports JavaScript into separate file
  • 28499 - Add support for no-UI / administrative plugins
  • 30999 - Add a script to manage plugins from the command line
  • 14341 - XSLT 773$x
  • 6892 + If a URL has been entered without http://, it isn't correctly linked
  • 14294 - Umbrella report for tracking improvements to File upload feature (see also 6874)
  • 14071 - Preserve changes on XSLT files over upgrades
  • 7292 - New permission for claims
  • 34306 - Update spine label tool to use more appropriate permissions
  • 11962 - New 'cluster' install mode
  • 27556 - Improve error pages
  • 27320 - Add collection and shelving location options to MARC export tool
  • 28989 - Allow viewing systempreferences only
  • 30861 - Add the ability to stash extra data in a Koha::Object
  • 30348 - Create sub clear_session_and_cookies
  • 26166 - Patron verification through SMS one time code
  • 32643 - Send patron a notification of a new OPAC note
  • 32419 - Show availability in list view in staff interface
  • 33413 - Make staff notices digest-able for OPAC_REG and NEW_SUGGESTION
  • 33592 - Use drag&drop or sorting options for AutoEmailPrimaryAddress
  • 28093 - Additional configuration option(s) for Shibboleth-only mode
  • 32385 - OPAC and staff (intranet) should not share the same session and cookie
  • 33479 - Add an option to pick a type of library during onboarding
  • 25512 - Add support for LDAPS
  • 5362 + Simple (non-MARC) cataloging interface
  • 31596 - LDAP ACTIVE DIRECTORY with different domain suffix
  • 31508 - Authorities don't link for newly created authority types
  • 12578 - Patron image caching
  • 18410 - Koha should use cool URIs
  • 16533 - Prep koha-preferences script for /usr/sbin
  • 13833 - biblionumber in deletedbiblio should not be autoincrement
  • 11852 - Allow staff to create pipelines of actions for items
  • 32063 - Streamline importing of records
  • 32136 - E-mail testing
  • 32133 - Streamline OIDC error messages
  • 32107 - Send $self to Plugins->call and call discard_changes inside
  • 13512 - Add sort-string-utf.chr for Polish and Latin 🎓
  • 12410 - Remove useless use of cookies
  • 22832 - Require plugins to specify the methods they implement
  • 31786 - Sub template->param($var) should return the value
  • 31851 - Allow prioritizing identity providers
  • 22407 - OMNIBUS: Use DBIC relations to fetch related object rather than searching for the object
  • 19556 - Added content ISBN does not match MARC 020
  • 30184 - Create statistical items that are returned immediately
  • 31602 - Replace Try::Tiny with something faster
  • 5523 + Display list of items which are to be cataloged in the cataloguing home page
  • 4855 + Tools/Export does not tell browser file size
  • 30836 - Elasticsearch mappings.yaml is out of sync with upgraded databases
  • 15349 - Problem with email pattern check on forms
  • 23965 - Use an external service to provide DVD cover images
  • 26757 - SMS Test Button
  • 22313 - Show cover image on any matching ISBN found in a record
  • 23334 - Modal window for Z3950 search
  • 29652 - Move Koha::Biblio->get_marc_* to Koha::Biblio::Metadata
  • 20417 - Remove OpacCloud (and OpacBrowser) system preference and feature
  • 28111 - Add file grouping and granular permissions to the 'Access files' tool
  • 24074 - Access directory UX improvements
  • 29304 - Add a first time login page
  • 23457 - Can't pick the items when placing multiple holds on a record
  • 10787 - Linked Data/RDF Omnibus
  • 30206 - Notify users if their personal details change
  • 30017 - Should we prefer `loop.first` and `loop.last` over calling `variable.count` to reduce our DB hits
  • 25174 - Plugins that fail to load should still display in the plugins table, but with an error indicator
  • 21074 - (just a try) Display sparql data from wikidata or bnf
  • 29365 - Koha::Email needs to be refactored
  • 29295 - Page specific jQuery
  • 20396 - Omnibus: Cleanup Koha and fight feature creep
  • 14162 - Instance creation information on YAML
  • 29000 - Create a display of patrons with permissions
  • 14771 - Allow patrons to pick a username
  • 28990 - Allow changes for a configurable subset of systempreferences by superlibrarian only
  • 28951 - Parental Controls
  • 24342 - Self check needs on screen keyboard for login
  • 27025 - jQuery testing with specific user
  • 26252 - Allow patron_emailer.pl to select notice branch from report
  • 18416 - Audio alerts: Add a hint that the upload file tool can be used for adding custom sound files
  • 25213 - Notify reporter when an OPAC problem is resolved 🎓
  • 27337 - Remove direct use of CGI::Cookie
  • 27374 - Add possibility to attach arbitrary notes to items
  • 27323 - Plugin for Place of Publication 260$a 🎓
  • 15342 - Performance 3.22 - Omnibus
  • 27152 - Add a batch/bulk renewal endpoint
  • 27087 - Allow encoding level comparison on record import
  • 24634 - Support display of changelog files for plugins
  • 24635 - Support display of readme files for plugins
  • 27184 - Make the circulation history use the API
  • 26044 - frameworkcode fields must be a FK
  • 21970 - Scan and Go functionality
  • 14818 - Add missing DBIx::Class relationships
  • 19060 - Patrons should not get a max fines block auto-renewal notification for items due in the future.
  • 22077 - Uncaught JS Console errors
  • 22327 - Circulation Rules simplification
  • 21841 - Fuzz testing the UI
  • 14239 - Bibframe support in Koha
  • 12450 - Easily close a branch
  • 38858 - Add Featured Collections to Koha OPAC
  • 31900 - Add support for logout from external OAuth2/OIDC identity providers
  • 22232 - Use Advanced cataloguing editor (Rancor) for authority records
  • 27105 - Add checkout notes from staff interface
  • 7003 + Canned report to show patrons and permissions
  • 14959 - Support for Library Communications Framework (LCF)
  • 12709 - Send a custom email to some or all patrons
  • 3514 + Returning items through patron Details tab doesn't activate all circulation functions
  • 20065 - Perennial or persistent identifier implementation
  • 35487 - Add a selective dissemination of information module
  • 21577 - Enable Koha to act as Shibboleth identity provider
  • 12015 - Google map of libraries and availability
  • 16665 - Add a staffadmin bar to the opac interface in order to edit the previewing record (MARC)
  • 33546 - Poll/Questionnaire tools needed
  • 21375 - NCIP service for Koha
  • 20235 - Telegram notifications
  • 25259 - Tumblebooks Integration

Confirmed 10

  • 39748 - Daylight savings breaks circulation (when DST change eliminates 00:00 to 00:59)
  • 36488 - Flatpickr creates invalid date entries
  • 34814 - Limiting item editing to library or library group disables checkbox selections on record's details page
  • 38145 - Having ES enabled but unreachable breaks cataloguing
  • 37041 - Logging into addbiblio.pl triggers a 403
  • 37402 - Task scheduling fails if you don't use the correct time format
  • 27365 - Koha doesn't check marcxml field size is < 10000 and fails in various places
  • 38181 - Extreme slow search results on OPAC (only) search when result records contain multiple items.
  • 38621 - [% today %] variable unavailable in report templates
  • 40031 - MARC modification templates should have a unique URL 🎓