| Index: third_party/gsutil/CHANGES.md
|
| diff --git a/third_party/gsutil/CHANGES.md b/third_party/gsutil/CHANGES.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ed3d6e42e0948c206a3b7c6bb9eec0145d7dece2
|
| --- /dev/null
|
| +++ b/third_party/gsutil/CHANGES.md
|
| @@ -0,0 +1,1584 @@
|
| +Release 4.13 (release date: 2015-06-03)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- Added -U flag to cp and rsync commands to allow skipping of unsupported
|
| + object types.
|
| +- Added support for Google Developer Shell credentials.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Precondition headers (x-goog-if-...) are now respected for the setmeta
|
| + command.
|
| +- Fixed an index out of range error that could occur with an empty
|
| + parallel composite upload tracker file.
|
| +- The stat command outputs errors to stderr instead of stdout.
|
| +- Fixed two possible sources of ResumableUploadStartOverException from
|
| + httplib2 and oauth2client.
|
| +- Fixed a bug in the compose command where a missing source object resulted
|
| + in an error message claiming the destination object was missing.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Added a help section on throttling gsutil.
|
| +- Resumable uploads will now start over if a PUT to the upload ID returns
|
| + an HTTP 404. Previously this behavior applied only to an HTTP 410.
|
| +- XML API resumable uploads now retry on HTTP 429 errors, matching the
|
| + behavior of JSON API resumable uploads.
|
| +- Improved response to process kill signals, reducing the likelihood of
|
| + leaving orphaned child processes and temporary files.
|
| +- Bucket lifecycle configuration now works for S3.
|
| +- Removed the deprecated setmeta -n option.
|
| +
|
| +
|
| +Release 4.12 (release date: 2015-04-20)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- Added support for JSON-format service account private key files.
|
| +- Added support for the Rewrite API (JSON API only). This is used for
|
| + all copies within the Google Cloud and supports copying objects across
|
| + storage classes and/or locations.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug that could cause downloads to have a hash mismatch (and deletion
|
| + of the corrupted file) when resumed across process breaks via a tracker file.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Updated documentation and examples for several topics including
|
| + acl, cp, dev, signurl, stat, and wildcards.
|
| +
|
| +
|
| +Release 4.11 (release date: 2015-03-10)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- Added Nearline storage class support to the mb command.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug for streaming uploads that could occasionally cause a HTTP 410
|
| + from the service or a hash mismatch (and deletion of the corrutped file).
|
| +- Fixed an OverflowError that occurred when uploading files > 4GiB on a 32-bit
|
| + operating system.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Added documentation around using the Content-MD5 header to extend integrity
|
| + checking to include checksums computed by a client-side content pipeline.
|
| +
|
| +
|
| +Release 4.10 (release date: 2015-03-03)
|
| +=======================================
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug that could cause undetected data corruption (preserving incorrect
|
| + data) if a streaming upload encountered a service error on non-8KiB-aligned
|
| + boundary.
|
| +- Fixed a bug that caused downloads to be truncated if the connection broke,
|
| + resulting in a hash mismatch (and deletion of the corrupted file) for that
|
| + download.
|
| +- Fixed a format string arguments error that occurred if a download exhausted
|
| + all retries.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- The lifecycle command now accepts JSON input in the form of
|
| + "{ "lifecycle": { "rule" ..." in addition to "{ "rule": ...".
|
| +- Improved access token expiry logic for GCE credentials.
|
| +
|
| +
|
| +Release 4.9 (release date: 2015-02-13)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- When using the JSON API, the ch acl/defacl subcommand now supports
|
| + project groups via the -p flag. For details, see "gsutil help acl ch".
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug that caused daisy-chain copies (including cross-provider
|
| + copies) for files large than 100MiB to fail.
|
| +- Fixed a bug that caused streaming uploads than ran for longer than
|
| + an hour to fail with HTTP 400s.
|
| +- Fixed a bug where perfdiag would not properly clean up its test files.
|
| +- Fixed a bug where using ls with the XML API could mistakenly report bucket
|
| + configuration as present.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Updated documentation for metadata, retries, security, and subdirs.
|
| +- Tracker files are no longer written for small downloads.
|
| +
|
| +
|
| +Release 4.8 (release date: 2015-01-23)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- gsutil now supports HTTP proxy configuration via the http_proxy,
|
| + https_proxy, or HTTPS_PROXY environment variables. This configuration
|
| + is used only if proxy configuration is not present in the .boto
|
| + configuration file.
|
| +- gsutil rsync now supports regex-based source and destination URL
|
| + exclusion via the -x flag.
|
| +- The rm command now supports arguments on stdin via the -I flag.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug where perfdiag would fail if netstat was not available.
|
| +- Fixed a bug where temporary ca_certs files were not being cleaned up.
|
| +- Fixed a bug in rsync to unnecessarily remove or write objects, in some
|
| + cases leaving the destination in a non-synchronized state.
|
| + caused rsync to unnecessarily remove or rewrite objects.
|
| +- Fixed a bug where rsync temporary listing files were not being
|
| + cleaned up when the rsync process was killed.
|
| +- Fixed a bug where rsync would remove destination URLs if listing the
|
| + source encountered a non-retryable failure (for example, if the source
|
| + did not exist).
|
| +- Fixed a bug where mv would fail for some Unicode filenames.
|
| +- Fixed a bug where mv would remove the source URL after skipping the
|
| + destination URL.
|
| +- Fixed a bug that caused daisy chain uploads to hang if the download thread
|
| + raised an exception.
|
| +- Fixed a bug where acl ch would return a zero exit code even if it failed.
|
| +- Fixed a bug that sometimes caused the progress display to render multiple
|
| + times at the end of an upload or download.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Resumable uploads of files using the JSON API now send their data in a
|
| + single request, making separate HTTP calls only when resuming is necessary.
|
| +- The test command now runs tests in parallel by default, and test
|
| + parallelism on Windows is now supported.
|
| +- All non-streaming downloads are now resumable (and retryable) by default,
|
| + regardless of size.
|
| +- Canned ACLs and canned default object ACLs are now supported in the JSON
|
| + API (previously they would fall back to using the XML API).
|
| +- Google Compute Engine service account credential tokens are now cached,
|
| + avoiding unnecessary refreshes.
|
| +- Improved detection of the Google Compute Engine metadata server,
|
| + particularly when using the -m flag for multiprocessing.
|
| +- Added new help sections about filename encoding and security/privacy
|
| + considerations.
|
| +- Download progress is now displayed for small XML API downloads.
|
| +
|
| +
|
| +Release 4.7 (release date: 2014-11-17)
|
| +=======================================
|
| +New Features
|
| +------------
|
| +- Tab completion now works on gs:// URLs (for Cloud SDK installs only).
|
| + To install via Cloud SDK, see https://cloud.google.com/sdk/#Quick_Start
|
| +- Streaming uploads (with source URL "-") using the JSON API now buffer
|
| + in-memory up to 100MB, allowing large streams to be retried in the event
|
| + of network flakiness or service errors.
|
| +- Resumable uploads that receive a fatal service error (typically a 410)
|
| + are now automatically retried from the beginning.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed an apitools bug that impacted upload performance and caused
|
| + "Retrying from byte __ after exception" to print after every 100MiB.
|
| +- Fixed _$folder$ placeholder object detection on versioned buckets.
|
| +- Removed an unnecessary credential check on load which increased
|
| + startup time by over one second in some cases.
|
| +- SignURL now properly retries when checking if the signed object is
|
| + readable.
|
| +- Files with both Content-Encoding and Content-Type gzip are now properly
|
| + removed when hash validation fails (only one of the two should be set).
|
| +- The x-goog-if-generation-match:0 header now works properly with the XML API.
|
| +- Fixed a bug that caused "defacl ch" on a bucket with a private ACL to fail.
|
| +- The rm command now properly supports precondition headers.
|
| +- Fixed a bug that caused large streaming uploads to fail with the message
|
| + "Failure: length too large" when using the JSON API.
|
| +- Fixed a bug that caused JSON lifecycle configurations with createdBefore
|
| + conditions to fail with a DecodeError.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Byte counts now display accurate abbreviations of binary sizing. For example,
|
| + messages previously labeled MB are now properly labeled MiB to indicate
|
| + 2**20 bytes. Only the labeling changed - the actual sizes were always binary.
|
| +- Improved Cloud SDK integration, including improved error messages
|
| + and instructions.
|
| +- The num_retries .boto configuration value now applies to all requests
|
| + (previously it was ignored for JSON API requests).
|
| +- rsync now works with non-existent destination subdirectories.
|
| +- Raised the default resumable upload threshold from 2MB to 8MB to
|
| + improve performance.
|
| +- Benign retry messages now print only when debug mode is enabled via the
|
| + top-level -d flag.
|
| +- The top-level -q flag now suppresses suggestions to use the -m flag.
|
| +- Command synopsis is now output when the wrong number of arguments are
|
| + provided.
|
| +- Removed dependency on google-api-python-client module, added dependencies on
|
| + oauth2client and six modules.
|
| +
|
| +Release 4.6 (release date: 2014-09-08)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a TypeError bug that occurred in perfdiag write throughput tests.
|
| +- Fixed an rsync bug that caused invalid symlinks to abort the transfer
|
| + even when -e option was specified.
|
| +- Fixed a perfdiag assumption that ipaddrlist was populated.
|
| +- Fixed an AttributeError when setting an invalid canned ACL with defacl set.
|
| +- Fixed a bug where non-resumable uploads would include payload in debug output
|
| + when for running in debug mode (-D).
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Added the proxy_rdns configuration variable for clients that
|
| + do DNS lookups via a proxy.
|
| +- Added the state_dir configuration variable for choosing the location of
|
| + gsutil's internal state files, including resumable transfer tracker files.
|
| + resumable_tracker_dir configuration variable is now deprecated.
|
| +- Added DNS, connection latency, and proxy use information to perfdiag
|
| + command.
|
| +- perfdiag command will not perform DNS lookups if they are disabled in
|
| + boto config.
|
| +- perfdiag command will now only attempt to delete uploaded objects when
|
| + running write tests.
|
| +- Added code coverage support to test command.
|
| +- rsync -d now succeeds on a 404 for a to-be-deleted object (for example, when
|
| + the object was already deleted by an external process).
|
| +
|
| +Release 4.5 (release date: 2014-08-14)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug that caused resumable uploads to restart if gsutil was
|
| + terminated with CTRL-C.
|
| +- Fixed a bug in defacl ch command that caused a failure when updating
|
| + an existing default object ACL entry.
|
| +- Fixed an invalid literal bug during rsync file listing.
|
| +- Made several improvements to JSON upload stability, including fixing a bug
|
| + which occasionally caused resumable upload hashes not to catch up properly.
|
| +- All JSON calls now have socket timeouts, eliminating hangs under
|
| + flaky network conditions.
|
| +- Fixed a bug where acl ch -g AllAuthenticatedUsers would instead add
|
| + AllUsers.
|
| +- Fixed a bug that caused object custom metadata not to be preserved when
|
| + copying in the cloud.
|
| +- Fixed a bug where du -s did not properly elide subdirectories.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Parallel composite uploads are now disabled by default until crcmod is
|
| + available in major Linux distributions. To re-enable the setting from
|
| + prior versions, in the [GSUtil] section of your .boto config file, add:
|
| + parallel_composite_upload_threshold=150M
|
| +- Non-wildcarded URLs for existing objects now use Get before trying List
|
| + (as in gsutil3), and thus are not subject to eventual listing consistency.
|
| +- gsutil -D now redacts proxy configuration values in the output.
|
| +
|
| +Release 4.4 (release date: 2014-07-17)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +- Added the hash command, which can calculate hashes of local files.
|
| + gsutil already calculates hashes for integrity checking, but this allows
|
| + the user to separately calculate the MD5 and CRC32c hashes of a local file.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Many improvements to JSON API media transfers, including far
|
| + more robust retry logic.
|
| +- Fixed "File changed during upload: EOF..." errors on XML resumable uploads.
|
| +- Fixed rsync command to read and write index files in binary mode.
|
| +- Fix potential TypeError in _CheckAndHandleCredentialException.
|
| +- Fixed possible data corruption when using JSON API uploads for
|
| + small files with lines starting with "From:", which would cause
|
| + integrity checks to fail.
|
| +- Fixed gsutil cp to skip directory placeholders when downloading, avoiding
|
| + "directory exists where the file needs to be created" errors.
|
| +- Fixed daisy chain cp/rsync for files >= 100MB.
|
| +- Fixed a bug in JSON proxy support where the proxy info was sometimes unused.
|
| +- Fixed a bug where an acl get on a private default object ACL returned an
|
| + error instead of a blank ACL.
|
| +- Fixed a JSON API issue with large HTTP responses on 32-bit systems.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Improved object listing performance when using the XML API.
|
| +- Improved various error messages.
|
| +- Improved progress display during media transfer.
|
| +- Switched to truncated exponential backoff for retries.
|
| +- Improved OS-specific ulimit checks.
|
| +- Added some information such as OS and Cloud SDK wrapping to gsutil version,
|
| + and changed the output format to be more uniform.
|
| +- Daisy chain cp/rsync now supports resumable uploads.
|
| +- Improved proxy support for proxy username and passwords.
|
| +- x-amz headers are now supported for cp, rsync, and setmeta. x-amz-meta
|
| + headers continue to be supported as well.
|
| +
|
| +Release 4.3 (release date: 2014-06-10)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fix acl/defacl ch changing the role of an existing group.
|
| +- Fix unicode and 404 errors when using manifests.
|
| +- Fix parallelism configuration bug that limited gsutil rsync to two threads
|
| + and could lead to rsync hangs. "gsutil -m rsync" runs much faster, and rsync
|
| + uploads of large local files are now faster via parallel composite upload.
|
| + Parallel composite uploads of large files are also faster.
|
| +- Fix rsync bug with parallel composite uploads.
|
| +- Fix TypeError that could occur when running the cp command with no
|
| + credentials.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Progress indicators for -m cp/rsync commands are now more readable.
|
| +- Added command being run to gsutil -d/-D output.
|
| +- Lowered default parallelism for 'gsutil -m test' and added hang detection.
|
| +
|
| +Release 4.2 (release date: 2014-06-05)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +- Added parallel test execution support to test command, ex: "gsutil -m test"
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fix failure during retry of an XML download.
|
| +- Moved to boto release 2.29.1 fixing boto authentication erroneously
|
| + reporting OAuth2 credentials as invalid.
|
| +- Fix parallel composite uploads when using only a single process and thread.
|
| +- Fix an invalid seek during daisy chain operation that affected file copy
|
| + from Google Cloud Storage -> S3 for files greater than 8KB in size.
|
| +- Fix "gsutil acl ch" with AllUsers or AllAuthenticatedUsers groups.
|
| +- Fix some copy errors writing new lines to the manifest file.
|
| +- Fix "gsutil test" return code to properly be 0 on success.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- "gsutil cp -z" now ignores whitespace in the extension list.
|
| +
|
| +Release 4.1 (release date: 2014-05-28)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed a bug in parallel composite uploads where uploads with
|
| + existing components would fail.
|
| +- Moved gcs-oauth2-boto-plugin to version 1.5, fixing a bug in the PyPi gsutil
|
| + distribution that would cause gsutil to unnecessarily attempt to query
|
| + the Google Compute Engine metadata service.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- Parallel composite uploads no longer specify an if-not-match precondition
|
| + when uploading component parts.
|
| +- Parallel composite uploads no longer calculate a CRC32c hash prior to
|
| + uploading component parts (these are still validated by an MD5 hash).
|
| +- Removed apitools dependency on gflags.
|
| +
|
| +Release 4.0 (release date: 2014-05-27)
|
| +=======================================
|
| +
|
| +Major New Gsutil Version - Backwards-Incompatible Changes
|
| +------------------------------
|
| +- The Google Cloud Storage configuration data supported by the acl, cors,
|
| + and lifecycle commands now uses the JSON format instead of the older XML
|
| + format. gsutil 4.0 will fail and provide conversion instructions if an XML
|
| + configuration file is provided as an argument for a gs:// URL.
|
| +- gsutil no longer accepts arbitrary headers via the global -h flag.
|
| + Documented headers for gsutil commands are still supported; for the
|
| + full list of supported headers, see "gsutil help command_opts".
|
| +- The compose command will now default the destination object's
|
| + Content-Type to the Content-Type of the first source object if none
|
| + is provided via the -h global flag.
|
| +- The long-deprecated -t and -q options have been removed from the cp command.
|
| +- The perfdiag command no longer supports adding a host header.
|
| +- Having OAuth2 User Account credentials and OAuth2 Service Account
|
| + credentials configured simultaneously will now fail with an error message
|
| + to avoid confusion. Also, a single invalid credential will fail with an
|
| + error message. See "gsutil help creds" for details.
|
| +- Bucket relocate scripts have been removed.
|
| +- Downloading object names ending with '/' is no longer supported to avoid
|
| + problems this caused for directores using the Google Cloud Console.
|
| +- rm -r now implies rm -ra (removing all object versions recursively).
|
| +- All commands using the global -m option or a force option (such as
|
| + rm -f or cp -c) will now return a non-zero exit code if there are any
|
| + failures during the operation.
|
| +- MD5 and CRC32c values are now represented in base64 encoding instead
|
| + of hex encoding (this includes manifest files).
|
| +
|
| +New Features
|
| +------------
|
| +- The Google Cloud Storage JSON API (v1) is now the default API used
|
| + by gsutil for all commands targeting gs:// URLs. The JSON API is more
|
| + bandwidth efficient than the older XML API when transferring metadata
|
| + and does not require separate calls to preserve object ACLs when copying.
|
| + The XML API will automatically be used when accessing s3:// URLs.
|
| +- The Google Cloud Storage XML API can be used in lieu of the JSON API
|
| + by setting 'prefer_api = xml' in the GSUtil section of your boto config file.
|
| +- Added the rsync command that can synchronize cloud and local directories.
|
| +- Added the signurl command that can generate Google Cloud Storage signed URLs.
|
| +- The perfdiag command now supports a listing latency test.
|
| +- The rb command now supports a -f flag allowing it to continue when errors
|
| + are encountered.
|
| +- The test command now supports a -s flag that runs tests against S3.
|
| +
|
| +Other Changes
|
| +-------------
|
| +- All python files not under a third_party directory are now pylint-clean,
|
| + with the exception of TODO-format and a handful of warnings in root-level
|
| + files. As part of the de-linting process, many edge-case bugs were
|
| + identified and fixed.
|
| +- The ls command now operates depth-first (as in Unix ls) instead
|
| + of breadth-first.
|
| +- Daisy-chain copying does not currently support resumable uploads.
|
| +- Several compatibility improvements for Windows and S3.
|
| +
|
| +
|
| +Release 3.42 (release-date: 2014-01-15)
|
| +=======================================
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Fixed potential bug with update command on CentOS.
|
| +
|
| +
|
| +Release 3.41 (release-date: 2014-01-14)
|
| +=======================================
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Changes to protect security of resumable upload IDs.
|
| +
|
| +
|
| +Release 3.40: Skipped
|
| +
|
| +
|
| +Release 3.39: Skipped
|
| +
|
| +
|
| +Release 3.38 (release-date: 2013-11-25)
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fix to include version number in user-agent string.
|
| +- Fix bug wherein -m flag or parallel uploads caused crash on systems without
|
| + /dev/shm.
|
| +- Fix SSL errors and invalid results with perfdiag -c and -k rthru test.
|
| +- Fixed cases where parallel composite uploads could leave orphaned components.
|
| +- Fix bug attempting to stat objects you don't have auth to read.
|
| +- Fixed bug breaking defacl's -d option.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Fixed gsutil config doc.
|
| +- Fixed references to old command names; fix defacl ch example.
|
| +- Improved error messages for deprecated command aliases.
|
| +- Updated gsutil support info.
|
| +
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Enabled -R flag for recursion with setmeta command.
|
| +
|
| +
|
| +Release 3.37 (release-date: 2013-09-25)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fix parsing of -R for "acl ch" and chacl commands.
|
| +- Fixed import statement of unittest2 which caused installations using Python
|
| + 2.6 without unittest2 installed to fail when starting up gsutil.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Fixed tests so they pass on Windows and package installs.
|
| +- Add a root logging handler manually instead of relying on basicConfig.
|
| +- Fix apiclient import statement.
|
| +- Exponential backoff for access token requests.
|
| +- Fix flakiness in test TearDown to account for eventual consistency of object
|
| + listings.
|
| +
|
| +
|
| +Release 3.36 (release-date: 2013-09-18)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fix bug when a 400 or 403 exception has no detail.
|
| +- Fix bugs with config -e and config -o.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Clarify stat command documentation regarding trailing slashes.
|
| +- Add Generation and Metageneration to gsutil stat output.
|
| +
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Set config values from command line with -o.
|
| +
|
| +
|
| +Release 3.35 (release-date: 2013-09-09)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fix streaming upload to S3 and provide more useful stack traces multi-threaded failures.
|
| +- Fix race condition in test_rm.
|
| +- Fix retry decorator during test bucket cleanup.
|
| +- Fixed cat bug that caused version to be ignored in URIs.
|
| +- Don't decode -p or -h values other than x-goog-meta-. Fixes ability to use string project names.
|
| +- Update bucket_relocate.sh to work on GCE.
|
| +- Fix recursive uploading from subdirectories with unexpanded wildcard as source URI.
|
| +- Make gsutil error text include <Message> content.
|
| +- Change shebang line back to python because this doesn't work on some systems.
|
| +- Fix hash_algs differences in perfdiag.
|
| +- Update Python version check and shebang line.
|
| +- Enforce project_id entry in config command; provide friendly error if missing proj ID.
|
| +- Use transcoding-invariant headers when available in gs.Key.
|
| +- Make gsutil cp not fail if unable to check versioning config on dest bucket.
|
| +- Make gsutil detect when config fails because of proxy and prompt for proxy config.
|
| +- Avoid checking metageneration attribute when long-listing S3 objects.
|
| +- Exclude the no-op auth handler as indicating credentials are configured.
|
| +
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Implemented gsutil stat command.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Consolidate config-related commands.
|
| +- Changed rm -r gs://bucket to delete bucket at end.
|
| +- Various doc cleanup and improvement.
|
| +- Warn user before updating to major new version. Also fixed minor version comparison bug, and added tests.
|
| +- Change max component count to 1024.
|
| +- Add retry-decorator as a submodule.
|
| +- Explicitly state control chars to avoid in gsutil naming documentation.
|
| +- Make config command recommend project strings.
|
| +- Made long listing format a little better looking.
|
| +- Allow --help flag for subcommands.
|
| +- Implement help for subcommands and add OPTIONS sections for subcommands.
|
| +- Add more detailed error message to notification watchbucket command.
|
| +- Add notification URL configuration for notification tests.
|
| +- Refactor to use upstream retry_decorator as external dependency.
|
| +- Distribute cacerts file with gsutil.
|
| +- Updated gsutil help to point to Google Cloud Console instead of older APIs console.
|
| +- Make gsutil pass bundled cacerts.txt to oauth2client; stop checking SHA1 of certs, now that we no longer depend on boto distribution.
|
| +- Move all TTY checks to a common util function and mock it for update tests.
|
| +- Fix duplicate entry created in .gitmodules.
|
| +- Fix unit test breakage because VERSION file is old.
|
| +- Fix test using ? glob with ObjectToURI.
|
| +- Fix update tests that fail for package installs.
|
| +- Change bucket delete teardown to try more times.
|
| +- Fix tests that perform operations on bucket listings.
|
| +- Keep package install set to True unless VERSION file doesn't exist.
|
| +- Fix handling of non-numeric version strings in update test.
|
| +
|
| +
|
| +Release 3.34 (release-date: 2013-07-18)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed a bug where the no-op authentication handler was being loaded after
|
| + other authentication plugins, causing the no-op handler to be chosen instead
|
| + of other valid credentials.
|
| +
|
| +
|
| +Release 3.33 (release-date: 2013-07-16)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Added .git* to MANIFEST.in excludes and fixed cp doc typo. This was needed to
|
| + overcome problem caused by accidental inclusion of .git* files in release,
|
| + which caused the update command no longer to allow updates (since starting
|
| + in 3.32 it checks whether the user has any extraneous files in the gsutil
|
| + directory before updating)
|
| +
|
| +
|
| +Release 3.32 (release-date: 2013-07-16)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for getting and setting lifecycle configuration for buckets.
|
| +- Implemented Parallel Composite Uploads.
|
| +- Added a new du command that displays object size, similar to Linux du.
|
| +
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed a bug when using ls -R on objects with trailing slashes. Closes #93.
|
| +- Fixed so won't crash in perfdiag when nslookup is missing or gethostbyname
|
| + fails.
|
| +- Smartly compare version strings during autoupdate check.
|
| +- Made header handling for upload case-insensitive.
|
| +- Re-enabled software update check for users with no credentials configured.
|
| +- Fixed incorrectly-generated password editing comment in service account
|
| + config. Fixes #146.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Improved flow when encounter auth failure for GCE service account with no
|
| + configured storage scopes:
|
| + 1. Changed HasConfiguredCredentials() logic not to include
|
| + has_auth_plugins as part of the evaluated expression, since that will
|
| + always evaluate to true under GCE (since GCE configures its internal
|
| + service account plugin under /etc/boto.cfg).
|
| + 2. Changed ConfigureNoOpAuthIfNeeded logic so we configure no-op auth
|
| + plugin even if there is a config_file list, since GCE always configures
|
| + /etc/boto.cfg, even if user has no storage scopes configured.
|
| + 3. Additional changes:
|
| + a. Removed assertion of oauth access token cache check log from
|
| + test_Doption.py, which may not be true sometimes (e.g., if user is
|
| + using HMAC creds).
|
| + b. Removed remnants of CONFIG_REQUIRED left over from earlier CL.
|
| + c. Merged dupe _ConfigureNoOpAuthIfNeeded functions from two code files,
|
| + moved to util.py.
|
| +- Fixed confusing gsutil rm "Omitting" message.
|
| +- Wrapped long gsutil update message.
|
| +- Silenced additional possible perfdiag errors.
|
| +- Improved perfdiag performance by only generating one chunk of random file.
|
| +- Changed to swallow broken pipe errors when piping gsutil to other programs.
|
| +- Made DotfulBucketNameNotUnderTld error message more user friendly.
|
| +- Extracted function for building ACL error text from main try/except loop,
|
| + for better readability.
|
| +- Disallowed gsutil update when user data present in gsutil dir.
|
| +- Plumbed accept-encoding into HEAD requests in ls -L command.
|
| +- Updated README and moved ReleaseNotes.txt to CHANGES.md.
|
| +- Updated crcmod docs with link to Windows installer.
|
| +- Updated documentation regarding gzip content-encoding.
|
| +- Removed StorageUri parse check for lone ':' (interferes with using filenames
|
| + containing ':')
|
| +- Added tests for gsutil update check and fixed bug for bad file contents.
|
| +- Set accept-encoding and handle gzip on-the-fly encoding.
|
| +
|
| +
|
| +Release 3.31 (release-date: 2013-06-10)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Implemented consumption of manifest files for cp.
|
| +- Add ETag to ls -l and make ls -b variants more efficient.
|
| +- Expand the manifest path to allow for tildes in paths.
|
| +- Added bucket_relocate.sh script to gsutil.
|
| +
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fix gsutil cp -R to copy all versioned objects.
|
| +- Fixed bug where gsutil cp -D -n caused precondition failure.
|
| +- Fixed gsutil daisy-chain copy to allow preserving ACLs when copying within
|
| + same provider.
|
| +- Fix identification of non-MD5 ETags.
|
| +- Fixed bugs where gsutil -q cp and gsutil cp -q sometimes weren't quiet.
|
| +- Fixed unicode error when constructing tracker filename from non-ASCII
|
| + Unicode filename.
|
| +- Fixed that noclobber would not resume partial resumable downloads.
|
| +- Fixed bug when running gsutil cp -Dp by user other than object owner.
|
| +- Properly encode metageneration and etag in ls output with -a and -e.
|
| +- Update resumable threshold stated in gsutil help prod.
|
| +
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- ls -Lb no longer shows total # files/total size of bucket, so that ls -Lb
|
| + instead provides an efficient way to view just the metadata for large buckets.
|
| +- Catch and ignore EEXIST error when creating gsutil tracker dir.
|
| +- Add note to gsutil update doc about auto-update checks being disabled with
|
| + gsutil -q option.
|
| +- Disable hashing and increase buffer size in perfdiag.
|
| +- Added better error messages for service account auth.
|
| +- Make perfdiag behave more like normal gsutil, with multi-threading option.
|
| +- Changed so auto-update check/prompt aren't made if gsutil -q specified.
|
| +- Changed gsutil mb command to clarify that EU means European Union.
|
| +- Added doc warnings about losing version ordering if using gsutil -m cp
|
| + between versioned buckets; removed trailing whitespace.
|
| +- Added to gsutil cp -L doc to describe how to build a reliable script for
|
| + copying many objects.
|
| +
|
| +
|
| +Release 3.30 (release-date: 2013-06-10)
|
| +=======================================
|
| +
|
| +- Abandoned.
|
| +
|
| +
|
| +Release 3.29 (release-date: 2013-05-13)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed incorrect package installation detection that resulted in not being
|
| + able to run the update command while running gsutil from a symlink.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Added a test for debug mode (gsutil -D) output.
|
| +- List numbering and title case fixes in additional help pages.
|
| +- Removed dateutil module dependency from cp command test.
|
| +- Updated documentation to clarify that public-read objects are cached for 1
|
| + hour by default.
|
| +- Added a filter to suppress "module was already imported" warnings that were
|
| + sometimes printed while running gsutil on Google Compute Engine instances.
|
| +
|
| +
|
| +Release 3.28 (release-date: 2013-05-07)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for new Object Change Notifications feature.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed problem where gsutil update command didn’t take default action.
|
| +- Fixed a problem with the update command sometimes triggering an additional
|
| + update command.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Add packaging information to version output.
|
| +- Removed fancy_urllib, since it is no longer used.
|
| +- Changed num_retries default for resumable downloads to 6.
|
| +- Don’t check for newer software version if gs_host is specified in boto
|
| + config file.
|
| +- Modified oauth2client logging behavior to be consistent with gsutil.
|
| +- Added gs_port configuration option.
|
| +- Skip update tests when SSL is disabled.
|
| +
|
| +
|
| +Release 3.27 (release-date: 2013-04-25)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added a human readable option (-h) to ls command.
|
| +- Changed WildcardIterator not to materialize list of all matching files from
|
| + directory listing (so works faster when walking over large directories)
|
| +- Added -f option to setacl command to allow command to continue after errors
|
| + encountered.
|
| +- Add manifest log support for the cp command.
|
| +- Added never option for check_hashes_config; fixed bug that assumes an ETag
|
| + is always returned from server.
|
| +- Made gsutil provide friendlier error message if attempting non-public data
|
| + access with missing credentials.
|
| +- Set 70 second default socket timeout for httplib.
|
| +- Add ability to run a single test class or function with the test command.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Don't check for updates if the user has no credentials configured. This
|
| + fixes a bug for users without credentials trying to use gsutil for first
|
| + time.
|
| +- Fixed case where chacl command incorrectly recognized an email address as a
|
| + domain.
|
| +- Fix setmeta command for S3 objects.
|
| +- Fixed bug where wildcarded dest URI attempted string op on Key object.
|
| +- Fixed case where gsutil -q outputted progress output when doing a streaming
|
| + upload.
|
| +- Error handling for out of space during downloads.
|
| +- Include ISO 8601-required "Z" at end of timestamp string for gsutil ls -l,
|
| + to be spec-compliant.
|
| +- Removed deprecated setmeta syntax and fixed unicode issues.
|
| +- Changed update command not to suggest running sudo if running under Cygwin.
|
| +- Removed references to deprecated gs-discussion forum from gsutil built-in
|
| + help.
|
| +- Add literal quotes around CORS config example URL in gsutil setcors help to
|
| + avoid having example URL turn into an HREF in auto-generated doc.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Added proper setup.py to make gsutil installable via PyPi.
|
| +- Added warning to gsutil built-in help that delete operations cannot be
|
| + undone.
|
| +- Replaced gsutil's OAuth2 client implementation with oauth2client.
|
| +- Updates to perfdiag.
|
| +- Updated config help about currently supported settings.
|
| +- Fixes to setup.py and modified version command.
|
| +- Move gslib/commands/cred_types.py to gslib, so only Command subclasses live
|
| + in gslib/commands.
|
| +- Updated gsutil setmeta help no longer to warn that setmeta with versioning
|
| + enabled creates a new object.
|
| +
|
| +
|
| +Release 3.26 (release-date: 2013-03-25)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for object composition.
|
| +- Added support for external service accounts.
|
| +- Changed gsutil to check for available updates periodically (only while
|
| + stdin, stderr, stdout are connected to a TTY, so as not to interfere with
|
| + cron jobs).
|
| +- Added chdefacl command.
|
| +- Made gsutil built-in help available under
|
| + https://developers.google.com/storage/docs/gsutil
|
| +- Add a command suggestion when the command name is not found.
|
| +- Added byte suffix parsing to the -s parameter of perfdiag.
|
| +- Added --help support to subcommands. Fixes #96.
|
| +- Updated perfdiag command to track availability and record TCP settings.
|
| +- Added metadata parameter to perfdiag command.
|
| +- Added support for specifying byte range to cat command.
|
| +- Output more bucket metadata on ls -Lb.
|
| +- Implemented gsutil -q (global quiet) option (fixes issue #130). Also changed
|
| + gsutil to output all progress indicators using logging levels. Also changed
|
| + help command not to output bold escape sequences and not use PAGER if stdout
|
| + is not a tty, which also fixes bug that caused gsutil help test to fail.
|
| +- Plumbed https_validate_certificates through to OAuth2 plugin handler,
|
| + allowing control over cert validation for OAuth2 requests
|
| +- Fixed ISO 639.1 ref in config command help text
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug where gsutil cp -D didn't preserve metadata
|
| +- Fixed problem where gsutil -m is hard to interrupt (partial fix for issue
|
| + #99 - only for Linux/MacOS; problem still exists for Windows).
|
| +- Fixed broken reference to boto_lib_dir in update command.
|
| +- Made changing ACL not retry on 400 error.
|
| +- Fixed name expansion bug for case where uri_strs is itself an iterator
|
| + (issue #131); implemented additional naming unit test for this case.
|
| +- Fixed flaky gsutil rm test
|
| +- Fixed a bug in the chacl command that made it so you couldn't delete the
|
| + AllAuthenticatedUsers group from an ACL.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Refactored gsutil main function into gslib, with gsutil being a thin
|
| + wrapper.
|
| +- Added a test for the update command.
|
| +- Renamed gsutil meta_generation params to metageneration, for consistency
|
| + with GCS docs.
|
| +- Removed .pyc files from tarball/zipfile.
|
| +- Added new root certs to cacerts.txt, to provide additional flexibility
|
| + in the future.
|
| +
|
| +
|
| +Release 3.25 (release-date: 2013-02-21)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed two version-specific URI bugs:
|
| + 1. gsutil cp -r gs://bucket1 gs://bucket2 would create objects in bucket2
|
| + with names corresponding to version-specific URIs in bucket1 (e.g.,
|
| + gs://bucket2/obj#1361417568482000, where the "#1361417568482000" part was
|
| + part of the object name, not the object's generation).
|
| +
|
| + This problem similarly caused gsutil cp -r gs://bucket1 ./dir to create
|
| + files names corresponding to version-specific URIs in bucket1.
|
| + 2. gsutil rm -a gs://bucket/obj would attempt to delete the same object
|
| + twice, getting a NoSuchKey error on the second attempt.
|
| +
|
| +
|
| +Release 3.24 (release-date: 2013-02-19)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug that caused attempt to dupe-encode a unicode filename.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Refactored retry logic from setmeta and chacl to use @Retry decorator.
|
| +- Moved @Retry decorator to third_party.
|
| +- Fixed flaky tests.
|
| +
|
| +
|
| +Release 3.23 (release-date: 2013-02-16)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Make version-specific URI parsing more robust. This fixes a bug where
|
| + listing buckets in certain cases would result in the error
|
| + 'BucketStorageUri' object has no attribute 'version_specific_uri'
|
| +
|
| +
|
| +Release 3.22 (release-date: 2013-02-15)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Implemented new chacl command, which makes it easy to add and remove bucket
|
| + and object ACL grants without having to edit XML (like the older setacl
|
| + command).
|
| +- Implemented new "daisy-chain" copying mode, which allows cross-provider
|
| + copies to run without buffering to local disk, and to use resumable uploads.
|
| + This copying mode also allows copying between locations and between storage
|
| + classes, using the new gsutil cp -D option. (Daisy-chain copying is the
|
| + default when copying between providers, but must be explicitly requested for
|
| + the other cases to keep costs and performance expectations clear.)
|
| +- Implemented new perfdiag command to run a diagnostic test against
|
| + a bucket, collect system information, and report results. Useful
|
| + when working with Google Cloud Storage team to resolve questions
|
| + about performance.
|
| +- Added SIGQUIT (^\) handler, to allow breakpointing a running gsutil.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug where gsutil setwebcfg signature didn't match with
|
| + HMAC authentication.
|
| +- Fixed ASCII codec decode error when constructing tracker filename
|
| + from non-7bit ASCII input filename.
|
| +- Changed boto auth plugin framework to allow multiple plugins
|
| + supporting requested capability, which fixes gsutil exception
|
| + that used to happen where a GCE user had a service account
|
| + configured and then ran gsutil config.
|
| +- Changed Command.Apply method to be resilient to name expansion
|
| + exceptions. Before this change, if an exception was raised
|
| + during iteration of NameExpansionResult, the parent process
|
| + would immediately stop execution, causing the
|
| + _EOF_NAME_EXPANSION_RESULT to never be sent to child processes.
|
| + This resulted in the process hanging forever.
|
| +- Fixed various bugs for gsutil running on Windows:
|
| + - Fixed various places from a hard-coded '/' to os.sep.
|
| + - Fixed a bug in the cp command where it was using the destination
|
| + URI's .delim property instead of the source URI.
|
| + - Fixed a bug in the cp command's _SrcDstSame function by
|
| + simplifying it to use os.path.normpath.
|
| + - Fixed windows bug in tests/util.py _NormalizeURI function.
|
| + - Fixed ZeroDivisionError sometimes happening during unit tests
|
| + on Windows.
|
| +
|
| +- Fixed gsutil rm bug that caused exit status 1 when encountered
|
| + non-existent URI.
|
| +- Fixed support for gsutil cp file -.
|
| +- Added preconditions and retry logic to setmeta command, to
|
| + enforce concurrency control.
|
| +- Fixed bug in copying subdirs to subdirs.
|
| +- Fixed cases where boto debug_level caused too much or too little
|
| + logging:
|
| + - resumable and one-shot uploads weren't showing response headers
|
| + when connection.debug > 0.
|
| + - payload was showing up in debug output when connection.debug
|
| + < 4 for streaming uploads.
|
| +
|
| +- Removed XML parsing from setacl. The previous implementation
|
| + relied on loose XML handling, which could truncate what it sends
|
| + to the service, allowing invalid XML to be specified by the
|
| + user. Instead now the ACL XML is passed verbatim and we rely
|
| + on server-side schema enforcement.
|
| +- Added user-agent header to resumable uploads.
|
| +- Fixed reporting bits/s when it was really bytes/s.
|
| +- Changed so we now pass headers with API version & project ID
|
| + to create_bucket().
|
| +- Made "gsutil rm -r gs://bucket/folder" remove xyz_$folder$ object
|
| + (which is created by various GUI tools).
|
| +- Fixed bug where gsutil binary was shipped with protection 750
|
| + instead of 755.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Reworked versioned object handling:
|
| + - Removed need for commands to specify -v option to parse
|
| + versions. Versioned URIs are now uniformly handled by all
|
| + commands.
|
| + - Refactored StorageUri parsing that had been split across
|
| + storage_uri and convenience; made versioned URIs render with
|
| + version string so StorageUri is round-trippable (boto change).
|
| + - Implemented gsutil cp -v option for printing the version-specific
|
| + URI that was just created.
|
| + - Added error detail for attempt to delete non-empty versioned
|
| + bucket. Also added versioning state to ls -L -b gs://bucket
|
| + output.
|
| + - Changed URI parsing to use pre-compiled regex's.
|
| + - Other bug fixes.
|
| +
|
| +- Rewrote/deepened/improved various parts of built-in help:
|
| + - Updated 'gsutil help dev'.
|
| + - Fixed help command handling when terminal does not have the
|
| + number of rows set.
|
| + - Rewrote versioning help.
|
| + - Added gsutil help text for common 403 AccountProblem error.
|
| + - Added text to 'gsutil help dev' about legal agreement needed
|
| + with code submissions.
|
| + - Fixed various other typos.
|
| + - Updated doc for cp command regarding metadata not being
|
| + preserved when copying between providers.
|
| + - Fixed gsutil ls command documentation typo for the -L option.
|
| + - Added HTTP scheme to doc/examples for gsutil setcors command.
|
| + - Changed minimum version in documentation from 2.5 to 2.6 since
|
| + gsutil no longer works in Python 2.5.
|
| + - Cleaned up/clarify/deepen various other parts of gsutil
|
| + built-in documentation.
|
| +
|
| +- Numerous improvements to testing infrastructure:
|
| + - Completely refactored infrastructure, allowing deeper testing
|
| + and more readable test code, and enabling better debugging
|
| + output when tests fail.
|
| + - Moved gslib/test_*.py unit tests to gslib/tests module.
|
| + - Made all tests (unit and integration, per-command and modules
|
| + (like naming) run from single gsutil test command.
|
| + - Moved TempDir functions from GsUtilIntegrationTestCase to
|
| + GsUtilTestCase.
|
| + - Made test runner message show the test function being run.
|
| + - Added file path support to ObjectToURI function.
|
| + - Disabled the test command if running on Python 2.6 and unittest2
|
| + is not available instead of breaking all of gsutil.
|
| + - Changed to pass GCS V2 API and project_id from boto config
|
| + if necessary in integration_testcase#CreateBucket().
|
| + - Fixed unit tests by using a GS-specific mocking class to
|
| + override the S3 provider.
|
| + - Added friendlier error message if test path munging fails.
|
| + - Fixed bug where gsutil test only cleaned up first few test files.
|
| + - Implemented setacl integration tests.
|
| + - Implemented StorageUri parsing unit tests.
|
| + - Implemented test for gsutil cp -D.
|
| + - Implemented setacl integration tests.
|
| + - Implemented tests for reading and seeking past end of file.
|
| + - Implemented and tests for it in new tests module.
|
| + - Changed cp tests that don't specify a Content-Type to check
|
| + for new binary/octet-stream default instead of server-detected
|
| + mime type.
|
| +
|
| +- Changed gsutil mv to allow moving local files/dirs to the cloud.
|
| + Previously this was disallowed in the belief we should be
|
| + conservative about deleting data from local disk but there are
|
| + legitimate use cases for moving data from a local dir to the
|
| + cloud, it's clear to the user this would remove data from the
|
| + local disk, and allowing it makes the tool behavior more
|
| + consistent with what users would expect.
|
| +- Changed gsutil update command to insist on is_secure and
|
| + https_validate_certificates.
|
| +- Fixed release no longer to include extraneous boto dirs in
|
| + top-level of gsutil distribution (like bin/ and docs/).
|
| +- Changed resumable upload threshold from 1 MB to 2 MB.
|
| +- Removed leftover cloudauth and cloudreader dirs. Sample code
|
| + now lives at https://github.com/GoogleCloudPlatform.
|
| +- Updated copyright notice on code files.
|
| +
|
| +
|
| +Release 3.21 (release-date: 2012-12-10)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added the ability for the cp command to continue even if there is an
|
| + error. This can be activated with the -c flag.
|
| +- Added support for specifying src args for gsutil cp on stdin (-I option)
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed gsutil test cp, which assumed it was run from gsutil install dir.
|
| +- Mods so we send generation subresource only when user requested
|
| + version parsing (-v option for cp and cat commands).
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Updated docs about using setmeta with versioning enabled.
|
| +- Changed GCS endpoint in boto to storage.googleapis.com.
|
| +
|
| +
|
| +Release 3.20 (release-date: 2012-11-30)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added a noclobber (-n) setting for the cp command. Existing objects/files
|
| + will not be overwritten when using this setting.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed off-by-one error when reporting bytes transferred.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Improved versioning support for the remove command.
|
| +- Improved test runner support.
|
| +
|
| +
|
| +Release 3.19 (release-date: 2012-11-26)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for object versions.
|
| +- Added support for storage classes (including Durable Reduced Availability).
|
| +
|
| +Bug Fixes
|
| +---------
|
| +- Fixed problem where cp -q prevented resumable uploads from being performed.
|
| +- Made setwebcfg and setcors tests robust wrt XML formatting variation.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Incorporated vapier@ mods to make version command not fail if CHECKSUM file
|
| + missing.
|
| +- Refactored gsutil such that most functionality exists in boto.
|
| +- Updated gsutil help dev instructions for how to check out source.
|
| +
|
| +
|
| +Release 3.18 (release-date: 2012-09-19)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed resumable upload boundary condition when handling POST request
|
| + when server already has complete file, which resulted in an infinite
|
| + loop that consumed 100% of the CPU.
|
| +- Fixed one more place that outputted progress info when gsutil cp -q
|
| + specified (during streaming uploads).
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Updated help text for "gsutil help setmeta" and "gsutil help metadata", to
|
| + clarify and deepen parts of the documentation.
|
| +
|
| +
|
| +Release 3.17 (release-date: 2012-08-17)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed race condition when multiple threads attempt to get an OAuth2 refresh
|
| + token concurrently.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Implemented simplified syntax for setmeta command. The old syntax still
|
| + works but is now deprecated.
|
| +- Added help to gsutil cp -z option, to describe how to change where temp
|
| + files are written.
|
| +
|
| +
|
| +Release 3.16 (release-date: 2012-08-13)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Added info to built-in help for setmeta command, to explain the syntax
|
| + needed when running from Windows.
|
| +
|
| +
|
| +Release 3.15 (release-date: 2012-08-12)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Implemented gsutil setmeta command.
|
| +- Made gsutil understand bucket subdir conventions used by various tools
|
| + (like GCS Manager and CloudBerry) so if you cp or mv to a subdir you
|
| + created with one of those tools it will work as expected.
|
| +- Added support for Windows drive letter-prefaced paths when using Storage
|
| + URIs.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed performance bug when downloading a large object with Content-
|
| + Encoding:gzip, where decompression attempted to load the entire object
|
| + in memory. Also added "Uncompressing" log output if file is larger than
|
| + 50M, to make it clear the download hasn't stalled.
|
| +- Fixed naming bug when performing gsutil mv from a bucket subdir to
|
| + and existing bucket subdir.
|
| +- Fixed bug that caused cross-provider copies into Google Cloud Storage to
|
| + fail.
|
| +- Made change needed to make resumable transfer progress messages not print
|
| + when running gsutil cp -q.
|
| +- Fixed copy/paste error in config file documentation for
|
| + https_validate_certificates option.
|
| +- Various typo fixes.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Changed gsutil to unset http_proxy environment variable if it's set,
|
| + because it confuses boto. (Proxies should instead be configured via the
|
| + boto config file.)
|
| +
|
| +
|
| +Release 3.14 (release-date: 2012-07-28)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added cp -q option, to support quiet operation from cron jobs.
|
| +- Made config command restore backed up file if there was a failure or user
|
| + hits ^C.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug where gsutil cp -R from a source directory didn't generate
|
| + correct destination path.
|
| +- Fixed file handle leak in gsutil cp -z
|
| +- Fixed bug that caused cp -a option not to work when copying in the cloud.
|
| +- Fixed bug that caused '/-' to be appended to object name for streaming
|
| + uploads.
|
| +- Revert incorrect line I changed in previous CL, that attempted to
|
| + get fp from src_key object. The real fix that's needed is described in
|
| + https://github.com/GoogleCloudPlatform/gsutil/issues/72.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- Changed logging to print "Copying..." and Content-Type on same line;
|
| + refactored content type and log handling.
|
| +
|
| +
|
| +Release 3.13 (release-date: 2012-07-19)
|
| +=======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Included the fix to make 'gsutil config' honor BOTO_CONFIG environment
|
| + variable (which was intended to be included in Release 3.12)
|
| +
|
| +
|
| +Release 3.11 (release-date: 2012-06-28)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for configuring website buckets.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug that caused simultaneous resumable downloads of the same source
|
| + object to use the same tracker file.
|
| +- Changed language code spec pointer from Wikipedia to loc.gov (for
|
| + Content-Language header).
|
| +
|
| +
|
| +Release 3.10 (release-date: 2012-06-19)
|
| +=======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Added support for setting and listing Content-Language header.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug that caused getacl/setacl commands to get a character encoding
|
| + exception when ACL content contained content not representable in ISO-8859-1
|
| + character set.
|
| +- Fixed gsutil update not to fail under Windows exclusive file locking.
|
| +- Fixed gsutil ls -L to continue past 403 errors.
|
| +- Updated gsutil tests and also help dev with instructions on how to run
|
| + boto tests, based on recent test refactoring done to in boto library.
|
| +- Cleaned up parts of cp help text.
|
| +
|
| +
|
| +Release 3.9 (release-date: 2012-05-24)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug that caused extra "file:/" to be included in pathnames with
|
| + doing gsutil cp -R on Windows.
|
| +
|
| +
|
| +Release 3.8 (release-date: 2012-05-20)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed problem with non-ASCII filename characters not setting encoding before
|
| + attempting to hash for generating resumable transfer filename.
|
| +
|
| +
|
| +Release 3.7 (release-date: 2012-05-11)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed handling of HTTPS tunneling through a proxy.
|
| +
|
| +
|
| +Release 3.6 (release-date: 2012-05-09)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug that caused wildcards spanning directories not to work.
|
| +- Fixed bug that gsutil cp -z not to find available tmp space correctly
|
| + under Windows.
|
| +
|
| +
|
| +Release 3.5 (release-date: 2012-04-30)
|
| +======================================
|
| +
|
| +Performance Improvement
|
| +-----------------------
|
| +
|
| +- Change by Evan Worley to calculate MD5s incrementally during uploads and
|
| + downloads. This reduces overall transfer time substantially for large
|
| + objects.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed bug where uploading and moving multiple files to a bucket subdirectory
|
| + didn't work as intended.
|
| + (https://github.com/GoogleCloudPlatform/gsutil/issues/92).
|
| +- Fixed bug where gsutil cp -r sourcedir didn't copy to specified subdir
|
| + if there is only one file in sourcedir.
|
| +- Fixed bug where tracker file included a timestamp that caused it not to
|
| + be recognized across sessions.
|
| +- Fixed bug where gs://bucket/*/dir wildcard matches too many objects.
|
| +- Fixed documentation errors in help associated with ACLs and projects.
|
| +- Changed GCS ACL parsing to be case-insensitive.
|
| +- Changed ls to print error and exit with non-0 status when wildcard matches
|
| + nothing, to be more consistent with UNIX shell behavior.
|
| +
|
| +
|
| +Release 3.4 (release-date: 2012-04-06)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed problem where resumable uploads/downloads of objects with very long
|
| + names would generate tracking files with names that exceeded local file
|
| + system limits, making it impossible to complete resumable transfers for
|
| + those objects. Solution was to build the tracking file name from a fixed
|
| + prefix, SHA1 hash of the long filename, epoch timestamp and last 16
|
| + chars of the long filename, which is guarantee to be a predictable and
|
| + reasonable length.
|
| +- Fixed minor bug in output from 'gsutil help dev' which advised executing
|
| + an inconsequential test script (test_util.py).
|
| +
|
| +
|
| +Release 3.3 (release-date: 2012-04-03)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed problem where gsutil ver and debug flags crashed when used
|
| + with newly generated boto config files.
|
| +- Fixed gsutil bug in windows path handling, and make checksumming work
|
| + across platforms.
|
| +- Fixed enablelogging to translate -b URI param to plain bucket name in REST
|
| + API request.
|
| +
|
| +
|
| +Release 3.2 (release-date: 2012-03-30)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Fixed problem where gsutil didn't convert between OS-specific directory
|
| + separators when copying individually-named files (issue 87).
|
| +- Fixed problem where gsutil ls -R didn't work right if there was a key
|
| + with a leading path (like /foo/bar/baz)
|
| +
|
| +
|
| +Release 3.1 (release-date: 2012-03-20)
|
| +======================================
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- Removed erroneous setting of Content-Encoding when a gzip file is uploaded
|
| + (vs running gsutil cp -z, when Content-Encoding should be set). This
|
| + error caused users to get gsutil.tar.gz file uncompressed by the user
|
| + agent (like wget) while downloading, making the file appear to be of the
|
| + wrong size/content.
|
| +- Fixed handling of gsutil help for Windows (previous code depended on
|
| + termios and fcntl libs, which are Linux/MacOS-specific).
|
| +
|
| +
|
| +Release 3.0 (release-date: 2012-03-20)
|
| +======================================
|
| +
|
| +Important Notes
|
| +---------------
|
| +
|
| +- Backwards-incompatible wildcard change:
|
| + The '*' wildcard now only matches objects within a bucket directory. If
|
| + you have scripts that depend on being able to match spanning multiple
|
| + directories you need to use '**' instead. For example, the command:
|
| +
|
| + gsutil cp gs://bucket/*.txt
|
| +
|
| + will now only match .txt files in the top-level directory.
|
| +
|
| + gsutil cp gs://bucket/**.txt
|
| +
|
| + will match across all directories.
|
| +- gsutil ls now lists one directory at a time. If you want to list all objects
|
| + in a bucket, you can use:
|
| +
|
| + gsutil ls gs://bucket/**
|
| +
|
| + or:
|
| +
|
| + gsutil ls -R gs://bucket
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Built-in help for all commands and many additional topics. Try
|
| + "gsutil help" for a list of available commands and topics.
|
| +- A new hierarchical file tree abstraction layer, which makes the flat bucket
|
| + name space look like a hierarchical file tree. This makes several things
|
| + possible:
|
| + - copying data to/from bucket sub-directories (see “gsutil help cp”).
|
| + - distributing large uploads/downloads across many machines
|
| + (see “gsutil help cp”)
|
| + - renaming bucket sub-directories (see “gsutil help mv”).
|
| + - listing individual bucket sub-directories and for listing directories
|
| + recursively (see “gsutil help ls”).
|
| + - setting ACLs for objects in a sub-directory (see “gsutil help setacl”).
|
| +
|
| +- Support for per-directory (*) and recursive (**) wildcards. Essentially,
|
| + ** works the way * did in previous gsutil releases, and * now behaves
|
| + consistently with how it works in command interpreters (like bash). The
|
| + ability to specify directory-only wildcards also enables a number of use
|
| + cases, such as distributing large uploads/downloads by wildcarded name. See
|
| + "gsutil help wildcards" for details.
|
| +- Support for Cross-Origin Resource Sharing (CORS) configuration. See "gsutil
|
| + help cors" for details.
|
| +- Support for multi-threading and recursive operation for setacl command
|
| + (see “gsutil help setacl”).
|
| +- Ability to use the UNIX 'file' command to do content type recognition as
|
| + an alternative to filename extensions.
|
| +- Introduction of new end-to-end test suite.
|
| +- The gsutil version command now computes a checksum of the code, to detect
|
| + corruption and local modification when assisting with technical support.
|
| +- The gsutil update command is no longer beta/experimental, and now also
|
| + supports updating from named URIs (for early/test releases).
|
| +- Changed gsutil ls -L to also print Content-Disposition header.
|
| +
|
| +Bug Fixes
|
| +---------
|
| +
|
| +- The gsutil cp -t option previously didn't work as documented, and instead
|
| + Content-Type was always detected based on filename extension. Content-Type
|
| + detection is now the default, the -t option is deprecated (to be removed in
|
| + the future), and specifying a -h Content-Type header now correctly overrides
|
| + the filename extension based handling. For details see "gsutil help
|
| + metadata".
|
| +- Fixed bug that caused multi-threaded mv command not to percolate failures
|
| + during the cp phase to the rm phase, which could under some circumstances
|
| + cause data that was not copied to be deleted.
|
| +- Fixed bug that caused gsutil to use GET for ls -L requests. It now uses HEAD
|
| + for ls -L requests, which is more efficient and faster.
|
| +- Fixed bug that caused gsutil not to preserve metadata during
|
| + copy-in-the-cloud.
|
| +- Fixed bug that prevented setacl command from allowing DisplayName's in ACLs.
|
| +- Fixed bug that caused gsutil/boto to suppress consecutive slashes in path
|
| + names.
|
| +- Fixed spec-non-compliant URI construction for resumable uploads.
|
| +- Fixed bug that caused rm -f not to work.
|
| +- Fixed UnicodeEncodeError that happened when redirecting gsutil ls output
|
| + to a file with non-ASCII object names.
|
| +
|
| +Other Changes
|
| +-------------
|
| +
|
| +- UserAgent sent in HTTP requests now includes gsutil version number and OS
|
| + name.
|
| +- Starting with this release users are able to get individual named releases
|
| + from version-named objects: gs://pub/gsutil_<version>.tar.gz
|
| + and gs://pub/gsutil_<version>.zip. The version-less counterparts
|
| + (gs://pub/gsutil.tar.gz and gs://pub/gsutil.zip) will contain the latest
|
| + release. Also, the gs://pub bucket is now publicly readable (so, anyone
|
| + can list its contents).
|
| +
|
| +
|
| +Release 2.0 (release-date: 2012-01-13)
|
| +======================================
|
| +
|
| +New Features
|
| +------------
|
| +
|
| +- Support for for two new installation modes: enterprise and RPM.
|
| + Customers can now install gsutil one of three ways:
|
| + - Individual user mode (previously the only available mode): unpacking from
|
| + a gzipped tarball (gs://pub/gsutil.tar.gz) or zip file
|
| + (gs://pub/gsutil.zip) and running the gsutil command in place in the
|
| + unpacked gsutil directory.
|
| + - Enterprise mode (new): unpacking as above, and then running the setup.py
|
| + script in the unpacked gsutil directory. This allows a systems
|
| + administrator to install gsutil in a central location, using the Python
|
| + distutils facility. This mode is supported only on Linux and MacOS.
|
| + - RPM mode (new). A RedHat RPM can be built from the gsutil.spec.in file
|
| + in the unpacked gsutil directory, allowing it to be installed as part of
|
| + a RedHat build.
|
| +
|
| +- Note: v2.0 is the first numbered gsutil release. Previous releases
|
| + were given timestamps for versions. Numbered releases enable downstream
|
| + package builds (like RPMs) to define dependencies more easily.
|
| + This is also the first version where we began including release notes.
|
|
|