Release files for 2.5.10 (#3629)

* Release files for 2.5.10
This commit is contained in:
abraunegg 2026-01-30 21:04:54 +11:00 committed by GitHub
commit 68f379c629
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 127 additions and 41 deletions

View file

@ -2,6 +2,55 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 2.5.10 - 2026-01-30
### Added
* Implement Feature Request: Add configuration option 'disable_version_check' (#3530)
* Implement Feature Request: Add automatic debug logging output redaction (#3549)
### Changed
* Improve --resync warning prompt for clarity and safer operation (#3562)
* Updated Dockerfiles to support newer distributions and associated components (#3565)
* FreeBSD: Select inotify type (libc or libnotify) based on FreeBSD version (#3579)
* Update that --force and --force-sync cannot be used with --resync (#3593)
### Fixed
* Fix Bug: Fix timestamp and hash evaluation to avoid unnecessary file version creation online (#3526)
* Fix Bug: Fix that websocket do not work with Sharepoint libraries (#3533)
* Fix Bug: Fix that large files fail to download due operational timeout being exceeded (#3541)
* Fix Bug: Fix hash functions read efficiency to support 'on-demand' development work (#3544)
* Fix Bug: Fix that safeBackup crashes when attempting backing up a non-existent local path (#3545)
* Fix Bug: Fix to that the application only performs safeBackup() on deleted items only when a hash change is detected (#3546)
* Fix Bug: Prevent mis-configuration where 'recycle_bin_path' is inside 'sync_dir' (#3552)
* Fix Bug: Harden logging initialisation: fall back to home directory when log_dir is not writeable (#3555)
* Fix Bug: Ensure mkdirRecurse() is correctly wrapped in try block (#3566)
* Fix Bug: Fix that 'remove_source_files' does not remove the source file when the file already exists in OneDrive (#3572)
* Fix Bug: Enhance displayFileSystemErrorMessage() to include details of the actual path (#3574)
* Fix Bug: Enhance downloadFileItem() to ensure greater clarity on download failures (#3575)
* Fix Bug: Prevent malformed 'skip_dir' / 'skip_file' rules when using multiple config entries (#3576)
* Fix Bug: Detect and prevent 'skip_dir' / 'skip_file' rules shadowing 'sync_list' inclusions (#3577)
* Fix Bug: Fix 'skip_dir' and 'skip_file' shadow detection for rooted 'sync_list' paths (#3578)
* Fix Bug: Fix 'skip_dir' directory exclusion by normalising input paths before matching (#3580)
* Fix Bug: Fix testInternetReachability() function to ensure same curl options used in a consistent manner (#3581)
* Fix Bug: Fix performPermanentDelete() to ensure zero content length is set (#3585)
* Fix Bug: Fix safeRemove() to retry on EINTR / EBUSY filesystem responses to support 'on-demand' development work (#3586)
* Fix Bug: Fix safeRename() to retry on EINTR / EBUSY filesystem responses to support 'on-demand' development work (#3587)
* Fix Bug: Fix safeBackup() to retry on EINTR / EBUSY filesystem responses to support 'on-demand' development work (#3589)
* Fix Bug: Fix WebSocket reconnect cleanup to prevent GC finalisation crash (#3582)
* Fix Bug: Fix setLocalPathTimestamp() to retry on EINTR / EBUSY filesystem responses to support 'on-demand' development work (#3591)
* Fix Bug: Fix incorrect handling of failed safeRename() operations to support 'on-demand' development work (#3592)
* Fix Bug: Fix Docker entrypoint handling for non-root --user execution (#3602)
* Fix Bug: Fix getRemainingFreeSpaceOnline() and correctly handle zero data traversal events for quota tracking (#3618)
* Fix Bug: Fix getRemainingFreeSpaceOnline() for Business and SharePoint Accounts (#3621)
* Fix Bug: Fix OAuth authorisation code parsing and encoding during token redemption (#3625)
* Fix Bug: Fix Graph search(q=…) escaping for apostrophes (#3624)
* Fix Bug: Fix handling of 204 No Content responses for Microsoft Graph PATCH requests (#3620)
### Updated
* Updated completion files to align to application functionality
* Updated documentation
## 2.5.9 - 2025-11-06 ## 2.5.9 - 2025-11-06
### Fixed ### Fixed

25
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for onedrive v2.5.9. # Generated by GNU Autoconf 2.69 for onedrive v2.5.10.
# #
# Report bugs to <https://github.com/abraunegg/onedrive>. # Report bugs to <https://github.com/abraunegg/onedrive>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='onedrive' PACKAGE_NAME='onedrive'
PACKAGE_TARNAME='onedrive' PACKAGE_TARNAME='onedrive'
PACKAGE_VERSION='v2.5.9' PACKAGE_VERSION='v2.5.10'
PACKAGE_STRING='onedrive v2.5.9' PACKAGE_STRING='onedrive v2.5.10'
PACKAGE_BUGREPORT='https://github.com/abraunegg/onedrive' PACKAGE_BUGREPORT='https://github.com/abraunegg/onedrive'
PACKAGE_URL='' PACKAGE_URL=''
@ -1231,7 +1231,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures onedrive v2.5.9 to adapt to many kinds of systems. \`configure' configures onedrive v2.5.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1292,7 +1292,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of onedrive v2.5.9:";; short | recursive ) echo "Configuration of onedrive v2.5.10:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1407,7 +1407,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
onedrive configure v2.5.9 onedrive configure v2.5.10
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1424,7 +1424,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by onedrive $as_me v2.5.9, which was It was created by onedrive $as_me v2.5.10, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2021,7 +2021,7 @@ $as_echo "no" >&6; }
fi fi
fi fi
PACKAGE_DATE="November 2025" PACKAGE_DATE="January 2026"
for ac_prog in dmd ldmd2 ldc2 gdmd gdc for ac_prog in dmd ldmd2 ldc2 gdmd gdc
@ -2673,7 +2673,12 @@ case "$(uname -s)" in
bsd_inotify_LIBS="" bsd_inotify_LIBS=""
;; ;;
FreeBSD) FreeBSD)
if test "$(uname -U)" -gt 1500060; then :
bsd_inotify_LIBS=""
else
bsd_inotify_LIBS="-L/usr/local/lib -linotify" bsd_inotify_LIBS="-L/usr/local/lib -linotify"
fi
;; ;;
OpenBSD) OpenBSD)
bsd_inotify_LIBS="-L/usr/local/lib/inotify -linotify" bsd_inotify_LIBS="-L/usr/local/lib/inotify -linotify"
@ -3348,7 +3353,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by onedrive $as_me v2.5.9, which was This file was extended by onedrive $as_me v2.5.10, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -3401,7 +3406,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
onedrive config.status v2.5.9 onedrive config.status v2.5.10
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -10,7 +10,7 @@ dnl - commit the changed files (configure.ac, configure)
dnl - tag the release dnl - tag the release
AC_PREREQ([2.69]) AC_PREREQ([2.69])
AC_INIT([onedrive],[v2.5.9], [https://github.com/abraunegg/onedrive], [onedrive]) AC_INIT([onedrive],[v2.5.10], [https://github.com/abraunegg/onedrive], [onedrive])
AC_CONFIG_SRCDIR([src/main.d]) AC_CONFIG_SRCDIR([src/main.d])
@ -21,7 +21,7 @@ dnl necessary programs: install, pkg-config
AC_PROG_INSTALL AC_PROG_INSTALL
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
PACKAGE_DATE="November 2025" PACKAGE_DATE="January 2026"
AC_SUBST([PACKAGE_DATE]) AC_SUBST([PACKAGE_DATE])
dnl Determine D compiler dnl Determine D compiler

View file

@ -10,8 +10,8 @@ _onedrive()
cur=${COMP_WORDS[COMP_CWORD]} cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]} prev=${COMP_WORDS[COMP_CWORD-1]}
options='--check-for-nomount --check-for-nosync --cleanup-local-files --debug-https --disable-notifications --display-config --display-quota --display-sync-status --disable-download-validation --disable-upload-validation --display-running-config --download-only --dry-run --enable-logging --force --force-http-11 --force-sync --list-shared-items --local-first --logout -m --monitor --no-remote-delete --print-access-token --reauth --remove-source-files --resync --resync-auth --skip-dir-strict-match --skip-dot-files --skip-symlinks -s --sync --sync-root-files --sync-shared-files --upload-only -v+ --verbose --version -h --help --with-editing-perms' options='--check-for-nomount --check-for-nosync --cleanup-local-files --debug-https --disable-notifications --display-config --display-quota --display-sync-status --disable-download-validation --disable-upload-validation --display-running-config --download-only --dry-run --enable-logging --force --force-http-11 --force-sync --list-shared-items --local-first --logout -m --monitor --no-remote-delete --print-access-token --reauth --remove-source-files --remove-source-folders --resync --resync-auth --skip-dir-strict-match --skip-dot-files --skip-symlinks -s --sync --sync-root-files --sync-shared-files --upload-only -v+ --verbose --version -h --help --with-editing-perms'
argopts='--auth-files --auth-response --classify-as-big-delete --confdir --create-directory --create-share-link --destination-directory --get-O365-drive-id --get-file-link --get-sharepoint-drive-id --log-dir --modified-by --monitor-fullscan-frequency --monitor-interval --monitor-log-frequency --remove-directory --share-password --single-directory --skip-dir --skip-file --skip-size --source-directory --space-reservation --syncdir' argopts='--auth-files --auth-response --classify-as-big-delete --confdir --create-directory --create-share-link --destination-directory --download-file --file-fragment-size --get-O365-drive-id --get-file-link --get-sharepoint-drive-id --log-dir --modified-by --monitor-fullscan-frequency --monitor-interval --monitor-log-frequency --remove-directory --share-password --single-directory --skip-dir --skip-file --skip-size --source-directory --space-reservation --syncdir --threads'
# Loop on the arguments to manage conflicting options # Loop on the arguments to manage conflicting options
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do

View file

@ -21,14 +21,16 @@ complete -c onedrive -l display-config -d "Display current config"
complete -c onedrive -l display-quota -d "Display OneDrive quota" complete -c onedrive -l display-quota -d "Display OneDrive quota"
complete -c onedrive -l display-running-config -d "Display config used at startup" complete -c onedrive -l display-running-config -d "Display config used at startup"
complete -c onedrive -l display-sync-status -d "Show current sync status" complete -c onedrive -l display-sync-status -d "Show current sync status"
complete -c onedrive -l download-file -d "Download a single file from Microsoft OneDrive"
complete -c onedrive -l download-only -d "Only download remote changes" complete -c onedrive -l download-only -d "Only download remote changes"
complete -c onedrive -l dry-run -d "Simulate sync without making changes" complete -c onedrive -l dry-run -d "Simulate sync without making changes"
complete -c onedrive -l enable-logging -d "Enable logging to a file" complete -c onedrive -l enable-logging -d "Enable logging to a file"
complete -c onedrive -l file-fragment-size -d "Specify the file fragment size for large file uploads (in MB)"
complete -c onedrive -l force -d "Force delete on big delete detection" complete -c onedrive -l force -d "Force delete on big delete detection"
complete -c onedrive -l force-http-11 -d "Force HTTP 1.1 usage" complete -c onedrive -l force-http-11 -d "Force HTTP 1.1 usage"
complete -c onedrive -l force-sync -d "Force sync of specified folder" complete -c onedrive -l force-sync -d "Force sync of specified folder"
complete -c onedrive -l get-O365-drive-id -d "Get Drive ID for O365 SharePoint (deprecated)"
complete -c onedrive -l get-file-link -d "Get shareable link for a file" complete -c onedrive -l get-file-link -d "Get shareable link for a file"
complete -c onedrive -l get-O365-drive-id -d "Get Drive ID for O365 SharePoint (deprecated)"
complete -c onedrive -l get-sharepoint-drive-id -d "Get Drive ID for SharePoint" complete -c onedrive -l get-sharepoint-drive-id -d "Get Drive ID for SharePoint"
complete -c onedrive -l help -d "Show help message" complete -c onedrive -l help -d "Show help message"
complete -c onedrive -l list-shared-items -d "List shared OneDrive items" complete -c onedrive -l list-shared-items -d "List shared OneDrive items"
@ -45,6 +47,7 @@ complete -c onedrive -l print-access-token -d "Show access token"
complete -c onedrive -l reauth -d "Reauthenticate client" complete -c onedrive -l reauth -d "Reauthenticate client"
complete -c onedrive -l remove-directory -d "Delete remote directory" complete -c onedrive -l remove-directory -d "Delete remote directory"
complete -c onedrive -l remove-source-files -d "Remove uploaded local files" complete -c onedrive -l remove-source-files -d "Remove uploaded local files"
complete -c onedrive -l remove-source-folders -d "Remove the local directory structure post successful file transfer"
complete -c onedrive -l resync -d "Perform full resync" complete -c onedrive -l resync -d "Perform full resync"
complete -c onedrive -l resync-auth -d "Confirm resync action" complete -c onedrive -l resync-auth -d "Confirm resync action"
complete -c onedrive -l share-password -d "Password-protect shared link" complete -c onedrive -l share-password -d "Password-protect shared link"
@ -58,12 +61,12 @@ complete -c onedrive -l skip-symlinks -d "Ignore symlinks"
complete -c onedrive -l source-directory -d "Source path for move/rename" complete -c onedrive -l source-directory -d "Source path for move/rename"
complete -c onedrive -l space-reservation -d "Reserve disk space (MB)" complete -c onedrive -l space-reservation -d "Reserve disk space (MB)"
complete -c onedrive -l sync -d "Start sync operation" complete -c onedrive -l sync -d "Start sync operation"
complete -c onedrive -l sync-root-files -d "Sync root files with sync_list"
complete -c onedrive -l sync-shared-files -d "Sync shared business files"
complete -c onedrive -l syncdir -d "Local sync directory" complete -c onedrive -l syncdir -d "Local sync directory"
complete -c onedrive -l synchronize -d "Deprecated alias for --sync" complete -c onedrive -l synchronize -d "Deprecated alias for --sync"
complete -c onedrive -l sync-root-files -d "Sync root files with sync_list"
complete -c onedrive -l sync-shared-files -d "Sync shared business files"
complete -c onedrive -l threads -d "Specify a value for the number of worker threads used for parallel upload and download operations"
complete -c onedrive -l upload-only -d "Only upload local changes" complete -c onedrive -l upload-only -d "Only upload local changes"
complete -c onedrive -l verbose -d "Increase verbosity" complete -c onedrive -l verbose -d "Increase verbosity"
complete -c onedrive -l version -d "Show version" complete -c onedrive -l version -d "Show version"
complete -c onedrive -l with-editing-perms -d "Create read-write shared link" complete -c onedrive -l with-editing-perms -d "Create read-write shared link"

View file

@ -24,15 +24,18 @@ all_opts=(
'--display-quota[Display the quota status of the client - no sync will be performed.]' '--display-quota[Display the quota status of the client - no sync will be performed.]'
'--display-running-config[Display options configured on application startup.]' '--display-running-config[Display options configured on application startup.]'
'--display-sync-status[Display the sync status of the client - no sync will be performed.]' '--display-sync-status[Display the sync status of the client - no sync will be performed.]'
'--download-file[Download a single file from Microsoft OneDrive]:file name:'
'--download-only[Only download remote changes]' '--download-only[Only download remote changes]'
'--dry-run[Perform a trial sync with no changes made]' '--dry-run[Perform a trial sync with no changes made]'
'--enable-logging[Enable client activity to a separate log file]' '--enable-logging[Enable client activity to a separate log file]'
'--file-fragment-size[Specify the file fragment size for large file uploads (in MB)]:MB:'
'--force[Force the deletion of data when a '\''big delete'\'' is detected]' '--force[Force the deletion of data when a '\''big delete'\'' is detected]'
'--force-http-11[Force the use of HTTP 1.1 for all operations]' '--force-http-11[Force the use of HTTP 1.1 for all operations]'
'--force-sync[Force a synchronization of a specific folder]' '--force-sync[Force a synchronization of a specific folder]'
'--get-O365-drive-id[Query and return the Office 365 Drive ID for a given Office 365 SharePoint Shared Library]:site URL:' '--get-O365-drive-id[Query and return the Office 365 Drive ID for a given Office 365 SharePoint Shared Library]:site URL:'
'--get-file-link[Display the file link of a synced file]:file name:' '--get-file-link[Display the file link of a synced file]:file name:'
'--get-sharepoint-drive-id[Query and return the SharePoint Drive ID]:site URL:' '--get-sharepoint-drive-id[Query and return the SharePoint Drive ID]:site URL:'
'--help[Show this help screen]'
'--list-shared-items[List OneDrive Business Shared Items]' '--list-shared-items[List OneDrive Business Shared Items]'
'--local-first[Synchronize from the local directory source first, before downloading changes from OneDrive.]' '--local-first[Synchronize from the local directory source first, before downloading changes from OneDrive.]'
'--log-dir[Directory where logging output is saved]:log directory:_files -/' '--log-dir[Directory where logging output is saved]:log directory:_files -/'
@ -47,6 +50,7 @@ all_opts=(
'--reauth[Reauthenticate the client with OneDrive]' '--reauth[Reauthenticate the client with OneDrive]'
'--remove-directory[Remove a directory on OneDrive - no sync will be performed.]:directory name:' '--remove-directory[Remove a directory on OneDrive - no sync will be performed.]:directory name:'
'--remove-source-files[Remove source file after upload when using --upload-only]' '--remove-source-files[Remove source file after upload when using --upload-only]'
'--remove-source-folders[Remove the local directory structure post successful file transfer when using --upload-only --remove-source-files]'
'--resync[Forget the last saved state, perform a full sync]' '--resync[Forget the last saved state, perform a full sync]'
'--resync-auth[Approve the use of performing a --resync action]' '--resync-auth[Approve the use of performing a --resync action]'
'--share-password[Password to protect share link]:password:' '--share-password[Password to protect share link]:password:'
@ -64,12 +68,11 @@ all_opts=(
'--sync-shared-files[Sync OneDrive Business Shared Files to the local filesystem]' '--sync-shared-files[Sync OneDrive Business Shared Files to the local filesystem]'
'--syncdir[Specify the local directory used for synchronisation to OneDrive]:sync directory:_files -/' '--syncdir[Specify the local directory used for synchronisation to OneDrive]:sync directory:_files -/'
'--synchronize[Perform a synchronisation (deprecated)]' '--synchronize[Perform a synchronisation (deprecated)]'
'--threads[Number of threads to use for multi-threaded transfers]:N:'
'--upload-only[Only upload to OneDrive, do not sync changes from OneDrive locally]' '--upload-only[Only upload to OneDrive, do not sync changes from OneDrive locally]'
'--verbose[Print more details, useful for debugging (repeat for extra debugging)]' '--verbose[Print more details, useful for debugging (repeat for extra debugging)]'
'--version[Print the version and exit]' '--version[Print the version and exit]'
'--with-editing-perms[Create a read-write shareable link for a file]' '--with-editing-perms[Create a read-write shareable link for a file]'
) )
_arguments -S "$all_opts[@]" && return 0 _arguments -S "$all_opts[@]" && return 0

View file

@ -37,7 +37,7 @@ BuildRequires: ldc >= %{ldc_minver}
%endif %endif
Name: onedrive Name: onedrive
Version: 2.5.9 Version: 2.5.10
Release: 1%{?dist} Release: 1%{?dist}
Summary: OneDrive Client for Linux Summary: OneDrive Client for Linux
Group: System Environment/Network Group: System Environment/Network
@ -111,8 +111,20 @@ install -D -m 0644 contrib/systemd/onedrive.service %{buildroot}%{_userunitdir}/
/etc/init.d/onedrive /etc/init.d/onedrive
%endif %endif
%changelog %changelog
%changelog * Fri Jan 20 2026 - 2.5.10-1
- Release v2.5.10 with new features, bug fixes, and enhancements
* Thu Nov 06 2025 - 2.5.9-1
- Release v2.5.9 with new features, bug fixes, and enhancements
* Wed Nov 05 2025 - 2.5.8-1
- Release v2.5.8 with new features, bug fixes, and enhancements
* Tue Sep 23 2025 - 2.5.7-1
- Release v2.5.7 with new features, bug fixes, and enhancements
* Thu Jun 05 2025 - 2.5.6-1 * Thu Jun 05 2025 - 2.5.6-1
- Release v2.5.6 with new features, bug fixes, and enhancements - Release v2.5.6 with new features, bug fixes, and enhancements

View file

@ -26,43 +26,54 @@ Designed for maximum flexibility and reliability, this powerful and highly confi
.SH FEATURES .SH FEATURES
.br .br
* Compatible with OneDrive Personal and OneDrive for Business, including access to Microsoft SharePoint Libraries * Compatible with OneDrive Personal, OneDrive for Business, and Microsoft SharePoint Libraries
.br .br
* Supports seamless access to shared folders and files across both OneDrive Personal and OneDrive for Business accounts * Provides full support for shared folders and files across both Personal and Business accounts
.br .br
* Supports near real-time processing of online changes via either WebSockets (native support) or webhooks (manual configuration required) * Supports single-tenant and multi-tenant Microsoft Entra ID environments
.br
* Supports single-tenant and multi-tenant applications
.br
* Supports Intune Single Sign-On (SSO) authentication via the Microsoft Identity Device Broker (D-Bus interface)
.br
* Supports OAuth2 Device Authorisation Flow for Microsoft Entra ID accounts
.br
* Supports the FreeDesktop.org Trash specification, allowing locally deleted files to be safely recoverable in case of accidental online deletion
.br .br
* Supports national cloud deployments including Microsoft Cloud for US Government, Microsoft Cloud Germany, and Azure/Office 365 operated by VNET in China * Supports national cloud deployments including Microsoft Cloud for US Government, Microsoft Cloud Germany, and Azure/Office 365 operated by VNET in China
.br .br
* Provides rules for client-side filtering to select data for syncing with Microsoft OneDrive accounts * Supports bi-directional synchronisation (default) to keep local and remote data fully aligned
.br .br
* Protects against significant data loss on OneDrive after configuration changes * Supports upload-only mode to upload local changes without downloading remote changes
.br .br
* Supports a dry-run option for safe configuration testing * Supports download-only mode to download remote changes without uploading local changes
.br .br
* Supports interruption-tolerant uploads and downloads by resuming file transfers from the point of failure, ensuring data integrity and efficiency * Supports a dry-run mode for safely testing configuration changes without modifying data
.br
* Implements safe conflict handling to minimise data loss by creating local backups when this is determined to be the safest resolution strategy
.br
* Provides comprehensive rules-based client-side filtering with inclusions, exclusions, wildcard matching (*), and recursive globbing (**)
.br
* Allows selective synchronisation of specific files, directories, or patterns
.br
* Caches synchronisation state for efficient processing and improved performance on large or complex sync sets
.br
* Supports near real-time processing of cloud-side changes using native WebSocket support
.br
* Supports webhook-based online change notifications where WebSockets are unsuitable (manual configuration required)
.br
* Monitors local file system changes in real-time using inotify
.br
* Implements the FreeDesktop.org Trash specification, enabling recovery of files deleted locally due to remote deletions
.br
* Protects against accidental data loss following configuration changes
.br
* Supports interruption-tolerant uploads and downloads with automatic transfer resumption
.br .br
* Validates file transfers to ensure data integrity * Validates file transfers to ensure data integrity
.br .br
* Caches sync state for efficiency * Enhances synchronisation performance through multi-threaded file transfers
.br .br
* Monitors local files in real-time using inotify * Manages network usage through configurable bandwidth rate limiting
.br .br
* Enhanced synchronisation speed with multi-threaded file transfers * Supports desktop notifications for synchronisation events, warnings, and errors using libnotify
.br
* Manages traffic bandwidth use with rate limiting
.br
* Supports sending desktop alerts using libnotify
.br .br
* Provides desktop file-manager integration by registering the OneDrive folder as a sidebar location with a distinctive icon * Provides desktop file-manager integration by registering the OneDrive folder as a sidebar location with a distinctive icon
.br
* Operates fully in both graphical and headless/server environments, with a graphical environment required only for Intune SSO, desktop notifications, and sidebar integration
.SH CONFIGURATION .SH CONFIGURATION
By default, the OneDrive Client for Linux uses a sensible set of built-in defaults to interact with the Microsoft OneDrive service. By default, the OneDrive Client for Linux uses a sensible set of built-in defaults to interact with the Microsoft OneDrive service.

View file

@ -149,10 +149,13 @@ If you encounter any issues running the application, please follow these steps *
Run `onedrive --version` to confirm which version you are using. Run `onedrive --version` to confirm which version you are using.
- Ensure you are running the latest [release](https://github.com/abraunegg/onedrive/releases). - Ensure you are running the latest [release](https://github.com/abraunegg/onedrive/releases).
- If you are already on the latest release but still experiencing issues, manually build the client from the `master` branch to test against the very latest code. This includes fixes for bugs discovered since the last tagged release. - If you are already on the latest release but still experiencing issues, manually build the client from the `master` branch to test against the very latest code. This includes fixes for bugs discovered since the last tagged release.
- If you are using Docker or Podman, ensure you are using the 'edge' Docker Tag. Do not use the 'latest' Docker Tag.
2. **Run in verbose mode** 2. **Run in verbose mode**
Use the `--verbose` option to provide greater clarity and detailed logging about the issue you are facing. Use the `--verbose` option to provide greater clarity and detailed logging about the issue you are facing.
If you are using Docker or Podman, use the ONEDRIVE_VERBOSE environment variable to increase logging verbosity.
3. **Test with IPv4 only** 3. **Test with IPv4 only**
Configure the application to use **IPv4 network connectivity only**, then retest. See the `'ip_protocol_version'` option [documentation](https://github.com/abraunegg/onedrive/blob/master/docs/application-config-options.md#ip_protocol_version) for assistance. Configure the application to use **IPv4 network connectivity only**, then retest. See the `'ip_protocol_version'` option [documentation](https://github.com/abraunegg/onedrive/blob/master/docs/application-config-options.md#ip_protocol_version) for assistance.