commit fa78c6443e4ba1abb42e350522ac51cc2ac98290
Author: Dan McArdle <d@nmcardle.com>
Date:   Sat Mar 22 13:58:58 2025 -0400

    cmd/gitannex: Reject unknown layout modes in INITREMOTE
    
    This is a "fail fast" improvement. Now, we will reject invalid layout
    modes at setup time, rather than deferring failure until the user
    attempts a transfer.

commit 52e2e4b84c360b5f5b1ac9038f43245cf1782446
Author: Dan McArdle <d@nmcardle.com>
Date:   Sat Mar 22 13:48:29 2025 -0400

    cmd/gitannex: Add configparse.go and refactor
    
    This is a behavior-preserving refactor. I'm mostly just moving the code
    that defines and parses configs (e.g. "rcloneremotename") into a new
    source file. This lets us focus more on implementing the text protocol
    in gitannex.go.

commit 1c933372feef33015155c5031694bb455a55a1d5
Author: Dan McArdle <d@nmcardle.com>
Date:   Fri Mar 21 13:01:13 2025 -0400

    cmd/gitannex: Permit remotes with options
    
    It looks like commit 2a1e28f5f5683eaba22d67a0e253c95b934f8c41 did not
    fix the errors in the integration tests that I hoped it would. Upon
    further inspection, I noticed that I forgot that remotes can have
    options just like backends.
    
    This should fix some of the failing integration tests. For context:
    https://github.com/rclone/rclone/pull/7987#issuecomment-2688580667
    
    Specifically, I believe that TestGitAnnexFstestBackendCases/HandlesInit
    should no longer fail on the Azure backend with "INITREMOTE-FAILURE
    remote does not exist: TestAzureBlob,directory_markers:".
    
    Issue #7984

commit f5dfe3f5a6a78f3a998d2a80c3d5811202dd7acf
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Apr 2 18:46:31 2025 +0100

    serve ftp: add serve rc interface

commit 5702b7578cb99dc57d1f8798ab06e36aff36d694
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Apr 2 18:05:23 2025 +0100

    serve sftp: add serve rc interface

commit 703788b40ea9a1228008999cd4cf94c38994b2d6
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Apr 1 18:06:46 2025 +0100

    serve restic: add serve rc interface

commit aef9c2117ec1611a1d0ec6d46fb12d581113dd83
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Apr 1 13:02:04 2025 +0100

    serve s3: add serve rc interface

commit 2a42d95385f67eed67e54901bd386a4111cc0b23
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Mar 31 12:15:43 2025 +0100

    serve dlna: add serve rc interface

commit e37775bb410beedb559a105084b4abba4877e87f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 18:09:03 2025 +0000

    serve webdav: add serve rc interface - fixes #4505

commit 780f4040ea8ec42340761509dd4495269cfa2aff
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 12:20:34 2025 +0000

    serve http: add serve rc interface

commit 0b7be6ffb9b72f8d55db1ff62c6ed56d88d3a84b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 11:12:39 2025 +0000

    serve nfs: add serve rc interface

commit 4d9a165e56a0b69ae3162c9677bbd10f99c9692d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 21 16:30:15 2025 +0000

    serve: Add rc control for serve commands #4505
    
    This adds the framework for serving. The individual servers will be
    added in separate commits.

commit 21e5fa192aaa62a48f2e6d2cfe6a94a972b4e681
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Apr 4 17:05:01 2025 +0100

    configstruct: add SetAny to parse config from the rc
    
    Now that we have unified the config, we can make a much more
    convenient rc interface which mirrors the command line exactly, rather
    than using the structure of the internal Go structs.

commit cf571ad66188619ed35845eb40e68392cf61e59c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 16:06:50 2025 +0000

    rc: In options/info make FieldName contain a "." if it should be nested
    
    Before this would have Output "FieldName": "ListenAddr" where it
    actually needs to be set in a sub object "HTTP".
    
    After this fix it outputs "FieldName": "HTTP.ListenAddr" to indicate
    "ListenAddr" needs to be set in the object "HTTP".

commit b1456835d8d7358b9f094d01645c60a16d2cf06c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 17:42:38 2025 +0000

    serve restic: convert options to new style

commit b930c4b437673503b0e32ec6cff698ba02258fc0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 17:30:02 2025 +0000

    serve s3: convert options to new style

commit cebd5880926811de35d865dd553d548833fcd8ff
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 14:47:09 2025 +0000

    serve http: convert options to new style

commit 3c981e6c2cb88f5d8f155e3d262da4da21cce5de
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 14:54:28 2025 +0000

    serve webdav: convert options to new style

commit 6054c4e49dcb495c0b29de951b1091fbb3aed2cc
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 13:58:36 2025 +0000

    auth proxy: convert options to new style

commit 028316ba5d51819329b6f91546f27d701a2b2fd9
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 11:03:03 2025 +0000

    auth proxy: add VFS options parameter for use for default VFS
    
    This is for use from the RC API.

commit df457f58025d3f159e793328c5913d68b7b0d65d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Mar 26 14:50:44 2025 +0000

    serve: make the servers self registering
    
    This is so that they can import cmd/serve without causing an import
    loop.
    
    The active servers can now be configured by commenting lines out in
    cmd/all/all.go like all the other commands.

commit 084e35c49dab4f1a5c7320991d8b24adb758ea07
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Apr 5 13:35:04 2025 +0100

    lib/http: fix race between Serve() and Shutdown()
    
    This was discovered by the race detector.

commit 90ea4a73ada3b583cdad8b133d43369a4042d782
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 28 11:13:20 2025 +0000

    lib/http: add Addr() method to return the first configured server address

commit efe8ac8f356174f7806ca61391a5168a5118c7b5
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Apr 9 11:11:50 2025 +0100

    Add Danny Garside to contributors

commit 894ef3b375303f5dc58ffb7f2f94b76baf61721c
Author: Danny Garside <dannygarside@outlook.com>
Date:   Tue Apr 8 20:51:22 2025 +0100

    docs: fix minor typo in box docs

commit 385465bfa9ae23bbba8d45a3e85f9ee4879d1d72
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Dec 9 11:30:34 2024 +0000

    sync: implement --list-cutoff to allow on disk sorting for reduced memory use
    
    Before this change, rclone had to load an entire directory into RAM in
    order to sort it so it could be synced.
    
    With directories with millions of entries, this used too much memory.
    
    This fixes the probem by using an on disk sort when there are more
    than --list-cutoff entries in a directory.
    
    Fixes #7974

commit 0148bd46688c1d1a9e1e62a85fb85288642f4040
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Nov 28 17:13:01 2024 +0000

    march: Implement callback based syncing
    
    This changes the syncing method to take callbacks for directory
    listings rather than being passed the entire directory listing at
    once.
    
    This will enable out of memory syncing.

