Important
OneDrive Client for Linux v2.5.12 increments the item database version from 18 to 19. This change is intentional and ensures that existing synchronisation tracking state is rebuilt using the corrected database reconciliation and object validation logic introduced throughout the v2.5.12 development cycle.
When upgrading from v2.5.11 or an earlier release, the client will automatically recreate the item database tables and perform a full re-validation of your synchronisation state against both local and online data. Depending on the number of files, folders and shared objects associated with your OneDrive account, this process may take an extended period of time.
This database rebuild is expected behaviour and is designed to establish a consistent synchronisation baseline using the latest reliability improvements. Please allow the initial synchronisation to complete.
Caution
OneDrive Client for Linux v2.5.x introduces significant changes and is not backwards compatible with v2.4.x. Please ensure that you do not use both v2.5.x and v2.4.x clients with the same Microsoft OneDrive account simultaneously - whether on the same or different systems. If you upgrade to v2.5.x, all your clients must be updated to this version. However, you can revert to v2.4.x at any time if necessary, but do not run different versions at the same time on any system.
Caution
The application was completely re-written in version 2.5.x, leading to changes in how many features and functions operate compared to version 2.4.x. It is crucial to read the updated documentation thoroughly.
Feature Requests
- Implement Feature Request: Added support for OpenBSD (#3765)
- Implement Feature Request: Added
notify_monitor_startconfiguration option to control monitor startup notifications (#3779) - Implement Feature Request: Added
disable_time_checkconfiguration option and--disable-time-checkcommand-line option to bypass system-time validation when required (#3836) - Implement Feature Request: Added support for selecting an alternative browser during graphical authentication and reauthentication (#3848)
- Implement Feature Request: Enhanced
--display-sync-statusoutput with separate upload and download metrics and improved synchronisation reporting (#3844) - Implement Feature Request: Added graphical authentication sponsorship messaging to improve project sponsorship visibility (#3867, #3904)
- Implement Feature Request: Added
monitor_statusconfiguration option to enable monitor runtime telemetry in JSON format for external applications and integrations (#3896) - Implement Feature Request: Added OAuth
statevalidation to the local browser authentication callback to improve authentication security (#3911) - Implement Feature Request: Added
security.mdto document project security reporting procedures (#3912)
Bug Fixes
- Fix Bug: Fix broken symbolic links causing application crashes when resuming uploads (#3774)
- Fix Bug: Fix hardcoded Microsoft Graph endpoint usage during SharePoint drive searches, including support for non-default cloud environments (#3773)
- Fix Bug: Fix shutdown signal handling incorrectly returning a successful exit status after a SIGSEGV (#3780)
- Fix Bug: Fix libcurl CA certificate read failures unexpectedly terminating synchronisation (#3801)
- Fix Bug: Fix upload retry handling by allowing libcurl to rewind the request body after a failed transfer (#3792)
- Fix Bug: Fix incorrect QuickXorHash calculation when upload fragments are retransmitted (#3793)
- Fix Bug: Fix monitor mode missing remote changes and deletions due to incomplete filesystem observation and reconciliation (#3794)
- Fix Bug: Fix application handling of insufficient disk space during libcurl initialisation (#3808)
- Fix Bug: Fix incorrect collision filename formatting when moving files into the local Recycle Bin (#3807)
- Fix Bug: Fix build version detection when compiling from a Git worktree (#3804)
- Fix Bug: Fix download response handling to prevent failed downloads from being treated as successful or producing corrupted local files (#3812)
- Fix Bug: Fix WebSocket retry handling that could crash monitor mode when no message-producing worker was active (#3815)
- Fix Bug: Fix OAuth access token exposure in
--debug-httpslogging output (#3838) - Fix Bug: Fix
safeBackupreplacement handling to preserve existing files during replacement operations (#3826) - Fix Bug: Fix local file renames to unsupported online filenames incorrectly impacting the existing online copy (#3833)
- Fix Bug: Fix local directory move reconciliation causing repeated HTTP 412 precondition failures (#3849)
- Fix Bug: Fix temporary-file hard-link finalisation not being detected correctly during monitor-mode synchronisation (#3841)
- Fix Bug: Fix local Recycle Bin move failures incorrectly removing associated database records (#3845)
- Fix Bug: Fix
check_nosynchandling for directories already recorded in the synchronisation database (#3846) - Fix Bug: Fix
skip_dirrules beginning with/incorrectly matching directories at unrelated filesystem depths (#3851) - Fix Bug: Fix concurrent downloads of the same OneDrive item sharing a
.partialfile and causing incorrect download failures (#3855) - Fix Bug: Fix upload session recovery following HTTP 403 and HTTP 404 responses (#3860)
- Fix Bug: Fix resumed upload sessions not validating whether the local source file has changed (#3863)
- Fix Bug: Fix graphical authentication incorrectly reporting success before OAuth token redemption completes (#3866)
- Fix Bug: Fix timestamp-preserving local file replacements incorrectly triggering
safeBackupand unnecessary replacement uploads (#3869) - Fix Bug: Fix item database child traversal modifying a dynamic array during iteration (#3890)
- Fix Bug: Fix configured
drive_idhandling when accessing SharePoint resources using Microsoft national cloud endpoints (#3898) - Fix Bug: Fix Microsoft Identity Broker detection when the broker is available through automatic D-Bus activation but is not already running (#3916)
- Fix Bug: Fix systemd user service installation paths on RHEL-based distributions (#3917)
- Fix Bug: Fix
skip_fileandskip_dirpatterns incorrectly interpreting valid filename and directory characters as regular-expression operators, resulting in incorrect exclusions, falsesync_listshadowing errors and potential application startup failures. Preserve existing wildcard semantics and correct sync-root-relativeskip_filematching (#3922)
Other Changes | Fixes
- Incremented the item database version from 18 to 19 to rebuild existing synchronisation tracking state using the corrected reconciliation and object validation logic. Existing installations will recreate the item database tables on upgrade (#3919)
- Improved Microsoft Graph delta processing performance by batching database transactions (#3791)
- Improved WebSocket notification handling and recovery from transient connection failures (#3809)
- Improved long-running application memory management and resource cleanup (#3832)
- Improved timestamp validation and authority handling between the local filesystem and Microsoft OneDrive (#3836, #3837, #3839)
- Improved HTTP error reporting during file downloads and suppressed expected HTTP 404 messages during timestamp reconciliation (#3856, #3857)
- Improved upload retry handling for transient network failures and upload fragment retries (#3864)
- Improved database validation to detect structural inconsistencies and require a resync instead of terminating unexpectedly (#3873)
- Improved systemd service behaviour to prevent startup dependencies from unnecessarily blocking the default target (#3874)
- Improved graphical authentication messaging by limiting large-drive warnings to once per application run (#3887)
- Optimised Full Scan database access and monitor-loop memory reclamation to reduce resource usage during long-running operation (#3888)
- Improved handling of recoverable HTTP 429 responses to reduce unnecessary warning output during normal retry operations (#3900)
- Improved modified-file upload handling to recover from HTTP 412 precondition failures caused by concurrent online changes (#3905)
- Updated mandatory resync exit status from 126 to 78 for more appropriate systemd service handling (#3799)
- Updated compiler detection and build guidance to prefer distribution-provided LDC toolchains while retaining alternative D compiler support (#3899)
- Clarified guidance for large OneDrive accounts and Microsoft item-count recommendations, distinguishing Microsoft's expanded official-client support from the capabilities and validated performance of this client. Retained the existing large-account advisory threshold pending further validation (#3924)
- Updated CI E2E testing with expanded synchronisation coverage, more realistic test data, additional regression scenarios and improved test reliability (#3878, #3889, #3902)
- Updated CI E2E test cleanup to improve isolation and reliability between test runs (#3918)
- Expanded TC0011 and TC0012 E2E filtering regression coverage to 70 scenarios per account configuration, validating upload and download behaviour, literal special characters, path anchoring, wildcard handling, configuration changes and
sync_listinteractions (#3922) - Updated Docker build environments, dependencies and container documentation to support current distributions and toolchains (#3778, #3906)
- Updated systemd usage documentation and service management guidance (#3915)
- Updated Microsoft Intune authentication documentation and validation guidance (#3910)
- Updated application help output, configuration documentation, man page and shell completions to align with current functionality (#3903)
- Updated client architecture documentation (#3870)
- Updated supported and unsupported platform documentation (#3877)
- Updated project sponsorship information (#3907)
Known Issues
- Refer to known-issues.md
Outstanding Issues
- Refer to Open Issues