Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OneDrive Client Version v2.5.0-rc3 #2769

Closed
wants to merge 308 commits into from

Conversation

abraunegg
Copy link
Owner

@abraunegg abraunegg commented Aug 11, 2024

Summary of Changes

Important

OneDrive Client for Linux v2.5.0 contains a database schema change to support the additional functionality and bug fixes in the v2.5.x branch. As such, on your first use of this client version, the database schema will be updated and the client will perform an entire re-validation of your data - both locally and online which will take an extended period of time.

Caution

OneDrive Client for Linux v2.5.0 introduces significant changes and is not backwards compatible with v2.4.x. Please ensure that you do not use both v2.5.0 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.0, 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

OneDrive Business Shared Folder Sync has been 100% re-written in v2.5.0. If you are using this feature, please read the new documentation carefully.

Feature Requests

  • Implement Feature Request: Multi-threaded uploading/downloading of files FR-232
  • Implement Feature Request: Renaming/Relocation of OneDrive Business shared folders FR-1251
  • Implement Feature Request: Support the syncing of individual business shared files FR-1300
  • Implement Feature Request: Implement application output to detail upload|download failures at the end of a sync process FR-2457
  • Implement Feature Request: Log when manual Authorization is required when using --auth-files FR-2475
  • Implement Feature Request: Add cmdline parameter to display (human readable) quota status FR-2359
  • Implement Feature Request: Add capability to disable 'fullscan_frequency' FR-2313
  • Implement Feature Request: Ability to set --disable-download-validation from Docker environment variable FR-2559
  • Implement Feature Request: Ability to set --sync-shared-files from Docker environment variable FR-2680
  • Implement Feature Request: file sync (upload/download/delete) notifications FR-2760

Bug Fixes

  • Fix Bug: Upload only not working with Business shared folders BUG-2379
  • Fix Bug: Business shared folders with same basename get merged BUG-2434
  • Fix Bug: --dry-run prevents authorization BUG-2451
  • Fix Bug: Log timestamps lacking trailing zeros, leading to poor log file output alignment BUG-2479
  • Fix Bug: Subscription ID already exists when using webhooks BUG-2501
  • Fix Bug: Not all files being downloaded when API data includes HTML ASCII Control Sequences BUG-2562
  • Fix Bug: --display-sync-status does not work when OneNote sections (.one files) are in your OneDrive. BUG-2578
  • Fix Bug: vim backups when editing files cause edited file to be deleted rather than the edited file being uploaded BUG-2586
  • Fix Bug: skip_dir does not always work as intended for all directory entries BUG-2590
  • Fix Bug: Online date being changed in download-only mode BUG-2591
  • Fix Bug: Resolve that download_only = "true" and cleanup_local_files = "true" also deletes files present online BUG-2612
  • Fix Bug: Resolve that upload session are not canceled with resync option BUG-2624
  • Fix Bug: Local files should be safely backed up when the item is not in sync locally to prevent data loss when they are deleted online BUG-2625
  • Fix Bug: Files with newer timestamp are not chosen as version to be kept BUG-2626
  • Fix Bug: Synced file is removed when updated on the remote while being processed by onedrive BUG-2699
  • Fix Bug: Cannot select/filter within Personal Shared Folders BUG-2731
  • Fix Bug: HTML encoding requires to add filter entries twice BUG-2740
  • Fix Bug: Uploading files using fragments stuck at 0% BUG-2747
  • Fix Bug: Fix that --get-sharepoint-drive-id does not handle a SharePoint site with more than 200 entries BUG-2771
  • Fix Bug: Fix that 'sync_list' does not include files that should be included, when specified just as *.ext_type BUG-2784

Other Changes | Fixes

  • Implement buffered logging so that all logging from all upload & download activities are handled correctly
  • Replace polling monitor loop with blocking wait
  • Update how the application utilises curl to fix socket reuse
  • Various performance enhancements with many thanks to @JC-comp
  • Implement refactored OneDrive API logic with many thanks to @JC-comp
  • Enforcement of operational conflicts
  • Enforcement of application configuration defaults and minimums
  • Utilise threadsafe sqlite DB access methods
  • Various code cleanup and optimisations

Documentation

  • Most documentation has been totally overhauled

Documentation List

