The Protocol Update (v0.9.0)
Highlights
- Multi-protocol support: OpenSCP now expands beyond SFTP with protocol-aware support for SCP, FTP, FTPS, and WebDAV, making the app usable across a much wider range of remote servers and workflows.
- Protocol-aware core architecture: the project now includes a protocol model, capability descriptors, and a protocol-specific client factory so connection logic, transfers, and UI behavior can adapt cleanly to each backend.
- First-class SCP support: SCP is now handled as a real transfer mode, including explicit mode selection, transfer-only workflow handling, and path-based operations for environments where remote listing is not available.
- FTP and FTPS integration: dedicated FTP and FTPS backends were added, including remote directory listing with MLSD/LIST fallback, TLS-related settings, and protocol-aware connection handling.
- WebDAV integration: OpenSCP now supports WebDAV through a dedicated backend built around libcurl and tinyxml2, with scheme, TLS, and persistence support wired into the app.
- Protocol-driven connection experience: connection dialogs, saved sites, quick connect, and remote actions now expose only the settings and actions that apply to the selected protocol, making the UI clearer and safer.
- Improved terminal workflow: Open in terminal was expanded with interactive login support, safer launch behavior, and better fallback handling when a direct terminal integration path is unavailable.
- Usability improvements across the UI: this release adds Home navigation, history dialog support, and dedicated shortcut settings to improve day-to-day remote navigation and workflow control.
- Expanded language support: French was added to the application, while Spanish and Portuguese translations were extended to cover the new protocol-aware flows, settings, and validation messages.
- Stronger testing and dependency coverage: CI, tests, and packaging were extended to cover the new protocol stack, including backend factories, capability logic, FTP/FTPS/WebDAV behavior, and required dependency paths.
Fixes
- Safer FTP and FTPS connection handling: FTP probe behavior now fails cleanly on curl errors and reports response codes more reliably, while HTTP CONNECT tunneling and proxy validation were hardened for these transports.
- Cleaner proxy configuration behavior: proxy defaults are now normalized more carefully, and persisted proxy settings are sanitized to reduce invalid or inconsistent runtime states.
- Protocol-aware action safety: UI actions that do not apply to a given protocol, such as remote permissions in unsupported cases, are now hidden instead of remaining exposed incorrectly.
- More reliable SCP auto behavior: SCP auto mode now falls back to SFTP when runtime read or write operations fail, improving resilience in mixed or restricted environments.
- Localization cleanup: obsolete legacy translation entries were removed and Spanish/Portuguese catalogs were synchronized and polished for better consistency.
- Small UI corrections: local toolbar behavior was refined, including the placement of Home and Open folder actions, and backend-coupled helper declarations were restored more safely where needed.
Upgrade Notes
- This release introduces a breaking configuration rename: build flags, runtime environment variables, CI variables, integration test variables, and related documentation now use the
OPENSCP_*prefix. - If you maintain local scripts, CI jobs, packaging automation, or integration tests, update any remaining references to legacy
OPEN_SCP_*names. - FTPS and WebDAV support add dependency considerations around libcurl, tinyxml2, and protocol-specific TLS behavior, so packagers and contributors should review the updated build and packaging requirements.
- Users upgrading existing saved workflows may notice new protocol-specific connection settings, since protocol selection and capability-aware options are now integrated into connection dialogs, saved sites, and global defaults.
- Terminal integration behavior was updated to support interactive login and safer fallback flows, so users relying on previous Open in terminal assumptions should review the updated settings and documentation.
Full Changelog
See the full commit-by-commit history here: v0.8.1...v0.9.0