Releases: Azure/azure-storage-azcopy
Releases · Azure/azure-storage-azcopy
AzCopy v10.31.0
Version 10.31.0
New Features
- Azure Files NFS -> Azure Files SMB transfers.
- Transfer from Azure Files NFS to Azure Files SMB. (
--from-to=FileNFSFileSMB)
- Transfer from Azure Files NFS to Azure Files SMB. (
- Azure Files SMB -> Azure Files NFS transfers.
- Transfer from Azure Files SMB to Azure Files NFS. (
--from-to=FileSMBFileNFS)
- Transfer from Azure Files SMB to Azure Files NFS. (
- Symlink support for Azure Files NFS shares.
Introduced support for symbolic links in Azure Files NFS shares.
Symlinks can be preserved, skipped, or followed based on command-line flags.- Preserve symlinks:
--preserve-symlinks=true - Skip symlinks: default behavior when flags are not provided
- Follow symlinks:
--follow-symlinks=true
- Preserve symlinks:
- Added a --check-version flag to make version checking an opt in feature. (#3173)
--include-rootflag now allows customers to preserve root properties when used in conjunction with--preserve-XXXXflags. (#3163)
Dependency updates
- Golang 1.24.4 -> 1.24.6 (#3154)
Bug Fixes
- Fixed a bug to retry on various network errors. (#3237) (#3252)
- Fixed a bug where remove would not work on paths with encoded characters. (#2977)
- Fixed a bug where jobs resume would not produce any output for previously failed jobs. (#3103)
- Fixed a bug where FileBlob transfers with EntraID on the source would pass the wrong service version. (#3242)
- Fixed a bug to retry on WSAETIMEDOUT on Windows. (#3195)
- Fixed a bug with the folder creation tracker which caused folder creation calls to happen more often than necessary. (#3151)
- Fixed a bug to redact x-ams-credential from logs. (#3206)
- Fixed a bug where powershell login would fail with older versions of Az.Accounts. (#3191)
- Fixed a bug where symlink direct targets would be handled as a file instead of a symlink. (#3222)
Code Improvements
- Refactored traverser related code into its own package. (#3251)
- Refactored OAuth token manager access to use a client-based pattern instead of global singleton access. (#3260)
- Removed unused code related to credential management. (#3260)
- Refactored Lifecycle UI code into the cmd package (#3262).
- Error handling code is now injected into JobMgr, or appropriately bubbled upwards instead of using global LCM error handling. (#3262)
Breaking changes
- AzCopy no longer checks version by default. (#3173)
AzCopy v10.30.1
Version 10.30.1
Bug Fixes
- Fixed
--exclude-pathflag not available in remove operations.(PR #3165) (GH Issue #3159) - Fixed regression where AzCopy was not honoring concurrency value in copy operations (#3192)
- Fixed the incorrect JSON output format of the warning message when there are multiple AzCopy processes running. (PR #3188) (GH Issue #3182)
- Fixed
latest_version.txtfrom being wrongly created in users current directory. (PR #3179)(GH Issue #3176) - Fixed AzCopy crashing during sync operation from a nil pointer deref in the destination authentication policy. (PR #3186) (GH Issue #3109) (GH Issue #3156) (GH Issue #3175)
Dependency Updates
- Golang 1.24.2 -> 1.24.6 (CVE-2025-47907) (#3154)
AzCopy v10.30.0
Version 10.30.0
Breaking changes
- For transfers involving Azure Files (NFS or SMB), AzCopy will not auto create file shares.
- AzCopy binaries and latest version information will now be distributed from Github releases instead of the static website. (#3014)
New Features
-
Azure Files NFS Support via REST.
Support for transferring data between local Linux systems and Azure Files NFS using REST. To use this feature, please explicitly specify the--from-toflag.- Transfer from local Linux to Azure Files NFS. (
--from-to=LocalFileNFS) - Transfer from Azure Files NFS to local Linux. (
--from-to=FileNFSLocal) - Transfer between Azure Files NFS shares from. (
--from-to=FileNFSFileNFS)
Note:- Azure Files NFS to Azure Files NFS transfers (FileNFSFileNFS) are supported on Windows, Linux, and macOS.
- Transfers from local to NFS (LocalFileNFS) and NFS to local (FileNFSLocal) are supported only on Linux systems.
- Transfer from local Linux to Azure Files NFS. (
-
Added support to retry on copy source error code and status code for service to service copies. (#3105)
-
Added support for service to service copies from Azure Files to Blob Storage using EntraID. (#3053)
Bug Fixes
- Fixed a bug where when copying a file that has already been deleted with
--trailing-dot=Disableresulted in the wrong error instead of a 404. (#3092)
Supportability
- Removed the warning message when failing to create a container. This message can be misleading when there is insufficient permissions to create a container and the container already exists. (#3045)
- Improved the error message returned when block size is larger than bandwidth limit. (#3051)
- Warn user if transfer is going to exceed 10M objects. (#3111)
- Warn user if multiple AzCopy processes are running. (#3128)
AzCopy v10.30.0~preview.2
AzCopy v10.30.0-preview.1
New Feature
- Azure Files NFS Support via REST API
Support for transferring data between local Linux systems and Azure Files NFS using REST.
a. Transfer from local Linux to Azure Files NFS.
b. Transfer from Azure Files NFS to local Linux.
c. Transfer between Azure Files NFS shares.
AzCopy v10.29.1
Version 10.29.1
Bug Fixes
- Fix the TokenStore getting stuck in a read lock (#3035)
Dependency Updates
- golang.org/x/net 0.36.0 -> 0.38.0 (CVE-2025-22872) (#3023)
- golang.org/x/crypto 0.35.0 -> 0.36.0 (#3023)
- golang.org/x/sync 0.11.0 -> 0.12.0 (#3023)
- golang.org/x/sys 0.30.0 -> 0.31.0 (#3023)
- golang.org/x/text 0.22.0 -> 0.23.0 (#3023)
Changes:
- e3241bd updated version
- 33cc2dd all deps in changelog
- 3fe13cb added change log
- 5cb33e1 Bump golang.org/x/net from 0.36.0 to 0.38.0
- 16f559a Fix the TokenStore getting stuck in a read lock
This list of changes was auto generated.
AzCopy v10.29.0
Version 10.29.0:
Breaking changes
- TokenStore tokens now use sha256 (#3006)
Bug Fixes
- Fixed a regression where certain values were no longer output on dryruns (#2923)
- Catch and retry on certain Windows networking errors (e.g. port in use, remote host dropped) (#2916, 2962, 2967)
- Fixed an incorrect number of transfers being displayed upon resume (#2961)
- Fixed the URL output by AzCopy login to correct some sign in issues (#2973)
- Fixed a bug with
put-blob-mbwhere a lower maximum threshold would be used (#2936) - Catch EINTR responses from system calls appropriately (#2942)
v10.28.1
Version 10.28.1
Dependency updates
- Golang 1.22.7 -> 1.24.0 (#2948)
- golang.org/x/oauth2 v0.23.0 -> v0.27.0 (CVE-2025-22868)(#2992)
- golang.org/x/net v0.33.0 -> v0.36.0 (CVE-2025-22870)(#2978)
- github.com/golang-jwt 5.2.1 -> 5.2.2 (CVE-2025-30204)(#2990)
v10.28.0
Version 10.28.0
New Features
- Added support for trailing dot transfers to destinations that do not support trailing dot files. (#2827)
- Added support to fall back to LMT on missing source hash when
--compare-hashis set forsynccommands. (#2866) - When receiving a
ShareSizeLimitReachederror on transferring a file, AzCopy will now fail fast and suggest the customer increase file share quota and resume the command. (#2895) - Added support to validate destination container name to fail fast if it is a system container. (#2883)
- Added support to allow customers to reauthorize credentials on token expiration. (#2887)
- Added support to always create missing destination resources in
azcopy sync. (#2894) - When targeting flat namespace accounts in
azcopy sync,directory stubs can now be overwritten or overlapped. (#2894)
Bug Fixes
- Fixed an issue where AzCopy would not persist tokens when logging in via Device Code by migrating Device Code logic to azidentity Track 2 SDK. (#2361, #2747)
- Updated version check to hit updated AzCopy static website URL. The previous URL was taken down due to security requirements. (#2852)
- Fixed an issue where
jobs cleanwould be blocked due to trying to clean up its own log file. (#2850) - Fixed an issue where a panic would sometimes be hit due to closing an nil channel. (#2874)
- Downgraded go version to 1.22.7 to temporarily resolve reported high memory issue. (#2855)
- Fixed an issue where
--log-level=NONEwould display a log file location. (#2845) - Fixed the log levels of some messages. (#2845)
- Corrected the cleanup of files with names ending in
/when using--delete-destination-filesonazcopy sync. (#2847) - Correctly target objects in
copy/sync/deletewith names ending in/. (#2847)
Dependency updates
-
Golang 1.23.1 -> 1.22.7 (#2911)
-
golang.org/x/crypto v0.28.0 -> v0.31.0 (CVE-2024-45337)(#2890)
-
golang.org/x/net v0.30.0 -> v0.33.0 (CVE-2024-45338)(#2899)