commit 0f7ecf6f06a6b952bb2eac1214cab72f6a2d778f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Nov 28 17:12:19 2024 +0000

    list: add ListDirSortedFn for callback oriented directory listing
    
    This will be used for the out of memory sync

commit 08e81f8420d740de7c14d1588d35e57e853e847e
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Nov 28 17:11:33 2024 +0000

    list: Implement Sorter to sort directory entries
    
    Later this will be extended to do out of memory sorts

commit 0ac2d2f50f3dc2ca6cc337dc93c8ce2c060dc1bc
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 16:38:21 2024 +0000

    cache: mark ListP as not supported yet

commit 42fcb0a6fc70ee17b032232ee283feb7637305c0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 16:31:57 2024 +0000

    hasher: implement ListP interface

commit 490dd14bc59c0154ad7dea48adbae465d084db28
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 16:28:56 2024 +0000

    compress: implement ListP interface

commit 943ea0acae5829bcdfe7e9cd22b991cd787a3f49
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 16:25:31 2024 +0000

    chunker: mark ListP as not supported yet

commit d64a97f9733f33dac2801d91f40d1058c6bd1b4d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 16:19:47 2024 +0000

    union: mark ListP as not supported yet

commit 5d8f1d4b888e9ae7d1e13aa23acdab4d5659f01b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 15:20:58 2024 +0000

    crypt: implement ListP interface

commit b1d774c2e3caab23d910b9ce44b9645379099257
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Dec 3 15:01:17 2024 +0000

    combine: implement ListP interface

commit fad579c4a247e8ce52fc947f17e78f15690e6b80
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Nov 25 12:50:27 2024 +0000

    s3: Implement paged listing interface ListP

commit 37120ef7bdbe98ae6e82f9d745bd49929befa39c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Nov 25 12:04:29 2024 +0000

    list: add WithListP helper to implement List for ListP backends

commit cba653d502ecd52c6a9a2f25386584b711976288
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Dec 9 15:08:36 2024 +0000

    walk: move NewListRHelper into list.Helper to avoid circular dependency
    
    It turns out that the list helpers were at the wrong level and needed
    to be pushed down into the fs/list for future work.

commit 2a90de9502512b2f554ab947c71d281731772a0f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Nov 22 17:55:15 2024 +0000

    fs: define ListP interface for paged listing #4788

commit bff229713a348a5aabf867b183d73d0f67b401df
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Nov 24 10:52:28 2024 +0000

    accounting: Add listed stat for number of directory entries listed

commit 117f583ebe75b8d7412276639d2e43258e9110e5
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Nov 25 11:44:37 2024 +0000

    walk: factor Listing helpers into their own file and add tests

commit 205667143c807103b493e94bc0a708e10c435598
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Mar 6 16:45:52 2025 +0000

    serve nfs: make metadata files have special file handles
    
    Metadata files have the file handle of their source file with
    0x00000001 suffixed in big endian so we can look them up directly from
    their file handles.

commit fe84cbdc9df4bc8513da3f6f700c650fe93b3daa
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Mar 6 12:00:08 2025 +0000

    serve nfs: change the format of --nfs-cache-type symlink file handles
    
    This is an backwards incompatible change which will invalidate the
    current handles.
    
    This change adds a 4 byte big endian length prefix to the handles so
    we can in future suffix extra info on the handles. This needed to be 4
    bytes as Linux does not like File handles which aren't multiples of 4
    bytes long.

commit 533c6438f3c06c67b872300a366e307bc1144b03
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 28 17:01:29 2025 +0000

    vfs: add --vfs-metadata-extension to expose metadata sidecar files
    
    This adds --vfs-metadata-extension which can be used to expose sidecar
    files with file metadata in. These files don't exist in the listings
    until they are accessed.

commit b587b094c9c8e11df1a79127b87ce25343073d64
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Apr 5 13:04:13 2025 +0100

    docs: Add rcloneui.com as Silver Sponsor

commit 525798e1a5f9f44621328c2e508c2aa7fbee5441
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Apr 7 13:40:47 2025 +0100

    Add Klaas Freitag to contributors

commit ea63052d3645e148476357ff9ca5077321d30e59
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Apr 7 13:40:47 2025 +0100

    Add eccoisle to contributors

commit b5a99c5011ac54c744b99bc7e96833c29758834c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Apr 7 13:40:47 2025 +0100

    Add Fernando Fernández to contributors

commit 56b701567557d9067ee51ddda24681423c3be749
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Apr 7 13:40:47 2025 +0100

    Add alingse to contributors

commit 4ff970ebab9b795cf81b438105f3e46ac765a191
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Apr 7 13:40:47 2025 +0100

    Add Jörn Friedrich Dreyer to contributors

commit dccb5144c32511cf85db59182a28ec7e566d8499
Author: eccoisle <167755281+eccoisle@users.noreply.github.com>
Date:   Sun Apr 6 22:28:34 2025 +1000

    docs: replace option --auto-filename-header with --header-filename

