cbd71a8b5a
Change-Id: I75ba58d194ea99b17c862cefcd9943e38e3f1ff0
535 lines
18 KiB
Plaintext
535 lines
18 KiB
Plaintext
3.1.0
|
|
-----
|
|
|
|
* Added a copy object method.
|
|
|
|
* Arbitrary query strings can now be passed into container functions.
|
|
|
|
* Client certificate and key can now be specified via CLI
|
|
options (--os-cert/--os-key) or environment variables ($OS_CERT/$OS_KEY).
|
|
|
|
* A new CLI option `--ignore-checksum` can be specified to turn off
|
|
checksum validation. In the SDK, the new `checksum=True` parameter can
|
|
be used for the same purpose.
|
|
|
|
* Added --json option to `swift capabilities` / `swift info`
|
|
|
|
* Default to v3 auth if we find a (user|project)-domain-(name|id) option.
|
|
|
|
* Added a Python version constraint of >= Py27.
|
|
|
|
* `client.py` will now retry on a 401 (auth error) even if `retries` is
|
|
set to zero.
|
|
|
|
* Fixed `swift download` when `marker` was specified.
|
|
|
|
* Object segments uploaded via swiftclient are now given the content type
|
|
"application/swiftclient-segment".
|
|
|
|
* "Directory marker" objects are now given a "application/directory"
|
|
content type to match both Swift's `staticweb` feature and other
|
|
ecosystem tools.
|
|
|
|
* Strip leading/trailing whitespace from headers (otherwise, new versions
|
|
of the requests library will raise an InvalidHeader error). Additionally,
|
|
header values with standard types (integer, float, or bool) are coerced
|
|
to strings before being sent to a socket.
|
|
|
|
* Non-python dependencies are now specified in bindep.txt. Currently this
|
|
only lists a single dependency for testing (PyPy), but if future
|
|
dependencies are added, they will be included in this file.
|
|
|
|
* Client exceptions now include response headers. One benefit is that
|
|
this allows clients to see transaction IDs without needing to turn on
|
|
debug logging.
|
|
|
|
* Client connections now accept gzip-encoded responses.
|
|
|
|
* Various other minor bug fixes and improvements.
|
|
|
|
3.0.0
|
|
-----
|
|
|
|
* Python 2.6 and Python 3.3 support has been removed. Currently
|
|
supported and tested versions of Python are Python 2.7 and Python 3.4.
|
|
|
|
* Do not reveal sensitive headers in swiftclient log messages by default.
|
|
This is controlled by the client.logger_settings dictionary. Setting the
|
|
`redact_sensitive_headers` key to False prevents the information hiding. If
|
|
the value is True (the default), the `reveal_sensitive_prefix` controls
|
|
the maximum length of any sensitive header value logged. The default is
|
|
16 to match the default in Swift.
|
|
|
|
* Object downloads that fail partway through will now retry with a Range
|
|
request to read the rest of the object.
|
|
|
|
* Object uploads will be retried if the source supports seek/tell or has a
|
|
reset() method.
|
|
|
|
* Delete requests will use the cluster's bulk delete feature, if available,
|
|
for requests that would require a lot of individual deletes.
|
|
|
|
* The delete CLI option now accepts a --prefix option to delete objects that
|
|
start with the given prefix (similar to the same-named option for list).
|
|
|
|
* Add support for the auth-version to be specified using
|
|
--os-identity-api-version or OS_IDENTITY_API_VERSION
|
|
for compatibility with other openstack client command
|
|
line options.
|
|
|
|
* --debug and --info command-line options now work anywhere in the command.
|
|
|
|
* Objects can now be uploaded to pseudo-directories with the CLI.
|
|
|
|
* Fixed an issue with uploading a large object that includes a unicode path.
|
|
|
|
* swiftclient can now auth against Keystone using only a project (tenant)
|
|
and a token. This is useful when the client doesn't have access to the
|
|
password for a user but otherwise has been granted access.
|
|
|
|
* Various other minor bug fixes and improvements.
|
|
|
|
2.7.0
|
|
-----
|
|
|
|
* This is the very last release to support Python 2.6. Any further
|
|
development on the 2.7.x release series will only be for security bugfixes.
|
|
|
|
* Added content type to CLI object list long-form output
|
|
|
|
* client.get_container() and client.head_object now accept a headers parameter
|
|
|
|
* Fixed bug when setting Content-Type on upload from CLI
|
|
|
|
* Fixed bug when deleting DLOs with unicode characters
|
|
|
|
* Updated man pages and docstrings
|
|
|
|
* Suppress iso8601 logging in --debug output
|
|
|
|
* Various other minor bug fixes and improvements.
|
|
|
|
2.6.0
|
|
-----
|
|
|
|
* Several CLI options have learned short options. The usage strings have
|
|
been updated to reflect this.
|
|
|
|
* Added --no-shuffle option to the CLI download command.
|
|
|
|
* Added --absolute option for CLI TempURL generation and the corresponding
|
|
parameter to utils.generate_temp_url(). This allows for an exact, specific
|
|
time to be used for the TempURL expiry time.
|
|
|
|
* CLI arguments are now always decoded as UTF-8.
|
|
|
|
* Stop Connection class modifying os_options parameter.
|
|
|
|
* Reduce memory usage for download/delete.
|
|
|
|
* The swift service API now logs and reports the traceback
|
|
on failed operations.
|
|
|
|
* Increase httplib._MAXHEADERS to 256 to work around header limits in recent
|
|
Python releases.
|
|
|
|
* Added minimal working service token support to client.py.
|
|
|
|
* Various other minor bug fixes and improvements.
|
|
|
|
|
|
2.5.0
|
|
-----
|
|
|
|
* The CLI learned an "auth" subcommand which returns bash environment
|
|
snippets for auth credentials.
|
|
|
|
* The CLI --version option is now more explicit by calling itself
|
|
"python-swiftclient" rather than the name of the binary.
|
|
|
|
* Now validates the checksum of each chunk of a large object as it is
|
|
uploaded.
|
|
|
|
* Fixes uploading an object with a relative path.
|
|
|
|
* Added the ability to download objects to a particular folder.
|
|
|
|
* Now correctly removes all old segments of an object when replacing a
|
|
Dynamic Large Object (DLO).
|
|
|
|
* The --skip-identical option now works properly when downloading
|
|
large objects.
|
|
|
|
* The client.get_object() response learned a .read([length]) method.
|
|
|
|
* Fixed an issue where an intermediate caching/proxy service could cause
|
|
object content to be improperly decoded.
|
|
|
|
* Added a timeout parameter to HTTPConnection objects for socket-level
|
|
read timeouts.
|
|
|
|
* Removed a dependency on simplejson.
|
|
|
|
* Various other minor bug fixes and improvements.
|
|
|
|
2.4.0
|
|
-----
|
|
|
|
* Mention --segment-size option after 413 response
|
|
* Add improvements to MD5 validation
|
|
* Unindent a chunk of st_list
|
|
* Release connection after consuming the content
|
|
* Verify MD5 of uploaded objects
|
|
* Fix crash with -l, -d /, and pseudo folders
|
|
* add functional tox target
|
|
* Fix crash when stat'ing objects with non-ascii names
|
|
* Add help message for "<subcommand> --help"
|
|
* Fix missing ca-certificate parameter to get_auth
|
|
* Fix deleting SLO segments on overwrite
|
|
* This patch fixes downloading files to stdout
|
|
* Fix environment sanitization for TestServiceUtils
|
|
* Fix cross account upload using --os-storage-url
|
|
* Change tests to use CaptureOutput class
|
|
* Print info message about incorrect --totals usage when neither -l nor --lh is provided. Added test coverage for --totals
|
|
* Make preauth params work
|
|
* Fix misplaced check for None in SwiftUploadObject
|
|
* Fix misnamed dictionary key
|
|
* Change tests to use new CaptureOutput class
|
|
* Workflow documentation is now in infra-manual
|
|
* Show warning when auth_version >= 2 and keystoneclient is missing
|
|
* Capture test output better
|
|
* Suppress 'No handlers...' message from keystoneclient logger
|
|
* Add unit tests for _encode_meta_headers
|
|
* Fix misnamed variable in SwiftReader
|
|
* Check that content_type header exists before using
|
|
* Adds user friendly message when --segment-size is a non-integer
|
|
* Make swift post output an error message when failing
|
|
* Replaces Stacktraces with useful error messages
|
|
* Fix KeyError raised from client Connection
|
|
* Fix race in shell when testing for errors to raise SysExit
|
|
* Fix race between container create jobs during upload
|
|
* Fix the info command with --insecure
|
|
* Allow segment size to be specified in a human readable way
|
|
* Use skipTest from testtools instead of inherited Exception
|
|
* Add tests for account listing using --lh switch
|
|
* Do not crash with "swift list --lh" for Ceph RadosGW
|
|
|
|
2.3.1
|
|
-----
|
|
|
|
* Remove a debugging print statement
|
|
* Fix unit tests failing when OS_ env vars are set
|
|
* Fix bug with some OS options not being passed to client
|
|
* Add per policy container count to account stat output
|
|
* Stop creating extraneous directories
|
|
|
|
2.3.0
|
|
-----
|
|
|
|
* Work toward Python 3.4 support and testing
|
|
* Add importable SwiftService incorporating shell.py logic
|
|
* Adds console script entry point
|
|
* Do not create an empty directory 'pseudo/'
|
|
* fixed unit tests when env vars are set
|
|
* Fix crash when downloading a pseudo-directory
|
|
* Clean up raw policy stats in account stat
|
|
* Update theme for docs
|
|
* Add a tox job for generating docs
|
|
* Add keystone v3 auth support
|
|
|
|
2.2.0
|
|
-----
|
|
|
|
* Fix context sensitive help for info and tempurl
|
|
* Allow to specify storage policy when uploading objects
|
|
* Adding Swift Temporary URL support
|
|
* Add CONTRIBUTING.md
|
|
* Add context sensitive help
|
|
* Relax requirement for tenant_name in get_auth()
|
|
* replace string format arguments with function parameters
|
|
* Removed now unnecessary workaround for PyPy
|
|
* Use Emacs-friendly coding line
|
|
* Remove extra double quote from docstring
|
|
* Fix wrong assertions in unit tests
|
|
* fixed several pep8 issues
|
|
|
|
2.1.0
|
|
-----
|
|
|
|
* Fix Python3 bugs
|
|
* Remove testtools.main() call from tests
|
|
* Move test_shell.py under tests/unit/
|
|
* Mark swiftclient as being a universal wheel
|
|
* change assert_ to assertTrue
|
|
* change assertEquals to assertEqual
|
|
* Provide a link to the documentation to the README
|
|
* fixed typos found by RETF rules
|
|
* Fix running the unittests under py3
|
|
* Add "." for help strings
|
|
* Declare that we support Python 3
|
|
* Make the function tests Python3-import friendly
|
|
* Only encode metadata for user customed headers
|
|
* Add functional tests for python-swiftclient
|
|
* Removed a duplicate word in a docstring
|
|
* Mock auth_end_time in test_shell.test_download
|
|
* Don't utf8 encode urls
|
|
* Fixed several shell tests on Python3
|
|
* Fix up StringIO use in tests for py3
|
|
* Updated test_shell for Python3
|
|
* Fix test_raw_upload test
|
|
* Remove validate_headers
|
|
* Use quote/unquote from six module for py3
|
|
* Makes use of requests.Session
|
|
* Fix test_multithreading on Python 3
|
|
* Add tests for bin/swift
|
|
* Fix swiftclient.client.quote() for Python 3
|
|
* Add requests related unit-tests
|
|
* Update help message to specify unit of --segment-size option
|
|
* Python 3: fix tests on HTTP headers
|
|
* Updated from global requirements
|
|
* Use the standard library's copy of mock when it's available
|
|
* Replaced print statements with print function
|
|
* Removed usage of tuple unpacking in parameters
|
|
* don't use mutable defaults in kwargs
|
|
* set user-agent header
|
|
* Python 3: Get compatible types from six
|
|
* Python 3: Fix module names in import
|
|
* Python 3: Add six dependency
|
|
* Replace dict.iteritems() with dict.items()
|
|
* Python 3: Replace iter.next() with six.next(iter)
|
|
* Make bin/swift testable part 2
|
|
* Make bin/swift testable part 1
|
|
* Python 3: Fix tests using temporary text files
|
|
* Python 3: cast map() result to list
|
|
* Fix temporary pypy gate issue with setuptools
|
|
* Decode HTTP responses, fixes bug #1282861
|
|
* Copy Swift's .mailmap to swiftclient repo
|
|
* Improve help strings
|
|
* TCP port is appended two time in ClientException
|
|
* add "info" as an alias to "capabilities"
|
|
* Use six.StringIO instead of StringIO.StringIO
|
|
|
|
2.0.3
|
|
-----
|
|
|
|
* Help string format persistent
|
|
* Make the help strings constant
|
|
* Add LengthWrapper in put_object to honor content_length param
|
|
* Updated from global requirements
|
|
* Remove useless statement
|
|
* swift.1 manpage fix for groff warnings
|
|
|
|
2.0.2
|
|
-----
|
|
|
|
* Remove multipart/form-data file upload
|
|
|
|
2.0.1
|
|
-----
|
|
|
|
* Fix --insecure option on auth
|
|
* Only run flake8 on swiftclient code
|
|
|
|
2.0
|
|
---
|
|
|
|
|
|
1.9.0
|
|
-----
|
|
|
|
* Remove extraneous vim configuration comments
|
|
* Rename Openstack to OpenStack
|
|
* Port to python-requests
|
|
* Add option to skip downloading/uploading identical files
|
|
* Remove tox locale overrides
|
|
* Fix swiftclient help
|
|
* Fix misspellings in python swiftclient
|
|
* changed things because reasons
|
|
* Add missing backslash
|
|
* match hacking rules in swift
|
|
* Updated from global requirements
|
|
* Install manpage in share/man/man1 instead of man/man1
|
|
* assertEquals is deprecated, use assertEqual
|
|
* Add capabilities option
|
|
* Install swiftclient manpage
|
|
* Replace xrange in for loop with range
|
|
* Add --object-name
|
|
* retry on ratelimit
|
|
* Fix help of some optional arguments
|
|
* Updates tox.ini to use new features
|
|
* Fix Sphinx version issue
|
|
* Enable usage of proxies defined in environment (http(s)_proxy)
|
|
* Don't crash when header is value of None
|
|
* Fix download bandwidth for swift command
|
|
* Updates .gitignore
|
|
* Allow custom headers when using swift download (CLI)
|
|
* Replaced two references to Cloud Files with Swift
|
|
* Fix a typo in help text: "downlad"
|
|
* Add close to swiftclient.client.Connection
|
|
* enhance swiftclient logging
|
|
* Clarify main help for post subcommand
|
|
* Fixes python-swiftclient debugging message
|
|
|
|
1.8.0
|
|
-----
|
|
|
|
* Make pbr only a build-time dependency
|
|
* Add verbose output to all stat commands
|
|
* assertEquals is deprecated, use assertEqual (H602)
|
|
* Skip sniffing and resetting if retry is disabled
|
|
* user defined headers added to swift post queries
|
|
|
|
1.7.0
|
|
-----
|
|
|
|
* Sync with global requirements
|
|
* fix bug with replace old *LOs
|
|
* Extend usage message for `swift download`
|
|
|
|
1.6.0
|
|
-----
|
|
|
|
* Added support for running the tests under PyPy with tox
|
|
* Remove redundant unit suffix
|
|
* Reformat help outputs
|
|
* Add a NullHandler when setting up library logging
|
|
* Assignment to reserved built-in symbol "file"
|
|
* Added headers argument support to get_object()
|
|
* Move multi-threading code to a library
|
|
* fix(gitignore) : Ignore *.egg files
|
|
* python3: Start of adding basic python3 support
|
|
* Added log statements in swift client
|
|
* Update docstring for swiftclient.Connection.__init__
|
|
* Refuse carriage return in header value
|
|
* Adds max-backoff for retries in Connection
|
|
* Allow setting # of retries in the binary
|
|
|
|
1.5.0
|
|
-----
|
|
|
|
* Note '-V 2' is necessary for auth 2.0
|
|
* Allow storage url override for both auth vers
|
|
* Add *.swp into .gitignore
|
|
* Add -p option to download command
|
|
* add -t for totals to list command and --lh to stat
|
|
* add optional 'response_dict' parameters to many calls into which they'll return a dictionary of the response status, reason and headers
|
|
* Fixes re-auth flow with expired tokens
|
|
* Remove explicit distribute depend
|
|
* Add -l and --lh switches to swift 'list' command
|
|
* Changed the call to set_tunnel to work in python 2.6 or python 2.7 since its name changed between versions
|
|
* Add option to disable SSL compression
|
|
* python3: Introduce py33 to tox.ini
|
|
* Rename requires files to standard names
|
|
* remove busy-wait so that swift client won't use up all CPU cycles
|
|
* log get_auth request url instead of x-storage-url
|
|
* Update the man page
|
|
* Add .coveragerc file to show correct code coverage
|
|
* do not warn about etag for slo
|
|
* Eradicate eventlet and fix bug lp:959221
|
|
* Add end_marker and path query parameters
|
|
* Switch to pbr for setup
|
|
* Switch to flake8
|
|
* Improve Python 3.x compatibility
|
|
* Confirm we have auth creds before clearing preauth
|
|
|
|
1.4.0
|
|
-----
|
|
|
|
* Improve auth option help
|
|
* Static large object support
|
|
* Fixed pep8 errors in test directory
|
|
* Allow user to specify headers at the command line
|
|
* Enhance put_object to inform when chunk is ignored
|
|
* Allow v2 to use storage_url/storage_token directly
|
|
* Add client man page swift.1
|
|
* Allow to specify segment container
|
|
* Added "/" check when list containers
|
|
* Print useful message when keystoneclient is not installed
|
|
* Fix reporting version
|
|
|
|
1.3.0
|
|
-----
|
|
|
|
* Use testr instead of nose
|
|
* Update to latest oslo version/setup
|
|
* Add generated files to .gitignore
|
|
* Add env[SWIFTCLIENT_INSECURE]
|
|
* Fix debug feature and add --debug to swift
|
|
* Use testtools as base class for test cases
|
|
* Add --os-cacert
|
|
* Add --insecure option to fix bug #1077869
|
|
* Don't segment objects smaller than --segment-size
|
|
* Don't add trailing slash to auth URL
|
|
* Adding segment size as another x-object-manifest component
|
|
* Stop loss of precision when writing 'x-object-meta-mtime'
|
|
* Remove unused json_request
|
|
* fixed inconsistencies in parameter descriptions
|
|
* tell nose to explicity test the 'tests' directory
|
|
* Fixes setup compatibility issue on Windows
|
|
* Force utf-8 encode of HTTPConnection params
|
|
* swiftclient Connection : default optional arguments to None
|
|
* Add OpenStack trove classifier for PyPI
|
|
* Resolves issue with empty os_options for swift-bench & swift-dispersion-report
|
|
* Catch authorization failures
|
|
* Do not use dictionaries as default parameters
|
|
|
|
1.2.0
|
|
-----
|
|
|
|
* Add region_name support
|
|
* Allow endpoint type to be specified
|
|
* PEP8 cleanup
|
|
* PEP8 issues fixed
|
|
* Add ability to download without writing to disk
|
|
* Fix PEP8 issues
|
|
* Change '_' to '-' in options
|
|
* Fix swiftclient 400 error when OS_AUTH_URL is set
|
|
* Add nosehtmloutput as a test dependency
|
|
* Shuffle download order (of containers and objects)
|
|
* Add timing stats to verbose download output
|
|
* Ensure Content-Length header when PUT/POST a container
|
|
* Make python-keystoneclient optional
|
|
* Fix container delete throughput and 409 retries
|
|
* Consume version info from pkg_resources
|
|
* Use keystoneclient for authentication
|
|
* Removes the title "Swift Web" from landing page
|
|
|
|
1.1.1
|
|
-----
|
|
|
|
* Now url encodes/decodes x-object-manifest values
|
|
* Configurable concurrency for swift client
|
|
* Allow specify tenant:user in user
|
|
* Make swift exit on ctrl-c
|
|
* Add post-tag versioning
|
|
* Don't suppress openstack auth options
|
|
* Make swift not hang on error
|
|
* Fix pep8 errors w/pep8==1.3
|
|
* Add missing test/tools files to the tarball
|
|
* Add build_sphinx options
|
|
* Make CLI exit nonzero on error
|
|
* Add doc and version in swiftclient.__init__.py
|
|
* Raise ClientException for invalid auth version
|
|
* Version bump after pypi release
|
|
|
|
1.1.0
|
|
-----
|
|
|
|
* Removed now-unused .cache.bundle references
|
|
* Added setup.cfg for verbose test output
|
|
* Add run_tests.sh script here
|
|
* Adding fake_http_connect to test.utils
|
|
* Add openstack project infrastructure
|
|
* Add logging
|
|
* Defined version to 1.0
|
|
* Add CHANGELOG LICENSE and MANIFEST.in
|
|
* Delete old test_client and add a gitignore
|
|
* Rename client to swiftclient
|
|
* Fix links
|
|
* Import script from swift to run unittests
|
|
* Add test_client from original swift repository
|
|
* Add AUTHORS file
|
|
* Make sure we get a header StorageURL with 1.0
|
|
* Allow specify the tenant in user
|
|
* First commit
|