Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

feat: Implementation of Firestore Bundle Builder - #293

Merged
gcf-merge-on-green[bot] merged 20 commits into
masterfrom
wuandy/BundleBuilder
Oct 16, 2020
Merged

feat: Implementation of Firestore Bundle Builder#293
gcf-merge-on-green[bot] merged 20 commits into
masterfrom
wuandy/BundleBuilder

Conversation

@wu-hui

Copy link
Copy Markdown
Contributor

No description provided.

@googlebotgooglebot added the cla: yes This human has signed the Contributor License Agreement. label Jul 11, 2020
@wu-hui
wu-hui requested a review from BenWhiteheadJuly 11, 2020 02:01
@codecov

codecovBot commented Jul 11, 2020

Copy link
Copy Markdown

Codecov Report

Merging #293 into master will increase coverage by 0.91%.
The diff coverage is 91.50%.

Impacted file tree graph

@@ Coverage Diff @@## master #293 +/- ##
============================================
+ Coverage 72.37% 73.29% +0.91% + Complexity 1099 1065 -34 
============================================
Files 67 65 -2 Lines 5814 5737 -77 Branches 742 717 -25 ============================================
- Hits 4208 4205 -3 + Misses 1351 1315 -36 + Partials 255 217 -38 
Impacted FilesCoverage ΔComplexity Δ
...rc/main/java/com/google/cloud/firestore/Query.java88.10% <85.36%> (+0.30%)131.00 <6.00> (-4.00)⬆️
...va/com/google/cloud/firestore/FirestoreBundle.java93.33% <93.33%> (ø)3.00 <3.00> (?)
...a/com/google/cloud/firestore/DocumentSnapshot.java81.72% <100.00%> (+2.65%)39.00 <1.00> (+2.00)
...n/java/com/google/cloud/firestore/RateLimiter.java100.00% <0.00%> (ø)15.00% <0.00%> (+2.00%)
.../cloud/firestore/AutoValue_Query_QueryOptions.java
...google/cloud/firestore/AutoValue_ResourcePath.java
...om/google/cloud/firestore/AutoValue_FieldPath.java
...java/com/google/cloud/firestore/FirestoreImpl.java77.61% <0.00%> (+0.74%)27.00% <0.00%> (+2.00%)
...a/com/google/cloud/firestore/FirestoreOptions.java35.89% <0.00%> (+0.85%)7.00% <0.00%> (ø%)
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5444fed...10b7384. Read the comment docs.

@BenWhiteheadBenWhitehead added this to the v2 milestone Jul 13, 2020
@BenWhiteheadBenWhitehead added the status: blocked Resolving the issue is dependent on other work. label Jul 13, 2020
@BenWhiteheadBenWhitehead removed the status: blocked Resolving the issue is dependent on other work. label Jul 21, 2020
@BenWhiteheadBenWhitehead removed this from the v2 milestone Aug 11, 2020
@product-auto-labelproduct-auto-labelBot added the api: firestore Issues related to the googleapis/java-firestore API. label Aug 21, 2020
# Conflicts:
#	.kokoro/dependencies.sh
#	.kokoro/nightly/samples.cfg
#	.kokoro/presubmit/samples.cfg
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreClient.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreSettings.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/FirestoreStub.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/FirestoreStubSettings.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/stub/GrpcFirestoreStub.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreClient.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreSettings.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/package-info.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStub.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStubSettings.java
#	google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/GrpcFirestoreStub.java
#	google-cloud-firestore/src/test/java/com/google/cloud/firestore/v1/FirestoreClientTest.java
#	google-cloud-firestore/src/test/java/com/google/cloud/firestore/v1beta1/FirestoreClientTest.java
#	google-cloud-firestore/src/test/java/com/google/cloud/firestore/v1beta1/MockFirestoreImpl.java
#	proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/QueryProto.java
#	proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQuery.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ArrayValue.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/BatchGetDocumentsRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/BatchGetDocumentsResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/BeginTransactionRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/BeginTransactionResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/CommitRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/CommitResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/CommonProto.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/CreateDocumentRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Cursor.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DeleteDocumentRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Document.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DocumentChange.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DocumentDelete.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DocumentProto.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DocumentRemove.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/DocumentTransform.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ExistenceFilter.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/FirestoreProto.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/GetDocumentRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListCollectionIdsRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListCollectionIdsResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListDocumentsRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListDocumentsResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListenRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/ListenResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/MapValue.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Precondition.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/QueryProto.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/RollbackRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/RunQueryRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/RunQueryResponse.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/StructuredQuery.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Target.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/TargetChange.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/TransactionOptions.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/UpdateDocumentRequest.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Value.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/Write.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/WriteProto.java
#	proto-google-cloud-firestore-v1beta1/src/main/java/com/google/firestore/v1beta1/WriteResult.java
#	synth.metadata
#	synth.py
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.google.firestore</groupId>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure release automation will be able to write to the group com.google.firestore is it possible for the groupId of this artifact to stay com.google.cloud?

