Onedriver Versions Save

A native Linux filesystem for Microsoft OneDrive

v0.14.1

6 months ago
  • Fixes a bug with file corruption in some scenarios from version 0.14.0.

v0.14.0

9 months ago
  • We now use quickxorhash checksums for both personal and business accounts.
  • The cache for file contents has been moved out of boltdb and onto the local filesystem. This makes accessing, reading, and writing files faster than before.
  • onedriver no longer allows you to create filenames that are not allowed by OneDrive.

v0.13.0

1 year ago
  • The GUI has been rewritten in golang for ease of maintenance and code sharing with the rest of the onedriver application.
  • onedriver can now be configured with a config file at "~/.config/onedriver/config.yml".
  • There is now a configuration menu in the GUI. You can now set a couple configuration options that were previously only possible with "systemctl edit".
  • The onedriver CLI now stores its cache in the same path that the GUI expects, meaning that invoking the onedriver filesystem directly and via the GUI will share the cache as long as the mountpoint is the same.
  • onedriver now prefers multipart downloads for files >10MB instead of a single massive GET request. This should significantly improve reliability when working with large files (the download won't get cut in half if it doesn't finish within the HTTP request timeout in anymore).

I was hoping to get either shared items+sharepoint support or moving file contents out of the db (better performance + handles big files better) into this release. However, both of these features require some pretty significant changes (and a lot of testing!) so this release has been done in the interim while I work on those features. This release contains a lot of under-the-hood changes required for more exciting stuff in the future.

v0.12.0

2 years ago
  • Major internal rewrite - onedriver now talks directly to the kernel instead of using go-fuse/fs as an intermediary. This makes metadata operations a bit faster.
  • onedriver better handles completion of multipart uploads and does not repeatedly upload files on success. This significantly improves upload speed.
  • Fixes a crash when writes begin at an offset beyond maximum file length. This fixes a bug where running ld inside the filesystem would cause it to crash.
  • Switch to using zerolog instead of logrus for logging. Though zerolog is supposedly faster, the real reason to switch is that it's much easier for me (and hopefully you) to read! Also, pretty colors!
  • onedriver now gives you the option to choose to authenticate via the terminal when authenticating via the new --no-browser option (this is the functionality from the old "headless" build).
  • Add a workaround for the TLS cert authentication issue from https://bugzilla.redhat.com/show_bug.cgi?id=2024296

v0.11.2

2 years ago
  • onedriver now disallows rmdir on nonempty directories.
  • The filesystem now detects if it is offline more reliably.

v0.11.1

2 years ago
  • Fix a crash on startup in onedriver-launcher if onedriver has not been launched before.

v0.11.0

2 years ago
  • Now includes a snazzy GUI for managing your mountpoints. No terminal skills are required to use onedriver now.
  • The upload logic has been rewritten to no longer use 0-byte files as placeholders in any scenario. This fixes a race condition where software like LibreOffice, KeepassXC, or Krita could generate a 0-byte file instead of the intended file when the file was 4MB or larger.
  • onedriver now uses etags AND modification times when syncing server-side changes back to the client. This reduces the number of times that files must be redownloaded because of bad timestamp data from the Microsoft API.

v0.10.1

2 years ago
  • Fixes the .desktop launcher so it uses the correct systemd unit path (see note for 0.10.0 release).

v0.10.0

2 years ago

Changes:

  • Adds AUR installation method for Arch-based distros - thanks fmoledina!
  • Add manpage for onedriver - thanks GenericGuy!
  • The onedriver systemd service now restarts itself in the event of a crash - thanks dipunm!
  • Fix a rare crash while syncing server-side changes missing checksums.
  • Fix a race-condition that caused uploaded files to occasionally be replaced by a 0-byte copy (most commonly caused by the way LibreOffice saves files).
  • Cap number of uploads that can be in-progress at any time to 5. This makes uploading uploading directories with lots of files appear to go a bit faster.
  • The account name is now displayed in the title bar if you need to reauthenticate to OneDrive (makes it easier to know which credentials to use when prompted).

NOTE: the systemd unit has changed to correctly escape paths (the systemd service name loses a - at the beginning of the path (instead of [email protected], the service name should be [email protected]). This is a breaking change and will require action on your part to switch to the new unit name. If you see an error like the following, this means you should use the new unit name format. The documentation on how to calculate the new unit name has changed in README.md and the manpage to reflect the new instructions (just add --path).

/usr/lib/systemd/user/[email protected]:5: Failed to resolve unit specifiers in %f: Invalid argument
[email protected]: Unit configuration has fatal error, unit will not be started.

v0.9.2

3 years ago
  • Adds fix for server-side update to Microsoft's authentication APIs.
  • Fix a crash on auth renewal after computer suspend or other network interruption.