Rclone v1.71.0 release

Rclone 1.71.0 has been released. Find it in the rclone downloads or use rclone selfupdate to upgrade.

Some highlights of the release:

Thank you to all the contributors to this release, those who contributed code or doc fixes (32 people) or made issues or answered questions in the forum - your help is much appreciated! Special thanks to @nielash for the mammoth task of getting the integration tests to pass for bisync and to @albertony for revamping both the documentation and the code.

If you’re working in the industry and you feel your company could benefit from a support contract please get in touch at sales@rclone.com or if you’re interested in advertising with us then please drop us a message to sponsorship@rclone.com.

Please consider donating or sponsoring to keep the project sustainable and a big thank you to our existing sponsors.

v1.71.0 - 2025-08-22

See commits

  • New S3 providers
  • New Features
    • Allow global config to be overriden or set on backend creation (Nick Craig-Wood)
    • bisync: Promoted from beta to stable (nielash)
    • build
      • Update to go1.25 and make go1.24 the minimum required version (Nick Craig-Wood)
      • Update all dependencies (Nick Craig-Wood)
      • Upgrade golangci-lint to v2 and fix code and config (albertony)
      • Add markdown linting to workflow and fix all the docs (albertony)
      • Extend check for edits of autogenerated files to all commits in a pull request (albertony)
      • Set default shell to bash in build.yml (Ross Smith II)
    • config
      • Make parsing of Duration options consistent (albertony)
      • Add error if RCLONE_CONFIG_PASS was supplied it but didn't decrypt the config (n4n5)
    • copy, copyto: Implement logger flags to store result of sync (Marvin Rösch)
    • doc fixes (albertony, Ali Zein Yousuf, Binbin Qian, curlwget, Ed Craig-Wood, jinjingroad, Lucas Bremgartner, n4n5, Nick Craig-Wood)
    • hash: Add support for BLAKE3, XXH3, XXH128 (albertony)
    • http
      • Add --client-pass support for encrypted --client-key files (Nick Craig-Wood)
      • Allow setting of --http-proxy from the command line (Nick Craig-Wood)
    • lib/mmap: Convert to using unsafe.Slice to avoid deprecated reflect.SliceHeader (cui)
    • lib/transform: Avoid empty charmap entry (albertony)
    • log: Add log rotation options when using --log-file (Nick Craig-Wood)
    • move, moveto: Implement logger flags to store result of sync (Marvin Rösch)
    • pool: Unify memory between multipart and asyncreader to use one pool (Nick Craig-Wood)
    • purge: Exit with a fatal error if filters are set on rclone purge (Nick Craig-Wood)
    • rc
      • Add config/unlock to unlock the config file (n4n5)
      • Fix config/listremotes to send an empty array instead of nil (n4n5)
      • Populate transfer snapshot with "what" value (Timothy Jacobs)
    • serve sftp: Add support for more hashes (crc32, sha256, blake3, xxh3, xxh128) (albertony)
    • transform: Add truncate_keep_extension and truncate_bytes (nielash)
  • Bug Fixes
    • about: Fix potential overflow of about in various backends (Nick Craig-Wood)
    • accounting
      • Fix incorrect stats with --transfers=1 (Yu Xin)
      • Fix stats (speed=0 and eta=nil) when starting jobs via rc (Nick Craig-Wood)
    • bisync
      • Fix concurrent runs via rc (nielash)
      • Fix --no-slow-hash settings on path2 (nielash)
    • config: fix problem reading pasted tokens over 4095 bytes (Nick Craig-Wood)
    • oauthutil: Fix nil pointer crash when started with expired token (Nick Craig-Wood)
    • operations: Fix too many connections open when using --max-buffer-memory (Nick Craig-Wood)
    • pool: Fix deadlock with --max-buffer-memory and multipart transfers (Nick Craig-Wood)
    • rc: Fix operations/check ignoring oneWay parameter (houance)
  • Mount
    • Fix identification of symlinks in directory listings (huangnauh)
  • Local
    • Configurable supported hashes (albertony)
    • Fix --copy-links on Windows when listing Junction points (Anagh Kumar Baranwal)
  • Azure Blob
    • Add support for client assertion based authentication (Vikas Bhansali)
    • Fix deadlock with --max-connections with InvalidBlockOrBlob errors (Nick Craig-Wood)
    • Fix double accounting for multipart uploads (Nick Craig-Wood)
  • Azurefiles
    • Add support for client assertion based authentication (Vikas Bhansali)
    • Fix hash getting erased when modtime is set (nielash)
  • Box
    • Fix about: cannot unmarshal number 1.0e+18 into Go struct field (Nick Craig-Wood)
  • Combine
    • Fix directory not found errors with ListP interface (Nick Craig-Wood)
  • Filescom
    • Document that hashes need to be enabled (Nick Craig-Wood)
  • FTP
    • Allow insecure TLS ciphers (Anagh Kumar Baranwal)
    • Make TLS config default to global TLS config (Nick Craig-Wood)
      • This allows --ca-cert, --client-cert etc to be used.
      • This also allows override.ca_cert = XXX to be used in the config file.
  • Googlephotos
    • Added warning for Google Photos compatability-fixes (raider13209)
  • Imagekit
    • Return correct error when attempting to upload zero length files (Nick Craig-Wood)
    • Don't low level retry uploads (Nick Craig-Wood)
    • Remove server side Copy method as it was downloading and uploading (Nick Craig-Wood)
  • Internetarchive
    • Fix server side copy of files with & (Nick Craig-Wood)
  • Mega
    • Fix tls handshake failure (necaran)
  • Oracleobjectstorage
    • Add read only metadata support (praveen-solanki-oracle)
  • Pikpak
    • Rewrite upload to bypass AWS S3 manager (wiserain)
    • Enhance Move for better handling of error and name collision (wiserain)
    • Enhance Copy method to handle name collisions and improve error management (wiserain)
    • Add file name integrity check during upload (wiserain)
  • S3
    • Add --s3-use-arn-region flag (Nick Craig-Wood)
    • Fix memory leak by cloning strings (liubingrun)
    • Fix multipart upload and server side copy when using bucket policy SSE-C (Albin Parou)
    • Fix Content-Type: aws-chunked causing upload errors with --metadata (Nick Craig-Wood)
  • SFTP
    • Add support for more hashes (crc32, sha256, blake3, xxh3, xxh128) (albertony)
  • Smb
    • Add --smb-kerberos-ccache option to set kerberos ccache per smb backend (Sudipto Baral)
    • Refresh Kerberos credentials when ccache file changes (Sudipto Baral)
    • Improve multithreaded upload performance using multiple connections (Sudipto Baral)
5 Likes

Good stuff.

Might I add here some points about the bisync documentation? Well, here I go.

  1. Here one is advised to ‘read and understood the entire manual‘ before one uses ‘bisync’. One gets the impression that the manual is a document separate to the text that one is reading. In truth, it is not; clicking ‘manual’ takes one back to the same page that one was on.

  2. Partly by dint of the text mentioned in 1, one can get the false impression, initially, that ‘bisync’ is a program separate from rclone.

  3. The manual - that is, the relevant parts of Rclone’s manual - does not (at least not initially) tell one what rclone bisync is actually for (!). What is it for?

Good points @LinuxOnTheDesktop

Bisync is for bidirectional syncing to make two remotes the same but preserve changes which happen on both sides (unlike sync which is one way)

So you could bisync your Dropbox to your Drive and changes made in either place would be preserved.

A lot of the complications in the manual are due to dealing with conflicts where a file has changed on both sides.

Thanks for the explanation, Nick. It seems to me that the relevant bit of documentation - namely, the start of the documentation of the bisync (sub)command - ought to be revised.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.