Comment threadgoogle-cloud-firestore/src/main/java/com/google/cloud/firestore/Query.java Outdated
Comment threadgoogle-cloud-firestore/src/main/java/com/google/cloud/firestore/Query.java Outdated
}

@Test
public void testBuildingBundleWithLimitAndLimitToLastQueries() throws Exception {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we split this test into two, one for the limit First, and one for limit last? If either case ever fails it'd be nice to tell independently which is failing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My thought was this provides a good contrast and helps reader understand two cases.

I don't feel strong, I can split if you insist.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the code overhead is minimal I'd prefer the two separate tests for clarity of individual scenarios.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

elements.get(1).getDocumentMetadata(),
elements.get(2).getDocument(),
DOCUMENT_NAME,
Lists.newArrayList(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

Suggested change
Lists.newArrayList(),
Lists.<String>newArrayList(),

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

if (originalDocument == null
|| documentSnapshot
.getReadTime()
.compareTo(Timestamp.fromProto(originalDocument.getMetadata().getReadTime()))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This call to compare to should guard against getReadTime() returning null, since there doesn't appear to be a previous check ensuring it's non-null.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave it a try, and it looks awkward. I am inclining to not check it here, because the only place setting originalDocument is below, and the need to defend against that is not very strong IMHO.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The compareTo method on Timestamp expects a non-null argument (and doesn't assert it unfortunately) and there is the possibility that getReadTime() returns a null value, so we do in fact need to guard this check so that it doesn't result in an exception.

A similar scenario is present below on line 88 (in this commit) where it's possible a null value is returned before calling toProto().

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Base automatically changed from wuandy/BundleProto to masterSeptember 18, 2020 14:10
# Conflicts:
#	google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java
#	proto-google-cloud-firestore-bundle-v1/pom.xml
#	synth.metadata
#	synth.py
@wu-hui
wu-hui requested review from a teamOctober 9, 2020 02:22
@wu-hui
wu-hui requested a review from a teamOctober 9, 2020 02:22

@wu-huiwu-hui left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review!

It is now updated with bundle.proto from googleapis/third_party as well.

if (originalDocument == null
|| documentSnapshot
.getReadTime()
.compareTo(Timestamp.fromProto(originalDocument.getMetadata().getReadTime()))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave it a try, and it looks awkward. I am inclining to not check it here, because the only place setting originalDocument is below, and the need to defend against that is not very strong IMHO.

elements.get(1).getDocumentMetadata(),
elements.get(2).getDocument(),
DOCUMENT_NAME,
Lists.newArrayList(),

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

}

@Test
public void testBuildingBundleWithLimitAndLimitToLastQueries() throws Exception {

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My thought was this provides a good contrast and helps reader understand two cases.

I don't feel strong, I can split if you insist.

Comment threadgoogle-cloud-firestore/pom.xml Outdated
<artifactId>proto-google-cloud-firestore-bundle-v1</artifactId>
<version>2.1.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Due to some overarching complexities in how our poms get built, bundled and released with the broader GCP libraries this declaration needs to change a little bit. I'll fix up all the pom files and push a commit to this branch with all the necessary changes, we can then review if you're interested in the details.

@BenWhiteheadBenWhitehead left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple small things, and the remaining comment about getReadTime possibly causing an exception.

/** Represents a Firestore data bundle with results from the given document and query snapshots. */
public final class FirestoreBundle {

static int BUNDLE_SCHEMA_VERSION = 1;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
staticintBUNDLE_SCHEMA_VERSION = 1;
staticfinalintBUNDLE_SCHEMA_VERSION = 1;

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


static int BUNDLE_SCHEMA_VERSION = 1;
// Printer to encode protobuf objects into JSON string.
private static JsonFormat.Printer PRINTER = JsonFormat.printer();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
privatestaticJsonFormat.PrinterPRINTER = JsonFormat.printer();
privatestaticfinalJsonFormat.PrinterPRINTER = JsonFormat.printer();

Constants should always be final so they can't be modified.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

if (originalDocument == null
|| documentSnapshot
.getReadTime()
.compareTo(Timestamp.fromProto(originalDocument.getMetadata().getReadTime()))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The compareTo method on Timestamp expects a non-null argument (and doesn't assert it unfortunately) and there is the possibility that getReadTime() returns a null value, so we do in fact need to guard this check so that it doesn't result in an exception.

A similar scenario is present below on line 88 (in this commit) where it's possible a null value is returned before calling toProto().

@BenWhiteheadBenWhitehead added the automerge Merge the pull request once unit tests and other checks pass. label Oct 16, 2020
@gcf-merge-on-green
gcf-merge-on-greenBot merged commit fd5ef90 into masterOct 16, 2020
@gcf-merge-on-green
gcf-merge-on-greenBot deleted the wuandy/BundleBuilder branch October 16, 2020 20:16
@gcf-merge-on-greengcf-merge-on-greenBot removed the automerge Merge the pull request once unit tests and other checks pass. label Oct 16, 2020
gcf-merge-on-greenBot pushed a commit that referenced this pull request Jan 20, 2021
🤖 I have created a release \*beep\* \*boop\* ---
## [2.2.0](https://www.github.com/googleapis/java-firestore/compare/v2.1.0...v2.2.0) (2021-01-20)
### Features
* Add bundle proto building ([#271](https://www.github.com/googleapis/java-firestore/issues/271)) ([994835c](https://www.github.com/googleapis/java-firestore/commit/994835c0a3be077404afa60abd4d4685d17fb533))
* add bundle.proto from googleapis/googleapis ([#407](https://www.github.com/googleapis/java-firestore/issues/407)) ([37da386](https://www.github.com/googleapis/java-firestore/commit/37da386875d1b65121e8a9a92b1a000537f07625))
* add CollectionGroup#getPartitions(long) ([#478](https://www.github.com/googleapis/java-firestore/issues/478)) ([bab064e](https://www.github.com/googleapis/java-firestore/commit/bab064edde26325bf0041ffe28d4c63b97a089c5))
* add implicit ordering for startAt(DocumentReference) calls ([#417](https://www.github.com/googleapis/java-firestore/issues/417)) ([aae6dc9](https://www.github.com/googleapis/java-firestore/commit/aae6dc960f7c42830ceed23c65acaad3e457dcff))
* add max/min throttling options to BulkWriterOptions ([#400](https://www.github.com/googleapis/java-firestore/issues/400)) ([27a9397](https://www.github.com/googleapis/java-firestore/commit/27a9397f67e151d723241c80ccb2ec9f1bfbba1c))
* add success and error callbacks to BulkWriter ([#483](https://www.github.com/googleapis/java-firestore/issues/483)) ([3c05037](https://www.github.com/googleapis/java-firestore/commit/3c05037e8fce8d3ce4907fde85bd254fc98ea588))
* Implementation of Firestore Bundle Builder ([#293](https://www.github.com/googleapis/java-firestore/issues/293)) ([fd5ef90](https://www.github.com/googleapis/java-firestore/commit/fd5ef90b6681cc67aeee6c95f3de80267798dcd0))
* Release bundles ([#466](https://www.github.com/googleapis/java-firestore/issues/466)) ([3af065e](https://www.github.com/googleapis/java-firestore/commit/3af065e32b193931c805b576f410ad90124b43a7))
### Bug Fixes
* add @BetaApi, make BulkWriter public, and refactor Executor ([#497](https://www.github.com/googleapis/java-firestore/issues/497)) ([27ff9f6](https://www.github.com/googleapis/java-firestore/commit/27ff9f6dfa92cac9119d2014c24a0759baa44fb7))
* **build:** sample checkstyle violations ([#457](https://www.github.com/googleapis/java-firestore/issues/457)) ([777ecab](https://www.github.com/googleapis/java-firestore/commit/777ecabd1ce12cbc5f4169de6c23a90f98deac06))
* bulkWriter: writing to the same doc doesn't create a new batch ([#394](https://www.github.com/googleapis/java-firestore/issues/394)) ([259ece8](https://www.github.com/googleapis/java-firestore/commit/259ece8511db71ea79cc1a080eb785a15db88756))
* empty commit to trigger release-please ([fcef0d3](https://www.github.com/googleapis/java-firestore/commit/fcef0d302cd0a9339d82db73152289d6f9f67ff2))
* make BulkWriterOptions public ([#502](https://www.github.com/googleapis/java-firestore/issues/502)) ([6ea05be](https://www.github.com/googleapis/java-firestore/commit/6ea05beb3f27337bef910ca64f0e3f32de6b7e98))
* retry Query streams ([#426](https://www.github.com/googleapis/java-firestore/issues/426)) ([3513cd3](https://www.github.com/googleapis/java-firestore/commit/3513cd39ff43d26c8432c05ce20693350539ae8f))
* retry transactions that fail with expired transaction IDs ([#447](https://www.github.com/googleapis/java-firestore/issues/447)) ([5905438](https://www.github.com/googleapis/java-firestore/commit/5905438af6501353e978210808834a26947aae95))
* verify partition count before invoking GetPartition RPC ([#418](https://www.github.com/googleapis/java-firestore/issues/418)) ([2054ae9](https://www.github.com/googleapis/java-firestore/commit/2054ae971083277e1cf81c2b57500c40a6faa0ef))
### Documentation
* **sample:** normalize firestore sample's region tags ([#453](https://www.github.com/googleapis/java-firestore/issues/453)) ([b529245](https://www.github.com/googleapis/java-firestore/commit/b529245c75f770e1b47ca5d9561bab55a7610677))
### Dependencies
* remove explicit version for jackson ([#479](https://www.github.com/googleapis/java-firestore/issues/479)) ([e2aecfe](https://www.github.com/googleapis/java-firestore/commit/e2aecfec51465b8fb3413337a76f9a3de57b8500))
* update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.12 ([#367](https://www.github.com/googleapis/java-firestore/issues/367)) ([2bdd846](https://www.github.com/googleapis/java-firestore/commit/2bdd84693bbd968cafabd0e7ee56d1a9a7dc31ca))
* update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.13 ([#411](https://www.github.com/googleapis/java-firestore/issues/411)) ([e6157b5](https://www.github.com/googleapis/java-firestore/commit/e6157b5cb532e0184125355b12115058e72afa67))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 ([#383](https://www.github.com/googleapis/java-firestore/issues/383)) ([cb39ee8](https://www.github.com/googleapis/java-firestore/commit/cb39ee820c2f67e22da623f5a6eaa7ee6bf351e2))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 ([#403](https://www.github.com/googleapis/java-firestore/issues/403)) ([991dd81](https://www.github.com/googleapis/java-firestore/commit/991dd810360e654fca0b53e0611da0cd77febc7c))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 ([#425](https://www.github.com/googleapis/java-firestore/issues/425)) ([b897ffa](https://www.github.com/googleapis/java-firestore/commit/b897ffa90427a8f597c02c24f80d1d162be48b23))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 ([#430](https://www.github.com/googleapis/java-firestore/issues/430)) ([0f8f218](https://www.github.com/googleapis/java-firestore/commit/0f8f218678c3ddebb73748c382cab8e38c2f140d))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 ([#446](https://www.github.com/googleapis/java-firestore/issues/446)) ([e241f8e](https://www.github.com/googleapis/java-firestore/commit/e241f8ebbfdf202f00424177c69962311b37fc88))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.15.0 ([#460](https://www.github.com/googleapis/java-firestore/issues/460)) ([b82fc35](https://www.github.com/googleapis/java-firestore/commit/b82fc3561d1a397438829ab69df24141481369a2))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 ([#481](https://www.github.com/googleapis/java-firestore/issues/481)) ([ae98824](https://www.github.com/googleapis/java-firestore/commit/ae988245e6d6391c85414e9b6f7ae1b8148c3a6d))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 ([4ace93c](https://www.github.com/googleapis/java-firestore/commit/4ace93c7be580a8f7870e71cad2dc19bb5fdef29))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.0 ([#487](https://www.github.com/googleapis/java-firestore/issues/487)) ([e11e472](https://www.github.com/googleapis/java-firestore/commit/e11e4723bc75727086bee0436492f458def29ff5))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 ([#495](https://www.github.com/googleapis/java-firestore/issues/495)) ([f78720a](https://www.github.com/googleapis/java-firestore/commit/f78720a155f1294321f05266b9a546bbf2cb9a04))
* update jackson dependencies to v2.11.3 ([#396](https://www.github.com/googleapis/java-firestore/issues/396)) ([2e176e2](https://www.github.com/googleapis/java-firestore/commit/2e176e2f864262f31e6f93705fa7e794023b9649))
---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: firestoreIssues related to the googleapis/java-firestore API.cla: yesThis human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@wu-hui@BenWhitehead@googlebot