@@ -37,42 +37,44 @@ Google APIs Client Libraries, in `Client Libraries Explained`_.
37
37
.. _Storage Control API : https://cloud.google.com/storage/docs/reference/rpc/google.storage.control.v2
38
38
.. _Client Libraries Explained : https://cloud.google.com/apis/docs/client-libraries-explained
39
39
40
- Major Version Release Notes
41
- ---------------------------
40
+ 3.0 Major Version Notes
41
+ -----------------------
42
42
43
- Preview Release
44
- ~~~~~~~~~~~~~~~
43
+ Feedback Welcome
44
+ ~~~~~~~~~~~~~~~~
45
45
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.
51
51
52
52
Exception Handling
53
53
~~~~~~~~~~~~~~~~~~
54
54
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
59
59
directly 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
62
62
to import and use these exceptions instead.
63
63
64
- For backwards compatibility, if `google-resumable-media ` is installed, the new
64
+ For backwards compatibility, if `` google-resumable-media ` ` is installed, the new
65
65
exceptions will be defined as subclasses of the old exceptions, so applications
66
66
should continue to work without modification. This backwards compatibility
67
67
feature may be removed in a future major version update.
68
68
69
69
Some 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
71
71
as 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
73
73
setup.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.
76
78
77
79
Checksum Defaults
78
80
~~~~~~~~~~~~~~~~~
@@ -83,9 +85,9 @@ fast (C extension) crc32c implementation is not available, in which case it will
83
85
use md5 instead. Before Python Storage 3.0, the default was md5 for most
84
86
downloads and None for most uploads. Note that ranged downloads ("start" or
85
87
"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.
87
89
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
89
91
when checksum is set to None, as was the previous default, would not throw an
90
92
error if passed a file in string mode under some circumstances. With the new
91
93
defaults, it will now raise a TypeError. Please use a file opened in bytes
@@ -94,13 +96,16 @@ reading mode as required.
94
96
Miscellaneous
95
97
~~~~~~~~~~~~~
96
98
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
98
100
the writer exits with an exception.
99
101
- Retry behavior is now identical between media operations (uploads and
100
102
downloads) and other operations, and custom predicates are now supported for
101
103
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
103
105
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.
104
109
105
110
Quick Start
106
111
-----------
0 commit comments