commit da8c6847ad86ae25d32bbc130f3acf7e2a00f33c
Author: Ted Robertson <10043369+tredondo@users.noreply.github.com>
Date:   Sat Nov 1 19:28:14 2025 +0000

    docs: add AppArmor restrictions to rclone mount

commit d240d044c35021d2adfb2371cebef0eb6ca30c74
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Nov 1 20:23:01 2025 +0100

    check: improved reporting of differences in sizes and contents
    
    fixes rclone check --download not showing differing files

commit 1056ace80f4a5a1a5c7756c2bdaf997f32bab944
Author: iTrooz <hey@itrooz.fr>
Date:   Sat Nov 1 20:03:49 2025 +0100

    mega: implement 2FA login

commit a06c1c0cb73adaa196c6bd51937e3af4a24c50a8
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Nov 1 15:36:51 2025 +0100

    docs: change to light code block style to better match overall theme

commit 7672c3d586bb6900e3753ff83e66f6c161b707e4
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Nov 1 16:47:09 2025 +0100

    docs: fix various markdownlint issues

commit f361cdf1cb604d5dc105788f76fd2dcad4b46e6b
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Tue Aug 26 22:13:53 2025 +0200

    build: restrict the markdown languages to use for code blocks

commit 26d3c71bab443ad00653e8d7613002847d88babb
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Fri Oct 31 22:54:26 2025 +0100

    docs: fix various markdownlint issues

commit c76396f03cdf019e249cfcef0269617fd1f3fe40
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Fri Oct 31 22:02:58 2025 +0100

    docs: fix markdownlint issue md013/line-length

commit 059ad47336b57b76233657d2a17c5c338bddd9d9
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Fri Oct 31 21:58:24 2025 +0100

    docs: change syntax hightlighting for command examples from sh to console

commit becc068d363d86091612df66de190bdbb342fb75
Author: Joseph Brownlee <39440458+JellyJoe198@users.noreply.github.com>
Date:   Fri Oct 31 09:42:38 2025 -0600

    docs: Clarify remote naming convention
    
    Co-authored-by: dougal <147946567+roucc@users.noreply.github.com>
    Co-authored-by: dougal <dougal.craigwood@gmail.com>

commit 94deb6bd6f3f961588b692c33a751f331da40482
Author: fries1234 <fries1234@protonmail.com>
Date:   Fri Oct 31 08:33:31 2025 -0700

    b2: Add Server-Side encryption support
    
    This commit adds SSE-C (Server-Side Encryption - Customer) support to
    the B2 native backend. The server uses a customer provided AES-256 key
    to encrypt the files when you upload them to the bucket, and then it
    discards your key from the servers RAM after you're done uploading.
    
    The option names and descriptions are based off the S3 backend
    implementation as the way S3 and B2 does SSE-C is pretty similar.
    
    Fixes #6585

commit cc09978b790125e5e7c3f47723b22e92a90d2501
Author: Fawzib Rojas <fawzib.rojas@gmail.com>
Date:   Sun Jan 5 15:15:50 2025 +0000

    Added rclone archive command to create and read archive files
    
    Co-Authored-By: Nick Craig-Wood <nick@craig-wood.com>

commit 409dc75328c66f12324ae54a6c7f6c45245dd034
Author: Fawzib Rojas <fawzib.rojas@gmail.com>
Date:   Wed Jan 15 19:55:06 2025 +0000

    accounting: add io.Seeker/io.ReaderAt support to accounting.Account
    
    This is a pass through implementation which will fail if the
    underlying reader does not have the interface.

commit fb30c5f8dd7a0fc45b6aeac14cd76ecdebdcf26e
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Oct 29 21:33:01 2025 +0000

    operations: add ReadAt method to ReOpen

commit 203df6cc585b1b7b64e29bee5242619508b2bc59
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Oct 29 21:33:36 2025 +0000

    fstest: add ResetRun to allow the remote to be reset in tests

commit 459e10d599ffed2a1c97b74b702aab9d60bc66b4
Author: Riaz Arbi <riazarbi@users.noreply.github.com>
Date:   Thu Oct 30 17:20:16 2025 +0200

    gcs: fix --gcs-storage-class to work with server side copy for objects

commit 1ba4fd1d839ea188fcd1d1365e9d0d2818a913a0
Author: Lukas Krejci <metlos@users.noreply.github.com>
Date:   Thu Oct 30 16:06:37 2025 +0100

    ulozto: implement the about functionality

commit 77553b8dd5d64411b6641a5ecc0b95be47e022a7
Author: Adam Dinwoodie <me-and@users.noreply.github.com>
Date:   Wed Oct 29 17:00:25 2025 +0000

    local: add --skip-specials to ignore special files
    
    Give users a way to explicitly acknowledge that pipes, sockets and block
    devices are to be ignored without warnings.
    
    This follows the precedent set in commit 6152bab28 (local: add
    --skip-links to suppress symlink warnings, 2017-07-21) for ignoring
    warnings about symlinks.

commit 5420dbbe38bcc3cf41632391d65f129c70561973
Author: Andrew Ruthven <andrew@etc.gen.nz>
Date:   Thu Oct 30 05:55:53 2025 +1300

    swift: Report disk usage in segment containers
    
    Large objects are split and stored in a _segments container in Swift.
    These should be included when reporting on the space used.
    
    Fixes #8857

commit 87b71dd6b9e29478451a1340aa261bd733afadb2
Author: dulanting <dulanting@outlook.jp>
Date:   Thu Oct 30 00:48:34 2025 +0800

    refactor: use strings.Builder to improve performance

commit a0bcdc26389806f42536855615230dbfec1ea277
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Nov 28 18:37:33 2023 +0000

    Archive backend to read archives on cloud storage.
    
    Initial support with Zip and Squashfs archives.
    
    Fixes #8633
    See #2815

commit e42fa9f92d13d3e62fbe57c52ddcdc56e7f78c7f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Oct 27 14:16:25 2025 +0000

    vfs: remove unecessary import in tests to fix import cycles

commit 4586104dc71950b439eb99c7eb8d2909c151878b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 28 11:05:35 2025 +0000

    Add Lakshmi-Surekha to contributors

commit c4c360a285a81b2c87e040577df6499c236b7902
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 28 11:05:35 2025 +0000

    Add Andrew Gunnerson to contributors

commit ce4860b9b65a376e0a0ae5726b2c4a776797b986
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 28 11:05:35 2025 +0000

    Add divinity76 to contributors

commit ed87f82d21cafbd4043f67e9a0ef208360fc5f03
Author: Lakshmi-Surekha <Lakshmi.Kovvuri@ibm.com>
Date:   Mon Oct 27 19:04:58 2025 +0530

    build: enable support for aix/ppc64
    
    * Adds "aix/ppc64" to the cross-compile target list.
    * Including AIX in the build tag of "metadata_other.go".
    * Excluding AIX from the main ncdu build tags.
    * Marking AIX as an unsupported platform for ncdu.
    * Excluding AIX from the fallback redirect implementation.
    * Excluding AIX from unix build tags to avoid undefined unix.WNOHANG.

commit 0a82929b94f1a8fc309237b1e6e345f9ecea8348
Author: Andrew Gunnerson <accounts+github@chiller3.com>
Date:   Sun Oct 26 18:21:11 2025 -0400

    rc: fix name of "queue" JSON key in docs for vfs/cache
    
    Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>

