| OLD | NEW |
| (Empty) |
| 1 Release 3.25 (release-date: 2013-02-21) | |
| 2 | |
| 3 | |
| 4 Bug Fixes | |
| 5 --------- | |
| 6 | |
| 7 - Fixed two version-specific URI bugs: | |
| 8 | |
| 9 1. gsutil cp -r gs://bucket1 gs://bucket2 would create objects in bucket2 | |
| 10 with names corresponding to version-specific URIs in bucket1 (e.g., | |
| 11 gs://bucket2/obj#1361417568482000, where the "#1361417568482000" part was | |
| 12 part of the object name, not the object's generation). | |
| 13 | |
| 14 This problem similarly caused gsutil cp -r gs://bucket1 ./dir to create | |
| 15 files names corresponding to version-specific URIs in bucket1. | |
| 16 | |
| 17 2. gsutil rm -a gs://bucket/obj would attempt to delete the same object | |
| 18 twice, getting a NoSuchKey error on the second attempt. | |
| 19 | |
| 20 | |
| 21 ================================================================================ | |
| 22 | |
| 23 | |
| 24 Release 3.24 (release-date: 2013-02-19) | |
| 25 | |
| 26 | |
| 27 Bug Fixes | |
| 28 --------- | |
| 29 | |
| 30 - Fixed bug that caused attempt to dupe-encode a unicode filename. | |
| 31 | |
| 32 | |
| 33 Other Changes | |
| 34 --------- | |
| 35 | |
| 36 - Refactored retry logic from setmeta and chacl to use @Retry decorator. | |
| 37 | |
| 38 - Moved @Retry decorator to third_party. | |
| 39 | |
| 40 - Fixed flaky tests. | |
| 41 | |
| 42 | |
| 43 ================================================================================ | |
| 44 | |
| 45 | |
| 46 Release 3.23 (release-date: 2013-02-16) | |
| 47 | |
| 48 | |
| 49 Bug Fixes | |
| 50 --------- | |
| 51 | |
| 52 - Make version-specific URI parsing more robust. This fixes a bug where | |
| 53 listing buckets in certain cases would result in the error | |
| 54 'BucketStorageUri' object has no attribute 'version_specific_uri' | |
| 55 | |
| 56 | |
| 57 ================================================================================ | |
| 58 | |
| 59 | |
| 60 Release 3.22 (release-date: 2013-02-15) | |
| 61 | |
| 62 | |
| 63 New Features | |
| 64 ------------ | |
| 65 | |
| 66 - Implemented new chacl command, which makes it easy to add and remove bucket | |
| 67 and object ACL grants without having to edit XML (like the older setacl | |
| 68 command). | |
| 69 | |
| 70 - Implemented new "daisy-chain" copying mode, which allows cross-provider | |
| 71 copies to run without buffering to local disk, and to use resumable uploads. | |
| 72 This copying mode also allows copying between locations and between storage | |
| 73 classes, using the new gsutil cp -D option. (Daisy-chain copying is the | |
| 74 default when copying between providers, but must be explicitly requested for | |
| 75 the other cases to keep costs and performance expectations clear.) | |
| 76 | |
| 77 - Implemented new perfdiag command to run a diagnostic test against | |
| 78 a bucket, collect system information, and report results. Useful | |
| 79 when working with Google Cloud Storage team to resolve questions | |
| 80 about performance. | |
| 81 | |
| 82 - Added SIGQUIT (^\) handler, to allow breakpointing a running gsutil. | |
| 83 | |
| 84 | |
| 85 Bug Fixes | |
| 86 --------- | |
| 87 | |
| 88 - Fixed bug where gsutil setwebcfg signature didn't match with | |
| 89 HMAC authentication. | |
| 90 | |
| 91 - Fixed ASCII codec decode error when constructing tracker filename | |
| 92 from non-7bit ASCII intput filename. | |
| 93 | |
| 94 - Changed boto auth plugin framework to allow multiple plugins | |
| 95 supporting requested capability, which fixes gsutil exception | |
| 96 that used to happen where a GCE user had a service account | |
| 97 configured and then ran gsutil config. | |
| 98 | |
| 99 - Changed Command.Apply method to be resilient to name expansion | |
| 100 exceptions. Before this change, if an exception was raised | |
| 101 during iteration of NameExpansionResult, the parent process | |
| 102 would immediately stop execution, causing the | |
| 103 _EOF_NAME_EXPANSION_RESULT to never be sent to child processes. | |
| 104 This resulted in the process hanging forever. | |
| 105 | |
| 106 - Fixed various bugs for gsutil running on Windows: | |
| 107 - Fixed various places from a hard-coded '/' to os.sep. | |
| 108 - Fixed a bug in the cp command where it was using the destination | |
| 109 URI's .delim property instead of the source URI. | |
| 110 - Fixed a bug in the cp command's _SrcDstSame function by | |
| 111 simplifying it to use os.path.normpath. | |
| 112 - Fixed windows bug in tests/util.py _NormalizeURI function. | |
| 113 - Fixed ZeroDivisionError sometimes happening during unit tests | |
| 114 on Windows. | |
| 115 | |
| 116 - Fixed gsutil rm bug that caused exit status 1 when encountered | |
| 117 non-existent URI. | |
| 118 | |
| 119 - Fixed support for gsutil cp file -. | |
| 120 | |
| 121 - Added preconditions and retry logic to setmeta command, to | |
| 122 enforce concurrency control. | |
| 123 | |
| 124 - Fixed bug in copying subdirs to subdirs. | |
| 125 | |
| 126 - Fixed cases where boto debug_level caused too much or too little | |
| 127 logging: | |
| 128 - resumable and one-shot uploads weren't showing response headers | |
| 129 when connection.debug > 0. | |
| 130 - payload was showing up in debug output when connection.debug | |
| 131 < 4 for streaming uploads. | |
| 132 | |
| 133 - Removed XML parsing from setacl. The previous implementation | |
| 134 relied on loose XML handling, which could truncate what it sends | |
| 135 to the service, allowing invalid XML to be specified by the | |
| 136 user. Instead now the ACL XML is passed verbatim and we rely | |
| 137 on server-side schema enforcement. | |
| 138 | |
| 139 - Added user-agent header to resumable uploads. | |
| 140 | |
| 141 - Fixed reporting bits/s when it was really bytes/s. | |
| 142 | |
| 143 - Changed so we now pass headers with API version & project ID | |
| 144 to create_bucket(). | |
| 145 | |
| 146 - Made "gsutil rm -r gs://bucket/folder" remove xyz_$folder$ object | |
| 147 (which is created by various GUI tools). | |
| 148 | |
| 149 - Fixed bug where gsutil binary was shipped with protection 750 | |
| 150 instead of 755. | |
| 151 | |
| 152 | |
| 153 Other Changes | |
| 154 --------- | |
| 155 | |
| 156 - Reworked versioned object handling: | |
| 157 - Removed need for commands to specify -v option to parse | |
| 158 versions. Versioned URIs are now uniformly handled by all | |
| 159 commands. | |
| 160 - Refactored StorageUri parsing that had been split across | |
| 161 storage_uri and conveience; made versioned URIs render with | |
| 162 version string so StorageUri is round-trippable (boto change). | |
| 163 - Implemented gsutil cp -v option for printing the version-specific | |
| 164 URI that was just created. | |
| 165 - Added error detail for attempt to delete non-empty versioned | |
| 166 bucket. Also added versioning state to ls -L -b gs://bucket | |
| 167 output. | |
| 168 - Changed URI parsing to use pre-compiled regex's. | |
| 169 - Other bug fixes. | |
| 170 | |
| 171 - Rewrote/deepened/improved various parts of built-in help: | |
| 172 - Updated 'gsutil help dev'. | |
| 173 - Fixed help command handling when terminal does not have the | |
| 174 number of rows set. | |
| 175 - Rewrote versioning help. | |
| 176 - Added gsutil help text for common 403 AccountProblem error. | |
| 177 - Added text to 'gsutil help dev' about legal agreement needed | |
| 178 with code submissions. | |
| 179 - Fixed various other typos. | |
| 180 - Updated doc for cp command regarding metadata not being | |
| 181 preserved when copying between providers. | |
| 182 - Fixed gsutil ls command documentation typo for the -L option. | |
| 183 - Added HTTP scheme to doc/examples for gsutil setcors command. | |
| 184 - Changed minimum version in documentation from 2.5 to 2.6 since | |
| 185 gsutil no longer works in Python 2.5. | |
| 186 - Cleaned up/clarify/deepen various other parts of gsutil | |
| 187 built-in documentation. | |
| 188 | |
| 189 - Numerous improvements to testing infrastructure: | |
| 190 - Completely refactored infrastructure, allowing deeper testing | |
| 191 and more readable test code, and enabling better debugging | |
| 192 output when tests fail. | |
| 193 - Moved gslib/test_*.py unit tests to gslib/tests module. | |
| 194 - Made all tests (unit and integration, per-command and modules | |
| 195 (like naming) run from single gsutil test command. | |
| 196 - Moved TempDir functions from GsUtilIntegrationTestCase to | |
| 197 GsUtilTestCase. | |
| 198 - Made test runner message show the test function being run. | |
| 199 - Added file path support to ObjectToURI function. | |
| 200 - Disabled the test command if running on Python 2.6 and unittest2 | |
| 201 is not available instead of breaking all of gsutil. | |
| 202 - Changed to pass GCS V2 API and project_id from boto config | |
| 203 if necessary in integration_testcase#CreateBucket(). | |
| 204 - Fixed unit tests by using a GS-specific mocking class to | |
| 205 override the S3 provider. | |
| 206 - Added friendlier error message if test path munging fails. | |
| 207 - Fixed bug where gsutil test only cleaned up first few test files. | |
| 208 - Implemented setacl integration tests. | |
| 209 - Implemented StorageUri parsing unit tests. | |
| 210 - Implemented test for gsutil cp -D. | |
| 211 - Implemented setacl integration tests. | |
| 212 - Implemented tests for reading and seeking past end of file. | |
| 213 - Implemented and tests for it in new tests module. | |
| 214 - Changed cp tests that don't specify a Content-Type to check | |
| 215 for new binary/octet-stream default instead of server-detected | |
| 216 mime type. | |
| 217 | |
| 218 - Changed gsutil mv to allow moving local files/dirs to the cloud. | |
| 219 Previously this was disallowed in the belief we should be | |
| 220 conservative about deleting data from local disk but there are | |
| 221 legitimate use cases for moving data from a local dir to the | |
| 222 cloud, it's clear to the user this would remove data from the | |
| 223 local disk, and allowing it makes the tool behavior more | |
| 224 consistent with what users would expect. | |
| 225 | |
| 226 - Changed gsutil update command to insist on is_secure and | |
| 227 https_validate_certificates. | |
| 228 | |
| 229 - Fixed release no longer to include extraneous boto dirs in | |
| 230 top-level of gsutil distribution (like bin/ and docs/). | |
| 231 | |
| 232 - Changed resumable upload threshold from 1 MB to 2 MB. | |
| 233 | |
| 234 - Removed leftover cloudauth and cloudreader dirs. Sample code | |
| 235 now lives at https://github.com/GoogleCloudPlatform. | |
| 236 | |
| 237 - Updated copyright notice on code files. | |
| 238 | |
| 239 | |
| 240 ================================================================================ | |
| 241 | |
| 242 | |
| 243 Release 3.21 (release-date: 2012-12-10) | |
| 244 | |
| 245 New Features | |
| 246 ------------ | |
| 247 | |
| 248 - Added the ability for the cp command to continue even if there is an | |
| 249 error. This can be activated with the -c flag. | |
| 250 | |
| 251 - Added support for specifying src args for gsutil cp on stdin (-I option) | |
| 252 | |
| 253 | |
| 254 Bug Fixes | |
| 255 --------- | |
| 256 | |
| 257 - Fixed gsutil test cp, which assumed it was run from gsutil install dir. | |
| 258 | |
| 259 - Mods so we send generation subresource only when user requested | |
| 260 version parsing (-v option for cp and cat commands). | |
| 261 | |
| 262 | |
| 263 Other Changes | |
| 264 ------------- | |
| 265 | |
| 266 - Updated docs about using setmeta with versioning enabled. | |
| 267 | |
| 268 - Changed GCS endpoint in boto to storage.googleapis.com. | |
| 269 | |
| 270 | |
| 271 ================================================================================ | |
| 272 | |
| 273 | |
| 274 Release 3.20 (release-date: 2012-11-30) | |
| 275 | |
| 276 New Features | |
| 277 ------------ | |
| 278 | |
| 279 - Added a noclobber (-n) setting for the cp command. Existing objects/files | |
| 280 will not be overwritten when using this setting. | |
| 281 | |
| 282 | |
| 283 Bug Fixes | |
| 284 --------- | |
| 285 | |
| 286 - Fixed off-by-one error when reporting bytes transferred. | |
| 287 | |
| 288 | |
| 289 Other Changes | |
| 290 ------------- | |
| 291 | |
| 292 - Improved versioning support for the remove command. | |
| 293 | |
| 294 - Improved test runner support. | |
| 295 | |
| 296 | |
| 297 ================================================================================ | |
| 298 | |
| 299 | |
| 300 Release 3.19 (release-date: 2012-11-26) | |
| 301 | |
| 302 New Features | |
| 303 ------------ | |
| 304 - Added support for object versions. | |
| 305 | |
| 306 - Added support for storage classes (including Durable Reduced Availability). | |
| 307 | |
| 308 | |
| 309 Bug Fixes | |
| 310 --------- | |
| 311 - Fixed problem where cp -q prevented resumable uploads from being performed. | |
| 312 | |
| 313 - Made setwebcfg and setcors tests robust wrt XML formatting variation. | |
| 314 | |
| 315 | |
| 316 Other Changes | |
| 317 ------------- | |
| 318 | |
| 319 - Incorporated vapier@ mods to make version command not fail if CHECKSUM file | |
| 320 missing. | |
| 321 | |
| 322 - Refactored gsutil such that most functionality exists in boto. | |
| 323 | |
| 324 - Updated gsutil help dev instructions for how to check out source. | |
| 325 | |
| 326 | |
| 327 ================================================================================ | |
| 328 | |
| 329 | |
| 330 Release 3.18 (release-date: 2012-09-19) | |
| 331 | |
| 332 Bug Fixes | |
| 333 --------- | |
| 334 | |
| 335 - Fixed resumable upload boundary condition when handling POST request | |
| 336 when server already has complete file, which resulted in an infinite | |
| 337 loop that consumed 100% of the CPU. | |
| 338 | |
| 339 - Fixed one more place that outputted progress info when gsutil cp -q | |
| 340 specified (during streaming uploads). | |
| 341 | |
| 342 | |
| 343 Other Changes | |
| 344 ------------- | |
| 345 | |
| 346 - Updated help text for "gsutil help setmeta" and "gsutil help metadata", to | |
| 347 clarify and deepen parts of the documentation. | |
| 348 | |
| 349 | |
| 350 ================================================================================ | |
| 351 | |
| 352 | |
| 353 Release 3.17 (release-date: 2012-08-17) | |
| 354 | |
| 355 Bug Fixes | |
| 356 --------- | |
| 357 | |
| 358 - Fixed race condition when multiple threads attempt to get an OAuth2 refresh | |
| 359 token concurrently. | |
| 360 | |
| 361 | |
| 362 Other Changes | |
| 363 ------------- | |
| 364 | |
| 365 - Implemented simplified syntax for setmeta command. The old syntax still | |
| 366 works but is now deprecated. | |
| 367 | |
| 368 - Added help to gsutil cp -z option, to describe how to change where temp | |
| 369 files are written. | |
| 370 | |
| 371 | |
| 372 ================================================================================ | |
| 373 | |
| 374 | |
| 375 Release 3.16 (release-date: 2012-08-13) | |
| 376 | |
| 377 Bug Fixes | |
| 378 --------- | |
| 379 | |
| 380 - Added info to built-in help for setmeta command, to explain the syntax | |
| 381 needed when running from Windows. | |
| 382 | |
| 383 ================================================================================ | |
| 384 | |
| 385 | |
| 386 Release 3.15 (release-date: 2012-08-12) | |
| 387 | |
| 388 New Features | |
| 389 ------------ | |
| 390 - Implemented gsutil setmeta command. | |
| 391 | |
| 392 - Made gsutil understand bucket subdir conventions used by various tools | |
| 393 (like GCS Manager and CloudBerry) so if you cp or mv to a subdir you | |
| 394 created with one of those tools it will work as expected. | |
| 395 | |
| 396 - Added support for Windows drive letter-prefaced paths when using Storage | |
| 397 URIs. | |
| 398 | |
| 399 | |
| 400 Bug Fixes | |
| 401 --------- | |
| 402 | |
| 403 - Fixed performance bug when downloading a large object with Content- | |
| 404 Encoding:gzip, where decompression attempted to load the entire object | |
| 405 in memory. Also added "Uncompressing" log output if file is larger than | |
| 406 50M, to make it clear the download hasn't stalled. | |
| 407 | |
| 408 - Fixed naming bug when performing gsutil mv from a bucket subdir to | |
| 409 and existing bucket subdir. | |
| 410 | |
| 411 - Fixed bug that caused cross-provider copies into Google Cloud Storage to | |
| 412 fail. | |
| 413 | |
| 414 - Made change needed to make resumable transfer progress messages not print | |
| 415 when running gsutil cp -q. | |
| 416 | |
| 417 - Fixed copy/paste error in config file documentation for | |
| 418 https_validate_certificates option. | |
| 419 | |
| 420 - Various typo fixes. | |
| 421 | |
| 422 Other Changes | |
| 423 ------------- | |
| 424 | |
| 425 - Changed gsutil to unset http_proxy environment variable if it's set, | |
| 426 because it confuses boto. (Proxies should instead be configured via the | |
| 427 boto config file.) | |
| 428 | |
| 429 ================================================================================ | |
| 430 | |
| 431 | |
| 432 Release 3.14 (release-date: 2012-07-28) | |
| 433 | |
| 434 New Features | |
| 435 ------------ | |
| 436 - Added cp -q option, to support quiet operation from cron jobs. | |
| 437 | |
| 438 - Made config command restore backed up file if there was a failure or user | |
| 439 hits ^C. | |
| 440 | |
| 441 Bug Fixes | |
| 442 --------- | |
| 443 | |
| 444 - Fixed bug where gsutil cp -R from a source directory didn't generate | |
| 445 correct destination path. | |
| 446 | |
| 447 - Fixed file handle leak in gsutil cp -z | |
| 448 | |
| 449 - Fixed bug that caused cp -a option not to work when copying in the cloud. | |
| 450 | |
| 451 - Fixed bug that caused '/-' to be appended to object name for streaming | |
| 452 uploads. | |
| 453 | |
| 454 - Revert incorrect line I changed in previous CL, that attempted to | |
| 455 get fp from src_key object. The real fix that's needed is described in | |
| 456 http://code.google.com/p/gsutil/issues/detail?id=73. | |
| 457 | |
| 458 Other Changes | |
| 459 ------------- | |
| 460 | |
| 461 - Changed logging to print "Copying..." and Content-Type on same line; | |
| 462 refactored content type and log handling. | |
| 463 | |
| 464 | |
| 465 ================================================================================ | |
| 466 | |
| 467 | |
| 468 Release 3.13 (release-date: 2012-07-19) | |
| 469 | |
| 470 Bug Fixes | |
| 471 --------- | |
| 472 | |
| 473 - Included the fix to make 'gsutil config' honor BOTO_CONFIG environment | |
| 474 variable (which was intended to be included in Release 3.12) | |
| 475 | |
| 476 | |
| 477 ================================================================================ | |
| 478 | |
| 479 | |
| 480 Release 3.11 (release-date: 2012-06-28) | |
| 481 | |
| 482 New Features | |
| 483 ------------ | |
| 484 | |
| 485 - Added support for configuring website buckets. | |
| 486 | |
| 487 Bug Fixes | |
| 488 --------- | |
| 489 | |
| 490 - Fixed bug that caused simultaneous resumable downloads of the same source | |
| 491 object to use the same tracker file. | |
| 492 | |
| 493 - Changed language code spec pointer from Wikipedia to loc.gov (for | |
| 494 Content-Language header). | |
| 495 | |
| 496 | |
| 497 ================================================================================ | |
| 498 | |
| 499 | |
| 500 Release 3.10 (release-date: 2012-06-19) | |
| 501 | |
| 502 New Features | |
| 503 ------------ | |
| 504 | |
| 505 - Added support for setting and listing Content-Language header. | |
| 506 | |
| 507 | |
| 508 Bug Fixes | |
| 509 --------- | |
| 510 | |
| 511 - Fixed bug that caused getacl/setacl commands to get a character encoding | |
| 512 exception when ACL content contained content not representable in ISO-8859-1 | |
| 513 character set. | |
| 514 | |
| 515 - Fixed gsutil update not to fail under Windows exclusive file locking. | |
| 516 | |
| 517 - Fixed gsutil ls -L to continue past 403 errors. | |
| 518 | |
| 519 - Updated gsutil tests and also help dev with instructions on how to run | |
| 520 boto tests, based on recent test refactoring done to in boto library. | |
| 521 | |
| 522 - Cleaned up parts of cp help text. | |
| 523 | |
| 524 | |
| 525 ================================================================================ | |
| 526 | |
| 527 | |
| 528 Release 3.9 (release-date: 2012-05-24) | |
| 529 | |
| 530 Bug Fixes | |
| 531 --------- | |
| 532 | |
| 533 - Fixed bug that caused extra "file:/" to be included in pathnames with | |
| 534 doing gsutil cp -R on Windows. | |
| 535 | |
| 536 | |
| 537 ================================================================================ | |
| 538 | |
| 539 | |
| 540 Release 3.8 (release-date: 2012-05-20) | |
| 541 | |
| 542 Bug Fixes | |
| 543 --------- | |
| 544 | |
| 545 - Fixed problem with non-ASCII filename characters not setting encoding before | |
| 546 attempting to hash for generating resumable transfer filename. | |
| 547 | |
| 548 | |
| 549 ================================================================================ | |
| 550 | |
| 551 | |
| 552 Release 3.7 (release-date: 2012-05-11) | |
| 553 | |
| 554 Bug Fixes | |
| 555 --------- | |
| 556 | |
| 557 - Fixed handling of HTTPS tunneling through a proxy. | |
| 558 | |
| 559 | |
| 560 ================================================================================ | |
| 561 | |
| 562 | |
| 563 Release 3.6 (release-date: 2012-05-09) | |
| 564 | |
| 565 Bug Fixes | |
| 566 --------- | |
| 567 | |
| 568 - Fixed bug that caused wildcards spanning directories not to work. | |
| 569 - Fixed bug that gsutil cp -z not to find available tmp space correctly | |
| 570 under Windows. | |
| 571 | |
| 572 | |
| 573 ================================================================================ | |
| 574 | |
| 575 | |
| 576 Release 3.5 (release-date: 2012-04-30) | |
| 577 | |
| 578 Performance Improvement | |
| 579 ----------------------- | |
| 580 | |
| 581 - Change by Evan Worley to calculate MD5s incrementally during uploads and | |
| 582 downloads. This reduces overall transfer time substantially for large | |
| 583 objects. | |
| 584 | |
| 585 Bug Fixes | |
| 586 --------- | |
| 587 | |
| 588 - Fixed bug where uploading and moving multiple files to a bucket subdirectory | |
| 589 didn't work as intended. | |
| 590 (http://code.google.com/p/gsutil/issues/detail?id=93). | |
| 591 - Fixed bug where gsutil cp -r sourcedir didn't copy to specified subdir | |
| 592 if there is only one file in sourcedir. | |
| 593 - Fixed bug where tracker file included a timestamp that caused it not to | |
| 594 be recognized across sessions. | |
| 595 - Fixed bug where gs://bucket/*/dir wildcard matches too many objects. | |
| 596 - Fixed documentation errors in help associated with ACLs and projects. | |
| 597 - Changed GCS ACL parsing to be case-insensitive. | |
| 598 - Changed ls to print error and exit with non-0 status when wildcard matches | |
| 599 nothing, to be more consistent with UNIX shell behavior. | |
| 600 | |
| 601 | |
| 602 ================================================================================ | |
| 603 | |
| 604 | |
| 605 Release 3.4 (release-date: 2012-04-06) | |
| 606 | |
| 607 Bug Fixes | |
| 608 --------- | |
| 609 | |
| 610 - Fixed problem where resumable uploads/downloads of objects with very long | |
| 611 names would generate tracking files with names that exceeded local file | |
| 612 system limits, making it impossible to complete resumable transfers for | |
| 613 those objects. Solution was to build the tracking file name from a fixed | |
| 614 prefix, SHA1 hash of the long filename, epoch timestamp and last 16 | |
| 615 chars of the long filename, which is guarantee to be a predicable and | |
| 616 reasonable length. | |
| 617 | |
| 618 - Fixed minor bug in output from 'gsutil help dev' which advised executing | |
| 619 an inconsequential test script (test_util.py). | |
| 620 | |
| 621 | |
| 622 ================================================================================ | |
| 623 | |
| 624 | |
| 625 Release 3.3 (release-date: 2012-04-03) | |
| 626 | |
| 627 Bug Fixes | |
| 628 --------- | |
| 629 | |
| 630 - Fixed problem where gsutil ver and debug flags crashed when used | |
| 631 with newly generated boto config files. | |
| 632 | |
| 633 - Fixed gsutil bug in windows path handling, and make checksumming work | |
| 634 across platforms. | |
| 635 | |
| 636 - Fixed enablelogging to translate -b URI param to plain bucket name in REST | |
| 637 API request. | |
| 638 | |
| 639 | |
| 640 ================================================================================ | |
| 641 | |
| 642 | |
| 643 Release 3.2 (release-date: 2012-03-30) | |
| 644 | |
| 645 Bug Fixes | |
| 646 --------- | |
| 647 | |
| 648 - Fixed problem where gsutil didn't convert between OS-specific directory | |
| 649 separators when copying individually-named files (issue 87). | |
| 650 | |
| 651 - Fixed problem where gsutil ls -R didn't work right if there was a key | |
| 652 with a leading path (like /foo/bar/baz) | |
| 653 | |
| 654 | |
| 655 ================================================================================ | |
| 656 | |
| 657 | |
| 658 Release 3.1 (release-date: 2012-03-20) | |
| 659 | |
| 660 Bug Fixes | |
| 661 --------- | |
| 662 | |
| 663 - Removed erroneous setting of Content-Encoding when a gzip file is uploaded | |
| 664 (vs running gsutil cp -z, when Content-Encoding should be set). This | |
| 665 error caused users to get gsutil.tar.gz file uncompressed by the user | |
| 666 agent (like wget) while downloading, making the file appear to be of the | |
| 667 wrong size/content. | |
| 668 | |
| 669 - Fixed handling of gsutil help for Windows (previous code depended on | |
| 670 termios and fcntl libs, which are Linux/MacOS-specific). | |
| 671 | |
| 672 | |
| 673 ================================================================================ | |
| 674 | |
| 675 | |
| 676 Release 3.0 (release-date: 2012-03-20) | |
| 677 | |
| 678 | |
| 679 Important Notes | |
| 680 --------------- | |
| 681 | |
| 682 - Backwards-incompatible wildcard change | |
| 683 | |
| 684 The '*' wildcard now only matches objects within a bucket directory. If | |
| 685 you have scripts that depend on being able to match spanning multiple | |
| 686 directories you need to use '**' instead. For example, the command: | |
| 687 | |
| 688 gsutil cp gs://bucket/*.txt | |
| 689 | |
| 690 will now only match .txt files in the top-level directory. | |
| 691 | |
| 692 gsutil cp gs://bucket/**.txt | |
| 693 | |
| 694 will match across all directories. | |
| 695 | |
| 696 - gsutil ls now lists one directory at a time. If you want to list all objects | |
| 697 in a bucket, you can use: | |
| 698 | |
| 699 gsutil ls gs://bucket/** | |
| 700 | |
| 701 or: | |
| 702 | |
| 703 gsutil ls -R gs://bucket | |
| 704 | |
| 705 | |
| 706 New Features | |
| 707 ------------ | |
| 708 | |
| 709 - Built-in help for all commands and many additional topics. Try | |
| 710 "gsutil help" for a list of available commands and topics. | |
| 711 | |
| 712 - A new hierarchical file tree abstraction layer, which makes the flat bucket | |
| 713 name space look like a hierarchical file tree. This makes several things | |
| 714 possible: | |
| 715 - copying data to/from bucket sub-directories (see “gsutil help cp”). | |
| 716 - distributing large uploads/downloads across many machines | |
| 717 (see “gsutil help cp”) | |
| 718 - renaming bucket sub-directories (see “gsutil help mv”). | |
| 719 - listing individual bucket sub-directories and for listing directories | |
| 720 recursively (see “gsutil help ls”). | |
| 721 - setting ACLs for objects in a sub-directory (see “gsutil help setacl”). | |
| 722 | |
| 723 - Support for per-directory (*) and recursive (**) wildcards. Essentially, | |
| 724 ** works the way * did in previous gsutil releases, and * now behaves | |
| 725 consistently with how it works in command interpreters (like bash). The | |
| 726 ability to specify directory-only wildcards also enables a number of use | |
| 727 cases, such as distributing large uploads/downloads by wildcarded name. See | |
| 728 "gsutil help wildcards" for details. | |
| 729 | |
| 730 - Support for Cross-Origin Resource Sharing (CORS) configuration. See "gsutil | |
| 731 help cors" for details. | |
| 732 | |
| 733 - Support for multi-threading and recursive operation for setacl command | |
| 734 (see “gsutil help setacl”). | |
| 735 | |
| 736 - Ability to use the UNIX 'file' command to do content type recognition as | |
| 737 an alternative to filename extensions. | |
| 738 | |
| 739 - Introduction of new end-to-end test suite. | |
| 740 | |
| 741 - The gsutil version command now computes a checksum of the code, to detect | |
| 742 corruption and local modification when assisting with technical support. | |
| 743 | |
| 744 - The gsutil update command is no longer beta/experimental, and now also | |
| 745 supports updating from named URIs (for early/test releases). | |
| 746 | |
| 747 - Changed gsutil ls -L to also print Content-Disposition header. | |
| 748 | |
| 749 | |
| 750 Bug Fixes | |
| 751 --------- | |
| 752 | |
| 753 - The gsutil cp -t option previously didn't work as documented, and instead | |
| 754 Content-Type was always detected based on filename extension. Content-Type | |
| 755 detection is now the default, the -t option is deprecated (to be removed in | |
| 756 the future), and specifying a -h Content-Type header now correctly overrides | |
| 757 the filename extension based handling. For details see "gsutil help | |
| 758 metadata". | |
| 759 | |
| 760 - Fixed bug that caused multi-threaded mv command not to percolate failures | |
| 761 during the cp phase to the rm phase, which could under some circumstances | |
| 762 cause data that was not copied to be deleted. | |
| 763 | |
| 764 - Fixed bug that caused gsutil to use GET for ls -L requests. It now uses HEAD | |
| 765 for ls -L requests, which is more efficient and faster. | |
| 766 | |
| 767 - Fixed bug that caused gsutil not to preserve metadata during | |
| 768 copy-in-the-cloud. | |
| 769 | |
| 770 - Fixed bug that prevented setacl command from allowing DisplayName's in ACLs. | |
| 771 | |
| 772 - Fixed bug that caused gsutil/boto to suppress consecutive slashes in path | |
| 773 names. | |
| 774 | |
| 775 - Fixed spec-non-compliant URI construction for resumable uploads. | |
| 776 | |
| 777 - Fixed bug that caused rm -f not to work. | |
| 778 | |
| 779 - Fixed UnicodeEncodeError that happened when redirecting gsutil ls output | |
| 780 to a file with non-ASCII object names. | |
| 781 | |
| 782 | |
| 783 Other Changes | |
| 784 ------------- | |
| 785 | |
| 786 - UserAgent sent in HTTP requests now includes gsutil version number and OS | |
| 787 name. | |
| 788 | |
| 789 - Starting with this release users are able to get individual named releases | |
| 790 from version-named objects: gs://pub/gsutil_<version>.tar.gz | |
| 791 and gs://pub/gsutil_<version>.zip. The version-less counterparts | |
| 792 (gs://pub/gsutil.tar.gz and gs://pub/gsutil.zip) will contain the latest | |
| 793 release. Also, the gs://pub bucket is now publicly readable (so, anyone | |
| 794 can list its contents). | |
| 795 | |
| 796 | |
| 797 ================================================================================ | |
| 798 | |
| 799 Release 2.0 (release-date: 2012-01-13) | |
| 800 | |
| 801 | |
| 802 New Features | |
| 803 ------------ | |
| 804 | |
| 805 - Support for for two new installation modes: enterprise and RPM. | |
| 806 Customers can now install gsutil one of three ways: | |
| 807 | |
| 808 - Individual user mode (previously the only available mode): unpacking from | |
| 809 a gzipped tarball (gs://pub/gsutil.tar.gz) or zip file | |
| 810 (gs://pub/gsutil.zip) and running the gsutil command in place in the | |
| 811 unpacked gsutil directory. | |
| 812 | |
| 813 - Enterprise mode (new): unpacking as above, and then running the setup.py | |
| 814 script in the unpacked gsutil directory. This allows a systems | |
| 815 administrator to install gsutil in a central location, using the Python | |
| 816 distutils facility. This mode is supported only on Linux and MacOS. | |
| 817 | |
| 818 - RPM mode (new). A RedHat RPM can be built from the gsutil.spec.in file | |
| 819 in the unpacked gsutil directory, allowing it to be installed as part of | |
| 820 a RedHat build. | |
| 821 | |
| 822 - Note: v2.0 is the first numbered gsutil release. Previous releases | |
| 823 were given timestamps for versions. Numbered releases enable downstream | |
| 824 package builds (like RPMs) to define dependencies more easily. | |
| 825 This is also the first version where we began including release notes. | |
| OLD | NEW |