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 |