commit 33b087171a7716650ec06e0ff72b104cb791226e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Apr 6 11:46:13 2025 +0100

    build: update github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 to fix CVE-2025-30204
    
    Bumps [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) from 5.2.1 to 5.2.2.
    - [Release notes](https://github.com/golang-jwt/jwt/releases)
    - [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
    - [Commits](https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2)
    
    See: https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp
    See: https://www.cve.org/CVERecord?id=CVE-2025-30204
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit 58d9ae1c60294893ab26f798e6c9b88c145bd9e6
Author: Fernando Fernández <ferferga@hotmail.com>
Date:   Sun Apr 6 10:49:02 2025 +0200

    docs/googlephotos: fix typos

commit 20302ab6b9fabebe37545019fef80db041640969
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Mar 21 22:31:22 2025 +0000

    build: bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2
    
    Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.1 to 4.5.2.
    - [Release notes](https://github.com/golang-jwt/jwt/releases)
    - [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
    - [Commits](https://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/golang-jwt/jwt/v4
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

commit 6fb0de62a4e1c16eb3ad7839c391354d33c93721
Author: alingse <alingse@foxmail.com>
Date:   Fri Apr 4 22:21:45 2025 +0800

    operations: fix call fmt.Errorf with wrong err

commit 839eef0db269333870dc04cb79d0dd0c95e5a418
Author: Jörn Friedrich Dreyer <jfd@butonic.de>
Date:   Wed Mar 26 13:51:04 2025 +0100

    webdav: retry propfind on 425 status
    
    This retries propfind on 425 status
    
    In ownCloud Infinite Scale, files might be in that state if
    postprocessing is still ongoing. All metadata are available anyway
    
    Allow item status 425 "too early" for items when changing metadata
    
    Fixes the upload behavior with ownCloud Infinite Scale
    
    Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
    Co-authored-by: Klaas Freitag <kraft@freisturz.de>

commit 267eebe5c9f360afc2b7ec0658f3133bc51215e0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Mar 21 16:48:00 2025 +0000

    Add --max-connections to control maximum backend concurrency

commit 755d72a5919e6409c1c31840c3fdafba592e6435
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Mar 25 15:30:49 2025 +0000

    rc: fix debug/* commands not being available over unix sockets
    
    This was caused by an incorrect handler URL which was passing the
    debug/* commands to the debug/pprof handler by accident. This only
    happened when using unix sockets.

commit 4d38424e6cbb32d07c74d3b4d760af7afb35742d
Author: Dan McArdle <d@nmcardle.com>
Date:   Sat Mar 8 14:49:52 2025 -0500

    cmd/gitannex: Prevent tests from hanging when assertion fails
    
    This fixes another way that the gitannex tests can hang.
    
    The issue is that our test harness explicitly called `wg.Done()` at the
    end of each test case, but when assertions checked with [require] fail,
    they halt test execution and prevent `wg.Done()` from happening.
    
    A second issue is that we were incorrectly calling [require] functions
    in the goroutine that runs the gitannex server. I found that [require]
    calls [testing.T.FailNow] under the hood, which says "FailNow must be
    called from the goroutine running the test or benchmark function, not
    from other goroutines created during the test." [1]
    
    This commit fixes both issues by replacing the explicit synchronization
    with a `chan error`. This enables us to run the gitannex server in a
    goroutine, interact with the server in the test's goroutine, and then at
    then end use [require] on the test-associated goroutine to ensure the
    server's error/nil value matches expectations.
    
    [1]: https://pkg.go.dev/testing#T.FailNow

commit 53624222c94697890615bf5e993537b2354e6fa6
Author: Dan McArdle <d@nmcardle.com>
Date:   Thu Mar 6 20:07:41 2025 -0500

    cmd/gitannex: Add explicit timeout for mock stdout reads in tests
    
    It seems like (*testState).readLine() hangs indefinitely when it's
    waiting for a line that will never be written [1].
    
    This commit adds an explicit 30-second timeout when reading from the
    internal mock stdout. Given that we integrate with fstest, this timeout
    needs to be sufficiently long that it accommodates slow-but-successful
    operations on real remotes.
    
    [1]: https://github.com/rclone/rclone/pull/8423#issuecomment-2701601290

commit 44e83d77d754aef3b4408edf62f5943d1c979a8c
Author: nielash <nielronash@gmail.com>
Date:   Thu Mar 6 08:15:51 2025 -0500

    http: correct root if definitely pointing to a file - fixes #8428
    
    This was formalized in
    https://github.com/rclone/rclone/commit/c69eb84573c85206ab028eda2987180e049ef2e4
    But it appears that we forgot to update `http`, and the `FsRoot` test didn't
    catch it because we don't currently have an http integration test.

commit 19aa366d88d2b05a490169a0261d1db38bf65ca5
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 15 18:04:09 2025 +0000

    pool: add --max-buffer-memory to limit total buffer memory usage

commit 3fb4164d87d09a424c5315414c08dacafa2c1b1a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Feb 25 17:48:15 2025 +0000

    filter: Add `--hash-filter` to deterministically select a subset of files
    
    Fixes #8400

commit 4e2b78f65dc1f1fe00a5caadd0c6ee6516f731e8
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Mar 17 17:25:12 2025 +0000

    build: update golang.org/x/net to 0.36.0. to fix CVE-2025-22869
    
    SSH servers which implement file transfer protocols are vulnerable to
    a denial of service attack from clients which complete the key
    exchange slowly, or not at all, causing pending content to be read
    into memory, but never transmitted.
    
    This updates golang.org/x/net to fix the problem.
    
    See: https://pkg.go.dev/vuln/GO-2025-3487
    See: https://www.cve.org/CVERecord?id=CVE-2025-22869
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e47f59e1f9a45ce3792cc2d11058e956e787dc36
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Mar 13 11:32:52 2025 +0000

    rc: add add short parameter to core/stats to not return transferring and checking

commit 63c4fef27aa1c9ae1e36e2642499f9199c11f720
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Mar 12 17:29:53 2025 +0000

    fs: fix corruption of SizeSuffix with "B" suffix in config (eg --min-size)
    
    Before this change, the config system round tripped fs.SizeSuffix
    values through strings like this, corrupting them in the process.
    
        "2B" -> 2 -> "2" -> 2048
    
    This caused `--min-size 2B` to be interpreted as `--min-size 2k`.
    
    This fix makes sure SizeSuffix values have a "B" suffix when turned
    into a string where necessary, so it becomes
    
        "2B" -> 2 -> "2B" -> 2
    
    In rclone v2 we should probably declare unsuffixed SizeSuffix values
    are in bytes not kBytes (done for rsync compatibility) but this would
    be a backwards incompatible change which we don't want for v1.
    
    Fixes #8437
    Fixes #8212
    Fixes #5169

commit a7a7c1d5928fd3731e0de39471d1834e84d22f46
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Mar 11 12:57:40 2025 +0000

    filters: show --min-size and --max-size in --dump filters

commit 6a7e68aaf2d56df069eb31a46f2f6015a9429b24
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Mar 10 10:31:50 2025 +0000

    build: check docs for edits of autogenerated sections
    
    This adds a lint step which checks the top commit for edits to
    autogenerated doc sections.

commit 6e7a3795f1f241d549ab46b0ef02a7e2c08bce07
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Mar 10 22:07:10 2025 +0000

    Add jack to contributors

commit 177337686acce1686b860424ea04ca7a2d616950
Author: jack <9480542+jackusm@users.noreply.github.com>
Date:   Sat Mar 8 22:40:46 2025 +0000

    docs: fix incorrect mentions of vfs-cache-min-free-size

commit ccef29bbfff8e98736a9d8e2f4a42982f96ab700
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 28 17:01:00 2025 +0000

    fs/object: fix memory object out of bounds Seek

commit 64b3d1d5395396c052722dfc4b2e2d3d57e681fc
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Mar 5 11:08:26 2025 +0000

    serve nfs: fix unlikely crash

commit aab6643ceace1ff073f11779951ad813321e2d84
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Mar 4 10:19:40 2025 +0000

    docs: update minimum OS requirements for go1.24

commit 2a1e28f5f5683eaba22d67a0e253c95b934f8c41
Author: Dan McArdle <d@nmcardle.com>
Date:   Thu Feb 27 22:41:52 2025 -0500

    cmd/gitannex: Tweak parsing of "rcloneremotename" config
    
    The "rcloneremotename" (aka "target") config parameter is now permitted
    to contain (1) remote names that are defined by environment variables,
    but not in an rclone config file, and (2) backend strings such as
    ":memory:".
    
    This should fix some of the failing integration tests. For context:
    https://github.com/rclone/rclone/pull/7987#issuecomment-2688580667
    
    Issue #7984

commit db9205b29822e75a03b4eb7a3532970b4ab76c43
Author: Dan McArdle <d@nmcardle.com>
Date:   Fri Feb 28 14:21:16 2025 -0500

    cmd/gitannex: Drop var rebindings now that we have go1.23

commit 964c6204dde8cab0b2b0d679106df3c5a6c6344d
Author: Zachary Vorhies <zachvorhies@protonmail.com>
Date:   Tue Mar 4 09:31:56 2025 -0700

    docs: add note for using rclone cat for slicing out a byte range from a file

commit 65f7eb0fbae7f6efb1eecb82c6c15b101594ccde
Author: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Date:   Tue Mar 4 13:55:43 2025 +0000

    rcserver: improve content-type check
    
    Some libraries use `application/json; charset=utf-8` as their `Content-Type`, which is valid.
    However we were not decoding the JSON body in that case, resulting in issues communicating with the rcserver.

commit 401cf81034f741793738e83d000a9efff568366d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 26 21:08:12 2025 +0000

    build: modernize Go usage
    
    This commit modernizes Go usage. This was done with:
    
    go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
    
    Then files needed to be `go fmt`ed and a few comments needed to be
    restored.
    
    The modernizations include replacing
    
    - if/else conditional assignment by a call to the built-in min or max functions added in go1.21
    - sort.Slice(x, func(i, j int) bool) { return s[i] < s[j] } by a call to slices.Sort(s), added in go1.21
    - interface{} by the 'any' type added in go1.18
    - append([]T(nil), s...) by slices.Clone(s) or slices.Concat(s), added in go1.21
    - loop around an m[k]=v map update by a call to one of the Collect, Copy, Clone, or Insert functions from the maps package, added in go1.21
    - []byte(fmt.Sprintf...) by fmt.Appendf(nil, ...), added in go1.19
    - append(s[:i], s[i+1]...) by slices.Delete(s, i, i+1), added in go1.21
    - a 3-clause for i := 0; i < n; i++ {} loop by for i := range n {}, added in go1.22

commit 431386085f193a321724e3a0eabb0584f70e6c88
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 26 11:41:18 2025 +0000

    build: update all dependencies and fix deprecations

commit bf150a5b7da052b96d265d186ebf68b42379fa88
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 26 11:13:48 2025 +0000

    build: update golang.org/x/crypto to v0.35.0 to fix CVE-2025-22869
    
    SSH servers which implement file transfer protocols are vulnerable to
    a denial of service attack from clients which complete the key
    exchange slowly, or not at all, causing pending content to be read
    into memory, but never transmitted.
    
    This affects users of `rclone serve sftp`.
    
    See: https://pkg.go.dev/vuln/GO-2025-3487

commit ddecfe6e7791676e7911de6248965646c264bbf9
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 26 11:32:05 2025 +0000

    build: make go1.23 the minimum go version
    
    This is necessary now that golang.org/x/crypto is only allowing the
    last two versions of Go.
    
    See: https://go.googlesource.com/crypto/+/89ff08d67c4d79f9ac619aaf1f7388888798651f

commit 68e40dc14120a0f7263541f6d51e29ebaf04df4d
Author: Dan McArdle <d@nmcardle.com>
Date:   Mon Aug 5 10:09:41 2024 -0400

    cmd/gitannex: Add to integration tests
    
    This commit registers gitannex's unit tests with the integration tester
    by updating the config.yaml file.
    
    Since we have not yet updated the e2e tests to use the fstest framework,
    this commit also adds a case to the e2e tests' skipE2eTestIfNecessary()
    function.
    
    Issue #7984

commit 325f400a881f23e26d6cb012860a527670de4523
Author: Dan McArdle <d@nmcardle.com>
Date:   Sun Aug 4 20:28:46 2024 -0400

    cmd/gitannex: Simplify verbose failures in tests

commit be33e281b3e883ea6b2f53249fbbb2014ea28f3d
Author: Dan McArdle <d@nmcardle.com>
Date:   Sun Aug 4 10:43:49 2024 -0400

    cmd/gitannex: Port unit tests to fstest
    
    This enables the unit tests to run on any given backend, via the
    `-remote` flag, e.g. `go test -v ./cmd/gitannex/... -remote dropbox:`.
    
    We should also port the gitannex e2e tests at some point.
    
    Issue: #7984

commit 0010090d0517976248894bbd48a9bb1ac5bc0182
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 26 12:21:35 2025 +0000

    vfs: fix integration test failures
    
    In this commit
    
    ceef78ce4493f8d0 vfs: fix directory cache serving stale data
    
    We added a new test which caused lots of integration test failures.
    
    This fixes the problem by disabling the test unless the feature flag
    DirModTimeUpdatesOnWrite is present on the remote.

commit b7f26937f148c0731dad804994c85c3bae5709f2
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Feb 25 10:16:04 2025 +0000

    azureblob: fix errors not being retried when doing single part copy
    
    Sometimes the Azure blob servers reply with 503 ServerBusy errors and
    these should be retried.
    
    Before this change, when testing to see if a single part server side
    copy was done, ServerBusy errors were returned to the user rather than
    being retried.
    
    Wrapping the call in the pacer fixes the problem and ensures it is
    retried properly using the --low-level-retries mechanism.

commit 5037d7368d832400b43d93ae6f6ac2bda07b8901
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Feb 24 10:58:26 2025 +0000

    azureblob: handle retry error codes more carefully

commit 0ccf65017f0801929d972f634111ca3b5f924e69
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 19 21:20:24 2025 +0000

    touch: make touch obey --transfers
    
    Before this change, when executed on a directory, rclone would only
    touch files sequentially.
    
    This change makes rclone touch --transfers files at once.
    
    Fixes #8402

commit 85d467e16a84a06ef7964073b5f19ef9cb448186
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 21 15:51:44 2025 +0000

    Add luzpaz to contributors

commit cf4b55d965f79c26b83f91cf63a2844760b6e6af
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 21 15:51:44 2025 +0000

    Add Dave Vasilevsky to contributors

commit e0d477804b583163b4b5696d24a2ccf8c0bb11e3
Author: luzpaz <luzpaz@users.noreply.github.com>
Date:   Sun Feb 16 16:20:46 2025 +0000

    docs: fix various typos
    Found via `codespell -q 3 -S "./docs/static,./fs/rc/params_test.go" -L aadd,afile,alledges,bbefore,bu,buda,copys,couldn,crashers,crypted,ddelete,deriver,failre,goup,hashin,hel,inbraces,keep-alives,ket,medias,ment,mis,nd,nin,notin,ois,ot,parth,re-use,re-using,responser,rin,sav,splited,streamin,synching,te,twoo,ue,unknwon,wasn`

commit 4fc9583feb5c1dd44c9bb4657e91460ebc9f08de
Author: Dave Vasilevsky <dave@vasilevsky.ca>
Date:   Sat Feb 15 19:26:09 2025 -0500

    dropbox: Retry link without expiry
    
    Dropbox only allows public links with expiry for certain account types.
    Rather than erroring for other accounts, retry without expiry.

commit 904c9b2e24504b0061d42f70f6dfb8d11be64ed8
Author: Dave Vasilevsky <djvasi@gmail.com>
Date:   Mon Feb 17 13:20:37 2025 -0500

    Dropbox: Support Dropbox Paper
    
    These files must be "exported" to be useful. The export process
    is controlled by the --dropbox-export-formats flag  and the ancilliary flags
    --dropbox-skip-exports and --dropbox-show-all-exports modeled on the
    Google drive equivalents

commit cdfd748241e443cd959bee52635f5256903a86c1
Author: emyarod <emyarod@users.noreply.github.com>
Date:   Sat Feb 15 18:07:20 2025 -0600

    chore: update contributor email

commit 661027f2cf273155ae4db5ee0de68c472e3c46c7
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 15 20:08:33 2025 +0000

    docs: correct stable release workflow

commit 7ecd1638eb6ff01a059144319b21b3d143a2b6f1
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 15 20:08:42 2025 +0000

    Add Lorenz Brun to contributors

commit 06b92ddeb3e60e58e11ace81abedda745c57708b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 15 20:08:42 2025 +0000

    Add Michael Kebe to contributors

commit ceef78ce4493f8d07f0ad2622a7d52ca98fb24f3
Author: Lorenz Brun <lorenz@brun.one>
Date:   Tue Sep 20 00:31:56 2022 +0200

    vfs: fix directory cache serving stale data
    
    The VFS directory cache layer didn't update directory entry properties
    if they are reused after cache invalidation.
    
    Update them unconditionally as newDir sets them to the same value and
    setting a pointer is cheaper in both LoC as well as CPU cycles than a
    branch.
    
    Also add a test exercising this behavior.
    
    Fixes #6335

commit 6560ea9bdc515dd4f611f81b501f08899a5589a0
Author: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
Date:   Sat Feb 15 19:53:43 2025 +0530

    build: fix docker plugin build - fixes #8394
    
    Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>

commit cda82f3d30abbf7efabc780b0b20efe526f29167
Author: Michael Kebe <michael.kebe@gmail.com>
Date:   Sat Feb 15 11:11:26 2025 +0100

    docs: improved sftp limitations
    
    Added a link to `--sftp-path-override` for a better solution with working hash calculation.

commit 7da2d8b507f332216a5157215520ec671a1f81e9
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 14 17:15:34 2025 +0000

    Changelog updates from Version v1.69.1

commit fb7919928c200fa1ae654a295ef9d51e79153a2a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Fri Feb 14 12:29:32 2025 +0000

    docs: add FileLu as sponsors and tidy sponsor logos

commit 5d670fc54aa45850cd23c6e64e72c466fe9f4f68
Author: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
Date:   Thu Feb 13 17:09:24 2025 +0530

    accounting: fix percentDiff calculation -- fixes #8345
    
    Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>

commit b5e72e2fc31e767e8e50f6924ac3d78e185b0947
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Feb 10 17:13:59 2025 +0000

    vfs: fix the cache failing to upload symlinks when --links was specified
    
    Before this change, if --vfs-cache-mode writes or above was set and
    --links was in use, when a symlink was saved then the VFS failed to
    upload it. This meant when the VFS was restarted the link wasn't there
    any more.
    
    This was caused by the local backend, which we use to manage the VFS
    cache, picking up the global --links flag.
    
    This patch makes sure that the internal instantations of the local
    backend in the VFS cache don't ever use the --links flag or the
    --local-links flag even if specified on the command line.
    
    Fixes #8367

commit 8997993a30740ef7fb6d4f86f38a5370c11de395
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Feb 13 13:30:44 2025 +0000

    Add jbagwell-akamai to contributors

commit b721f363e58bd644ef0f0c4df2ac500c0df00b16
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Feb 13 13:30:17 2025 +0000

    Add ll3006 to contributors

commit d93dad22fe83db79aa74d27597d59d581a2b7359
Author: Zachary Vorhies <zachvorhies@protonmail.com>
Date:   Thu Feb 13 04:41:37 2025 -0700

    doc: add note on concurrency of rclone purge

commit e27bf8b738b79f31afa7e938f069565710e42875
Author: jbagwell-akamai <113531113+jbagwell-akamai@users.noreply.github.com>
Date:   Thu Feb 13 03:36:22 2025 -0600

    s3: add latest Linode Object Storage endpoints
    
    Added missing Linode Object Storage endpoints AMS, MAA, CGK, LON, LAX, MAD, MEL, MIA, OSA, GRU, SIN

commit 539e96cc1fc274fc6da4ac382106ea8883709353
Author: Janne Hellsten <jjhellst@gmail.com>
Date:   Wed Feb 12 23:31:05 2025 +0200

    cmd: fix crash if rclone is invoked without any arguments - Fixes #8378

commit 5086aad0b2a2b81889f348e416fed863d53f7be4
Author: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
Date:   Tue Feb 11 19:08:46 2025 +0530

    build: disable docker builds on PRs & add missing dockerfile changes
    
    Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>

commit c1b414e2cf6d63937caf102a49f43cc3637e9c4f
Author: ll3006 <doublel3006@gmail.com>
Date:   Fri Feb 7 14:23:28 2025 +0100

    sync: copy dir modtimes even when copyEmptySrcDirs is false - fixes #8317
    
    Before, after a sync, only file modtimes were updated when not using
    --copy-empty-src-dirs. This ensures modtimes are updated to match the source
    folder, regardless of copyEmptySrcDir. The flag --no-update-dir-modtime
    (which previously did nothing) will disable this.

commit 2ff8aa1c2078f03bf31b47d865bfc303b2b39791
Author: ll3006 <doublel3006@gmail.com>
Date:   Fri Feb 7 13:04:42 2025 +0100

    sync: add tests to check dir modtimes are kept when syncing
    
    This adds tests to check dir modtimes are updated from source
    when syncing even if they've changed in the destination.
    This should work both with and without --copy-empty-src-dirs.

commit 6d2a72367a6574ef4ebd829c394e3c808979dc00
Author: nielash <nielronash@gmail.com>
Date:   Wed Feb 12 00:57:52 2025 -0500

    fix golangci-lint errors

commit 9df751d4ec64f35347e46b1cb811aaf76a54a3ef
Author: nielash <nielronash@gmail.com>
Date:   Wed Feb 12 00:24:06 2025 -0500

    bisync: fix false positive on integration tests
    
    https://github.com/rclone/rclone/commit/5f70918e2c867e0bf8c4ff38b34960738dbd4883
    introduced a new INFO log when making a directory, which differs depending on
    whether the backend supports setting directory metadata. This caused false
    positives on the bisync createemptysrcdirs test.
    
    This fixes it by ignoring that log line.

commit e175c863aa9950b67cebd18d95c56ed547a012f7
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Feb 11 20:22:03 2025 +0000

    s3: split the GCS quirks into -s3-use-x-id and -s3-sign-accept-encoding #8373
    
    Before this we applied both these quirks if provider == "GCS".
    
    Splitting them like this makes them applicable for other providers
    such as ActiveScale.

commit 64cd8ae0f0700f6ecdfbff9b5024f2fd370cce26
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Feb 12 21:08:11 2025 +0000

    Add Joel K Biju to contributors

commit 46b498b86a4ba690707a93369ede32e11ae039c3
Author: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
Date:   Tue Sep 17 18:09:54 2024 +0530

    stats: fix the speed not getting updated after a pause in the processing
    
    This shifts the behavior of the average loop to be a persistent loop
    that gets resumed/paused when transfers & checks are started/completed.
    
    Previously, the averageLoop was stopped on completion of
    transfers & checks but failed to start again due to the protection of
    the sync.Once
    
    Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>

commit b76cd7408753d373912b7ffed32c99e47712ebde
Author: Joel K Biju <joelkbiju18@gmail.com>
Date:   Tue Feb 11 18:13:10 2025 +0530

    opendrive: added --opendrive-access flag to handle permissions

commit 3b49fd24d4e9eebe04e676c680a49056714c5ace
Author: nielash <nielronash@gmail.com>
Date:   Sun Feb 9 21:13:55 2025 -0500

    bisync: fix listings missing concurrent modifications - fixes #8359
    
    Before this change, there was a bug affecting listing files when:
    
    - a given bisync run had changes in the 2to1 direction
    AND
    - the run had NO changes in the 1to2 direction
    AND
    - at least one of the changed files changed AGAIN during the run
    (specifically, after the initial march and before the transfers.)
    
    In this situation, the listings on one side would still retain the prior version
    of the changed file, potentially causing conflicts or errors.
    
    This change fixes the issue by making sure that if we're updating the listings
    on one side, we must also update the other. (We previously tried to skip it for
    efficiency, but this failed to account for the possibility that a changed file
    could change again during the run.)

commit c0515a51a5a6223b1379db88afb0ce1347292332
Author: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
Date:   Wed Nov 6 15:43:18 2024 +0530

    Added parallel docker builds and caching for go build in the container
    
    Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>

commit dc9c87279b989d4c9c8baec9adb259aba8b1da08
Author: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Date:   Fri Jan 17 13:59:29 2025 +0000

    smb: improve connection pooling efficiency
    
    * Lower pacer minSleep to establish new connections faster
    * Use Echo requests to check whether connections are working (required an upgrade of go-smb2)
    * Only remount shares when needed
    * Use context for connection establishment
    * When returning a connection to the pool, only check the ones that encountered errors
    * Close connections in parallel

commit 057fdb3a9d81940155b47823c19c5d0657d4be37
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Feb 1 12:07:25 2025 +0000

    lib/oauthutil: fix redirect URL mismatch errors - fixes #8351
    
    In this commit we introduced support for client credentials flow:
    
    65012beea4b93b7f lib/oauthutil: add support for OAuth client credential flow
    
    This involved re-organising the oauth credentials.
    
    Unfortunately a small error was made which used a fixed redirect URL
    rather than the one configured for the backend.
    
    This caused the box backend oauth flow not to work properly with
    redirect_uri_mismatch errors.
    
    These backends were using the wrong redirect URL and will likely be
    affected, though it is possible the backends have workarounds.
    
    - box
    - drive
    - googlecloudstorage
    - googlephotos
    - hidrive
    - pikpak
    - premiumizeme
    - sharefile
    - yandex

commit 3daf62cf3d691e9a6dcf7a5063c9fe27a06bc5d0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Feb 2 11:14:38 2025 +0000

    b2: fix "fatal error: concurrent map writes" - fixes #8355
    
    This was caused by the embryonic metadata support. Since this isn't
    actually visible externally, this patch removes it for the time being.

commit 0ef495fa769964a46895a74d2ac7f36aeb3c8109
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Feb 3 11:33:11 2025 +0000

    Add Alexander Minbaev to contributors

commit 722c567504274928e519c06cd31b7081f6e786fe
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Feb 3 11:33:11 2025 +0000

    Add Zachary Vorhies to contributors

commit 0ebe1c0f813d4cb46dd0d428918d073e398a060f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Feb 3 11:33:11 2025 +0000

    Add Jess to contributors

commit 2dc06b2548b853a446437d4c80ef11d39c6e8006
Author: Alexander Minbaev <minbaev@gmail.com>
Date:   Mon Feb 3 05:29:31 2025 -0600

    s3: add IBM IAM signer - fixes #7617

commit b52aabd8fe9ed555357b8ed2dbff25fe29506026
Author: Zachary Vorhies <zachvorhies@protonmail.com>
Date:   Sat Feb 1 05:20:09 2025 -0700

    serve nfs: update docs to note Windows is not supported - fixes #8352

commit 6494ac037fdd7ada2052ae9a8e05d230e7e686b2
Author: Jess <jess@jessie.cafe>
Date:   Tue Jan 21 03:04:47 2025 +1300

    cmd/config(update remote): introduce --no-output option
    
    Fixes #8190

commit 5c3a1bbf3022c6672712c65757622e14515fc70b
Author: jkpe <16779171+jkpe@users.noreply.github.com>
Date:   Thu Jan 23 12:33:14 2025 +0000

    s3: add DigitalOcean regions SFO2, LON1, TOR1, BLR1

commit c8376646536a253c61b1c0dbc65cf5da0632f76d
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Jan 11 12:49:40 2025 +0000

    sync: fix cpu spinning when empty directory finding with leading slashes
    
    Before this change the logic which makes sure we create all
    directories could get confused with directories which started with
    slashes and get into an infinite loop consuming 100% of the CPU.

commit 77429b154e57006d14a81fc018301c598c0038f8
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Jan 4 10:24:06 2025 +0000

    s3: fix handling of objects with // in #5858

commit 39b8f17ebb4fc580ac8003c7a3c3c4f9062ed164
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Jan 2 18:34:46 2025 +0000

    azureblob: fix handling of objects with // in #5858

commit 81ecfb0f647cb067f733c055e058a8eaf2169d63
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Jan 2 18:31:08 2025 +0000

    fstest: add integration tests objects with // on bucket based backends #5858

commit 656e789c5b7709486e5851897435ca31c78b22d7
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Jan 4 12:53:25 2025 +0000

    fs/list: tweak directory listing assertions after allowing // names

commit fe19184084d9d03a45cd2cd326d4f2763813a532
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Jan 2 15:59:56 2025 +0000

    lib/bucket: fix tidying of // in object keys #5858
    
    Before this change, bucket.Join would tidy up object keys by removing
    repeated / in them. This means we can't access objects with // in them
    which is valid for object keys (but not for file system paths).
    
    This could have consequences for users who are relying on rclone to
    fix improper paths for them.

commit b4990cd858c548b3a802a656655693723d1a981b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Thu Jan 2 15:52:30 2025 +0000

    lib/bucket: add IsAllSlashes function

commit 8e955c6b13c35bcad18e85fecea48304b43c824a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 8 18:15:03 2025 +0000

    azureblob: remove uncommitted blocks on InvalidBlobOrBlock error
    
    When doing a multipart upload or copy, if a InvalidBlobOrBlock error
    is received, it can mean that there are uncomitted blocks from a
    previous failed attempt with a different length of ID.
    
    This patch makes rclone attempt to clear the uncomitted blocks and
    retry if it receives this error.

commit 3a5ddfcd3c1fd686f8bcfd94c3b7173ac93deb67
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Dec 18 15:29:52 2024 +0000

    azureblob: implement multipart server side copy
    
    This implements multipart server side copy to improve copying from one
    azure region to another by orders of magnitude (from 30s for a 100M
    file to 10s for a 10G file with --azureblob-upload-concurrency 500).
    
    - Add `--azureblob-copy-cutoff` to control the cutoff from single to multipart copy
    - Add `--azureblob-copy-concurrency` to control the copy concurrency
    - Add ServerSideAcrossConfigs flag as this now works properly
    - Implement multipart copy using put block list API
    - Shortcut multipart copy for same storage account
    - Override with `--azureblob-use-copy-blob`
    
    Fixes #8249

commit ac3f7a87c3315751a5fd07d15697c84905f33fef
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Dec 16 17:04:16 2024 +0000

    azureblob: speed up server side copies for small files #8249
    
    This speeds up server side copies for small files which need the check
    the copy status by using an exponential ramp up of time to check the
    copy status endpoint.

commit 4e9b63e1412967e6e5b44c1a93cdfe3b6e483eea
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Dec 21 11:13:45 2024 +0000

    azureblob: cleanup uncommitted blocks on upload errors
    
    Before this change, if a multipart upload was aborted, then rclone
    would leave uncommitted blocks lying around. Azure has a limit of
    100,000 uncommitted blocks per storage account, so when you then try
    to upload other stuff into that account, or simply the same file
    again, you can run into this limit. This causes errors like the
    following:
    
    BlockCountExceedsLimit: The uncommitted block count cannot exceed the
    maximum limit of 100,000 blocks.
    
    This change removes the uncommitted blocks if a multipart upload is
    aborted or fails.
    
    If there was an existing destination file, it takes care not to
    overwrite it by recomitting already comitted blocks.
    
    This means that the scheme for allocating block IDs had to change to
    make them different for each block and each upload.
    
    Fixes #5583

commit 7fd7fe3c8269b9ec54fb438790355ef25a048967
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Dec 21 11:46:33 2024 +0000

    azureblob: factor readMetaData into readMetaDataAlways returning blob properties

commit 9dff45563de12dc5e5bdd7edcea9f63449abea48
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:55:48 2025 +0000

    Add b-wimmer to contributors

commit 83cf8fb821dd7036e0f29a8512982d404bc65381
Author: b-wimmer <132347192+b-wimmer@users.noreply.github.com>
Date:   Wed Jan 22 12:11:18 2025 +0100

    azurefiles: add --azurefiles-use-az and --azurefiles-disable-instance-discovery
    
    Adds additional authentication options from azureblob to azurefiles as well
    
    See rclone#8078

commit 32e79a5c5c8eb57b7d82aa55d35f0fe0a09fc4b4
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 10:59:57 2025 +0000

    onedrive: mark German (de) region as deprecated
    
    See: https://learn.microsoft.com/en-us/previous-versions/azure/germany/

commit fc44a8114e8e21204a7a50f830cae074ac5e6b8c
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Trevor Starick to contributors

commit 657172ef77e490dc52c0014d6543a1e4b26cb1c4
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add hiddenmarten to contributors

commit 71eb4199c37f681d3a246c161dfb64c7b664fba0
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Corentin Barreau to contributors

commit ac3c21368d7ba88869b4ab0e268026a8b3ad6380
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Bruno Fernandes to contributors

commit db71b2bd5f9f0c8fae10e533cce331f523f10993
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Moises Lima to contributors

commit 8cfe42d09fba3bdf19e04b4feff158722c8aea27
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add izouxv to contributors

commit e673a28a722c9a0f7db6fef0b910fe929e5d2304
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Robin Schneider to contributors

commit 59889ce46bd4b77f7ccbce008a73e102791fb0a4
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Tim White to contributors

commit 62e8a01e7e924ca1df30dd65ff83a091a4bb4be1
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 22 11:00:18 2025 +0000

    Add Christoph Berger to contributors

commit 87eaf376298436c7991ff6975184961bb86bc895
Author: Trevor Starick <trevor.starick@gmail.com>
Date:   Fri Jan 17 14:37:56 2025 -0500

    azureblob: add support for `x-ms-tags` header

commit 7c7606a6cf05eaa368d0c74c24dcd900beca15bc
Author: hiddenmarten <hiddenmarten@gmail.com>
Date:   Mon Dec 23 16:41:24 2024 +0100

    rc: disable the metrics server when running `rclone rc`
    
    Fixes #8248

commit dbb21165d4a320815c8925f34634a14aeb94c23e
Author: Corentin Barreau <corentin@archive.org>
Date:   Fri Jan 17 17:00:34 2025 +0100

    internetarchive: add --internetarchive-metadata="key=value" for setting item metadata
    
    Added the ability to include item's metadata on uploads via the
    Internet Archive backend using the `--internetarchive-metadata="key=value"`
    argument. This is hidden from the configurator as should only
    really be used on the command line.
    
    Before this change, metadata had to be manually added after uploads.
    With this new feature, users can specify metadata directly during the
    upload process.

commit 375953cba36c0d3fdfb2312e96ce63ea37f32a5e
Author: Dan McArdle <d@nmcardle.com>
Date:   Sat Sep 21 13:09:44 2024 -0400

    lib/batcher: Deprecate unused option: batch_commit_timeout

commit af5385b34491ad6b36c45ac3da03dc9b16eb74cb
Author: Bruno Fernandes <bruno.fernandes1996@hotmail.com>
Date:   Tue Oct 15 16:18:33 2024 -0300

    s3: Added new storage class to magalu provider

commit 347be176afef4f9b8b0f886e3d08827e871de952
Author: Moises Lima <mozlima@users.noreply.github.com>
Date:   Fri Jan 17 12:53:23 2025 -0300

    http servers: add --user-from-header to use for authentication
    
    Retrieve the username from a specified HTTP header if no
    other authentication methods are configured
    (ideal for proxied setups)

commit bf5a4774c69f19b1511475333621afbbba3bf037
Author: Pat Patterson <pat@backblaze.com>
Date:   Tue Nov 19 01:31:56 2024 -0800

    b2: add SkipDestructive handling to backend commands - fixes #8194

commit 0275d3edf2ba1e991813a1cd2bb008ec0aab72f9
Author: izouxv <izouxv@users.noreply.github.com>
Date:   Fri Jan 17 23:38:09 2025 +0800

    vfs: close the change notify channel on Shutdown

commit be53ae98f8ea54779cbfc85d1cf1ee7c04d1122b
Author: Robin Schneider <robin.schneider@stackit.cloud>
Date:   Mon Jan 13 12:31:44 2025 +0100

    Docker image: Add label org.opencontainers.image.source for release notes in Renovate dependency updates

commit 0d9fe51632aaf5c642dc1f6e856a0a5ff45eccd4
Author: Tim White <tim.white@su.org.au>
Date:   Wed Jan 15 14:17:17 2025 +0800

    docs: add OneDrive Impersonate instructions - fixes #5610

commit 03bd795221a16c3a8a6b60f25f453bd321170930
Author: Christoph Berger <github@christophberger.com>
Date:   Fri Jan 17 09:50:22 2025 +0100

    docs: explain the stringArray flag parameter descriptor

commit 5a4026ccb47f29327ff4cd9c868e7549d56671d2
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 15 17:58:49 2025 +0000

    iclouddrive: add notes on ADP and Missing PCS cookies - fixes #8310

commit b1d4de69c247dfc3689f87dda69b48d99ba10dc2
Author: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Date:   Wed Jan 15 14:01:06 2025 +0100

    docs: fix typos found by codespell in docs and code comments

commit 5316acd046d2039befd061cd06438ad1f6e78214
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Wed Jan 15 16:32:59 2025 +0000

    fs: fix confusing "didn't find section in config file" error
    
    This change decorates the error with the section name not found which
    will hopefully save user confusion.
    
    Fixes #8170

commit 2c72842c10016e8b7a33507bf7a70f2fe03b4444
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Jan 14 20:21:40 2025 +0000

    vfs: fix race detected by race detector
    
    This race would only happen when --dir-cache-time was very small.
    
    This was noticed in the VFS tests when --dir-cache-time was 100 mS so
    is unlikely to affect normal users.

commit 4a81f12c26a3c062efb70c425c5eb175efc99b8f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Jan 14 20:43:38 2025 +0000

    Add Jonathan Giannuzzi to contributors

commit aabda1cda2549999c63ae110eacc81d3ea80861e
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Jan 14 20:43:38 2025 +0000

    Add Spencer McCullough to contributors

commit 572fe20f8e27c7092a39c8de2261fe0a7060ec7f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Jan 14 20:43:38 2025 +0000

    Add Matt Ickstadt to contributors

commit 2fd4c45b34e1b4b9fa55ca0a70a3be7bb1132a1d
Author: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Date:   Tue Jan 14 08:59:11 2025 +0000

    smb: add support for kerberos authentication
    
    Fixes #7800

commit ec5489e23fd84fff8127611a29b058661f2a9d39
Author: Spencer McCullough <mccullough.spencer@gmail.com>
Date:   Wed Nov 20 13:35:16 2024 -0700

    drive: added `backend moveid` command

commit 6898375a2d73e6d58547834f6d9c2c912cfbe36d
Author: Matt Ickstadt <matt@beckenterprises.com>
Date:   Tue Jan 14 10:37:25 2025 -0600

    docs: fix reference to serves3 setting disable_multipart_uploads which was renamed

commit d413443a6a6415fe4df2e6fc18e9e48e3da73e7a
Author: Matt Ickstadt <mattico8@gmail.com>
Date:   Tue Jan 14 10:18:53 2025 -0600

    docs: fix link to Rclone Serve S3

commit 5039747f267529628fa36e2d0d28c53bbed4be93
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sat Dec 28 16:29:55 2024 +0000

    serve s3: fix list objects encoding-type
    
    Before this change rclone would always use encoding-type url even if
    the client hadn't asked for it.
    
    This confused some clients.
    
    This fixes the problem by leaving the URL encoding to the gofakes3
    library which has also been fixed.
    
    Fixes #7836

commit 11ba4ac5397a9b959757b59831a62d18dbc850dd
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Jan 13 12:21:50 2025 +0000

    build: update gopkg.in/yaml.v2 to v3

commit b4ed7fb7d702430f56e5675eb1c08300ba9c7bdc
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Jan 13 12:02:48 2025 +0000

    build: update all dependencies

commit 719473565e62f21f3e321d7591756941b152b77b
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Tue Jan 14 15:23:11 2025 +0000

    bisync: fix go vet problems with go1.24

commit bd7278d7e9fb06f2e521a956b4fddeb0022afc6f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Jan 13 11:55:21 2025 +0000

    build: update to go1.24rc1 and make go1.22 the minimum required version

commit 45ba81c72658b5dc39efc3a41b3b04a4d7d1717f
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Jan 13 12:49:18 2025 +0000

    version: add --deps flag to show dependencies and other build info

commit 530658e0ccab89e68b15bbf2bc27679b33d4a82a
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Mon Jan 13 18:35:27 2025 +0000

    doc: make man page well formed for whatis - fixes #7430

commit b742705d0ccb57d9cad57ab6ada629422cb821d2
Author: Nick Craig-Wood <nick@craig-wood.com>
Date:   Sun Jan 12 16:31:12 2025 +0000

    Start v1.70.0-DEV development
