Releases: googleapis/google-resumable-media-python
v0.5.0
v0.4.1
v0.4.0
09-05-2019 11:59 PDT
Backward-Compatibility Note
The change to use raw response data (PR
#87)
might break the hypothetical usecase of downloading a blob marked with
Content-Encoding: gzip
and expecting to get the expanded data.
Implementation Changes
- Require 200 response for initial resumable upload request. (#95)
- Use
response
as variable for object returned fromhttp_request
. (#98) - Further DRY request dependency pins. (#96)
- Finish download on seeing 416 response with zero byte range. (#86)
- Always use raw response data. (#87)
Dependencies
- Drop runtime dependency check on
requests
. (#97)
Documentation
- Update docs after release (#93)
v0.3.3
08-23-2019 14:15 PDT
Implementation Changes
- Add a default timeout for the http_request method (#88)
- DRY 'requests' pin; don't shadow exception. (#83)
- Drop a hardcoded value in an error message. (#48)
Documentation
- Reconstruct 'CHANGELOG.md' from pre-releasetool era releases. (#66)
Internal / Testing Changes
0.3.2
Implementation Changes
- Using
str
instead ofrepr
for multipart boundary.
Dependencies
- Making
requests
a strict dependency for therequests
subpackage.
Documentation
- Announce deprecation of Python 2.7 (#51)
- Fix broken redirect after repository move
- Updating generated static content in docs.
Internal / Testing Changes
- Modify file not found test to look for the correct error message
- Harden tests so they can run with debug logging statements
- Adding AppVeyor support.
- Marking the version in
master
as.dev1
.
0.3.1
- Added fix (#36) to correctly compute an MD5 checksum for
Download
-s that haveContent-Encoding: gzip
.
PyPI: https://pypi.org/project/google-resumable-media/0.3.1/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.3.1/
0.3.0
- Added MD5 checksum validation for
Download
that uses astream
(#32). This implementation is partial but we considered it worth releasing with limitations. Worth noting:- This is only implemented for the
requests
version ofDownload
(i.e. not in the baseDownload
class and not for therequests
version ofChunkedDownload
) - This is only implemented for MD5 checksums, not CRC32C checksums
- This will not verify checksums for "composite objects" (i.e. those created via
storage.objects.compose
) because those objects do not have an MD5 checksum on the server (i.e. they only have a CRC32C checksum) - The MD5 checksum will not be validated if the
Download
was not created with astream
(this is because the implementation updates the checksum in chunks as the request body is consumed into thestream
) - Progress can be followed on #22
- This is only implemented for the
- Added an extra (#30) so that
requests
can be installed alongsidegoogle-resumable-media
viapip install google-resumable-media[requests]
PyPI: https://pypi.org/project/google-resumable-media/0.3.0/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.3.0/
0.2.3
- Allow empty files to be sent in
ResumableUpload
of known size (i.e. wheninitiate(..., stream_final=True)
orinitiate(..., total_bytes=0)
). Previously failed with "Stream is already exhausted..." (#25)
PyPI: https://pypi.org/project/google-resumable-media/0.2.3/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.2.3/
0.2.2
- Added optional
stream
argument torequests.Download
. If uses, the downloaded resource will be written directly to thestream
in 8KB chunks, rather than being read into RAM. (#20, #21)
PyPI: https://pypi.org/project/google-resumable-media/0.2.2/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.2.2/
0.2.1
- Bugfix: Stop relying on
size
in final response of resumable upload. Instead, tracking the number of bytes sent in the final request and incrementing thebytes_uploaded
by it. (#18)
PyPI: https://pypi.org/project/google-resumable-media/0.2.1/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.2.1/