commit 1e8ee3b81313ab4a6c53effa6736e22dc16d4032
Author: divinity76 <hans@loltek.net>
Date:   Mon Oct 27 14:22:04 2025 +0100

    cmount: windows: improve error message on missing winfsp

commit eaab3f5271f8222ebdbee237f841801725ec1aa4
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Oct 26 10:24:15 2025 +0000

    docs: add the Provider to the options examples in the backend docs

commit 25b05f121051936196e96c10e41864d626dd5185
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Oct 26 10:25:00 2025 +0000

    Add Aneesh Agrawal to contributors

commit 2dc1b07863e77e9d379e8c459099bbe02a073dfa
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Oct 26 10:25:00 2025 +0000

    Add viocha to contributors

commit 49acacec2ef2cf09e2688b63e0c6c71855179152
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Oct 26 10:25:00 2025 +0000

    Add reddaisyy to contributors

commit 70d2fe656845796669e2fb37f7d51dd6fd948e3c
Author: Aneesh Agrawal <aneesh@anthropic.com>
Date:   Tue Oct 7 15:05:33 2025 +0000

    fs: remove unnecessary Seek call on log file
    
    We were seeing a (non-fatal) error in our logs:
    ```
    Failed to seek log file to end: seek /proc/1/fd/1: illegal seek
    ```
    
    Because we open the log file with O_APPEND,
    we don't need to manually seek to the end.
    As https://pkg.go.dev/os#File.Seek also confirms
    that the behavior of `Seek` is not specified
    if the file has been opened with O_APPEND,
    remove the `Seek` call.

commit f28c83c6de2f644f1990cd1bb20fe7167137136e
Author: dougal <dougal.craigwood@gmail.com>
Date:   Tue Oct 14 17:50:28 2025 +0100

    s3: make it easier to add new S3 providers
    
    Before this change, you had to modify a fragile data-structure
    containing all providers. This often led to things being out of order,
    duplicates and conflicts whilst merging. As well as the changes for
    one provider being in different places across the file.
    
    After this change, new providers are defined in an easy to edit YAML file,
    one per provider.
    
    The config output has been tested before and after for all providers
    and any changes are cosmetic only.

