|
From: Florent V. (Sodria) <fl...@so...> - 2023-12-12 10:28:41
|
Dear s3cmd users and contributors,
I'm glad to announce that
s3cmd v2.4.0 has been released on Github, Sourceforge and PyPi.
This release should not contain any breaking change except a few output
message changes.
With this release, we reach the awesome milestone of exactly 100
contributors to s3cmd.
Thanks again to all the contributors, the testers and the issue reporters.
s3cmd-2.4.0 - 2023-12-12
===============
* Added "setversioning" command for versioning configuration (Kuan-Chun
Wang)
* Added "settagging", "gettagging", and "deltagging" commands for
bucket/object tagging (Kuan-Chun Wang)
* Added "setobjectretention" and "setobjectlegalhold" commands (Etienne
Adam/Withings SAS)
* Added "setownership" and "setblockpublicaccess" commands
* Added "cfinval" command to request Cloudfront to invalidate paths (#1256)
* Added "--keep-dirs" option to have the folder structure preserved on
remote side
* Added --skip-destination-validation option for "setnotification" command
(Kuan-Chun Wang)
* Added "--max-retries" flag and "max_retries" config option (#914)
* Added FIPS support (Michael Roth)
* Added "object ownership" and block public access" values to "info"
command output for buckets
* Added to "ls" command a "DIROBJ" tag for directory objects in S3 remote
* Added server profiles to run-tests.py to skip tests depending on the
server type
* Fixed "TypeError: sequence item 1: expected str instance, bytes found"
error with Python 3.12 (#1343)
* Fixed a missing return for "object_batch_delete" of S3.py (James Hewitt)
* Fixed "object is not callable" error because of md5 FIPS test (#1005)
* Fixed "compute_content_md5 is not defined" error for "setversioning"
(#1312) (Gavin John)
* Fixed list objects to use NextMarker when only prefixes are returned
(Albin Parou)
* Fixed upload to not retry when an S3 compatible server is full
* Fixed recursive delete of objects named with whitespace (#976)
* Fixed the mime type when uploading directories to be
"application/x-directory"
* Fixed "string indices must be integers" error for sync when in dry-run
mode (#1313) (Shohei Tanaka)
* Fixed SignatureDoesNotMatch error when modifying an object on Cloudflare
R2 (#1332) (Philip C Nilsson)
* Fixed Cloudfront invalidation issue for paths with wildcard or special
characters
* Fixed Cloudfront crash because of error reporting for retries
* Fixed Cloudfront "unable to parse URL" error (#1292)
* Improved the handling of "empty" files on the remote side to sync with
local folders
* Improved "abortmp" command by requiring an object to avoid bad accidents
when using Ceph (Joshua Haas)
* Improved file download by retrying when encountering SlowDown or
TooManyRequests errors (Robin Geiger)
* Improved error messages in case of connection error or host unreachable
* Improved error messages to be more explicit for upload errors after
retries
* Improved remote2local attributes setting code
* Improved remote2local with more explicit error messages when setting
attributes (#1288)
* Improved remote2local output messages by using the "mkdir" prefix instead
of "make dir"
* Improved the SortedDict class
* Improved run-test.py by using "--include" when calling Curl instead of
"-include" (Matthew James Kraai)
* Improved GitHub CI by enabling pip cache in actions/setup-python (Anton
Yakutovich)
* Improved GitHub CI by adding a "codespell" check on push and PRs
(Yaroslav Halchenko)
* Updated GitHub CI tests to use more recent versions of Minio and Python
* Upgraded GitHub actions (Anton Yakutovich)
* Cleanup and update of copyright headers, docs, comments and setup.py
* Cleanup to fix "invalid escape sequence" syntax warnings
* Many other bug fixes and cleanups
Shortlog below.
Thanks,
Florent
Albin Parou (1):
fix: Use NextMarker if only prefixes are returned
Anton Yakutovich (4):
Bump GitHub actions
Enable pip cache in actions/setup-python
Extract deps from `setup.py` to `requirements.txt`
Return additional pip install from `setup.py`
Etienne Adam (1):
Add setobjectretention and setobjectlegalhold commands
Florent Viard (54):
Change version to development 2.3.0-dev
Merge pull request #1233 from maroth96/maroth96-add-fips-support
Fixes #1005 - Fixes object is not callable error because of md5 FIPS
test
Merge pull request #1277 from jeffwang0516/notification-option
Merge pull request #1278 from Fumesover/master
Better error message in case of connection error or host unreachable
Retry a file download in case of SlowDown or TooManyRequests error
Fixes #914 - Add "--max-retries" and "max_retries" config option
Don't retry upload when server is full
Improve error message to be more explicit for upload errors after
retries
run-tests.py: Fixes os error when trying to skip first tests
run-tests.py: Added server profiles to skip tests depending on the
server type
Update CI test.yml to use last minio version and use python 3.10
instead of 3.10-dev
Merge pull request #1281 from drakulavich/patch-1
Merge pull request #1282 from drakulavich/ci/pip_cache
Cloudfront: Remove wildcard import for exceptions
Cloudfront: Fixes paths with wildcard or special characters to not be
invalidated
Cloudfront: Fixes crash because of error reporting for retries
Fixes #1256 - Add cfinval command to request cloudfront to invalidate
paths
Merge pull request #1034 from Jamstah/patch-1
Crypto: Remove old python legacy code
Move hash functions into Crypto module
Fixes #976 - Fixes recursive delete of objects named with whitespace
Add to ls command a "DIROBJ" tag for directory objects in S3 remote
Add "--keep-dirs" option to have the folder structure preserved on
remote side
SortedDict: Add support for reversed() and ensure SortedDictIterator
is recognized as an iterable
remote2sync: children files and folders have to be deleted before
parent folders
remote2local: Use rmdir to delete folders
run-tests.py: Add test for keep-dirs feature
Refactor to treat copy_pairs like remote_list and update_list for
sync commands
Set correct mime type when uploading directories
Merge pull request #1287 from fviard/feature_keep_dirs
Merge pull request #1289 from jahschwa/bug/abortmp-require-object
Use "mkdir" prefix instead of "make dir" for remote2local output
messages
Fixes #1288 - More explicit errors when setting attributes for
remote2local
Cleanup of remote2local attributes setting code
Don't use os.path for handling s3 paths
Merge pull request #1284 from jeffwang0516/set-versioning
Fixes #1292 - cloudfront: Parse all aws possible urls in
httpurl_to_s3uri
Merge pull request #1314 from xcir/fix/issue1313
CI: Add python 3.11 and 3.12 to the test matrix
Fixes #1343 - bytes to be used for repl string in stripNameSpace
cleanup: fixes "invalid escape sequence" Syntax Warnings
Merge pull request #1324 from yarikoptic/enh-codespell
cosmetic: comment typo fixes
Merge pull request #1333 from PhilipNilsson7/master
Merge pull request #1296 from kraai/curl-include-option
Merge pull request #1297 from withings-sas/legalhold_and_retention
cleanup: update copyright headers and other values
Fixes #1359 - add setownership and setblockpublicaccess commands +
related entries in info
cosmetic: typo fix
Merge pull request #1283 from jeffwang0516/tagging-support
s3cmd: handle cases of empty key or value for settagging
Update version to 2.4.0
Gavin John (1):
Fixes error "'compute_content_md5' is not defined" for setversioning
James Hewitt (1):
Add missing return
Joshua Haas (2):
bug: require object in abortmp
make error message consistent
Matthew James Kraai (1):
Pass --include to curl
Michael Roth (2):
Add FIPS support
Move md5 to BaseUtils
PhilipCNilsson7 (1):
fix SignatureDoesNotMatch error when modifying an object on
Cloudflare R2
Shohei Tanaka (1):
Fix type error(#1313)
Yaroslav Halchenko (5):
Add github action to codespell master on push and PRs
Add rudimentary codespell config
ignores for codespell
Fixed manually some ambigous typos
[DATALAD RUNCMD] run codespell throughout
jeffwang0516 (5):
Add option to skip destination validation when applying notification
config
Update help message
Support versioning configuration
Refactoring
Support bucket/object tagging command
|