JC-comp and others added 30 commits February 14, 2024 05:02
* Adjust pipline
* Shutdown monitor
* Backward compatible for ldc v1.20.1
* Fix shutdown process
* Update logging output and logging levels
---------

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
* Add CentOS details
* Add missing X's
* Specifically resolve #2626 | Case 2-1 and Case 2-2 items
* Separate OneDrive webhook from OneDriveAPI
* Ensure compatibility with the monitor mode
* Add Client Architecture Documentation
* Sleep only when there are no upcoming events.
* Add constraint to prevent starvation.
* Add missing diagram
* Change local directory creation to a reusable function
…usiness shared files (#2646)

* Implement Feature Request #1300 - Support the syncing of individual business shared files
* Update Makefile.in to add missing doc items added/changed with PR #2646
* fix libnotify
* Add notification error handling
* Release files for 2.5.0-rc1
* Update which compiler the Debian Docker file uses
* Drop Debian i386 Docker build as ldc 1.30.0 on 'stable' under i386|i686 will not compile the code whereas ldc 1.30.0 on 'stable' on amd86 will compile without any issue. This is a compiler bug / issue on i386 only. ARM64 and ARMv7 using ldc 1.30.0 also shows zero problems thus far.
* Restore i386 build using Debian 12
* Tested on i386 and x86_64
* ARM64 and ARMHF not yet tested / validated
* Update client use of libcurl docs
* Update manpage
* Align document to application functionality
* --display-running-config listed twice
* Update links and details based on application functionality
* Fix spelling error (#2668)
* Update messaging that this is the online file data being checked
* Ensure that if the file exists online, integrity validation checks are logged
* Dont display Shared Files Directory if feature not enabled
* Change command reference
* Potentially resolve 'Aborting from core/sync/mutex.d(149) Error: pthread_mutex_destroy failed.[1]    44576 IOT instruction (core dumped)' errors
* Restore lost functionality to allow non-sync tasks to operate while a sync is running - #2106 , #2112
* Update docs to use markdown alerts
* Add UTF-16 alternatives for working around Microsoft OneDrive naming restrictions
* Update regular expression for invalid patterns for efficiency
* Update table title
abraunegg and others added 26 commits August 31, 2024 09:44
* Fix documentation
* Add details regarding TLS 1.2 | TLS 1.3
* Fix formatting
Remove the explict `curlEngine.http.addRequestHeader` calls
because the header is already set by the `post` and `patch`
methods.
* update doc
* Update logging output to be consistent with other file transfer actions
* Update logging output to be consistent with other file transfer failure actions
* As per default GUI notifications, failed uploads and downloads should be going to GUI for notifications if notification support has been compiled in
* Implement Feature Request #2760 by adding config option 'notify_file_actions' to notify via the GUI successful actions.
* Update changelog for preparation for release
* Update to ALPINE_VERSION=3.20
* Update Docker & Podman doco
* Update 'Client Side Filtering' details and add processing order
* Add architecture document link
* Replace 'depreciated' with 'deprecated' as correct term to denote items that are outdated.
* Fix issue #2796 before v2.5.0 release
* Validate against other 'sync_list' use cases with verification
* Update Client Side Filtering documentation
* Remove logging output left in by error
* Remove known issues as client is 100% re-written
* Path needs to exist before attempting to determine if this is a directory
* Remove forcing build in PR in prep for release
* Clarify 'sync_list' usage to not add '/*'
* Process all rules, as there may be a lower level wildcard include later on
* When using 'sync_list' and --dry-run ensure that items that trigger 'Parental Path structure needs to be created to support included file' get added to 'idsFaked' otherwise they falsely get flagged as being locally deleted (but they never existed in the first place)
* Fix POSIX test check
* Catch an unhandled 'throw new PosixException' which if not caught, could lead to premature application termination
* Update packaging examples ready for release
* Ensure if there is a legacy 'sync_list' rule of '/*' that this is now not loaded.
@abraunegg abraunegg closed this Sep 16, 2024
@abraunegg
Copy link
Owner Author

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Repository owner locked and limited conversation to collaborators Sep 23, 2024
@abraunegg abraunegg deleted the onedrive-v2.5.0-release-candidate-3 branch October 22, 2024 22:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants