Skip to content

Releases: googleapis/google-resumable-media-python

v0.5.0

29 Oct 20:04
c0732e3
Compare
Choose a tag to compare

10-28-2019 09:16 PDT

New Features

  • Add raw download classes. (#109)

Documentation

  • Update Sphinx inventory URL for requests library. (#108)

Internal / Testing Changes

  • Initial synth. (#105)
  • Remove CircleCI. (#102)

v0.4.1

17 Sep 16:32
626bfab
Compare
Choose a tag to compare

09-16-2019 17:59 PDT

Implementation Changes

  • Revert "Always use raw response data. (#87)" (#103)

Internal / Testing Changes

  • Add black. (#94)

v0.4.0

06 Sep 16:47
d28bed2
Compare
Choose a tag to compare

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 from http_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

26 Aug 21:14
Compare
Choose a tag to compare

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

  • Use Kokoro for CI (#90)
  • Renovate: preserve semver ranges. (#82)
  • Add renovate.json (#79)
  • Fix systest bitrot. (#77)
  • Fix docs build redux. (#75)
  • Update to new nox (#57)

0.3.2

20 Dec 22:23
68603db
Compare
Choose a tag to compare

Implementation Changes

  • Using str instead of repr for multipart boundary.

Dependencies

  • Making requests a strict dependency for the requests 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

20 Oct 21:30
Compare
Choose a tag to compare
  • Added fix (#36) to correctly compute an MD5 checksum for Download-s that have Content-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

13 Oct 17:22
Compare
Choose a tag to compare
  • Added MD5 checksum validation for Download that uses a stream (#32). This implementation is partial but we considered it worth releasing with limitations. Worth noting:
    • This is only implemented for the requests version of Download (i.e. not in the base Download class and not for the requests version of ChunkedDownload)
    • 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 a stream (this is because the implementation updates the checksum in chunks as the request body is consumed into the stream)
    • Progress can be followed on #22
  • Added an extra (#30) so that requests can be installed alongside google-resumable-media via
    pip 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

07 Aug 17:30
Compare
Choose a tag to compare
  • Allow empty files to be sent in ResumableUpload of known size (i.e. when initiate(..., stream_final=True) or initiate(..., 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

01 Aug 20:35
Compare
Choose a tag to compare
  • Added optional stream argument to requests.Download. If uses, the downloaded resource will be written directly to the stream 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

21 Jul 18:08
Compare
Choose a tag to compare
  • Bugfix: Stop relying on size in final response of resumable upload. Instead, tracking the number of bytes sent in the final request and incrementing the bytes_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/