Skip to content

Commit

Permalink
OneDrive Client for Linux v2.5.0 (#2805)
Browse files Browse the repository at this point in the history
OneDrive Client for Linux v2.5.0

---------

Signed-off-by: Thomas Staudinger <[email protected]>
Co-authored-by: JC-comp <[email protected]>
Co-authored-by: Dimitri Papadopoulos Orfanos <[email protected]>
Co-authored-by: Pierrick Caillon <[email protected]>
Co-authored-by: Pierrick Caillon <[email protected]>
Co-authored-by: Thomas Staudinger <[email protected]>
Co-authored-by: Yuan Liu <[email protected]>
  • Loading branch information
7 people authored Sep 16, 2024
1 parent adad80c commit a3522fd
Show file tree
Hide file tree
Showing 114 changed files with 23,075 additions and 15,276 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name: "Bug Report"
description: Create a Bug Report to help us fix your issue
description: Before proceeding, please ensure your issue is a genuine software bug. This form is exclusively for reporting actual software bugs that need fixing. For other items, use GitHub Discussions instead.
title: "Bug: "
labels: ["Bug"]
body:
- type: markdown
attributes:
value: |
**Note:** Before submitting a bug report, please ensure you are running the latest 'onedrive' client as built from 'master' and compile by using the latest available DMD or LDC compiler. Refer to the the [INSTALL](https://github.com/abraunegg/onedrive/blob/master/docs/INSTALL.md) document on how to build the client for your system.
**Note:** Before submitting a bug report, please ensure you are running the latest 'onedrive' client as built from 'master' and compile by using the latest available DMD or LDC compiler. Refer to the the [install](https://github.com/abraunegg/onedrive/blob/master/docs/install.md) document on how to build the client for your system.
- type: textarea
id: bugDescription
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ blank_issues_enabled: false
contact_links:
- name: "Have a question?"
url: https://github.com/abraunegg/onedrive/discussions
about: "Please do not raise a GitHub issue for asking questions - please post your question under GitHub Discussions. When opening a new discussion, please include all relevant details such as including your application version and how you installed the client. Thanks in advance for helping us keep the issue tracker clean!"
about: "Please refrain from using GitHub Issues for asking questions or reporting non-software bugs. Instead, post your questions, installation issues, dependency concerns, or anything else that isn't a software bug under GitHub Discussions. When starting a new GitHub Discussion, be sure to include all relevant details, such as your application version and installation method. Thank you for helping us keep the issue tracker focused on actual software bugs!"
8 changes: 4 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
39 changes: 20 additions & 19 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,18 @@ DEBUG = @DEBUG@
DC = @DC@
DC_TYPE = @DC_TYPE@
DCFLAGS = @DCFLAGS@
DCFLAGS += -w -g -O -J.
DCFLAGS += -w -J.
ifeq ($(DEBUG),yes)
ifeq ($(DC_TYPE),dmd)
DCFLAGS += -debug -gs
# Add DMD Debugging Flags
DCFLAGS += -g -debug -gs
else
DCFLAGS += -d-debug -gc
# Add LDC Debugging Flags
DCFLAGS += -g -d-debug -gc
endif
else
# Only add optimisation flags if debugging is not enabled
DCFLAGS += -O
endif

ifeq ($(NOTIFICATIONS),yes)
Expand All @@ -55,7 +60,7 @@ endif
system_unit_files = contrib/systemd/[email protected]
user_unit_files = contrib/systemd/onedrive.service

DOCFILES = README.md config LICENSE CHANGELOG.md docs/Docker.md docs/INSTALL.md docs/SharePoint-Shared-Libraries.md docs/USAGE.md docs/BusinessSharedFolders.md docs/advanced-usage.md docs/application-security.md
DOCFILES = readme.md config LICENSE changelog.md docs/advanced-usage.md docs/application-config-options.md docs/application-security.md docs/business-shared-items.md docs/client-architecture.md docs/contributing.md docs/docker.md docs/install.md docs/national-cloud-deployments.md docs/podman.md docs/privacy-policy.md docs/sharepoint-libraries.md docs/terms-of-service.md docs/ubuntu-package-install.md docs/usage.md docs/known-issues.md docs/webhooks.md

ifneq ("$(wildcard /etc/redhat-release)","")
RHEL = $(shell cat /etc/redhat-release | grep -E "(Red Hat Enterprise Linux|CentOS)" | wc -l)
Expand All @@ -66,19 +71,19 @@ RHEL_VERSION = 0
endif

SOURCES = \
src/main.d \
src/config.d \
src/itemdb.d \
src/log.d \
src/main.d \
src/monitor.d \
src/onedrive.d \
src/util.d \
src/qxor.d \
src/selective.d \
src/sqlite.d \
src/curlEngine.d \
src/onedrive.d \
src/webhook.d \
src/sync.d \
src/upload.d \
src/util.d \
src/progress.d \
src/itemdb.d \
src/sqlite.d \
src/clientSideFiltering.d \
src/monitor.d \
src/arsd/cgi.d

ifeq ($(NOTIFICATIONS),yes)
Expand All @@ -92,10 +97,9 @@ clean:
rm -rf autom4te.cache
rm -f config.log config.status

# also remove files generated via ./configure
# Remove files generated via ./configure
distclean: clean
rm -f Makefile contrib/pacman/PKGBUILD contrib/spec/onedrive.spec onedrive.1 \
$(system_unit_files) $(user_unit_files)
rm -f Makefile contrib/pacman/PKGBUILD contrib/spec/onedrive.spec onedrive.1 $(system_unit_files) $(user_unit_files)

onedrive: $(SOURCES)
if [ -f .git/HEAD ] ; then \
Expand Down Expand Up @@ -132,7 +136,6 @@ ifeq ($(COMPLETIONS),yes)
$(INSTALL) -D -m 0644 contrib/completions/complete.fish $(DESTDIR)$(FISH_COMPLETION_DIR)/onedrive.fish
endif


uninstall:
rm -f $(DESTDIR)$(bindir)/onedrive
rm -f $(DESTDIR)$(mandir)/man1/onedrive.1
Expand All @@ -156,5 +159,3 @@ ifeq ($(COMPLETIONS),yes)
rm -f $(DESTDIR)$(BASH_COMPLETION_DIR)/onedrive
rm -f $(DESTDIR)$(FISH_COMPLETION_DIR)/onedrive.fish
endif


92 changes: 0 additions & 92 deletions README.md

This file was deleted.

86 changes: 81 additions & 5 deletions CHANGELOG.md → changelog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,84 @@
# Changelog
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
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).

## 2.5.0 - 2024-09-16

### Special Thankyou
A special thankyou to all those who helped with testing and providing feedback during the development of this major release. A big thankyou to:
* @JC-comp
* @Lyncredible
* @rrodrigueznt
* @bpozdena
* @hskrieg
* @robertschulze
* @aothmane-control
* @mozram
* @LunCh-CECNL
* @pkolmann
* @tdcockers
* @undefiened
* @cyb3rko

### Notable Changes
* This version introduces significant changes regarding how the integrity and validation of your data is determined and is not backwards compatible with v2.4.x.
* 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.
* The application function --download-only no longer automatically deletes local files. Please read the new documentation regarding this feature.

### Changes
* Renamed various documentation files to align with document content
* 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
* Implement refactored OneDrive API logic
* Enforcement of operational conflicts
* Enforcement of application configuration defaults and minimums
* Utilise threadsafe sqlite DB access methods
* Various bugs and other issues identified during development and testing
* Various code cleanup and optimisations

### Fixed
* Fix Bug: Upload only not working with Business shared folders
* Fix Bug: Business shared folders with same basename get merged
* Fix Bug: --dry-run prevents authorization
* Fix Bug: Log timestamps lacking trailing zeros, leading to poor log file output alignment
* Fix Bug: Subscription ID already exists when using webhooks
* Fix Bug: Not all files being downloaded when API data includes HTML ASCII Control Sequences
* Fix Bug: --display-sync-status does not work when OneNote sections (.one files) are in your OneDrive
* Fix Bug: vim backups when editing files cause edited file to be deleted rather than the edited file being uploaded
* Fix Bug: skip_dir does not always work as intended for all directory entries
* Fix Bug: Online date being changed in download-only mode
* Fix Bug: Resolve that download_only = "true" and cleanup_local_files = "true" also deletes files present online
* Fix Bug: Resolve that upload session are not canceled with resync option
* 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
* Fix Bug: Files with newer timestamp are not chosen as version to be kept
* Fix Bug: Synced file is removed when updated on the remote while being processed by onedrive
* Fix Bug: Cannot select/filter within Personal Shared Folders
* Fix Bug: HTML encoding requires to add filter entries twice
* Fix Bug: Uploading files using fragments stuck at 0%
* Fix Bug: Implement safeguard when sync_dir is missing and is re-created data is not deleted online
* Fix Bug: Fix that --get-sharepoint-drive-id does not handle a SharePoint site with more than 200 entries
* Fix Bug: Fix that 'sync_list' does not include files that should be included, when specified just as *.ext_type
* Fix Bug: Fix 'sync_list' processing so that '.folder_name' is excluded but 'folder_name' is included

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

### Updated
* Overhauled all documentation

## 2.4.25 - 2023-06-21

### Fixed
* Fixed that the application was reporting as v2.2.24 when in fact it was v2.4.24 (release tagging issue)
* Fixed that the running version obsolete flag (due to above issue) was causing a false flag as being obsolete
Expand All @@ -24,7 +100,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Fix error that the application is unable to perform a database vacuum: out of memory when exiting

### Removed
* Remove sha1 from being used by the client as this is being depreciated by Microsoft in July 2023
* Remove sha1 from being used by the client as this is being deprecated by Microsoft in July 2023
* Complete the removal of crc32 elements

### Added
Expand Down Expand Up @@ -293,7 +369,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Added support in --get-O365-drive-id to provide the 'drive_id' for multiple 'document libraries' within a single Shared Library Site

### Removed
* Removed the depreciated config option 'force_http_11' which was flagged as depreciated by PR #549 in v2.3.6 (June 2019)
* Removed the deprecated config option 'force_http_11' which was flagged as deprecated by PR #549 in v2.3.6 (June 2019)

### Updated
* Updated error output of --get-O365-drive-id to provide more details why an error occurred if a SharePoint site lacks the details we need to perform the match
Expand Down Expand Up @@ -673,7 +749,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Added --force-http-2 to use HTTP/2 if desired

### Changed
* Depreciated --force-http-1.1 (enabled by default) due to OneDrive inconsistent behavior with HTTP/2 protocol
* Deprecated --force-http-1.1 (enabled by default) due to OneDrive inconsistent behavior with HTTP/2 protocol

## 2.3.5 - 2019-06-19
### Fixed
Expand Down
Loading

0 comments on commit a3522fd

Please sign in to comment.