Back to bug 40811

Who When What Removed Added
tomascohen 2025-09-15 15:23:15 UTC Depends on 38115
CC jake.deery, martin.renvoize, tomascohen
Status NEW In Discussion
dcook 2025-09-15 23:11:15 UTC CC dcook
martin.renvoize 2025-09-24 08:40:59 UTC Status In Discussion Needs Signoff
martin.renvoize 2025-09-24 08:41:03 UTC Assignee koha-bugs martin.renvoize
kyle 2025-10-16 19:25:21 UTC Blocks 41020
kyle 2025-10-16 19:31:20 UTC Attachment #186858 Attachment is obsolete 0 1
kyle 2025-10-16 19:31:40 UTC CC kyle
Status Needs Signoff Signed Off
martin.renvoize 2025-10-20 11:38:35 UTC Attachment #188035 Attachment is obsolete 0 1
martin.renvoize 2025-10-20 11:44:47 UTC QA Contact testopia tomascohen
martin.renvoize 2025-10-21 10:58:59 UTC Blocks 33308
martin.renvoize 2025-10-21 10:59:19 UTC Blocks 38629
tomascohen 2025-12-12 13:01:38 UTC Patch complexity --- Medium patch
Status Signed Off Passed QA
tomascohen 2025-12-12 13:01:40 UTC Attachment #188152 Attachment is obsolete 0 1
tomascohen 2025-12-12 13:01:42 UTC Attachment #188313 Attachment is obsolete 0 1
lucas 2026-01-21 22:29:44 UTC Version(s) released in 26.05.00
Status Passed QA Pushed to main
lucas 2026-01-21 22:30:43 UTC Keywords release-notes-needed
CC lucas
martin.renvoize 2026-02-10 14:13:52 UTC Text to go in the release notes maintained

# Explicit control when needed
$transport->change_directory('/work/');
$transport->upload_file($local, 'file1.txt');
$transport->upload_file($local operations safe for concurrent usage

# Simple one-line operations
$transport->upload_file($local, $remote, { path => '/custom/' });
$transport->download_file($remote developer experience without affecting end-user functionality. This enhancement introduces a modernized dual API design for Koha's file transport system, making it easier for developers to work with FTP, SFTP, 'file2.txt');

Standardized Architecture
- Consistent template method pattern across all transport types (SFTP, FTP, $local);
$transport->list_files({ path => '/incoming/' });

Traditional API (Still Supported)
- Manual connection and directory management when needed
- Ideal for multiple operations in the same directory
- Full backward compatibility, and local file operations.

Key Improvements

Simplified API (Recommended)
- Automatic connection management - no need for manual connect() / disconnect() calls
- Per-operation directory control via options hashref
- Stateless, Local)
- Clear separation between public API and protocol-specific implementation
- Improved authentication handling with fixes for password-less connections

This is an internal API enhancement that improves code maintainability and
martin.renvoize 2026-02-10 14:13:58 UTC Keywords release-notes-needed
martin.renvoize 2026-03-16 10:48:56 UTC Status Pushed to main Needs documenting

Back to bug 40811