# Changelog

## [1.3.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-notebooks-v1.2.1-SNAPSHOT...google-cloud-notebooks-v1.3.0) (2022-10-24)


### Features

* [analyticsdata] add `subject_to_thresholding` field to `ResponseMetadata` type ([#8545](https://github.com/googleapis/google-cloud-java/issues/8545)) ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* add `tokens_per_project_per_hour` field to `PropertyQuota` type ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* create release please configuration ([41b97e6](https://github.com/googleapis/google-cloud-java/commit/41b97e6d0d38a54fbabf51a3069bf1473c48f730))


### Bug Fixes

* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#8325](https://github.com/googleapis/google-cloud-java/issues/8325)) ([01f492b](https://github.com/googleapis/google-cloud-java/commit/01f492be424acdb90edb23ba66656aeff7cf39eb))
* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#8528](https://github.com/googleapis/google-cloud-java/issues/8528)) ([bd36199](https://github.com/googleapis/google-cloud-java/commit/bd361998ac4eb7c78eef3b3eac39aef31a0cf44e))
* owl-bot-staging should not be commited ([#8337](https://github.com/googleapis/google-cloud-java/issues/8337)) ([c9bb4a9](https://github.com/googleapis/google-cloud-java/commit/c9bb4a97aa19032b78c86c951fe9920f24ac4eec))


### Dependencies

* reverting renovate bot pull requests ([#8417](https://github.com/googleapis/google-cloud-java/issues/8417)) ([8f0c60b](https://github.com/googleapis/google-cloud-java/commit/8f0c60bde446acccc665eb7894723632eefc3503))

## [1.2.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-notebooks-v1.1.3...google-cloud-notebooks-v1.2.0) (2022-10-17)


### Features

* [analyticsdata] add `subject_to_thresholding` field to `ResponseMetadata` type ([#8545](https://github.com/googleapis/google-cloud-java/issues/8545)) ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* add `tokens_per_project_per_hour` field to `PropertyQuota` type ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* create release please configuration ([41b97e6](https://github.com/googleapis/google-cloud-java/commit/41b97e6d0d38a54fbabf51a3069bf1473c48f730))


### Bug Fixes

* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#8325](https://github.com/googleapis/google-cloud-java/issues/8325)) ([01f492b](https://github.com/googleapis/google-cloud-java/commit/01f492be424acdb90edb23ba66656aeff7cf39eb))
* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#8528](https://github.com/googleapis/google-cloud-java/issues/8528)) ([bd36199](https://github.com/googleapis/google-cloud-java/commit/bd361998ac4eb7c78eef3b3eac39aef31a0cf44e))
* owl-bot-staging should not be commited ([#8337](https://github.com/googleapis/google-cloud-java/issues/8337)) ([c9bb4a9](https://github.com/googleapis/google-cloud-java/commit/c9bb4a97aa19032b78c86c951fe9920f24ac4eec))


### Dependencies

* reverting renovate bot pull requests ([#8417](https://github.com/googleapis/google-cloud-java/issues/8417)) ([8f0c60b](https://github.com/googleapis/google-cloud-java/commit/8f0c60bde446acccc665eb7894723632eefc3503))

## [1.1.3](https://github.com/googleapis/java-notebooks/compare/v1.1.2...v1.1.3) (2022-10-05)


### Dependencies

* Update dependency charset-normalizer to v2.1.1 ([#437](https://github.com/googleapis/java-notebooks/issues/437)) ([e99bc20](https://github.com/googleapis/java-notebooks/commit/e99bc2010818e13bad2a7d33d97d0e4181acae48))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#417](https://github.com/googleapis/java-notebooks/issues/417)) ([171bed9](https://github.com/googleapis/java-notebooks/commit/171bed914424b1c8c8a63e3f7aa460ae247dc32b))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#420](https://github.com/googleapis/java-notebooks/issues/420)) ([60f5e95](https://github.com/googleapis/java-notebooks/commit/60f5e9535dfdf48432ac095809f262ed32889e96))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#446](https://github.com/googleapis/java-notebooks/issues/446)) ([578bc65](https://github.com/googleapis/java-notebooks/commit/578bc6576ad3f5f4916c7d32f1decb4e072f57f9))

## [1.1.2](https://github.com/googleapis/java-notebooks/compare/v1.1.1...v1.1.2) (2022-07-29)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-notebooks/issues/1485)) ([#401](https://github.com/googleapis/java-notebooks/issues/401)) ([df696eb](https://github.com/googleapis/java-notebooks/commit/df696eb47967ef999567801889b0fc48b7d19638))

## [1.1.1](https://github.com/googleapis/java-notebooks/compare/v1.1.0...v1.1.1) (2022-07-01)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#391](https://github.com/googleapis/java-notebooks/issues/391)) ([b0b2111](https://github.com/googleapis/java-notebooks/commit/b0b211142bc28c6318958ed370e8b7772143302e))

## [1.1.0](https://github.com/googleapis/java-notebooks/compare/v1.0.6...v1.1.0) (2022-05-19)


### Features

* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-notebooks/issues/1440)) ([#383](https://github.com/googleapis/java-notebooks/issues/383)) ([1f65de5](https://github.com/googleapis/java-notebooks/commit/1f65de5ccaf19f1fb47df6b9d35bf23dd5d29c3b))
* Update Notebooks API for clients libraries ([#372](https://github.com/googleapis/java-notebooks/issues/372)) ([4533afe](https://github.com/googleapis/java-notebooks/commit/4533afe1e83efb139b706d6099d8a54f8d8e7f88))


### Documentation

* modifies the project ID pattern in comment for Workbench environment ([#381](https://github.com/googleapis/java-notebooks/issues/381)) ([52c2377](https://github.com/googleapis/java-notebooks/commit/52c2377be00b63f3d853f39d69dfb61e27a96cc6))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#382](https://github.com/googleapis/java-notebooks/issues/382)) ([03fdc2a](https://github.com/googleapis/java-notebooks/commit/03fdc2a7396aef4cada151bbaa89607183912391))

### [1.0.6](https://github.com/googleapis/java-notebooks/compare/v1.0.5...v1.0.6) (2022-04-18)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 ([#367](https://github.com/googleapis/java-notebooks/issues/367)) ([9e45698](https://github.com/googleapis/java-notebooks/commit/9e45698b7b2a095c0fb1494b46a448e64e587c1b))

### [1.0.5](https://github.com/googleapis/java-notebooks/compare/v1.0.4...v1.0.5) (2022-03-29)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#354](https://github.com/googleapis/java-notebooks/issues/354)) ([74ec295](https://github.com/googleapis/java-notebooks/commit/74ec295abc59136d485df401ee6b5ec4e765109b))

### [1.0.4](https://github.com/googleapis/java-notebooks/compare/v1.0.3...v1.0.4) (2022-03-23)


### Dependencies

* update actions/checkout action to v3 ([#336](https://github.com/googleapis/java-notebooks/issues/336)) ([584629b](https://github.com/googleapis/java-notebooks/commit/584629b054872e35252244483e897683d5cf3c90))

### [1.0.3](https://github.com/googleapis/java-notebooks/compare/v1.0.2...v1.0.3) (2022-03-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 ([#338](https://github.com/googleapis/java-notebooks/issues/338)) ([90666b2](https://github.com/googleapis/java-notebooks/commit/90666b2add2d477eb4ad7c1615df7203b89a4d75))

### [1.0.2](https://github.com/googleapis/java-notebooks/compare/v1.0.1...v1.0.2) (2022-02-28)


### Dependencies

* update actions/setup-java action to v3 ([#332](https://github.com/googleapis/java-notebooks/issues/332)) ([2a58e8b](https://github.com/googleapis/java-notebooks/commit/2a58e8ba60bff4bfa9c106b05f288c0a013e6d2f))

### [1.0.1](https://github.com/googleapis/java-notebooks/compare/v1.0.0...v1.0.1) (2022-02-11)


### Dependencies

* update actions/github-script action to v6 ([#325](https://github.com/googleapis/java-notebooks/issues/325)) ([6c04e47](https://github.com/googleapis/java-notebooks/commit/6c04e4747538dd44088aff7100b4f3067d3a43ca))

## [1.0.0](https://github.com/googleapis/java-notebooks/compare/v0.6.2...v1.0.0) (2022-02-03)


### Features

* promote to GA ([#311](https://github.com/googleapis/java-notebooks/issues/311)) ([b711d42](https://github.com/googleapis/java-notebooks/commit/b711d422b4f49e91e984400f400e721c8304ddcd))


### Dependencies

* **java:** update actions/github-script action to v5 ([#1339](https://github.com/googleapis/java-notebooks/issues/1339)) ([#314](https://github.com/googleapis/java-notebooks/issues/314)) ([b50f1d5](https://github.com/googleapis/java-notebooks/commit/b50f1d5086d34c839d0d248ddd4c572cc4a96093))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#316](https://github.com/googleapis/java-notebooks/issues/316)) ([6698ede](https://github.com/googleapis/java-notebooks/commit/6698edef85f9a5c7cc043557741f62a0298cb1ea))

### [0.6.2](https://www.github.com/googleapis/java-notebooks/compare/v0.6.1...v0.6.2) (2022-01-07)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 ([#299](https://www.github.com/googleapis/java-notebooks/issues/299)) ([9e76a8b](https://www.github.com/googleapis/java-notebooks/commit/9e76a8b46690728511687ed91e05936423345798))

### [0.6.1](https://www.github.com/googleapis/java-notebooks/compare/v0.6.0...v0.6.1) (2021-12-06)


### Bug Fixes

* **java:** add -ntp flag to native image testing command ([#1299](https://www.github.com/googleapis/java-notebooks/issues/1299)) ([#293](https://www.github.com/googleapis/java-notebooks/issues/293)) ([0b99148](https://www.github.com/googleapis/java-notebooks/commit/0b99148379eeb65d5e0637735f78bf2b5e2a74f8))
* **java:** java 17 dependency arguments ([#1266](https://www.github.com/googleapis/java-notebooks/issues/1266)) ([#278](https://www.github.com/googleapis/java-notebooks/issues/278)) ([41de5f8](https://www.github.com/googleapis/java-notebooks/commit/41de5f805e9afec1470104f0e690f62a367b5a09))
* remove location proto ([4131cb6](https://www.github.com/googleapis/java-notebooks/commit/4131cb6c75d0d6604a78754cc521b0e08d58a499))


### Documentation

* fix typos and docstring formatting ([#275](https://www.github.com/googleapis/java-notebooks/issues/275)) ([d01f502](https://www.github.com/googleapis/java-notebooks/commit/d01f50232082a43911774e765c7b4d8e12075040))
* Fixed several broken links and formatting issues in the reference documentation ([#269](https://www.github.com/googleapis/java-notebooks/issues/269)) ([609f7e9](https://www.github.com/googleapis/java-notebooks/commit/609f7e9d603f55ee591199251c10288c531dc54f))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#276](https://www.github.com/googleapis/java-notebooks/issues/276)) ([8af9ed8](https://www.github.com/googleapis/java-notebooks/commit/8af9ed805a128f76c0311b0239ed2ba619cbc502))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.0 ([#286](https://www.github.com/googleapis/java-notebooks/issues/286)) ([acf2917](https://www.github.com/googleapis/java-notebooks/commit/acf2917f7109fac517e3ee598dc104cf4d5451aa))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 ([#292](https://www.github.com/googleapis/java-notebooks/issues/292)) ([4131cb6](https://www.github.com/googleapis/java-notebooks/commit/4131cb6c75d0d6604a78754cc521b0e08d58a499))

## [0.6.0](https://www.github.com/googleapis/java-notebooks/compare/v0.5.0...v0.6.0) (2021-09-27)


### Features

* added support for Notebooks v1 ([#242](https://www.github.com/googleapis/java-notebooks/issues/242)) ([28ce44f](https://www.github.com/googleapis/java-notebooks/commit/28ce44f5c390c4de2d366f283a59927f220c09c7))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 ([#261](https://www.github.com/googleapis/java-notebooks/issues/261)) ([50910c1](https://www.github.com/googleapis/java-notebooks/commit/50910c1e35f7f8c281d5c640b986b858ee124a3a))

## [0.5.0](https://www.github.com/googleapis/java-notebooks/compare/v0.4.1...v0.5.0) (2021-09-14)


### Features

* Remove use of deprecated gradle command in java README ([#1196](https://www.github.com/googleapis/java-notebooks/issues/1196)) ([#241](https://www.github.com/googleapis/java-notebooks/issues/241)) ([3ce8cb2](https://www.github.com/googleapis/java-notebooks/commit/3ce8cb24810809ac82272882435508f0d2e723bf))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 ([#245](https://www.github.com/googleapis/java-notebooks/issues/245)) ([b410a2e](https://www.github.com/googleapis/java-notebooks/commit/b410a2e3367e43d1d2938c4cdcea5fb3d9b74029))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 ([#254](https://www.github.com/googleapis/java-notebooks/issues/254)) ([2758446](https://www.github.com/googleapis/java-notebooks/commit/2758446958d8da7241549ef290b08ee4e857e8f0))

### [0.4.1](https://www.github.com/googleapis/java-notebooks/compare/v0.4.0...v0.4.1) (2021-08-25)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 ([#231](https://www.github.com/googleapis/java-notebooks/issues/231)) ([bd0444d](https://www.github.com/googleapis/java-notebooks/commit/bd0444d1942d57e105418d0bd01d664ec8c6a000))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 ([#235](https://www.github.com/googleapis/java-notebooks/issues/235)) ([e3fd67b](https://www.github.com/googleapis/java-notebooks/commit/e3fd67b1b00b5a8651f2ca30766a76dd72951aec))

## [0.4.0](https://www.github.com/googleapis/java-notebooks/compare/v0.3.0...v0.4.0) (2021-08-10)


### ⚠ BREAKING CHANGES

* release gapic-generator-java v2.0.0 (#225)

### Features

* release gapic-generator-java v2.0.0 ([#225](https://www.github.com/googleapis/java-notebooks/issues/225)) ([58bb59d](https://www.github.com/googleapis/java-notebooks/commit/58bb59d1457adf28f571bc6f8b5026e776bafec2))


### Bug Fixes

* Add `shopt -s nullglob` to dependencies script ([#198](https://www.github.com/googleapis/java-notebooks/issues/198)) ([a3c4f6b](https://www.github.com/googleapis/java-notebooks/commit/a3c4f6b0a8b18055c083a797fec1d7d0aacad6dc))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 ([#200](https://www.github.com/googleapis/java-notebooks/issues/200)) ([dbdcbee](https://www.github.com/googleapis/java-notebooks/commit/dbdcbee7d46416dffce92e819974a807401e32e8))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#226](https://www.github.com/googleapis/java-notebooks/issues/226)) ([f5542e6](https://www.github.com/googleapis/java-notebooks/commit/f5542e6b0a6177e3f36957d2d4841b451cd9ba5d))

## [0.3.0](https://www.github.com/googleapis/java-notebooks/compare/v0.2.6...v0.3.0) (2021-06-17)


### Features

* add `gcf-owl-bot[bot]` to `ignoreAuthors` ([#182](https://www.github.com/googleapis/java-notebooks/issues/182)) ([131e3d4](https://www.github.com/googleapis/java-notebooks/commit/131e3d48ba6018050476d17ddd7b7e4cff96f9ac))
* **generator:** update protoc to v3.15.3 ([#141](https://www.github.com/googleapis/java-notebooks/issues/141)) ([538b004](https://www.github.com/googleapis/java-notebooks/commit/538b004d7081e063204a97ed8a23651c13ffda77))


### Bug Fixes

* release scripts from issuing overlapping phases ([#162](https://www.github.com/googleapis/java-notebooks/issues/162)) ([6af24c1](https://www.github.com/googleapis/java-notebooks/commit/6af24c188ccbb01770266a097608a36936639564))
* typo ([#160](https://www.github.com/googleapis/java-notebooks/issues/160)) ([4b54f42](https://www.github.com/googleapis/java-notebooks/commit/4b54f4278c7eb30116f19f795e4105262449a3d5))
* Update dependencies.sh to not break on mac ([#192](https://www.github.com/googleapis/java-notebooks/issues/192)) ([54c3021](https://www.github.com/googleapis/java-notebooks/commit/54c3021955d2308d37a2a16701524b7ec7de6f71))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.1 ([#147](https://www.github.com/googleapis/java-notebooks/issues/147)) ([2019dba](https://www.github.com/googleapis/java-notebooks/commit/2019dba8875d50d462f996ed0060ea132fd74d23))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.0 ([#156](https://www.github.com/googleapis/java-notebooks/issues/156)) ([733a3d7](https://www.github.com/googleapis/java-notebooks/commit/733a3d7931c16ee4d9ec4b2d3387718cb2c04254))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 ([#163](https://www.github.com/googleapis/java-notebooks/issues/163)) ([f612c02](https://www.github.com/googleapis/java-notebooks/commit/f612c0232b83829e4fa049c773c55684b696431e))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1 ([#166](https://www.github.com/googleapis/java-notebooks/issues/166)) ([fce329e](https://www.github.com/googleapis/java-notebooks/commit/fce329ec34a16e18fb74483bf1653628959d8b54))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.1.0 ([#178](https://www.github.com/googleapis/java-notebooks/issues/178)) ([9b9e71e](https://www.github.com/googleapis/java-notebooks/commit/9b9e71e35a23b1cd4c38591f29c46ad882ac4266))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.2.0 ([#181](https://www.github.com/googleapis/java-notebooks/issues/181)) ([5183626](https://www.github.com/googleapis/java-notebooks/commit/51836261f904a3f450a8a1cc64960542563db592))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#188](https://www.github.com/googleapis/java-notebooks/issues/188)) ([4c955ab](https://www.github.com/googleapis/java-notebooks/commit/4c955ab48f8ebc843997318d587b496523562b87))

### [0.2.6](https://www.github.com/googleapis/java-notebooks/compare/v0.2.5...v0.2.6) (2021-02-25)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.0 ([#136](https://www.github.com/googleapis/java-notebooks/issues/136)) ([9c951ba](https://www.github.com/googleapis/java-notebooks/commit/9c951bac46bfbd3c195bdda4dcbb410d108407b5))

### [0.2.5](https://www.github.com/googleapis/java-notebooks/compare/v0.2.4...v0.2.5) (2021-02-19)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.19.0 ([#124](https://www.github.com/googleapis/java-notebooks/issues/124)) ([4c4021e](https://www.github.com/googleapis/java-notebooks/commit/4c4021ed903b4f1bfbce014dcae48fcbd1a475d2))


### Documentation

* generate sample code in the Java microgenerator ([#120](https://www.github.com/googleapis/java-notebooks/issues/120)) ([3273362](https://www.github.com/googleapis/java-notebooks/commit/3273362afab58b51390f69550a1845efc9fa2248))

### [0.2.4](https://www.github.com/googleapis/java-notebooks/compare/v0.2.3...v0.2.4) (2021-01-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 ([#110](https://www.github.com/googleapis/java-notebooks/issues/110)) ([8d534f3](https://www.github.com/googleapis/java-notebooks/commit/8d534f388972d30dd84303219408978b54eef7d6))

### [0.2.3](https://www.github.com/googleapis/java-notebooks/compare/v0.2.2...v0.2.3) (2020-12-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.0 ([#102](https://www.github.com/googleapis/java-notebooks/issues/102)) ([31c2086](https://www.github.com/googleapis/java-notebooks/commit/31c20862ba616615f0cc936425b30f3f6dc133e1))

### [0.2.2](https://www.github.com/googleapis/java-notebooks/compare/v0.2.1...v0.2.2) (2020-12-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 ([#97](https://www.github.com/googleapis/java-notebooks/issues/97)) ([0e3b090](https://www.github.com/googleapis/java-notebooks/commit/0e3b090ed65b80b6dcb8b87c8e8b4f58546c1935))

### [0.2.1](https://www.github.com/googleapis/java-notebooks/compare/v0.2.0...v0.2.1) (2020-12-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 ([#79](https://www.github.com/googleapis/java-notebooks/issues/79)) ([f6cb5e3](https://www.github.com/googleapis/java-notebooks/commit/f6cb5e39a819ecfaa1e8c50e361fe8bac2e694d1))

## [0.2.0](https://www.github.com/googleapis/java-notebooks/compare/v0.1.1...v0.2.0) (2020-11-02)


### Features

* **v1beta1:** add endpoint to OperationMetadata, upgrade_info to IsInstanceUpgradeableResponse ([#47](https://www.github.com/googleapis/java-notebooks/issues/47)) ([5e741b1](https://www.github.com/googleapis/java-notebooks/commit/5e741b1ec2f291be23f8ad67063dab61b6520b54))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 ([#51](https://www.github.com/googleapis/java-notebooks/issues/51)) ([d69aea7](https://www.github.com/googleapis/java-notebooks/commit/d69aea79544eb2592ab6881c42976ff186a840b0))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 ([#63](https://www.github.com/googleapis/java-notebooks/issues/63)) ([de9ed39](https://www.github.com/googleapis/java-notebooks/commit/de9ed3902880434f301c9390525c4f7961d0dacc))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 ([#66](https://www.github.com/googleapis/java-notebooks/issues/66)) ([a836d60](https://www.github.com/googleapis/java-notebooks/commit/a836d60302e658db772978f664166fc30aa28364))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 ([#72](https://www.github.com/googleapis/java-notebooks/issues/72)) ([9715939](https://www.github.com/googleapis/java-notebooks/commit/97159392b65c9d25e0dbef08c7571770e52f0762))

### [0.1.1](https://www.github.com/googleapis/java-notebooks/compare/v0.1.0...v0.1.1) (2020-09-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 ([#38](https://www.github.com/googleapis/java-notebooks/issues/38)) ([0bce20f](https://www.github.com/googleapis/java-notebooks/commit/0bce20f0b3f81c0748ae48e5a9aac398d5085a2a))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.9.0 ([#26](https://www.github.com/googleapis/java-notebooks/issues/26)) ([1f27d56](https://www.github.com/googleapis/java-notebooks/commit/1f27d56cd66a1a025a6de1e6559c3b70e1b3df20))

## 0.1.0 (2020-08-07)


### Features

* initial code generation ([9421a49](https://www.github.com/googleapis/java-notebooks/commit/9421a49e1db1422f1d69c79e362f94ecb69344a5))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.6 ([bb1234f](https://www.github.com/googleapis/java-notebooks/commit/bb1234fc788d1e681b8497cef5e26fc45fe4f53c))
