Rclone V1.38 release

I’m pleased to announce the release of rclone v1.38. I’m always suprised how much goes into each release, so thank you everyone for pull requests, bug reports and testing. Particular thanks to Stefan @breunigs for doing a really good job closing lots of issues and with rcat and related mount changes.

  • v1.38 - 2017-09-30
    • New backends
      • Azure Blob Storage (thanks Andrei Dragomir)
      • Box
      • Onedrive for Business (thanks Oliver Heyme)
      • QingStor from QingCloud (thanks wuyu)
    • New commands
      • rcat - read from standard input and stream upload
      • tree - shows a nicely formatted recursive listing
      • cryptdecode - decode crypted file names (thanks ishuah)
      • config show - print the config file
      • config file - print the config file location
    • New Features
      • Empty directories are deleted on sync
      • dedupe - implement merging of duplicate directories
      • check and cryptcheck made more consistent and use less memory
      • cleanup for remaining remotes (thanks ishuah)
      • --immutable for ensuring that files don’t change (thanks Jacob McNamee)
      • --user-agent option (thanks Alex McGrath Kraak)
      • --disable flag to disable optional features
      • --bind flag for choosing the local addr on outgoing connections
      • Support for zsh auto-completion (thanks bpicode)
      • Stop normalizing file names but do a normalized compare in sync
    • Compile
      • Update to using go1.9 as the default go version
      • Remove snapd build due to maintenance problems
    • Bug Fixes
      • Improve retriable error detection which makes multipart uploads better
      • Make check obey --ignore-size
      • Fix bwlimit toggle in conjunction with schedules (thanks cbruegg)
      • config ensures newly written config is on the same mount
    • Local
      • Revert to copy when moving file across file system boundaries
      • --skip-links to suppress symlink warnings (thanks Zhiming Wang)
    • Mount
      • Re-use rcat internals to support uploads from all remotes
    • Dropbox
      • Fix “entry doesn’t belong in directory” error
      • Stop using deprecated API methods
    • Swift
      • Fix server side copy to empty container with --fast-list
    • Google Drive
      • Change the default for --drive-use-trash to true
    • S3
      • Set session token when using STS (thanks Girish Ramakrishnan)
      • Glacier docs and error messages (thanks Jan Varho)
      • Read 1000 (not 1024) items in dir listings to fix Wasabi
    • Backblaze B2
      • Fix SHA1 mismatch when downloading files with no SHA1
      • Calculate missing hashes on the fly instead of spooling
      • --b2-hard-delete to permanently delete (not hide) files (thanks John Papandriopoulos)
    • Hubic
      • Fix creating containers - no longer have to use the default container
    • Swift
      • Optionally configure from a standard set of OpenStack environment vars
      • Add endpoint_type config
    • Google Cloud Storage
      • Fix bucket creation to work with limited permission users
    • SFTP
      • Implement connection pooling for multiple ssh connections
      • Limit new connections per second
      • Add support for MD5 and SHA1 hashes where available (thanks Christian Brüggemann)
    • HTTP
      • Fix URL encoding issues
      • Fix directories with : in
      • Fix panic with URL encoded content

Thanks for added Onedrive for Business

1 Like

great work. That is an impressive list in a short time.

1 Like

This is amazing work! I’ll donate again <3
So what’s the safest (and optimal) way to copy all the encrypted files of a remote to another?
Is it safe to copy directly the encrypted files or should I do it from the crypt remote? (both crypt remotes have same encryption)
Also as I understand, using --immutable and --checksum will ensure that the files will be copied 100% properly?


The best way is to copy the encrypted files. This saves decrrypting and reencrypting and means you can use rclone rcheck .

You don’t need to use those options, just do the copy, then do an rclone check at the end to ensure that everything is ok.

I do it with --checksum because if a file didn’t transfer correctly I just run the command again and it finds which is it and replaces it.
If I don’t use the flag and after the copy is finished the check command finds some differences, how do I know which files didn’t copy correctly?

rclone will do that with or without --checksum, without it checks size & modtime and then checksum if modtime is identical, with it checks size & checksum.

check will print which files don’t match. You might have to use -v I can’t remember.

Onedrive for Business works in Windows, but in Linux there is no option for it in the config, and if i copy the config from windows it doesnt work…

It definitely works on lnux - that is where I test it. Are you sure you’ve got the right version of rclone installed? Check with rclone version

true. it was taking an older version from the /usr/sbin. thanks