Architecture, internals, and plumbing bugs
- Blocker
- Critical
- Major
- Normal
- Minor
- Trivial
- Enhancement
- New Feature
New 471
Cypress not starting on Trixie
Patron search fails if press "enter" key or don't choose more than one filter
Background job workers are not tested
In-progress background jobs give incorrect progress message
7170
GC
Remove use of XML::Simple
Memcached problem causes incorrect syspref values
Koha::Patron->add_guarantor not checking anything
Remove sleep during background es indexing
Koha::Patron->libraries_where_can_see_things() returns incorrect results
Perl::Tidy 20250912 spams warnings under perl 5.44
updatedatabase.pl produces warnings
Remove virtualshelves code from Auth.pm
escape_str should cast to string in staff interface
Suppress CodeMirror warnings for CSS
plack.psgi does not start if a logfile in log4perl.conf is not writable
Logging format should be consistent
Refactor messaging-preference-form.js
403 errors when logging back into Koha after timeout
locale=C breaks on the fly translations
Show branch specific link to cancellation requests on home page
CookieConsentedJS is loaded using unsafe method incompatible with CSP
Template::Plugin::CGI removed from Template::Toolkit package
Remove blank entries in items diff
Notes scrubber is too strict for some cases
koha_worker isn't using RabbitMQ on startup if it's a local server.
[Omnibus] Library Groups should have feature parity with IndepenentBranches
Use a better diff viewer library
Bcrypt settings are required for pseudonymization but are not set on upgrade
PLACK-ERROR: End of stream encountered while parsing preamble
Items.pm: to_api_mapping of checked_out_date is confusing
Remove dateaccessioned.pl plugin
Koha::Email->is_valid needs more attention
Koha::Email doesn't validate header data
CGI::param called in list context from koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt
koha-indexer should be renamed to koha-zebra-indexer
automated static code analysis should include security tests
Wherever possible we should lookup using borrowernumber instead of userid/cardnumber
Make check_cookie_auth() use borrowernumber instead of userid/id
ThingISBN broken: User agent blocked
Additional content codemirror mode initializes as xml
Importing bad MARC can cause internal server errors in Koha
Add ability to shut off modules completely
Koha::ILL::Batch::Status should be kosher
Koha::ILL::Batch should be kosher
Improve 404 for VueJS components
Cover modal logic in returns.tt / returns.pl with Cypress tests
auto_rebase script confusing handling of incorrect HTML structures
Cannot introduce new plugin method to existing plugin without running install_plugins.pl
17258
JD
[OMNIBUS] MySQL 5.7
typo mts_authorized_value vs mts_authorised_value in admin/marctagstructure.pl
Item fields should not be stored in the MARCXML in biblio_metadata
DT - Possible hidden bugs caused by $.extend
9500
TCA
GetNormalizedISBN only ever checks the first populated ISBN field
Remove global variables from addbiblio.pl
Odd number of elements in anonymous hash when calling CGI::cookie
Statistics table does not have an id
Message queue field "from_address" does not always get populated
Koha::Recalls->add_recall should throw exceptions
Koha::Recalls->add_recall should validate there's a related checkout
Some operations that do not affect data should be submitted as POST requests
Better descriptions of items.stack
Internal routine _GetCircControlBranch is used outside of C4::Circulation
Koha::Objects supports find_or_create without passing through the Koha::Object store method
Incorrect instantiations of CGI ::->
check_internal_auth does not return a patron and is inconsistent with other authorization routines
36345
TCA
Deleting related things causes data loss for old_reserves
Koha/MetadataIterator needs tests
Patron->store falls back to stored password when modifying patron
Library branch ip addresses should be validated
Replace CGI::Session with Data::Session
ILS-DI allows cancellation of waiting holds
Expired staff accounts can still log in to Koha staff intranet, SIP, API, etc.
opac-rertrieve-file.pl does not serve files with the correct mimetype
Large background jobs can create delays
Koha/I18N: The PO directory has not been found.
Issue with preventDoubleFormSubmit() and using browser's back button
Review Koha::BackgroundJob->finish and 'failed' case workflow
Background jobs: Orphaned jobs should not be run after too much time
"The many-to-many relationship * is trying to create a utility method" warning
Improve efficiency of C4::Biblio::LinkBibHeadingsToAuthorities
18558
KMH
Koha::Clubs->get_enrollable explodes if no patron given
12818
GC
Move permanent_location to more_subfields_xml if a library mapped it to MARC
Matcher should use SimpleSearch for authorities
LOCK_DIR missing in koha-install-log
koha-dump --schema-only does not work with mysqldump 8
31010
MR
BatchRevert does not deal with indexation correctly
Illrequests table has a foreign key constraint on status_alias
Availability colors are not consistent in the codebase
Add a note to RESTPublicAPI to clarify that it will break OPAC features
"Place request with partners" button must be hidden if no partners defined
DBI->last_insert_id does not work as expected
Remove NULLABLE on borrower_attributes.attribute
15404
GC
CanBookBeReserved: No count of biblio level holds if ReservesControlBranch is item's home library
Emojis (or other utf8 characters) can break background job processing
Wide character in print at /usr/share/koha/opac/opac-downloadcart.pl line 129
Obscure notice handling in overdue_notices.pl needs to be improved
Missing default value on import_records.marxml_old
Adding a library does not update the transport cost matrix
Vulnerabilitiy warning for package C4::Biblio
17269
GC
Library::CallNumber::LC does not follow LC standards for Area Subarrangments of cataloged maps
Clearly identify when JavaScript errors are caused by OPACUserJS/IntranetUserJS
Warning when connection to memcached fails is too long
Duplicated import in template plugins
Plack restart should clear orphaned cgi_compile directories on restart
28257
NC
Check itemtype-level not for loan value when determining availability via z39.50 responder
Koha::Uploader does not work under Plack
17098
GC
Validation problems with form field type "number" (decimal separator)
.tt template files should be deployed separately from static assets
Koha should set a referrer policy
Defaults set during patron imports throws warnings
Code related to import/export biblio frameworks in XML format must be removed
Koha::Charges::Fees-?accumulate_rentalcharge dies if no issuingrule is found
Fix ArticleRequestsMandatoryFieldsItem(s)Only variants
15772
GC
GetNormalizedISBN returns a 10 digit ISBN - should return 13
Add test to catch missing on_editing flag
17549
GC
Table borrower_modifications allows for duplication verification tokens
16076
GC
DBIx searches - performance issues
10998
GC
code duplication introduced by Z39.50 authority search
Move recalls_per_record logic into shared and tested method
2505
GC
Omnibus: Enable Perl warnings in all modules and scripts
Some system preferences should be read-only
memcached: Double pid file may cause memcached to not start up
check_api_auth can fail to authenticate service user if userid is not same as cardnumber
Stage MARC for import background job - Progress bar does not progress
Warning when no cookie 'patronSessionConfirmation'
Failures on batch record import because of fkconstraint should report in job report
marc21_framework_DEFAULT.yml doesn't set 008 in ACQ framework
Many parts of C4::Auth::checkauth() re-lookup the patron using userid/cardnumber unnecessarily
Use Koha::Patrons->find_by_identifier() in C4/Auth_with_ldap.pm
Remove unused sub C4::MarcModificationTemplates::ModifyRecordsWithTemplate
Use of uninitialized value in numeric ge (>=) at /usr/share/koha/lib/C4/Serials.pm
39152
JD
Variables defined as `our` not tidied
JS error when viewing subfield structure
8871
GC
Many "subroutine redefined" warnings from C4 and Koha modules
Warning on UpdateTotalIssuesOnCirc should be revisited
Remaining content-type = text/plain when JSON or HTML is returned
C4::Context->preference doesn't cache values for non-existent sysprefs
Background jobs should not log personal data apart from borrowernumber
returns.pl fetches the same item from the database multiple times
Background jobs: Status shows null/0
16090
GC
FK branchcode in issues
systempreferences.pl has unused op 'update_and_reedit'
13883
KMH
Add sample notices for TalkingTechItiva
koha-plack contains a wrong test about missing Apache modules
10991
I
C4::ImportExportFramework has unnecessary temporary file and directory management code
Unneeded use of C4::Auth in Koha::REST::V1::Checkouts
Warning in Koha::Item->columns_to_str
ModBiblio breaks MARC::File::XML
11581
GC
HTTP 404s generated badly in some cases
Koha does not like zero in a title (and other fields)
MARCOrgCode has an incorrect default value
Merging patrons will cause the "time queued" column in the message queue to be updated to the current date and time
8198
CC
Need to track the call to "C4::Context->userenv->{'xxxx'} without check if it is undefined
17687
GC
Rename column subscriptionhistory.recievedlist to receivedlist
Warnings when adding a recipient to a routing list
Note field in Accounting is inconsistently typed
Remove C4::Biblio::GetMarcQuantity in favor of MetadataExtractor
Remove support for MEMCACHED_NAMESPACE and MEMCACHED_SERVERS env vars
Our legacy code contains trailing-spaces
debian/scripts: daemon --user should contain colon instead of period
"An error occurred when updating this CSV profile. Perhaps it already exists."
29896
MR
Sync the functionality of the datatables api wrapper on the OPAC with the Staff Client equivilent
Update or remove outdated README.txt in /etc
10327
KMH
Rename poorly named system preferences
[OMNIBUS] Server resource protection
[OMNIBUS] System resource management and tracking
[OMNIBUS] Interface optimization
Convert OPAC css colors from hex to OKLCH
Convert Intranet/staff CSS colors from hex to oklch
[Omnibus] Make Intranet header search customizable
Make it easy to add html/text to additional contents locations from a plugin
Update Databases Selectively (Not Entire Row)
41908
MR
Migrate LDAP configuration into Identity Providers
RFC: task scheduling strategy - cron, background jobs, and plugin hooks
34962
KMH
Add a system messages feature to Koha to report issues and failures in a more visible way
Add system message for templates that fail to parse
Add date-specific and annually-repeating opening hours overrides
Koha/Discharge.pm should inherit from Koha::Object
15279
GC
Deprecate bespoke syntax for Slips and Notices
Background jobs: Batch item deletion and batch record deletion should list failed/succeeded items
Add ability to report external authentication service failures when falling back to local auth
Allow multiple external accounts from same provider for SMS::Send
42958
MR
Expand Elasticsearch/Opensearch usage across Koha beyond bibliographic search
Evaluate migration from DBIx::Class to DBIO
Remove "Delete" button from ACQ and FA frameworks
Add Koha::Health::SFTP health check
Detect home directory / project root
gettext broken on Ubuntu 24.04 (noble)
18410
GC
Koha should use cool URIs
7923
GC
Performance omnibus
Add ability to define fields to show in columns via column configuration
Add ability to set order of columns in column configuration
Improve parameter list passed to kohaTable
Scope CGISESSID cookie to /cgi-bin/koha/sco for self-checkout
21821
MR
We should bundle an up to date RangeMessage.xml for Business::ISBN
Configure blocks per action and per interface in restriction types
[OMNIBUS] Staff Interface Theming
37940
KMH
[OMNIBUS] All modification logged via action logs should include original to create JSON diff
Show local installable plugins on plugins-home.pl
Encryption keys should not be shared between modules
Improve and extend staff accessible logging in Koha
Split permissions logging from borrower logging
Minimize large info/diff sections in the action logs after a breakpoint
Record diff in action logs when modifying an ILL request
Add methods to allow deleting of action logs
Add logging for SFTP connections
16304
OK
Koha::Logger, lazy load loggers so environment has time to get set
14865
GC
Update Koha::Logger documentation based on wiki docs
Extract patron charge limit resolution into Koha::Policy::Patrons::ChargeLimits
Refactor Koha::Patron->can_checkout into Koha::Availability pattern
[OMNIBUS] Remaining background job/worker issues
Job details for BatchUpdateBiblioHoldsQueue lack information
Show effective Content-Security-Policy in about.pl UI?
12793
GC
Breaking up IndependentBranches syspref to support finer staff permissions granularity
41890
JD
[OMNIBUS] Remove circular dependencies
42554
TCA
Deprecate CanItemBeReserved and CanBookBeReserved in favor of Koha::Availability
cleanup_database.pl's --sessdays option could be more efficient
42377
BW
Move C4::Contracts code to the Koha namespace
15449
JD
[Omnibus] Move stuff to the Koha namespace
[OMNIBUS] Move Breeding module to Koha namespace
Confusing JS code when testing length
42209
MR
Diff keys should be translatable
2927
GC
Saving on enter
Add Koha::AccessControl::Role object
Build migration tool for new permissions
Refactor C4::Auth to use new permissions structure
Add Koha::AccessControl::Permission object
Move "flags" column into "user_permissions" table
Update Acquisition.pm, Budgets.pm, about.pl, and other users of authorization data checks outside of the initial AuthZ check on page load
Refactor Auth to check the new Koha::AccessControl::Permissions and Koha::AccessControl::Roles objects
42070
BW
Remove ModSuggestion from C4/Suggestion.pm
Add errors/404.pl to Apache bot challenge
Lock item type column for better editing in circulation rules table
Add access control layer using RBAC (Role-Based Access Control) + ABAC (Attribute-Based Access Control)
Log runs of cleanborrowers.pl with the parameters
The option to copy circulation and fine rules
Centralize "MARC preview" buttons and links
Plugins that fail to load should still display in the plugins table, but with an error indicator
Some Koha::Exception::Object instances fail to produce a full_message
Use search()->next instead of find() when using other than primary key
XSLT doesn't follow framework's visibility settings
Add Koha::CSV::Framework for framework exports
41526
KMH
Disable SFTP Account when failing
41525
KMH
Add koha conf option for disabling passwords for sftp
41323
JD
[OMNIBUS] Tidy script tags withing .tt files
28192
IG
Archived credit/debit types should be filtered by default
41245
KMH
Add ability to limit background workers by job type
Manage, upgrade and audit npm packages in a structured manner
Make Apache ErrorDocument a bit smarter (no unconditional pass to Plack)
Add a Serial Rest API
40349
MR
Use pbkdf instead of the default openssl1 for Crypt::CBC
Add alert to clear cache after upgrade
Replace ./catalogue/updateitem.pl with API endpoint
Use DataTables Select plugin for handling selections across multiple pages
Remove unblessed finds from sugggestions.pl
Koha should return 403 when a feature is disabled
We should have an easy way for an administrator to update the encryption keys
Modernize Koha::Patron::Files to use Koha::Object based classes
Code to create CGISESSID should be in function
Items->batch_update should not fail silently
Merge 'additional_fields' and 'borrower_attributes' features together
Allow to optionally disable selection of some lost statuses
Koha::Item->effective_not_for_loan_status incorrect?
Protect static files served by Apache
[OMNIBUS] API all the Tables!
Add problem class to circulation.tt
Write POD when missing
39571
MB
Abstract table filters to the column render method
Move XSLT into Cascading XSLT
Some polishing in Koha::Token
Add column to ill_requests table to flag for lending requests
Allow for a single xslt file that can cover unimarc and marc21
35286
MR
Replace GetPrintMessages with Koha::Notice::Messages->search
No space preserved incorrecly after END
[Omnibus] Reduce memory footprint
API functionality needed in patron message to allow future connectivity with discovery systems
Tidy script should improve how exception list is built
Optionally enforce password expiry for enabled categories when password_expiration_date is NULL
Further reduce memory usage for idle background job worker
Some files are uglier when tidy
Tidying template files is ineffective
Auto-rebase script is slow
Lines incorrectly split
Unnecessary spaces added (actually preserved) by the tidy all work
38999
PD
Remove webpack config file
API functionality needed in news to allow future connectivity with discovery systems
Can svc/bib_profile be removed?
38504
JD
.js files in t/cypress must be kept tidied
38410
KMH
Store Patron object within Koha::Patron::Attribute to reduce db lookups
Make 'Replace record via Z3950/SRU' buttons in authorities work consistently
The "kick_out" in auth should return an anonymous session instead of no session
10387
GC
checkauth and get_template_and_user have copy-pasta for setting template variables
Restructure storage of circulation rules to reduce complexity and enable increased flexiblity
Add types for all our JavaScript dependencies for better inline documentation
Add schemas and validation to YAML based system preferences
Reset failed background jobs to new
30592
TCA
Move borrowers.secret to a new generic credentials table
Switch picture-upload.pl to use Koha::Uploader
Add ability to select restriction type to use with debar_patrons_with_fines.pl
We should set datatable defaults for possible null returns
import_records missing index on upload_timestamp field
Bundle handling JS should be moved to an asset
[OMNIBUS] Remove all unnecessary uses of unbless
Job errors should be stored on a separate location
35615
MR
Merge AllowCheckoutNotes and CatalogConcern functions
32345
MR
Migrate checkinslip from printslip.pl to printnotice.pl
32346
MR
Migrate issueslip from printslip.pl to printnotice.pl
32344
MR
Migrate print_overdues.pl to printnotice.pl
36800
MR
Move tickets/concerns table to include
TestBuilder should explode if FK broken
Koha::Plugins::Base->store_data should return something more useful
WET: Remove RealTimeHoldsQueue pref check when calling ->enqueue
31458
MR
Remove Koha::Patron::Debarment::AddDebarment and use $patron->add_restriction in preference
Better fetch/cache the authorised values
26177
MR
The 'set library' functionality should be changed to 'session settings' or similar
HTML escaped via JavaScript should encode all entities
Koha::Item->return_claim method name is not correct
Availability calculation in OPAC Results XSLT is too slow
Connect cover_images and uploaded_files
Deleting uploaded file does not show the alert anymore
35965
MR
No need to re-fretch biblio in _after_biblio_action_hook
35834
MR
Add a 'Contributing.pod' to the project as a starting point for developers
Remove deprecated TT methods
25754
MR
Deprecate C4::Items::ModItemTransfer
Replace ModItemTransfer calls in C4::Circulation::AddReturn
Replace ModItemTransfer calls in C4::Reserves
Replace ModItemTransfer calls in C4::SIP::ILS::Transaction::Checkin
Replace ModItemTransfer calls in circ/waitingreserves.pl
Replace ModItemTransfer calls in circ/pendingreserves.pl
Remove call to transferbook from Recalls
25753
MR
Replace transferbook in circ/branchtransfers with Koha::Object method calls
Use of union in Koha::Objects
YAML system preferences cause error if syspref data is not YAML string
dateofbirthrequired column from categories table should be renamed
Improve performance of ViewPolicy filter
Allow files to be uploaded and stored in object storage (Swift and S3)
Move Koha::CirculationRules special cases into overloaded Koha::CirculationRule method
23766
KMH
Allow MARC record importer to handle large batches without causing memory issues
27772
MR
Add a Koha::Patron->todays_checkins method
Koha::Item->trigger_location_update should not call ->store
[OMNIBUS] Convert system preferences to HTML customizations
Remove direct CSV export in itemsearch.pl
BackgroundJob: Leave encoding to Net::Stomp
Introduce worker_manager daemon
Rename BackgroundJobs => Tasks
34995
KMH
Add a test parameter to updatedatabase.pl
Rename Koha::Biblio->metadata with ->marc_xml to avoid ambiguity
Move C4::Acquisition code to the Koha namespace [OMNIBUS]
20606
JM
Add the age column to statistics table
[OMNIBUS] Preparing for Perl 7
REST API crashes on NULL in itemtypes.notforloan
Convert ./serials/subscription-numberpattern.pl to REST API
Convert ./serials/subscription-frequency.pl into REST API
Convert ./members/default_messageprefs.pl into REST API
cn_sort for DDC callnumbers should between 1 and 99 should be formatted as 001.* - 099.*
18348
GC
SHOW_BCODE should be a column of the borrowers table
Removal of SQL queries from admin/systempreferences.pl
15045
GC
URLs should be built using PATH_INFO and SCRIPT_NAME
34430
MDR
Add Koha::Validator module
Add a "dump" method for Koha objects
Do we need any from List::Util or List::MoreUtils?
17433
GC
Koha::Validator. Validation for the masses!
Koha::Email->is_valid could be more strict
Item->store tests on itemlost>0
12149
GC
Move CountPendingOrdersByBiblionumber() from reserverations.pl to .pm
DefaultPatronSearchMethod should be more thoroughly unit tests
Don't include Koha::Object-base modules
Koha::Hold::is_at_destination function should be removed
Rolling upgrade support
Improve error pages
[omnibus] speed improvement
Rename authorised_value fields that are actually categories
We appear to repeatedly look up the user in Auth.pm
Add the ability to stash extra data in a Koha::Object
[Omnibus] Move holds logic to Koha namespace
Move the ZOOM event loops out of the Z3950 searches
Koha::Item->check_recalls needs to be renamed
Borrowernumbers, Itemnumbers, and Biblionumbers should be readily available
Remove Syndetics template variables from Auth.pm
Wide character in print at /usr/share/koha/opac/opac-downloadshelf.pl line 138.
Replace GetImportRecordsRange with object methods
Remove useless use of cookies
OMNIBUS: Use DBIC relations to fetch related object rather than searching for the object
Replace SetMatchedBiblionumber method with object method
Remove SetImportRecordStatus from neworderempty.pl
Replace Try::Tiny with something faster
8460
GC
Improve error messages in OPAC with more information to be sent to the administrator
Refactor C4::Templates and C4::Languages to not use CGI objects directly
Elasticsearch mappings.yaml is out of sync with upgraded databases
Standardize multi-value system preferences to use | as separator
31103
MR
'interface' is stored inconsistently throughout the database
We should DRY out search_limited (and rename it)
Move Koha::Biblio->get_marc_* to Koha::Biblio::Metadata
Add Koha::Holds->fix_priorities
We should make our method returns consistent in Koha::Biblio
Update ModBiblio to return biblio info
We should move sample_quotes out of en
Fix warnings in ill-requests
Should we switch from Modular Crypt Format to PHC string format
10787
GC
Linked Data/RDF Omnibus
Simplify authorities/merge_ajax.pl again
columns of suggestions need to be renamed
CookieManager: further extensions
URL Checker gives no information when nothing found
We should centralize No issues charge code in Patron object
Koha::DateUtils needs usable POD
Koha::ArticleRequests->search_limited may be malformed.
29879
TCA
Make sure objects moved to old_* is not tried to be saved again
Pass objects to CanBookBeReserved
Quickly Edit an Authority record
Koha::Email needs to be refactored
14825
KMH
Accounts Rewrite Omnibus
Move C4::Biblio::GetMarcUrls to Koha namespace
Move C4::Biblio::GetMarcSeries to Koha namespace
Remove C4::Biblio::GetBiblioData
29402
MR
We should add a 'dateonly' switch option to dt_from_string
How should we sort 19xx when order is pubdate?
19297
JD
[OMNIBUS] Standardize "can place hold" calculations
Remove tinkering with html from circ/article-request-slip.pl
Can we get rid of Koha::Item->effective_itemtype
10385
GC
item-level_itypes checks need to be refactored
Add Koha::Item::Attribute(s)
Move misc/translator/ modules to lib/C4/Translate (?)
28547
MR
With anonymous transactions now available, the Koha::Account class is misnamed
search_with_library_limits vs filter_by_branch_limitations
Object Name Inconsistencies
Constraints for cash management tables need reconsidering
Rename system preference AnonSuggestions to OPACAnonymousSuggestions
Remove direct use of CGI::Cookie
15342
JD
Performance 3.22 - Omnibus
Remove C4::GetLoanLength()
frameworkcode fields must be a FK
[OMNIBUS] Use allow/disallow terminology in code
auth_header missing authtypecode index
zebra_lockdir should be a subdir of lockdir
14818
GC
Add missing DBIx::Class relationships
Should TransformMarcToKoha check the repeatable flag for multiple subfields?
22658
MR
aqbasket.authorisedby is missing a foreign key constraint
17230
GC
borrowers table should be better normalized
18030
JM
Get rid of pagination_bar sub in C4::Output
aqbasket.booksellerinvoicenumber is not used and should be removed
We should consistently `use Modern::Perl` in all modules
24007
MR
Koha::Account::non_issues_charges is badly named
Rounding code should be moved to a Koha module so code can be centralised
C4::Koha::NormalizeISBN should be moved to Koha::Normalize::ISBN
Does Koha::Database->schema always return a connected object?
We should factor out shared code from Auth_with_cas.pm and Auth_with_shibboleth.pm
We should really leverage the power of DBIx::Class::ResultSetColumn in Koha::Objects
Are we safe to remove `misc/maintenance/fix_accountlines_date.pl`
LostItem should be called from ModItem
Discrepancy between db rev 16.06.00.002 and installer for borrowers.updated_on
Add a Modular Koha Core design
Koha::Patron->do_check_for_previous_checkout should take Koha::Item as parameter
Add columns to statistics table that can be mapped to patron information by the library
Make output_with_http_headers support CSV output
Consolidate the checks to see if plugins are enabled in Koha::Plugin::new
11836
GC
population of template variables used by cat-toolbar.inc should be centralized
11837
GC
generation of template-variables used by members-toolbar.inc should be centralized
Move C4::Members::patronflags to the Koha namespace - part 2
Are temporary CGI uploads removed too late under Plack?
18381
GC
Return values inconsistent between Koha::Object->delete and its plural form
17448
GC
Add custom strftime() format for dateformat
17130
GC
DEBUG mode should be enabled via koha-conf
16901
TCA
Allow C4::Context->interface to be set to 'sco'
16626
GC
downloaded files should have descriptive names including timestamps.
16312
OK
Koha::Logger overload configuration for command line scripts verbosity levels
11422
GC
LIMIT $offset, $limit not compatible with PostgreSQL
15153
GC
Koha::DateUtils sub dt_from_string has two different functions
8149
GC
Deleting Records/Biblios Omnibus
42942
DC
Add OpenLDAP integration so Koha can be an LDAP backend
Webhook option instead of SMTP output.
Assigned 53
29888
TCA
->search_limited logic breaks searches
40945
JD
"Aborted connection" warnings in tests output
19772
AA
Wrong success message if CHECKOUT_NOTE is not defined
31194
JD
Koha-to-MARC mappings not always invalidated in cache
4330
CC
Copyright statements out of date
31195
JD
"Tied interface" from Koha::Cache is not used
24087
JD
item's subfields (952|995) must be displayed on tab 10
30113
JD
kohaTable add_filters option should be renamed to show_filter_row
29412
MDR
Fix uncertain years before 1000 AD in copyrightdate
Bug report for testing sandboxes (1/2)
Bug report for testing sandboxes (2/2)
25790
AN
[OMNIBUS] warnings removal
20813
LS
Revamp user permissions system
36094
DC
svc/authentication needs adjustments
42375
KMH
Add OpenTelemetry support to Koha
41621
TCA
Use Koha::CSV everywhere [UMBRELLA]
38706
LS
Replace UserJS system preference with snippets
42959
MR
Migrate staff interface functionality from CGI controller + Template Toolkit to REST API + Vue.js
42387
TCA
[UMBRELLA] Extend Koha::Availability pattern to checkout and hold operations
38195
MR
EDI/Edifact classes should use Koha::Objects instead of plain DBIC
42179
BP
Use Microsoft Graph for Sending Messages
42662
JD
[OMNIBUS] Remove C4::Context circular dependencies
17677
JD
[Omnibus] Move C4::Circulation code to the Koha namespace
41086
LG
Add a helper method to C4/Scrubber to be able to pass allowed tags back to the template
42382
BW
Remove DelContract from C4::Contracts.pm
42381
BW
Remove ModContract from C4::Contracts.pm
42379
BW
Remove AddContract from C4::Contracts.pm
42380
BW
Remove GetContract from C4::Contracts.pm
42378
BW
Remove GetContracts from C4::Contracts.pm
42352
LS
Add ability to do multi level breadcrumbs in wrapper-staff-tool-plugin.inc
42334
TCA
Introduce Koha::Calendar::DateCalculator for date arithmetic
23990
BW
Move C4::Suggestions code to the Koha namespace
41613
JO
Koha needs a new type of location/sublocation for rooms, lobby, studio etc
41634
MR
We should add podtidy to our tidying
39538
LS
Replace UserCSS system preference with snippets
Koha::Patron->is_superlibrarian is not optimal
17728
JD
[Omnibus] Move C4::Reserves code to the Koha namespace
37895
JD
Update skeleton.pl to show an example use of coding guideline SQL14
Remove duplicate days_forward method from Koha::Calendar
14745
HECA
RDA: RDA Registry metadata
38265
LS
Make biblio-title ability to be generated with or without html tags
27340
TCA
We should introduce Koha::PickupLocation(s)
34324
MR
Merge OPACProblemReport and CatalogConcern functions
16846
JD
Move C4::Members to the Koha namespace
17628
JD
Move bibliographic related code to Koha::Biblio
35781
JD
[omnibus] Remove unneeded Koha::Template::Plugin methods
22161
MR
Move C4::Circulation::transferbook and C4::Items::ModItemTransfer to Koha namespace
22457
TCA
OpacHiddenItemsExceptions should be moved to a category attribute
18252
JD
Move C4::Items code to the Koha namespace
19111
MDR
Do not mess with kohafield in authority_subfield_structure
33636
MDR
Move C4::Stats to Koha namespace
25252
DR
Add script to export bib data to CollectionHQ
14645
TCA
Koha::RecordProcessor should deal with Koha::MetadataRecord objects
In discussion 70
encryption_key config entry not generated when upgrading
Item type database fields should not be nullable
Never use "ON UPDATE SET NULL"
34338
JD
Cardnumbers should be trimmed before insertion
33905
TCA
A patron's username and cardnumber must each not be used by another patron in any permutation
42534
DC
wrapper-staff-tool-plugin.inc interferes with js and includes in template files
koha-common runtime dependency on yarn
35624
TCA
Plugin tasks 'type' issue with plugins
16156
JD
Do not ensure the dbh is connected all the time
29633
JD
Unecessary GetMarcBiblio call in Koha::UI::Form::Builder::Item (?)
28161
TCA
Allow Koha::Patron->extended_attributes be passed a library_id
There is no ILL requests history
40508
DC
Set maxlength in marc21_framework_DEFAULT.yml
We should have a background queue for each job type
Fields with only one $9 subfield are removed
41506
MH
Should we remove RabbitMQ?
Centralize code from workers
42663
JD
Koha::Context must be object-oriented designed
41975
JD
Remove C4::Context from C4::Log
41974
JD
Remove C4::Context from Koha::Object
41897
JD
Remove C4::Context from Koha::Objects::Limit::Library
Bareword "C4::Context::only_my_library" not allowed
Remove C4::Context from Koha::Plugins's BEGIN block
41892
JD
Remove C4::Context from C4::Auth's BEGIN block
32791
DC
Log4perl configuration files need a tool for updating on package upgrade
16329
OK
Koha::Logger->sql(). Unified interface to log SQL statements OR use DBIx::Log4perl
Standardize "select all" behaviours
VueJS: We should abandon type="vendor" resource attribute
41895
JD
Introduce Koha::Context::UserEnv to reduce circ deps problem
41972
JD
Move C4::Context->interface to Koha::Context::Interface
42523
JD
Login loses query parameters
39109
DC
Add throttling / rate limiting to Koha
41891
JD
Move C4::Context->preferences to a separate package
41746
JD
Add a dev script to insert a new syspref
36484
AB
Even with RabbitMQ enabled, we should should poll the database for update_elastic_index jobs at koha-es-indexer startup
Add the ability to display the error that caused a 500
27334
KMH
Add Template Toolkit support to news items
35716
PA
Duplicated assets in both koha-tmpl/intra-tmpl and koha-tmpl/opac-tmpl
39845
TCA
Add Koha::Acquisition::Orders->unreceived_totals
40554
JD
Improve performance using a cache for AV descriptions
Koha::Cache changes not passed to all plack workers with in-memory caching.
Pop-up window sizes are not consistent
Investigate memory footprint of the different dependencies
Preload core libraries to speed up worker startup and reduce memory usage
37556
RB
Add project folders of popular IDEs to .gitignore
Adding hooks to the plugin system
37952
JD
Store datetime DB columns in UTC
31330
JD
Branchcode used for routing preview can be wrong
30463
JD
Authority records are indexed on the fly
Link recall to checkout
Standardize plugin hooks
36419
TCA
Ambiguous return value in GetPlugins
31729
TK
Enable automatic filesystem refresh in Plack
Authorised value's descriptions should not be NULL
25112
LT
Koha::CirculationRules->set_rules should handle scopes per rule
Why do we send jobs params to the broker
koha-worker.service need update for background job queues
Abstract intranet-tmpl/includes/*-search.inc
15341
JD
Performance - Retrieve all sysprefs at once
27880
JM
Store each database migrations state in database
14012
OK
Koha::FTP, a happy FTP-library to supercharge FTP operations.
_on or _date for DB date columns?
Move C4 and Koha to lib
z3950_responder.pl is running with all the modules in RAM
26509
TCA
Add Koha::Items->safe_delete
Add a way to mark messages as 'seen' in Koha::Object
16140
JW
Only clear L1 cache when needed
Name our exceptions consistently
Use koha-conf.xml modification time as cache key
18003
GC
Should deletedborrowers.borrowernumber be a primary key?
Failed QA 54
37035
KMH
Merging authorities triggers rebuilding holds for all affected records when RealTimeHoldsQueue is enabled
43102
KMH
Koha::Items filters inline every itemnumber of the set as an OR chain
43041
KMH
Uncaught exceptions and DBI errors are not timestamped in plack-error.log
42540
KMH
Trap and throw elastic too_many_clauses errors instead of just dying
36304
NVO
Add ability to have an external list of trusted proxies, for services such as CloudFlare.
Koha::Objects::Limit::Library->get_library_limits can return undef
33052
KMH
Add a message for from_local_hold_group override
12022
KMH
Independent branches does not isolate pending and approved comments by branch.
29008
FS
Warning when checking Koha version in plugins
36178
KMH
Add index for status on message queue table
29324
PO
Some files still don't have the correct license statement
18339
TCA
Koha::Patron::Attribute ->opac_editable and ->opac_display should be removed
10446
KMH
System preference maxoutstanding is poorly named
42092
FS
Remove space in use of qw
42386
TCA
Unify hold availability checks into Koha::Availability pattern
43463
LE
Add sip port to system information page
26129
TCA
Add a new 'configurations' table
39882
LG
Add phone number masking option
41625
TCA
Use Koha::CSV for label exports
42047
DC
Allow per-instance overrides for C4::Scrubber
41626
TCA
Use Koha::CSV for report exports
42873
MR
Add a faster MARCXML decoder (MARC::File::XML::Fast) for reading records
cleanup_database.pl self-registration options are not configurable
41767
AJ
Plack backlog parameter
41774
KMH
Add ability to read encryption key from environment variable
20930
EM
Validate and cache parsed YAML/JSON type system preferences
33691
KMH
Improve query for do_check_for_previous_checkout
35625
MR
Add support for system flag to additional fields
Authorised values: Add a few missing foreign keys
21934
NC
Allow user to specify name for 'Shibboleth'
13705
AA
Move indexation subs in C4::ZebraIndex
37722
NC
Add Koha Objects for Koha Holidays
35117
MR
get_marc_components and get_marc_volumes should be more consistent
Move C4::Biblio::GetMarcSubjects to Koha namespace
Make issue and old_issue prefetchable from Koha::Account::Line
20657
TCA
Globally enable PRE_CHOMP and POST_CHOMP in Template Toolkit configuration
30926
JD
Remove unnecessary use statements
30182
TCA
background_jobs.status should be an ENUM
Default Apache config should contain CGIPassAuth directive
16650
KMH
Add script to clear report caches manually
18606
JM
Move rotating collections code to Koha::Object
29742
TCA
Make deletemem.pl use Koha::Patron->safe_to_delete
27481
C
Use Modern::Perl in cataloguing unimarc plugins
27483
E
Use Modern::Perl in other misc scripts
Generate Koha::Patron::Modification verification_token in ->new
11887
KMH
Add script for collections agency reports
16413
JD
Prototype for GetLatestAutoRenewDate and GetSoonestRenewDate should be changed
16306
OK
C4::Context->setCommandlineEnvironment() convenience function
Throw exceptions from Koha::AuthUtils::is_password_valid
Move SQL code from aqplan.pl administrative script into Koha directory perl modules
overduerules table needs restructuring to allow future extension
Koha::File - wrapper/utility routines for file handling
16302
OK
Koha::Logger performance tests
11005
OK
Centralize the UseBranchTransferLimits-check under one function
Patch doesn't apply 28
42468
KMH
Add systemd support for OCLC Connexion daemon
42046
LG
Bug 30331 database update is not idempotent
Code to select patrons to purge needs to be centralized (use of filter_by)
Query used in Koha::Biblio->get_marc_host is incorrect
42358
NC
Add support to Plack::Middleware::SizeLimit
36702
TCA
Background Jobs: Add option to retry failed jobs with a max tries parameter
42504
TCA
Remove totalissues from stored MARC, embed at index time
42517
KMH
Allow option to set StrictHostKeyChecking=accept-new for SFTP
43209
KMH
Add X-Content-Type-Options security headers
39728
BW
Remove GetUnprocessedSuggestions from C4/Suggestions.pm
23849
AS
Update the list of system preferences to share with Hea
32092
DG
Improve circulation rules cache utilization
40813
KMH
Add ability to embed page start and end timing
39730
BW
Remove DelSuggestions from C4/Suggestions.pm
31380
DC
Build Mojolicious controller for running Koha plugins
27503
JO
Rename system preference virtualshelves to OpacLists
use Modern::Perl in t (test) perl scripts
32476
DG
Add caching for relatively expensive patron methods
25260
TCA
Merge 'reserves' and 'old_reserves' into a new 'holds' table
26625
JM
Add ability to configure mojolicious applications
38224
TCA
Move populate_empty_callnumbers logic into Koha::Biblio for reusability
18595
LT
Move C4::Members::Messaging to Koha namespace
36668
KMH
Excessive whitespace/newlines in circulation rules editor may cause slow loads with large rules sets
20630
JM
An attempt at multitenancy with Mojolicious
18768
KMH
Add the ability to authenticate patrons against other ILSs via SIP2
Standardize our swagger yaml spec files
15969
KMH
Allow use of Template Toolkit syntax for Phone Notices
20447
EM
Add support for MARC holdings records
Needs signoff 31
36369
TCA
Make APIClient be more useful
43059
TCA
Remove C4::Biblio::GetMarcPrice in favor of MetadataExtractor
43058
TCA
Remove C4::Items::get_hostitemnumbers_of in favor of Koha::Biblio->host_items
43729
TCA
Remove STOMP/RabbitMQ background jobs support
43666
MR
Allow plugins to register additional Single Table Inheritance subclasses
43663
MR
Add Koha::Objects::Mixin::SingleTableInheritance for polymorphic subclass dispatch
40596
MR
Migrate CAS configuration into Identity Providers
38310
JD
DataTables - Use Select2 for column filters
43581
MR
Replace the legacy plugin management pages with a Vue Installed plugins page
35837
MR
Add a fully fledged plugin store to Koha
43506
MR
Add a way to copy opening hours from one library to another
43492
MR
Normalize library opening hours into a dedicated library_opening_hours table
43493
MR
Link Koha::Library opening hours with the library Calendar
43480
JD
Remove BEGIN block from C4::Tags
43388
MDR
Create Koha::Old::Authority objects
43306
TCA
Migrate catalogue/detail.tt to use api-client.js for bundled items
43305
TCA
Migrate transfer_limits.tt to use api-client.js
43278
TCA
Add Koha::CsvProfile->parsed_fields and profile-aware CSV export
Add Koha::CSV::Overdue for overdue exports
41631
TCA
Use Koha::CSV for lost items exports
Use Koha::CSV for inventory exports
Use Koha::CSV for serials exports
43166
KMH
Add optional Carp::Always styling behavior to Koha
43179
LG
Plugin wrapper should have option for no aside
38338
OH
Add support for XOAUTH2 authentication for SMTP servers
42921
DC
Add Perl::Critic as a dependency
42228
JD
Add config files for Hypnotoad
42491
DC
Debian daily cronjob with cleanup_database.pl should only delete old sessions
39732
BW
Remove MarcRecordFromNewSuggestion from C4/Suggestions.pm
Allow table sorting on extended_attributes
42028
M
DB backup improvements: use ZSTD compression and tweak default settings
Signed off 32
43777
MR
Koha::Biblio::Metadata->record should repair recoverable MARCXML faults on read
43723
JD
Superlibrarian is bit 0 of borrowers.flag
42882
KMH
Add option to disable setting time and permissions for File Transports
43438
MB
All Vue datatables export the actions column
42849
KMH
Retry failed Cypress specs in CI to reduce failures from flaky tests
39160
DC
Mojolicious::Plugin::OAuth2 is loaded suboptimally
42949
KMH
Add configurable complexity score header for WAF rate limiting
43525
LG
Batch patron deletion and anonymization should be a background job
42870
DC
Make email transports pluggable
43077
TCA
Add encode_claims/decode_claims to Koha::Token
Use Koha::CSV for acquisition exports
43269
TCA
Add cached description_for() class methods to Koha::Libraries, Koha::ItemTypes, Koha::Patron::Categories
31457
TCA
Move Koha::Patron::Debarment into Koha::Object based classes
43391
JD
Add POD to all private subroutines/methods
36350
DG
Add subclass of Koha::Objects that provides caching for find and search
41630
TCA
Use Koha::CSV for action log exports
41622
TCA
Make patron export use Koha::CSV
42922
DC
Require Authen::SASL >= 2.18
41620
TCA
Make itemsearch.pl use Koha::CSV for CSV generation
43258
TCA
Add a centralized IP range matching helper
36682
PD
Replace yarn with pnpm
42923
DC
Require Email::Sender 2.601+ (for Email::Sender::Transport::SMTP)
43145
TCA
Add Koha::Health::BackgroundJobs health check
42569
TCA
Refactor Koha::Biblio->get_coins to use MetadataExtractor
42563
TCA
Implement Koha::Biblio->host_items using MetadataExtractor
38259
JD
Adjust DT's lengthMenu option
41310
SA
Add remote_ip (REMOTE_ADDR) to action_logs table to improve security auditing
41248
KMH
Add ability for real time holds queue background jobs to skip duplicate jobs
Sort build, testing tools into devDependencies in package.json
42109
KMH
OAI additional configuration should be moved to the interface
40237
MR
Update reserves/request.pl to use Koha::Patron->can_place_holds
23898
AS
New data to share on Hea
Passed QA 7
43523
LG
Initial patron lookup in cleanborrowers.pl is slow
42842
TCA
Remove materialized patron data from tmp_holdsqueue
42867
NC
Add debugging option for the holds queue
42077
MH
Move RabbitMQ from mandatory to optional and make SQL polling the default
43307
TCA
Migrate cataloguing/moveitem.tt to use api-client.js
43516
JO
Harden the frontend HttpClient and add a shared API error formatter
42425
TCA
Add checkin_id FK to accountlines to link fee adjustments to checkin events
Pushed to main 22
43330
LE
C4::Tags fails to compile when TagsExternalDictionary is configured
40901
TCA
koha-common.service bundles all sub-daemons under one systemd service instead of per-instance services
36549
NC
es_indexer_daemon.pl leaks memory
42993
MR
Koha::Edifact::Transport should log transport failures via Koha::Logger
43092
MR
Koha::File::Transport::change_directory(undef) means three different things across FTP, SFTP and Local
40663
TCA
Package GD::Barcode::QRcode@2.01
42924
DC
Restore default MaxAge for CSRF token
43513
LO
Add .mailmap entries for Lawrence O'Regan-Lloyd
42314
TCA
Add `Koha::Library->calendar`
40788
LG
Add a custom event to Vue/Vue Islands when the Vue is loaded
42294
JD
Tidy all script tags - patron searches
42094
JD
Tidy all script tags (except value_builder)
42295
JD
Tidy all script tags - includes staff
41674
OL
Add template plugin for linking to system preferences based on user permission
39337
OR
Use SQL field to apply OpacSuppression in OAI-PMH
42385
TCA
Extract _GetCircControlBranch into Koha::Policy::Circulation
42310
TCA
Move calendar CRUD to Koha::Calendar::* with normalized schema
43202
DC
Improve discoverability of ERM system preferences
35142
TCA
Koha::Util::oclc_number should be removed in favor of Koha::Biblio::Metadata::Extractor
42567
TCA
Remove C4::Koha::GetNormalizedEAN in favor of MetadataExtractor
42566
TCA
Remove C4::Koha::GetNormalizedUPC in favor of MetadataExtractor
42553
MR
preferences.pl: Allow 'multiple_sortable' to use 'authval' source for dynamic choices
Needs documenting 20
41355
MB
No 'show' view for record sources
37020
TK
bulkmarcimport gets killed when inserting large files
41404
NC
No need to check related guarantor/guarantee charges when the limits are not set
42085
MR
Permissions should be logged when a patron is deleted
40079
MR
C4::Scrubber "note" profile should allow for list (ul, ol, li, dl, dt, and dd) HTML tags
39172
LS
Merging records no longer compares side by side
42175
JD
Running under Mojo is broken in k.t.d
41599
DC
reports/acquisitions_stats.pl calls output_error incorrectly
41043
FS
Use op 'add_form' and 'edit_form' instead of 'add' and 'edit'
39214
KMH
Mock preferences in t/db_dependent/Koha/Session.t for subtest 'test session driver'
39623
DC
"make install" re-runs "make" process unnecessarily
39734
FS
Obsolete call of system preference IntranetmainUserblock
36229
DC
koha-run-backups should be first daily job
38624
JD
browserid_include.js no longer used
20638
TCA
Add audit logging for API key actions
38365
LT
Add Content-Security-Policy HTTP header to HTML responses
35761
JD
Add an administration editor for FTP and SFTP servers
39906
DC
Add bot challenge (in Apache layer)
38838
JD
optgroup construct needs cleaning in the reports module
38489
MR
EDI should be updated to use the new FTP/SFTP Servers management page