@@ -37,42 +37,44 @@ Google APIs Client Libraries, in `Client Libraries Explained`_.
3737.. _Storage Control API : https://cloud.google.com/storage/docs/reference/rpc/google.storage.control.v2 
3838.. _Client Libraries Explained : https://cloud.google.com/apis/docs/client-libraries-explained 
3939
40- Major Version Release  Notes
41- ---------------------------  
40+ 3.0  Major Version Notes
41+ ----------------------- 
4242
43- Preview Release 
44- ~~~~~~~~~~~~~~~ 
43+ Feedback Welcome 
44+ ~~~~~~~~~~~~~~~~  
4545
46- Python Storage 3.0 is currently in a preview state. If you experience that 
47- backwards compatibility for your application is broken with this release for any 
48- reason, please let us know through the Github issues system. While some breaks 
49- of backwards compatibility may be unavoidable due to new features in the major 
50- version release, we will do our best to minimize  them. Thank you.
46+ If you experience that backwards compatibility for your application is broken 
47+ with this major version release, please let us know through the Github issues 
48+ system. While some breaks of backwards compatibility may be unavoidable due to 
49+ new features in the major version release, we will do our best to minimize 
50+ them. Thank you.
5151
5252Exception Handling
5353~~~~~~~~~~~~~~~~~~ 
5454
55- In Python Storage 3.0, the dependency `google-resumable-media ` was integrated.
56- The `google-resumable-media ` dependency included exceptions
57- `google.resumable_media.common.InvalidResponse ` and
58- `google.resumable_media.common.DataCorruption `, which were often imported
55+ In Python Storage 3.0, the dependency `` google-resumable-media ` ` was integrated.
56+ The `` google-resumable-media ` ` dependency included exceptions
57+ `` google.resumable_media.common.InvalidResponse ` ` and
58+ `` google.resumable_media.common.DataCorruption ` `, which were often imported
5959directly in user application code. The replacements for these exceptions are
60- `google.cloud.storage.exceptions.InvalidResponse ` and
61- `google.cloud.storage.exceptions.DataCorruption `. Please update application code
60+ `` google.cloud.storage.exceptions.InvalidResponse ` ` and
61+ `` google.cloud.storage.exceptions.DataCorruption ` `. Please update application code
6262to import and use these exceptions instead.
6363
64- For backwards compatibility, if `google-resumable-media ` is installed, the new
64+ For backwards compatibility, if `` google-resumable-media ` ` is installed, the new
6565exceptions will be defined as subclasses of the old exceptions, so applications
6666should continue to work without modification. This backwards compatibility
6767feature may be removed in a future major version update.
6868
6969Some users may be using the original exception classes from the
70- `google-resumable-media ` library without explicitly importing  that library. So
70+ `` google-resumable-media ``  library without explicitly installing  that library. So
7171as not to break user applications following this pattern,
72- `google-resumable-media ` is still in the list of dependencies in this package's
72+ `` google-resumable-media ` ` is still in the list of dependencies in this package's
7373setup.py file. Applications which do not import directly from
74- `google-resumable-media ` can safely disregard this dependency. This backwards
75- compatibility feature will be removed in a future major version update.
74+ ``google-resumable-media `` can safely disregard this dependency.
75+ This backwards compatibility feature **will be removed ** in a future major
76+ version update. Please migrate to using the ``google.cloud.storage.exceptions ``
77+ classes as above.
7678
7779Checksum Defaults
7880~~~~~~~~~~~~~~~~~ 
@@ -83,9 +85,9 @@ fast (C extension) crc32c implementation is not available, in which case it will
8385use md5 instead. Before Python Storage 3.0, the default was md5 for most
8486downloads and None for most uploads. Note that ranged downloads ("start" or
8587"end" set) still do not support any checksumming, and some features in
86- `transfer_manager.py ` still support crc32c only.
88+ `` transfer_manager.py ` ` still support crc32c only.
8789
88- Note: The method `Blob.upload_from_file() ` requires a file in bytes mode, but
90+ Note: The method `` Blob.upload_from_file() ` ` requires a file in bytes mode, but
8991when checksum is set to None, as was the previous default, would not throw an
9092error if passed a file in string mode under some circumstances. With the new
9193defaults, it will now raise a TypeError. Please use a file opened in bytes
@@ -94,13 +96,16 @@ reading mode as required.
9496Miscellaneous
9597~~~~~~~~~~~~~ 
9698
97- - The `BlobWriter ` class now attempts to terminate an ongoing resumable upload if
99+ - The `` BlobWriter ` ` class now attempts to terminate an ongoing resumable upload if
98100 the writer exits with an exception.
99101- Retry behavior is now identical between media operations (uploads and
100102 downloads) and other operations, and custom predicates are now supported for
101103 media operations as well.
102- - Blob.download_as_filename() will now delete the empty file if it results in a
104+ - `` Blob.download_as_filename() ``  will now delete the empty file if it results in a
103105 google.cloud.exceptions.NotFound exception (HTTP 404).
106+ - Previously, object upload, metadata update, and delete methods had retries
107+  disabled by default unless the generation or metageneration was specified in
108+  the request. This has now changed so that retries are enabled by default.
104109
105110Quick Start
106111----------- 
0 commit comments