commit 2cf44e584cd99899de33514f51781a2136db7de6
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Oct 24 22:06:29 2025 +0000

    build(deps): bump actions/upload-artifact from 4 to 5
    
    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
    
    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-version: '5'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit bba902781732b0fa7c953b0854261838ff78dd91
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Oct 24 22:06:26 2025 +0000

    build(deps): bump actions/download-artifact from 5 to 6
    
    Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
    - [Release notes](https://github.com/actions/download-artifact/releases)
    - [Commits](https://github.com/actions/download-artifact/compare/v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/download-artifact
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit 51859af8d95dcfd50c242f08f11ad560ba5b32b3
Author: dougal <147946567+roucc@users.noreply.github.com>
Date:   Fri Oct 24 14:50:13 2025 +0100

    ftp: fix SOCK proxy support - fixes #8892 (#8918)

commit 4f60f8915d21d939b7d811c2819636de2c838f9a
Author: viocha <viocha@qq.com>
Date:   Wed Oct 15 18:25:47 2025 +0800

    webdav: Add Access-Control-Max-Age header for CORS preflight caching - fixes #5078

commit 6663eb346f0919c29684a9e7b79ed47560f65031
Author: hunshcn <hunsh.cn@gmail.com>
Date:   Wed Oct 22 21:05:05 2025 +0800

    webdav: use SpaceSepList to parse bearer token command

commit 1d0e1ea0b5cc82bdd0cfc844ab9c94882e6135f1
Author: reddaisyy <reddaisy@outlook.jp>
Date:   Thu Oct 23 23:40:30 2025 +0800

    refactor: use strings.Builder to improve performance

commit 71631621c41112abfa198fccbe7ed0a6ddea0358
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 23 14:45:08 2025 +0100

    docs: re-arrange sponsors page

commit 31e904d84c90fb9b1fe16cd95d2ac31c43c19867
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 23 14:44:25 2025 +0100

    docs: add Spectra Logic as a sponsor

commit 30c9843e3d08d37a8be9fc26485b49d5212c7c06
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 23 14:50:41 2025 +0100

    Add Oleksandr Redko to contributors

commit c8a834f0e86a28844a378832a4736355e447099b
Author: Oleksandr Redko <oleksandr.red+github@gmail.com>
Date:   Wed Oct 22 20:37:58 2025 +0300

    build: enable all govet checks (except fieldalignment and shadow) and fix issues.

commit b272c50c4cf8bd2bcf74c80128cfa5b6361fa701
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Oct 22 12:28:06 2025 +0100

    march: fix --no-traverse being very slow - fixes #8860
    
    Before this change --no-traverse was calling NewObject on directories
    (where it would always fail) as well as files. This was very
    noticeable when doing syncs with --max-age which were only
    transferring a small number of objects. This should have been very
    quick, but the NewObject calls for each directory slowed the sync down
    a lot.
    
    This changes replaces the check to see if the source entry is an
    Object that got missed out from this commit:
    
    88e30eecbf49a41c march: fix deadlock when using --no-traverse - fixes #8656

commit b8700e8042edd84e7b0a33cb807565c2a5bcd263
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Oct 22 14:14:39 2025 +0100

    Add vastonus to contributors

commit 73193b0565b1b512177c4c1ac7b5d9a6c84cedfc
Author: kingston125 <support@filelu.com>
Date:   Wed Oct 22 07:25:05 2025 -0400

    s3: add new FileLu S5 endpoints
    
    Add US, EU, AP, and ME endpoints

commit c4eef3065fbc79d244ab3b4f5ca3597b0fc40508
Author: vastonus <vastonus@outlook.com>
Date:   Wed Oct 22 01:56:06 2025 +0800

    build: remove obsolete build tag

commit ba2a642961f37d712eb3044a277478960331218d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 14:59:14 2025 +0100

    azurefiles: add ListP interface - #4788

commit 979c6a573df3d5ef56d21d4386055087a31f9a83
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 14:55:35 2025 +0100

    dropbox: add ListP interface - #4788

commit bbb866018e968254e91bc9dcd56735adfc186c80
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 14:20:24 2025 +0100

    webdav: add ListP interface - #4788

commit 7706f02294ad04a1c3a7a0b85d375b454986e54f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 13:05:02 2025 +0100

    pcloud: add ListP interface - #4788

commit 6df791318178b6ef0a93201b5f90b1bb79243d7e
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 12:53:13 2025 +0100

    box: add ListP interface - #4788

commit c079495d1f7666031265fcc86f6d9083c483f082
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 12:49:01 2025 +0100

    onedrive: add ListP interface - #4788

commit 3bf1ac5b0722e80fb801ecd2addc6d2406d08d8f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 12:46:02 2025 +0100

    drive: add ListP interface - #4788

commit 091caa34c6d97b69cec0685a8bcd1b3d4232341d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 21 18:40:11 2025 +0100

    Add hunshcn to contributors

commit d507e9be39a84569edf1dafc708d01dfc2e23edb
Author: hunshcn <hunsh.cn@gmail.com>
Date:   Tue Oct 21 10:58:21 2025 +0800

    webdav: optimize bearer token fetching with singleflight

commit 40b3251e410a9f183af765639c121fc0d21b3e5d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Oct 20 16:56:02 2025 +0100

    Changelog updates from Version v1.71.2

commit 484d955ea8fed315261fc7d60b0a0d83f282cfbd
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Oct 4 08:49:01 2025 +0200

    lib/http: cleanup indentation and other whitespace in http serve template

commit 8fa9f255a06d9bc8cff8b501b395326733ee6bd2
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Oct 4 08:41:40 2025 +0200

    docs: improve formatting of http serve template parameters

commit e7f11af1cafa0ab1c6b5835131c1da2fe97ea878
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 17 16:05:55 2025 +0100

    build: stop markdown linter leaving behind docker containers

commit 0b5c4cc442f727223e27980def5a194cce130155
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Oct 20 11:51:14 2025 +0100

    Add Marco Ferretti to contributors

commit 178ddafdc7189b2fdc36e12376656131dadb314c
Author: Marco Ferretti <mferretti93@gmail.com>
Date:   Fri Oct 17 17:20:08 2025 +0200

    s3: add cubbit as provider

commit ad316ec6e3b640cb00d56892a1eabbe18f1c8c62
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 17 16:05:49 2025 +0100

    s3: add servercore as a provider

commit 61b022dfc3c63bcad79e4f9204d6ef20c1ce8178
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 17 11:47:17 2025 +0100

    docs: update sponsors

commit 1903b4c1a27e4810b2fe2d75c89c06bd17bb34ac
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Oct 15 16:30:23 2025 +0100

    docs: update sponsor images

commit f7cbcf556f59a71675e04feea173bc468c6903d7
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 14 12:00:29 2025 +0100

    docs: update privacy policy with a section on user data

commit 3581e628c0f070f7dfa30e576900c93fb0e7c50b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 14 16:23:55 2025 +0100

    Add Dulani Woods to contributors

commit 62c41bf449e6f8c366d87454565b5407b508c30a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Oct 14 16:23:55 2025 +0100

    Add spiffytech to contributors

commit c5864e113b74681656d32facd903eca82d7e23bb
Author: Dulani Woods <Dulani@gmail.com>
Date:   Tue Sep 30 03:20:48 2025 -0400

    gcs: add region us-east5 - fixes #8863

commit 39259a5bd1096ede4bdd6f90d6b4c0ed0d19a1a4
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Oct 4 14:26:02 2025 +0200

    jottacloud: refactor service list from map to slice to get predefined order

commit 2e376eb3b95aa502e4830ed4684c5b74df63eae2
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Oct 4 13:56:29 2025 +0200

    jottacloud: added support for traditional oauth authentication also for the main service
    
    This renames whitelabel authentication to traditional authentication and adds support for
    the main Jottacloud service also here, as it can be used as an alternative to the
    authentication based on personal login token for those who prefer it. Documentation
    also adjusted correspondingly, and restructured the authentication section a bit more
    since some of the sections that was under standard authentication in reality also
    applies to the traditional authentication.

commit de8e9d469340af3fe75454b058a0aa48bf8181a1
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 9 15:23:03 2025 +0200

    oauthutil: improved debug logs from token refresh

commit 710cf49bc68d1dc0c6f7eb6e24db8ada2b37a90a
Author: spiffytech <git@spiffy.tech>
Date:   Sat May 10 11:10:16 2025 -0400

    backend: add S3 provider for Hetzner object storage #8183

commit 8dacac60ea00d8549ad26efe6733495f10375f2d
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 9 14:54:06 2025 +0200

    jottacloud: improved token refresh handling
    
    The oauthutil.Renew was initialized early in NewFs, before the first request to the
    service where a token is needed. When token is already expired at the time NewFs is
    called, the Renew operation would be triggered immediately, only to abort before actually
    performing a token refresh, for reason described in debug message:
    
        Token expired but no uploads in progress - doing nothing
    
    Then later in NewFs, a request to the customer endpoint was made, and since it requires
    a valid token it would perform a token refresh after all.
    
    This was not a big problem, but a bit unnecessary, and the debug log messages made it
    confusing to understand what rclone was actually doing regarding token refreshing.
    
    If, from debugger, we were forcing the Renew operation to perform actual token refresh,
    even if no uploads in process, then it would fail because it actually needs the username
    which is retrieved from the customer endpoint
    
        jottacloud root '': Token refresh failed: read metadata failed: error 400: org.springframework.security.core.userdetails.UsernameNotFoundException: Username not found in url! (Bad Request)
    
    Don't think this can happen in any real situations, but better to make sure it never can.

commit 3a80d4d4b49376a35b1fb5121f52fb1f1dd3e80e
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 10 14:51:38 2025 +0100

    s3: provider reordering
    
    + fixing some typos

commit a531f987a89c0f007c0893086180b674f673af0c
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 10 14:33:23 2025 +0100

    index: add missing providers

commit e906b8d0c46a51ed651bfc0ef60b956440aaeb94
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 10 14:29:47 2025 +0100

    docs: add missing `

commit a5932ef91a0bf09d8eeccc24438d42cdc14f1013
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 10 14:29:22 2025 +0100

    s3: add rabata as a provider

commit 3afa563eaf6c42960de1a948820e2bdaeda69fc9
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Sep 26 12:28:10 2025 +0100

    mega: fix 402 payment required errors - fixes #8758
    
    The underlying library now supports hashcash which should fix this
    problem.

commit 9d9654b31fc2f21760208a1ffaacf76ccc2486a8
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 9 11:58:35 2025 +0100

    Add Andrew Ruthven to contributors

commit cfe257f13d2c9509dc39f6d2d7fd27a3900191e3
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 9 11:58:35 2025 +0100

    Add Microscotch to contributors

commit 0375efbd35722363d39b2594e4b7fbde5f9dee7e
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Oct 9 11:58:35 2025 +0100

    Add iTrooz to contributors

commit cad1954213c3ff7667128d34ac33444bc7205fcf
Author: Andrew Ruthven <andrew@etc.gen.nz>
Date:   Sat Oct 4 09:11:46 2025 +0000

    build: Bump SwiftAIO container to a newer one
    
    The bouncestorage image hasn't been updated for 4 years and has this
    message at the top of the docs:
    
      This repository is outdated; please use dockerswiftaio/docker-swift instead.
    
    However, dockerswiftaio/docker-swift hasn't been updated for 2 years.
    Switch to openstackswift/saio instead, which is getting regular updates.
    
    This requires some minor changes to one test, and how we start the
    container.

commit 604e37caa54c033393afa1fd8014052897b9f043
Author: Andrew Ruthven <andrew@etc.gen.nz>
Date:   Sat Oct 4 05:38:29 2025 +0000

    build: Retry stopping the test server
    
    On my system there needs to be a slight pause between stopping and
    checking to see if SwiftAIO has stopped. Without the pause the tests fail for
    a non-obvious reason.
    
    Instead of using a magic sleep, re-use the retry logic that is used for
    starting the test server.

commit b249d384b96e51096dc7bebd01504ce56fe19ee1
Author: Andrew Ruthven <andrew@etc.gen.nz>
Date:   Sat Oct 4 01:54:26 2025 +0000

    build: Increase attempts to connect to test server
    
    On the system I'm testing Swift on it can take ~90 retries for SwiftAIO to
    be ready. Extend the retry attempts.

commit 04e91838db08d092a198883d87c6ed4cbbe82e6a
Author: Andrew Ruthven <andrew@etc.gen.nz>
Date:   Tue Sep 30 07:57:56 2025 +0000

    swift: If storage_policy isn't set, use the root containers policy
    
    Ensure that if we need to create a segments container it uses the same
    storage policy as the root container.
    
    Fixes #8858

commit 94829aaec5c2d190c3f0d4fead860502b8255aa7
Author: Microscotch <github.com@microscotch.net>
Date:   Mon Oct 6 17:18:38 2025 +0200

    proton: automated 2FA login with OTP secret key
    
    add OTP secret key to config to generate 2FA code

commit f574e3395ca976814f57fadb95657df4c47d65c6
Author: iTrooz <hey@itrooz.fr>
Date:   Mon Oct 6 16:17:21 2025 +0200

    serve s3: fix log output to remove the EXTRA messages
    
    As shown in
    
    https://github.com/rclone/gofakes3/blob/81e56a30c86f942861f105439339812439b53415/log.go#L74
    
    it seems like the wanted behaviour for merging arguments is the one of PrintLn,
    which is "put a space between each arg"

commit 2bc155a96a2c75e0f683536a2bb038a0aea53586
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sun Oct 5 11:22:27 2025 +0200

    docs/jottacloud: update description of invalid_grant error according to changes

commit adc8ea3427f69c489742dcec0d9a5e75ab84168d
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sun Oct 5 00:06:51 2025 +0200

    jottacloud: add support for MediaMarkt Cloud as a whitelabel service
    
    This was requested in issue #8852, after authentication was already fixed for existing
    whitelabels.

commit 068eea025c0820563c9a2c9c3f6797a86b1cc39b
Author: kingston125 <support@filelu.com>
Date:   Sat Oct 4 10:48:01 2025 -0400

    s3: add FileLu S5 provider

commit 4510aa679ad069346a6aeff5729f78cdf9cc65a5
Author: iTrooz <hey@itrooz.fr>
Date:   Sat Oct 4 08:10:49 2025 +0200

    docs: fix variants of --user-from-header

commit 79281354c7b9964f0ef36c8fed4c85def841d717
Author: dougal <dougal.craigwood@gmail.com>
Date:   Fri Oct 3 16:47:15 2025 +0100

    vfs: fix chunker integration test

commit f57a1787195fc21503d3ac6f28da364d2fade811
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 3 16:03:29 2025 +0100

    test_all: give TestZoho: extra time as it has been timing out

commit 44f2e2ed39fcc44e277f60c28c07c7fd7173cf56
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 3 16:02:07 2025 +0100

    test_all: give TestCompressDrive: extra time as it has been timing out

commit 13e1752d94fdeb1ebd499d2fd533804c8a6abcd8
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 3 15:52:59 2025 +0100

    rclone config string: reduce quoting with Human rendering for strings #8859

commit bb82c0e43b6aa85d7af6b805e2d89b7a63e49c0b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Oct 3 15:54:06 2025 +0100

    Add juejinyuxitu to contributors

commit 1af7151e7318291508d304b8f5618c230078f96e
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Sep 25 22:36:41 2025 +0200

    docs/jottacloud: update documentation with new whitelabel services and changed configuration flow

commit fd63478ed66f1774d7652edb5cac8657fd688929
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 14:35:52 2025 +0200

    jottacloud: abort attempts to run unsupported rclone authorize command

commit 5133b05c749216e7649ba9e2e70c333699ef1e35
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Sep 27 10:55:49 2025 +0200

    jottacloud: minor adjustment of texts in config ui

commit 6ba96ede4ba3b9d631895d5406cf1a5475920429
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Sep 27 10:30:58 2025 +0200

    jottacloud: add support for Let's Go Cloud (from MediaMarkt) as a whitelabel service

commit 2896973964a1c7ca5813a87639f81aec0861efd0
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sat Sep 27 09:58:37 2025 +0200

    jottacloud: fix authentication for whitelabel services from Elkjøp subsidiaries
    
    This adds support for them in the whitelabel autentication type, relying on OpenID
    Connect, same as Telia, Tele2 etc already uses.
    
    Until recently the Elkjøp subsidiaries still supported the legacy authentication type
    only, but that seem to have changed. They no longer support legacy authentication, which
    made existing rclone version incompatible with them.
    
    With this the legacy authentication has no known uses, however the implementation of
    it is still kept for now.
    
    Fixes #8852

commit be123d85ff65e912ab1be4211f1f0d1edb8d4726
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Sep 25 20:58:51 2025 +0200

    jottacloud: refactor config handling of whitelabel services to use openid provider configuration

commit b1b9562ab7e5ada20115c47c9843a5a21df2de33
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Fri Sep 26 17:36:30 2025 +0200

    jottacloud: remove nil error object from error message

commit 5146b66569dd0eb2b44fe75972f8227e4bc3e397
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Sep 25 23:10:44 2025 +0200

    jottacloud: fix legacy authentication
    
    This fixes the issue where configuration would fail after supplying passoword:
    
        Reveal failed: input too short when revealing password - is it obscured?

commit 8898372d5ac1a8325a094d91a917753381d9eaad
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 18:00:36 2025 +0200

    docs: add remote setup page to main docs dropdown

commit 091fe9e45348148610de7eb1a22ae86e44e62775
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 15:19:55 2025 +0200

    docs: update remote setup page

commit 8fdb68e41a6195d3095b0257d409c64aec035868
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 15:18:11 2025 +0200

    docs: add link from authorize command docs to remote setup docs

commit c124aa2ed397f40dc488cd9c35720415cc1897f3
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 14:52:58 2025 +0200

    docs: lowercase internet and web browser instead of Internet browser

commit 54e8bb89f7909bad6bfc63e503003b0413d76459
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Oct 2 14:44:14 2025 +0200

    docs: use the term backend name instead of fs name for authorize command

commit 50c1b594ab86d5ba3ba7db33512f598c12b5d4f0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 30 10:24:49 2025 +0100

    add `rclone config string` for making connection strings #8859

commit 72437a9ca2deb709bac646428250b60b0e27c57a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 30 11:59:40 2025 +0100

    config: add more human readable configmap.Simple output
    
    Before this, String() quoted every part of the config map even if it
    wasn't necessary.
    
    The new Human() method removes the quoting and adds the special case
    for "true" values.

commit 8ed55c61e1a66bed00502361609a5a605f707da0
Author: dougal <dougal.craigwood@gmail.com>
Date:   Wed Sep 17 14:59:00 2025 +0100

    serve http: download folders as zip
    
    Now folders can be downloaded as a zip. You can also use --disable-zip
    to not show this.

commit bd598c1ceb41bc0512129fa6b6aff71bad36428e
Author: dougal <dougal.craigwood@gmail.com>
Date:   Mon Sep 22 13:07:45 2025 +0100

    s3: reorder providers to be in alphabetical order

commit 7e30665102cbef8776c8bc1dadba0e3772d1fe7e
Author: juejinyuxitu <juejinyuxitu@outlook.com>
Date:   Wed Sep 24 23:03:33 2025 +0800

    refactor: use strings.FieldsFuncSeq to reduce memory allocations
    
    Signed-off-by: juejinyuxitu <juejinyuxitu@outlook.com>

commit d44957a09c9a6fe1e9bd5cdaf411b70ba652048f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Sep 24 10:20:57 2025 +0100

    accounting: add SetMaxCompletedTransfers method to fix bisync race #8815
    
    Before this change bisync adjusted the global MaxCompletedTransfers
    variable which caused races.
    
    This adds a SetMaxCompletedTransfers method and uses it in bisync.
    
    The MaxCompletedTransfers global becomes the default. This can be
    changed externally if rclone is in use as a library, and the commit
    history indicates that MaxCompletedTransfers was added for exactly
    this purpose so we try not to break it here.

commit 37524e2dea2a630b6030fd7450fefd7f23e6eceb
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Sep 24 09:53:25 2025 +0100

    accounting: add RemoveDoneTransfers method to fix bisync race #8815
    
    Before this change bisync was adjusting MaxCompletedTransfers in order
    to clear the done transfers from the stats.
    
    This wasn't working (because it was only clearing one transfer) and
    was part of a race adjusting MaxCompletedTransfers.
    
    This fixes the problem by introducing a new method RemoveDoneTransfers
    to clear the done transfers explicitly and calling it in bisync.

commit 2f6a6c823352f355c0c11139ee0cff15ba97a8eb
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 21 12:59:44 2025 +0100

    bisync: fix race when CaptureOutput is used concurrently #8815
    
    Before this change CaptureOutput could trip the race detector when
    used concurrently. In particular if go routines using the logging are
    outlasting the return from `fun()`.
    
    This fixes the problem with a mutex.

commit 4ad40b6554407afd569cdc0a289e88cb45f14d0f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Sep 26 12:14:49 2025 +0100

    build: update all dependencies

commit 4f33d64f25b9ead7b69162b2772a7df54dea0df4
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Sep 26 12:21:12 2025 +0100

    Makefile: remove deprecated go mod usage

commit 519623d9f181cffd4125725409adce9dbaea5a1e
Author: Vikas Bhansali <64532198+vibhansa-msft@users.noreply.github.com>
Date:   Fri Sep 26 17:11:42 2025 +0530

    azurefiles: Fix server side copy not waiting for completion -  fixes #8848

commit 913278327bd8334b76f7766c4651ab48126c0427
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Sep 24 17:34:26 2025 +0100

    Changelog updates from Version v1.71.1

commit a9b05e4c7a99f3a198fc4803a306f57af9ee22d5
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Sep 24 15:35:09 2025 +0100

    test_all: fix branch name in test report

commit 5d6d79e7d4392924d1e642ece804ff5d7e8c3f91
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Aug 30 11:06:40 2025 +0100

    pacer: fix deadlock with --max-connections
    
    If the pacer was used recursively and --max-connections was in use
    then it could deadlock if all the connections were in use at the time
    of recursive call (likely).
    
    This affected the azureblob backend because when it receives an
    InvalidBlockOrBlob error it attempts to clear the condition before
    retrying. This in turn involves recursively calling the pacer.
    
    This fixes the problem by skipping the --max-connections check if the
    pacer is called recursively.
    
    The recursive detection is done by stack inspection which isn't ideal,
    but the alternative would be to add ctx to all >1,000 pacer calls. The
    benchmark reveals stack inspection takes about 55nS per stack level so
    it is relatively cheap.

commit 11de074cbf952b9ed2084935a2e9421a1521f1e8
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Aug 30 10:29:45 2025 +0100

    Revert "azureblob: fix deadlock with --max-connections with InvalidBlockOrBlob errors"
    
    This reverts commit 0c1902cc6037d81eaf95e931172879517a25d529.
    
    This turns out not to be sufficient so we need a better approach

commit e9ab177a325565788d134de0f466b41a3eed4af6
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Sep 22 17:39:12 2025 +0100

    Add Youfu Zhang to contributors

commit f3f4fba98d273d4325433bc8a480ef0434708ff6
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Sep 22 17:39:12 2025 +0100

    Add Matt LaPaglia to contributors

commit 03fccdd67b83a8a66fc06e0a8132ca5b151f2d80
Author: Sudipto Baral <sudiptobaral.me@gmail.com>
Date:   Mon Sep 22 10:33:44 2025 -0400

    smb: optimize smb mount performance by avoiding stat checks during initialization
    
    add IsPathDir function and tests for trailing slash optimization

commit 231083647ef96fc97fd4dff6b88b93450a677693
Author: Youfu Zhang <1315097+zhangyoufu@users.noreply.github.com>
Date:   Fri Sep 19 11:46:26 2025 +0800

    pikpak: fix unnecessary retries by using URL expire parameter - fixes #8601
    
    Before this change, rclone would unnecessarily retry downloads when
    the `Link.Expire` field was unreliable but the download URL contained
    a valid expire query parameter. This primarily affects cases where
    media links are unavailable or when `no_media_link` is enabled.
    
    The `Link.Valid()` method now primarily checks the URL's expire query
    parameter (as Unix timestamp) and falls back to the Expire field
    only when URL parsing fails. This eliminates the `error no link`
    retry loops while maintaining backward compatibility.
    
    Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>

commit 0e203a7546848bca4d2050fd2c5f7a87ab270eb9
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 18 12:09:37 2025 +0100

    serve http: fix: logging url on start

commit a7dd78756904d031d7eb7fe2448f9361f6adbc80
Author: Matt LaPaglia <mlapaglia@gmail.com>
Date:   Tue Sep 16 08:27:10 2025 -0400

    docs: fix typo

commit 689555033ea8124a44f2a86ef40b1da8887b1086
Author: dougal <dougal.craigwood@gmail.com>
Date:   Mon Sep 15 12:18:00 2025 +0100

    b2: fix 1TB+ uploads
    
    Before this change the minimum chunk size would default to 96M which
    would allow a maximum size of just below 1TB file to be uploaded, due to
    the 10000 part rule for b2.
    
    Now the calculated chunk size is used so the chunk size can be 5GB
    making a max file size of 50TB.
    
    Fixes #8460

commit 4fc4898287c73c166e09cafdf127bf6e3e382d98
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Sep 11 17:27:15 2025 +0100

    march: fix deadlock when using --fast-list on syncs - fixes #8811
    
    Before this change, it was possible to have a deadlock when using
    --fast-list for a sync if both the source and destination supported
    ListR.
    
    This fixes the problem by shortening the locking window.

commit b0031690889d9a2d2d256ffc564a3f04278bdc33
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:19:32 2025 +0100

    build: slices.Contains, added in go1.21

commit babd112665766d72bd3b5eb0fbe8e94517fee7a0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:17:40 2025 +0100

    build: use strings.CutPrefix introduced in go1.20

commit 71b9b4ad7a37468a7b5c1083a36493486a3ee683
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:16:26 2025 +0100

    build: use sequence Split introduced in go1.24

commit 4368863fcbda85334dcfbe89314c0ca9f550c96a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:14:47 2025 +0100

    build: use "for i := range n", added in go1.22

commit 04d49bf0ea201ba56cf861cbf8b25c7442225543
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:13:42 2025 +0100

    build: modernize benchmark usage

commit d7aa37d26323f0a395d8e2887c6752e25d123b46
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:04:43 2025 +0100

    build: in tests use t.Context, added in go1.24

commit 379dffa61c33959d8ffa2f98fcbbf424c1075919
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:03:08 2025 +0100

    build: replace interface{} by the 'any' type added in go1.18

commit 5fd4ece31f2472f22a341b6ecd2b37661e50c5d9
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Sep 14 16:01:33 2025 +0100

    build: use the built-in min or max functions added in go1.21

commit fc3f95190bd2c0159c058d7092d5a2e716cd829a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Sep 15 12:45:43 2025 +0100

    Add russcoss to contributors

commit d6f5652b65999f5099f8a9b371166650465d6e82
Author: russcoss <russcoss@outlook.com>
Date:   Sun Sep 14 10:58:20 2025 -0400

    build: remove x := x made unnecessary by the new semantics of loops in go1.22
    
    Signed-off-by: russcoss <russcoss@outlook.com>

commit b5cbb7520df9c2dbe5314a1ede721886c2986a38
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Sep 11 18:33:06 2025 +0100

    lib/pool: fix unreliable TestPoolMaxBufferMemory test
    
    This turned out to be a problem in the tests. The tests used to do
    
    1. allocate
    2. increment
    3. free
    4. decrement
    
    But if one goroutine had just completed 2 and another had just
    completed 3 then this can cause the test to register too many
    allocations.
    
    This was fixed by doing the test in this order instead:
    
    1. allocate
    2. increment
    3. decrement
    4. free
    
    The 4 operations are atomic.
    
    Fixes #8813

commit a170dfa55bc8c490b6a5dd50eec61e008775cef3
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Sep 12 10:37:40 2025 +0100

    Update S-Pegg1 email

commit 1449c5b5ba59f356d1457c8433f067c087c204cd
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Sep 12 10:37:40 2025 +0100

    Add Jean-Christophe Cura to contributors

commit 35fe609722ebece0e694dfa8bf4e0212c033bd26
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 11 12:24:27 2025 +0100

    pool: fix flaky unreliability test

commit cce399515fbe58d91584b932218e5aaf899eb661
Author: dougal <dougal.craigwood@gmail.com>
Date:   Wed Sep 10 18:24:40 2025 +0100

    copyurl: reworked code, added concurrency and tests
    
    - Added Tests
    - Fixed file name handling
    - Added concurrent downloads
    - Limited downloads to --transfers
    - Fixes #8127

commit 8c5af2f51c6a4c6e26211c0a96cca1d31532901a
Author: S-Pegg1 <70067376+S-Pegg1@users.noreply.github.com>
Date:   Sat Jul 19 16:54:39 2025 +0100

    copyurl: Added --url to read urls from csv file - #8127

commit c639d3656e76357b5aba727ef6d2f47704a639cb
Author: dougal <dougal.craigwood@gmail.com>
Date:   Tue Sep 9 16:29:54 2025 +0100

    docs: HDFS: erasure coding limitation #8808

commit d9fbbba5c3d51e3995c01e8ac994268415c7ec3d
Author: nielash <nielronash@gmail.com>
Date:   Tue Sep 9 05:30:02 2025 -0400

    fstest: fix slice bounds out of range error when using -remotes local
    
    Before this change, TestIntegration/FsName could fail with "slice bounds out of
    range [:-1]" when run with -remotes local.
    
    It also caused issues with
    '^TestGitAnnexFstestBackendCases$/^(TransferStorePathWithInteriorWhitespace|TransferStoreRelative)$'.
    
    This change fixes the issue by accepting either "" or "local" to indicate the
    local remote.

commit fd875603883fa60049a7f3cff9e80a821e16e9b7
Author: nielash <nielronash@gmail.com>
Date:   Tue Sep 9 05:22:03 2025 -0400

    local: fix time zones on tests
    
    Before this change, TestMetadata could fail due to a difference between the
    user's local time zone and UTC causing the string representation of the date to
    be off by one day. This change fixes the issue by comparing both in the Local
    time zone.

commit d87720a787aef31045eb5b92bbcf3479c78d7d0d
Author: dougal <dougal.craigwood@gmail.com>
Date:   Tue Sep 9 15:03:45 2025 +0100

    s3: added SpectraLogic as a provider

commit d541caa52b65897fdd9629da17d04e38d756c1ea
Author: nielash <nielronash@gmail.com>
Date:   Sat Sep 6 05:09:22 2025 -0400

    local: fix rmdir "Access is denied" on windows - fixes #8363
    
    Before this change, Rmdir (and other commands that rely on Rmdir) would fail
    with "Access is denied" on Windows, if the directory had
    FILE_ATTRIBUTE_READONLY. This could happen if, for example, an empty folder had
    a custom icon added via Windows Explorer's interface (Properties => Customize =>
    Change Icon...).
    
    However, Microsoft docs indicate that "This attribute is not honored on
    directories."
    https://learn.microsoft.com/en-us/windows/win32/fileio/file-attribute-constants#file_attribute_readonly
    Accordingly, this created an odd situation where such directories were removable
    (by their owner) via File Explorer and the rd command, but not via rclone.
    
    An upstream issue has been open since 2018, but has not yet resulted in a fix.
    https://github.com/golang/go/issues/26295
    
    This change gets around the issue by doing os.Chmod on the dir and then retrying
    os.Remove. If the dir is not empty, this will still fail with "The directory is
    not empty."
    
    A bisync user confirmed that it fixed their issue in
    https://forum.rclone.org/t/bisync-leaving-empty-directories-on-unc-path-1-or-local-filesystem-path-2-on-directory-renames/52456/4?u=nielash
    
    It is likely also a fix for #8019, although @ncw is correct that Purge would be
    a more efficient solution in that particular scenario.

commit fd1665ae939bf45be102323967c8bcfc60a71635
Author: nielash <nielronash@gmail.com>
Date:   Sat Sep 6 03:27:03 2025 -0400

    bisync: fix error handling for renamed conflicts
    
    Before this change, rclone could crash during modifyListing if a rename's
    srcNewName is known but not found in the srcList
    (srcNewName != "" && new == nil).
    This scenario should not happen, but if it does, we should print an error
    instead of crashing.
    
    On #8458 there is a report of this possibly happening on v1.68.2. It is unknown
    what the underlying issue was, and whether it still exists in the latest
    version, but if it does, the user will now see an error and debug info instead
    of a crash.

commit 457d80e8a9f9f835545c3a72602a32bcefd09d71
Author: Jean-Christophe Cura <jcaspes@gmail.com>
Date:   Fri Sep 5 21:50:00 2025 +0200

    docs: pcloud: update root_folder_id instructions

commit c5a3e86df81442988f08f91fe97dd987fe6f8396
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 1 11:01:05 2025 +0000

    operations: fix partial name collisions for non --inplace copies
    
    In this commit:
    
    c63f1865f36058e1 operations: copy: generate stable partial suffix
    
    We made the partial suffix for non inplace copies stable. This was a
    hash based off the file fingerprint.
    
    However, given a directory of files which have the same fingerprint
    the partial suffix collides. On some backends (eg the local backend)
    the fingerprint is just the size and modification time so files with
    different contents can collide.
    
    The effect of collisions was hash failures on copy when using
    --transfers > 1. These copies invariably retried successfully which
    probably explains why this bug hasn't been reported.
    
    This fixes the problem by adding the file name to the hash.
    
    It also makes sure the hash is always represented as 8 hex bytes for
    consistency.

commit 4026e8db209f558bc0dafba4331ee6d507a6ce16
Author: Ed Craig-Wood <138211970+edc-w@users.noreply.github.com>
Date:   Thu Sep 4 13:11:15 2025 +0100

    drive: docs: update making your own client ID instructions
    
    update instructions with the most recent changes to google cloud console

commit c9ce686231c5f43cd65a8bc2bf5974560bcfe7c4
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 16:41:49 2025 +0100

    swift: add ListP interface - #4788

commit b085598cbc7d0a4c0c33e199dd66772b3aa191aa
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 16:29:19 2025 +0100

    memory: add ListP interface - #4788

commit bb47dccdeb4ecbb6b0dacc3a3b5834cadf00dc2b
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 16:22:09 2025 +0100

    oraceobjectstorage: add ListP interface - #4788

commit 7a279d2789cfef281e6623d61f42c8a15853a26b
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 16:01:33 2025 +0100

    B2: add ListP interface - #4788

commit 9bd5df658a8047054f27fdd964367a53b5702f68
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 15:16:43 2025 +0100

    azureblob: add ListP interface - #4788

commit d512e4d566e8dd912c7b4f96a2f3740a1e103dcb
Author: dougal <dougal.craigwood@gmail.com>
Date:   Thu Sep 4 14:48:12 2025 +0100

    googlecloudstorage: add ListP interface - Fixes #8763

commit 3dd68c824a5ecbbead6eeb5897274e0982eda84f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 4 22:06:11 2025 +0000

    build: bump actions/github-script from 7 to 8
    
    Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
    - [Release notes](https://github.com/actions/github-script/releases)
    - [Commits](https://github.com/actions/github-script/compare/v7...v8)
    
    ---
    updated-dependencies:
    - dependency-name: actions/github-script
      dependency-version: '8'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit fbe73c993bd5a01748ecdd5e3e1dea33e78e7a11
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 4 22:06:06 2025 +0000

    build: bump actions/setup-go from 5 to 6
    
    Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
    - [Release notes](https://github.com/actions/setup-go/releases)
    - [Commits](https://github.com/actions/setup-go/compare/v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-go
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit d915f75edf6137f72c569520ea111407ced1b435
Author: nielash <nielronash@gmail.com>
Date:   Thu Sep 4 04:45:28 2025 -0400

    bisync: fix chunker integration tests
    
    Before this change, TestChunkerS3: tests were failing because our use of
    obj.Remove (for "modtime_write_test") created an unexpected extra transfer.
    
    This is because chunker calls operations.Move for removes, which (per its
    function comment) is supposed to be only accounted as a check. But because S3
    can Copy but not Move, the move falls back to copy and ends up getting counted
    as a transfer anyway.
    https://github.com/rclone/rclone/blob/99e8a63df2528e4fd470821095cbeb32e8a827a3/fs/operations/operations.go#L506
    https://github.com/rclone/rclone/blob/99e8a63df2528e4fd470821095cbeb32e8a827a3/fs/operations/copy.go#L381
    
    This is probably a bug that should get a more proper fix in operations. But in
    the meantime, we can get around it by doing our "modtime_write_test" with its
    own unique stats group.

commit 26b629f42fb813771381a76553064deaee165c8b
Author: nielash <nielronash@gmail.com>
Date:   Thu Sep 4 02:20:24 2025 -0400

    bisync: fix koofr integration tests
    
    Before this change, koofr failed certain bisync tests because it can't set mod
    time without deleting and re-uploading. This caused the "nothing to transfer" log
    to not get printed where expected (as it is only printed when there are 0
    transfers, but koofr requires extra transfers to set modtime.)
    
    This change fixes the issue by ignoring the absence of the "nothing to transfer"
    log line on backends that return `fs.ErrorCantSetModTimeWithoutDelete` for
    `obj.SetModTime`.

commit ceaac2194c834be52b7d7d3c79f74021ebd6ae38
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 2 16:15:12 2025 +0100

    internetarchive: fix server side copy files with spaces
    
    In this commit we broke server side copy for files with spaces
    
    4c5764204d7df2da internetarchive: fix server side copy files with &
    
    This fixes the problem by using rest.URLPathEscapeAll which escapes
    everything possible.
    
    Fixes #8754

commit 1f14b6aa35bb3003be965e02cc6867b1c5c0e191
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 2 16:13:28 2025 +0100

    lib/rest: add URLPathEscapeAll to URL escape as many chars as possible

commit dd75af6a18d4d849dd307ba61e7c998d92b2b3ed
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Sep 4 10:35:09 2025 +0100

    Add alternate email for dougal to contributors

commit 99e8a63df2528e4fd470821095cbeb32e8a827a3
Author: dougal <147946567+roucc@users.noreply.github.com>
Date:   Wed Sep 3 12:37:52 2025 +0100

    test speed: add command to test a specified remotes speed
    
    Run speed test to try and work in a given time budget, uploading
    randomly created files to the remote then downloading them again.
    
    Fixes #3198

commit 0019e18ac3a673714e851b2a97d63a8ad0a77654
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 2 16:58:30 2025 +0100

    docs: add link to MEGA S4 from MEGA page

commit 218c3bf6e970500cc335473e99bd7921e790289c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 2 17:22:18 2025 +0100

    Add Robin Rolf to contributors

commit 8f9702583d03ef0938cebb2a7697b2e06b99e861
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Sep 2 17:22:18 2025 +0100

    Add anon-pradip to contributors

commit e6578fb5a1b605d07ebea72f3395a57391152eac
Author: Robin Rolf <imer@imer.cc>
Date:   Mon Sep 1 09:19:43 2025 +0000

    s3: Add Intercolo provider

commit fa1d7da2727452c18ca18b0f3a551aa17ec8d6ab
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Tue Sep 2 11:49:27 2025 +0200

    gendocs: refactor and add logging of skipped command docs

commit 813708c24dc9a4dc0d8d7db0d63b3e4b02e451f6
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Tue Sep 2 10:00:20 2025 +0200

    gendocs: ignore missing rclone_mount.md, rclone_nfsmount.md, rclone_serve_nfs.md on windows

commit fee471634386b72dd2df229f3d52442c081f12d0
Author: nielash <nielronash@gmail.com>
Date:   Sun Aug 24 03:10:15 2025 -0400

    bin: add bisync.md generator
    
    This change adds make_bisync_docs.go step to dynamically update the list of
    ignored and failed tests in bisync.md

commit 6e9a675b3f079f8cbb93024f49bc4b73af69b98d
Author: nielash <nielronash@gmail.com>
Date:   Sun Aug 24 03:07:59 2025 -0400

    fstest: refactor to decouple package from implementation

commit 7f5a44435028851315bdde7e03eb0726c010bb82
Author: nielash <nielronash@gmail.com>
Date:   Thu Aug 21 18:00:44 2025 -0400

    gendocs: ignore missing rclone_mount.md on macOS

commit d2916ac5c76f79e6358004de49883b91d30b8eb7
Author: nielash <nielronash@gmail.com>
Date:   Mon Sep 1 09:51:33 2025 -0400

    bisync: ignore expected "nothing to transfer" differences on tests
    
    The "There was nothing to transfer" log is only printed when the number of
    transfers is exactly 0. However, there are a variety of reasons why the transfer
    count would be expected to differ between backends. For example, if either side
    lacks hashes, the sync may in fact need to transfer, where it would otherwise
    skip based on hash or just update modtime. Transfer stats will also differ in
    the "src and dst identical but can't set mod time without deleting and re-
    uploading" scenario (because the re-upload is a transfer), and where --download-hash
    is needed (because calculating the hash requires downloading the file, which is
    a transfer).
    
    Before this change, these expected differences would result in erroneous test
    failures. This change fixes the issue by ignoring the absence of the "nothing to
    transfer" log where it is expected.
    
    Note that this issue did not occur before
    https://github.com/rclone/rclone/commit/9e200531b1490000656031c42fff4d95477e1b46
    because the number of transfers was not getting reset between test steps,
    sometimes resulting in an artificially inflated transfers count.

commit 3369a15285c3af9250eafc46c6041f0c104758ae
Author: nielash <nielronash@gmail.com>
Date:   Mon Sep 1 09:30:57 2025 -0400

    bisync: fix TestBisyncConcurrent ignoring -case
    
    Before this change, TestBisyncConcurrent would still run the "basic" test case
    if a non-blank -case arg was used to specify a case other than "basic". This
    change fixes it by skipping in this scenario.

commit 58aee30de755bd6c4f6749960ce03cf7412c7f13
Author: nielash <nielronash@gmail.com>
Date:   Sat Aug 30 02:58:20 2025 -0400

    bisync: make number of parallel tests configurable
    
    Example usage:
    go test ./cmd/bisync -remote local -race -pcount 10

commit ef919241a677c91c66a659457b2a0ebb90b5d1a7
Author: anon-pradip <pradipsubedi360@gmail.com>
Date:   Sat Aug 30 23:59:35 2025 +0545

    docs: clarify subcommand description in rclone usage

commit d5386bb9a74b80e363d413241d1bf50ad8110e9a
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Aug 28 09:07:26 2025 +0200

    docs: fix description of regex syntax of name transform

commit bf46ea5611ecc94bf9669b316509281ee8d5c39e
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Thu Aug 28 09:04:37 2025 +0200

    docs: add some more details about supported regex syntax

commit b8a379c9c932cc515cbe0f6773fe8f8c02081c9a
Author: nielash <nielronash@gmail.com>
Date:   Sat Aug 30 00:31:55 2025 -0400

    makefile: fix lib/transform docs not getting updated
    
    As of
    https://github.com/rclone/rclone/commit/4280ec75ccfd27fbc4f646d5323b8ed060062be5
    the lib/transform docs are generated with //go:generate and embedded with
    //go:embed.
    
    Before this change, however, they were not getting automatically updated with
    subsequent changes (like
    https://github.com/rclone/rclone/commit/fe62a2bb4ea8f62a1567c7883c0bba81827656eb)
    because `go generate ./lib/transform` was not being run as part of the release
    making process.
    
    This change fixes that by running it in `make commanddocs`.

commit 8c37a9c2ef179a6fda64577611fa27eab666c2a5
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Sep 1 16:22:06 2025 +0100

    lib/pool: fix flaky test which was causing timeouts
    
    This puts a limit on the number of allocation failures in a row which
    stops the test timing out as the exponential backoffs get very large.

commit 963a72ce01320d791f46ad7793421f0fdac598e8
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Sep 1 16:23:48 2025 +0100

    Add dougal to contributors

commit a4962e21d10a2da40118f8a68d4c08032e3fded8
Author: dougal <dougal.craigwood@gmail.com>
Date:   Mon Sep 1 12:14:57 2025 +0100

    vfs: fix SIGHUP killing serve instead of flushing directory caches
    
    Before, rclone serve would crash when sent a SIGHUP which contradicts
    the documentation - saying it should flush the directory caches.
    
    Moved signal handling from the mount into the vfs layer, which now
    handles SIGHUP on all uses of the VFS including mount and serve.
    
    Fixes #8607

commit 9e200531b1490000656031c42fff4d95477e1b46
Author: nielash <nielronash@gmail.com>
Date:   Sat Aug 30 02:30:49 2025 -0400

    bisync: use unique stats groups on tests

commit 04683f2032e221ae9a4b8d22c0b9e31555ba4170
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Aug 28 17:06:43 2025 +0100

    fstest: stop errors in test cleanup changing the global stats
    
    This was causing the concurrent bisync tests to fail every now and again.

commit b41f7994da7536339939239a6189f29478879490
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Aug 30 17:45:56 2025 +0100

    Add Motte to contributors

commit 13a5ffe39119ecba9cc4575d5c1d77f0bd348905
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Aug 30 17:45:56 2025 +0100

    Add Claudius Ellsel to contributors

commit 85deea82e4acc5e09f85a41be3f60355f0f9be2d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Aug 28 16:56:40 2025 +0100

    build: add local markdown linting to make check

commit 89a8ea7a91b8d631ce3ac42bbf701e0c5b344ff8
Author: Motte <37443982+dmotte@users.noreply.github.com>
Date:   Thu Aug 28 17:28:49 2025 +0200

    lsf: add support for unix and unixnano time formats

commit c8912eb6a0ea3c808226a4cc96d39c4f8f6fedde
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Wed Aug 27 21:34:33 2025 +0200

    docs: remove broken links from rc to commands

commit 01674949a1319584b8400170951d4dad836a1669
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Wed Jun 8 14:26:47 2022 +0200

    hashsum: changed output format when listing algorithms

commit 98e1d3ee7355182fcf95c59d9ad5f6d818fa83cc
Author: Claudius Ellsel <claudius.ellsel@live.de>
Date:   Wed Aug 27 22:01:28 2025 +0200

    docs: add example of how to add date as suffix

commit 50d7a803319306d7a7ba8138a330eeba41e4ce46
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Aug 26 09:39:49 2025 +0100

    box: fix about after change in API return - fixes #8776

commit bc3e8e1abd1aae34e1e63f5e7a6705bfe4d09e4c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Aug 26 18:02:59 2025 +0100

    Add skbeh to contributors

commit 30e80d0716548e9cbc28926e7d9c5469c867e83a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Aug 26 18:02:59 2025 +0100

    Add Tilman Vogel to contributors

commit f288920696b1163d08526f3d4767a2fc69994460
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Tue Aug 26 14:29:33 2025 +0200

    docs: fix incorrectly escaped windows path separators

commit fa2bbd705c780f2f582ad2c5ae0486ebb5b0f008
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Tue Aug 26 13:44:33 2025 +0200

    build: restore error handling in gendocs

commit 43a794860ffd2d44352b366eec5e9e063e155b93
Author: skbeh <60107333+skbeh@users.noreply.github.com>
Date:   Mon Aug 25 10:19:47 2025 +0000

    combine: propagate SlowHash feature

commit adfe6b3bad9ca4e4b559c0878bae79c9e19e9f3c
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Mon Aug 25 09:39:13 2025 +0200

    docs/oracleobjectstorage: add introduction before external links and remove broken link

commit 091ccb649cbaf167cf432a28a3c6a2ff9d33a56b
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Mon Aug 25 00:00:48 2025 +0200

    docs: fix markdown lint issues in backend docs

commit 2e02d495786d5a515f7f9291a7cb0e2f5dfef84c
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sun Aug 24 21:12:04 2025 +0200

    docs: fix markdown lint issues in command docs

commit 514535ad466e347559ca2aefa61a188b420c9efa
Author: albertony <12441419+albertony@users.noreply.github.com>
Date:   Sun Aug 24 21:13:07 2025 +0200

    docs: update markdown code block json indent size 2

commit b010591c96d9b4451bfda0cedf5eead1f710b4e4
Author: Tilman Vogel <tilman.vogel@web.de>
Date:   Sat Aug 23 17:30:33 2025 +0200

    mount: do not log successful unmount as an error - fixes #8766

commit 1aaee9edce0fdf82da631fafe7c86bc0c94f9413
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Aug 22 17:42:25 2025 +0100

    Start v1.72.0-DEV development
