# Changelog [npm history][1] [1]: https://www.npmjs.com/package/gcp-metadata?activeTab=versions ## [3.5.0](https://www.github.com/googleapis/gcp-metadata/compare/v3.4.0...v3.5.0) (2020-03-03) ### Features * add ECONNREFUSED to list of known errors for isAvailable() ([#309](https://www.github.com/googleapis/gcp-metadata/issues/309)) ([17ff6ea](https://www.github.com/googleapis/gcp-metadata/commit/17ff6ea361d02de31463532d4ab4040bf6276e0b)) ## [3.4.0](https://www.github.com/googleapis/gcp-metadata/compare/v3.3.1...v3.4.0) (2020-02-24) ### Features * significantly increase timeout if GCF environment detected ([#300](https://www.github.com/googleapis/gcp-metadata/issues/300)) ([8e507c6](https://www.github.com/googleapis/gcp-metadata/commit/8e507c645f69a11f508884b3181dc4414e579fcc)) ### [3.3.1](https://www.github.com/googleapis/gcp-metadata/compare/v3.3.0...v3.3.1) (2020-01-30) ### Bug Fixes * **isAvailable:** handle EHOSTDOWN and EHOSTUNREACH error codes ([#291](https://www.github.com/googleapis/gcp-metadata/issues/291)) ([ba8d9f5](https://www.github.com/googleapis/gcp-metadata/commit/ba8d9f50eac6cf8b439c1b66c48ace146c75f6e2)) ## [3.3.0](https://www.github.com/googleapis/gcp-metadata/compare/v3.2.3...v3.3.0) (2019-12-16) ### Features * add environment variable for configuring environment detection ([#275](https://www.github.com/googleapis/gcp-metadata/issues/275)) ([580cfa4](https://www.github.com/googleapis/gcp-metadata/commit/580cfa4a5f5d0041aa09ae85cfc5a4575dd3957f)) * cache response from isAvailable() method ([#274](https://www.github.com/googleapis/gcp-metadata/issues/274)) ([a05e13f](https://www.github.com/googleapis/gcp-metadata/commit/a05e13f1d1d61b1f9b9b1703bc37cdbdc022c93b)) ### Bug Fixes * fastFailMetadataRequest should not reject, if response already happened ([#273](https://www.github.com/googleapis/gcp-metadata/issues/273)) ([a6590c4](https://www.github.com/googleapis/gcp-metadata/commit/a6590c4fd8bc2dff3995c83d4c9175d5bd9f5e4a)) ### [3.2.3](https://www.github.com/googleapis/gcp-metadata/compare/v3.2.2...v3.2.3) (2019-12-12) ### Bug Fixes * **deps:** pin TypeScript below 3.7.0 ([e4bf622](https://www.github.com/googleapis/gcp-metadata/commit/e4bf622e6654a51ddffc0921a15250130591db2f)) ### [3.2.2](https://www.github.com/googleapis/gcp-metadata/compare/v3.2.1...v3.2.2) (2019-11-13) ### Bug Fixes * **docs:** add jsdoc-region-tag plugin ([#264](https://www.github.com/googleapis/gcp-metadata/issues/264)) ([af8362b](https://www.github.com/googleapis/gcp-metadata/commit/af8362b5a35d270af00cb3696bbf7344810e9b0c)) ### [3.2.1](https://www.github.com/googleapis/gcp-metadata/compare/v3.2.0...v3.2.1) (2019-11-08) ### Bug Fixes * **deps:** update gaxios ([#257](https://www.github.com/googleapis/gcp-metadata/issues/257)) ([ba6e0b6](https://www.github.com/googleapis/gcp-metadata/commit/ba6e0b668635b4aa4ed10535ff021c02b2edf5ea)) ## [3.2.0](https://www.github.com/googleapis/gcp-metadata/compare/v3.1.0...v3.2.0) (2019-10-10) ### Features * add DEBUG_AUTH for digging into authentication issues ([#254](https://www.github.com/googleapis/gcp-metadata/issues/254)) ([804156d](https://www.github.com/googleapis/gcp-metadata/commit/804156d)) ## [3.1.0](https://www.github.com/googleapis/gcp-metadata/compare/v3.0.0...v3.1.0) (2019-10-07) ### Features * don't throw on ENETUNREACH ([#250](https://www.github.com/googleapis/gcp-metadata/issues/250)) ([88f2101](https://www.github.com/googleapis/gcp-metadata/commit/88f2101)) ## [3.0.0](https://www.github.com/googleapis/gcp-metadata/compare/v2.0.4...v3.0.0) (2019-09-17) ### ⚠ BREAKING CHANGES * isAvailable now tries both DNS and IP, choosing whichever responds first (#239) ### Features * isAvailable now tries both DNS and IP, choosing whichever responds first ([#239](https://www.github.com/googleapis/gcp-metadata/issues/239)) ([25bc116](https://www.github.com/googleapis/gcp-metadata/commit/25bc116)) ### [2.0.4](https://www.github.com/googleapis/gcp-metadata/compare/v2.0.3...v2.0.4) (2019-09-13) ### Bug Fixes * IP address takes 15 seconds to timeout, vs., metadata returning immediately ([#235](https://www.github.com/googleapis/gcp-metadata/issues/235)) ([d04207b](https://www.github.com/googleapis/gcp-metadata/commit/d04207b)) * use 3s timeout rather than 15 default ([#237](https://www.github.com/googleapis/gcp-metadata/issues/237)) ([231ca5c](https://www.github.com/googleapis/gcp-metadata/commit/231ca5c)) ### [2.0.3](https://www.github.com/googleapis/gcp-metadata/compare/v2.0.2...v2.0.3) (2019-09-12) ### Bug Fixes * use IP for metadata server ([#233](https://www.github.com/googleapis/gcp-metadata/issues/233)) ([20a15cb](https://www.github.com/googleapis/gcp-metadata/commit/20a15cb)) ### [2.0.2](https://www.github.com/googleapis/gcp-metadata/compare/v2.0.1...v2.0.2) (2019-08-26) ### Bug Fixes * allow calls with no request, add JSON proto ([#224](https://www.github.com/googleapis/gcp-metadata/issues/224)) ([dc758b1](https://www.github.com/googleapis/gcp-metadata/commit/dc758b1)) ### [2.0.1](https://www.github.com/googleapis/gcp-metadata/compare/v2.0.0...v2.0.1) (2019-06-26) ### Bug Fixes * **docs:** make anchors work in jsdoc ([#212](https://www.github.com/googleapis/gcp-metadata/issues/212)) ([9174b43](https://www.github.com/googleapis/gcp-metadata/commit/9174b43)) ## [2.0.0](https://www.github.com/googleapis/gcp-metadata/compare/v1.0.0...v2.0.0) (2019-05-07) ### Bug Fixes * **deps:** update dependency gaxios to v2 ([#191](https://www.github.com/googleapis/gcp-metadata/issues/191)) ([ac8c1ef](https://www.github.com/googleapis/gcp-metadata/commit/ac8c1ef)) ### Build System * upgrade engines field to >=8.10.0 ([#194](https://www.github.com/googleapis/gcp-metadata/issues/194)) ([97c23c8](https://www.github.com/googleapis/gcp-metadata/commit/97c23c8)) ### BREAKING CHANGES * upgrade engines field to >=8.10.0 (#194) ## v1.0.0 02-14-2019 16:00 PST ### Bug Fixes - fix: ask gaxios for text and not json ([#152](https://github.com/googleapis/gcp-metadata/pull/152)) ### Documentation - docs: update links in contrib guide ([#168](https://github.com/googleapis/gcp-metadata/pull/168)) - docs: add lint/fix example to contributing guide ([#160](https://github.com/googleapis/gcp-metadata/pull/160)) ### Internal / Testing Changes - build: use linkinator for docs test ([#166](https://github.com/googleapis/gcp-metadata/pull/166)) - chore(deps): update dependency @types/tmp to v0.0.34 ([#167](https://github.com/googleapis/gcp-metadata/pull/167)) - build: create docs test npm scripts ([#165](https://github.com/googleapis/gcp-metadata/pull/165)) - test: run system tests on GCB ([#157](https://github.com/googleapis/gcp-metadata/pull/157)) - build: test using @grpc/grpc-js in CI ([#164](https://github.com/googleapis/gcp-metadata/pull/164)) - chore: move CONTRIBUTING.md to root ([#162](https://github.com/googleapis/gcp-metadata/pull/162)) - chore(deps): update dependency gcx to v0.1.1 ([#159](https://github.com/googleapis/gcp-metadata/pull/159)) - chore(deps): update dependency gcx to v0.1.0 ([#158](https://github.com/googleapis/gcp-metadata/pull/158)) - chore(deps): update dependency gcx to v0.0.4 ([#155](https://github.com/googleapis/gcp-metadata/pull/155)) - chore(deps): update dependency googleapis to v37 ([#156](https://github.com/googleapis/gcp-metadata/pull/156)) - build: ignore googleapis.com in doc link check ([#153](https://github.com/googleapis/gcp-metadata/pull/153)) - build: check broken links in generated docs ([#149](https://github.com/googleapis/gcp-metadata/pull/149)) - chore(build): inject yoshi automation key ([#148](https://github.com/googleapis/gcp-metadata/pull/148)) ## v0.9.3 12-10-2018 16:16 PST ### Dependencies - chore(deps): update dependency googleapis to v36 ([#135](https://github.com/googleapis/gcp-metadata/pull/135)) - chore(deps): use gaxios for http requests ([#121](https://github.com/googleapis/gcp-metadata/pull/121)) - chore(deps): update dependency gts to ^0.9.0 ([#123](https://github.com/googleapis/gcp-metadata/pull/123)) ### Internal / Testing Changes - fix(build): fix Kokoro release script ([#141](https://github.com/googleapis/gcp-metadata/pull/141)) - Release v0.9.2 ([#140](https://github.com/googleapis/gcp-metadata/pull/140)) - build: add Kokoro configs for autorelease ([#138](https://github.com/googleapis/gcp-metadata/pull/138)) - Release gcp-metadata v0.9.1 ([#139](https://github.com/googleapis/gcp-metadata/pull/139)) - chore: always nyc report before calling codecov ([#134](https://github.com/googleapis/gcp-metadata/pull/134)) - chore: nyc ignore build/test by default ([#133](https://github.com/googleapis/gcp-metadata/pull/133)) - Sync repo build files ([#131](https://github.com/googleapis/gcp-metadata/pull/131)) - fix(build): fix system key decryption ([#128](https://github.com/googleapis/gcp-metadata/pull/128)) - refactor: use execa, move post install test to system ([#127](https://github.com/googleapis/gcp-metadata/pull/127)) - chore: add a synth.metadata - test: add a system test ([#126](https://github.com/googleapis/gcp-metadata/pull/126)) - chore: update eslintignore config ([#122](https://github.com/googleapis/gcp-metadata/pull/122)) - chore: use latest npm on Windows ([#120](https://github.com/googleapis/gcp-metadata/pull/120)) - chore: update CircleCI config ([#119](https://github.com/googleapis/gcp-metadata/pull/119)) - chore: include build in eslintignore ([#115](https://github.com/googleapis/gcp-metadata/pull/115)) ## v0.9.2 12-10-2018 14:01 PST - chore(deps): update dependency googleapis to v36 ([#135](https://github.com/googleapis/gcp-metadata/pull/135)) - chore: always nyc report before calling codecov ([#134](https://github.com/googleapis/gcp-metadata/pull/134)) - chore: nyc ignore build/test by default ([#133](https://github.com/googleapis/gcp-metadata/pull/133)) - chore: Re-generated to pick up changes in the API or client library generator. ([#131](https://github.com/googleapis/gcp-metadata/pull/131)) - fix(build): fix system key decryption ([#128](https://github.com/googleapis/gcp-metadata/pull/128)) - chore(deps): use gaxios for http requests ([#121](https://github.com/googleapis/gcp-metadata/pull/121)) - refactor: use execa, move post install test to system ([#127](https://github.com/googleapis/gcp-metadata/pull/127)) - chore: add a synth.metadata - test: add a system test ([#126](https://github.com/googleapis/gcp-metadata/pull/126)) - chore(deps): update dependency gts to ^0.9.0 ([#123](https://github.com/googleapis/gcp-metadata/pull/123)) - chore: update eslintignore config ([#122](https://github.com/googleapis/gcp-metadata/pull/122)) - chore: use latest npm on Windows ([#120](https://github.com/googleapis/gcp-metadata/pull/120)) - chore: update CircleCI config ([#119](https://github.com/googleapis/gcp-metadata/pull/119)) - chore: include build in eslintignore ([#115](https://github.com/googleapis/gcp-metadata/pull/115)) - build: add Kokoro configs for autorelease ([#138](https://github.com/googleapis/gcp-metadata/pull/138)) ## v0.9.1 12-10-2018 11:53 PST - chore(deps): update dependency googleapis to v36 ([#135](https://github.com/googleapis/gcp-metadata/pull/135)) - chore: always nyc report before calling codecov ([#134](https://github.com/googleapis/gcp-metadata/pull/134)) - chore: nyc ignore build/test by default ([#133](https://github.com/googleapis/gcp-metadata/pull/133)) - chore: Re-generated to pick up changes in the API or client library generator. ([#131](https://github.com/googleapis/gcp-metadata/pull/131)) - fix(build): fix system key decryption ([#128](https://github.com/googleapis/gcp-metadata/pull/128)) - chore(deps): use gaxios for http requests ([#121](https://github.com/googleapis/gcp-metadata/pull/121)) - refactor: use execa, move post install test to system ([#127](https://github.com/googleapis/gcp-metadata/pull/127)) - chore: add a synth.metadata - test: add a system test ([#126](https://github.com/googleapis/gcp-metadata/pull/126)) - chore(deps): update dependency gts to ^0.9.0 ([#123](https://github.com/googleapis/gcp-metadata/pull/123)) - chore: update eslintignore config ([#122](https://github.com/googleapis/gcp-metadata/pull/122)) - chore: use latest npm on Windows ([#120](https://github.com/googleapis/gcp-metadata/pull/120)) - chore: update CircleCI config ([#119](https://github.com/googleapis/gcp-metadata/pull/119)) - chore: include build in eslintignore ([#115](https://github.com/googleapis/gcp-metadata/pull/115)) ## v0.9.0 10-26-2018 13:10 PDT - feat: allow custom headers ([#109](https://github.com/googleapis/gcp-metadata/pull/109)) - chore: update issue templates ([#108](https://github.com/googleapis/gcp-metadata/pull/108)) - chore: remove old issue template ([#106](https://github.com/googleapis/gcp-metadata/pull/106)) - build: run tests on node11 ([#105](https://github.com/googleapis/gcp-metadata/pull/105)) - chores(build): do not collect sponge.xml from windows builds ([#104](https://github.com/googleapis/gcp-metadata/pull/104)) - chores(build): run codecov on continuous builds ([#102](https://github.com/googleapis/gcp-metadata/pull/102)) - chore(deps): update dependency nock to v10 ([#103](https://github.com/googleapis/gcp-metadata/pull/103)) - chore: update new issue template ([#101](https://github.com/googleapis/gcp-metadata/pull/101)) - build: fix codecov uploading on Kokoro ([#97](https://github.com/googleapis/gcp-metadata/pull/97)) - Update kokoro config ([#95](https://github.com/googleapis/gcp-metadata/pull/95)) - Update CI config ([#93](https://github.com/googleapis/gcp-metadata/pull/93)) - Update kokoro config ([#91](https://github.com/googleapis/gcp-metadata/pull/91)) - Re-generate library using /synth.py ([#90](https://github.com/googleapis/gcp-metadata/pull/90)) - test: remove appveyor config ([#89](https://github.com/googleapis/gcp-metadata/pull/89)) - Update kokoro config ([#88](https://github.com/googleapis/gcp-metadata/pull/88)) - Enable prefer-const in the eslint config ([#87](https://github.com/googleapis/gcp-metadata/pull/87)) - Enable no-var in eslint ([#86](https://github.com/googleapis/gcp-metadata/pull/86)) ### New Features A new option, `headers`, has been added to allow metadata queries to be sent with custom headers. ## v0.8.0 **This release has breaking changes**. Please take care when upgrading to the latest version. #### Dropped support for Node.js 4.x and 9.x This library is no longer tested against versions 4.x and 9.x of Node.js. Please upgrade to the latest supported LTS version! #### Return type of `instance()` and `project()` has changed The `instance()` and `project()` methods are much more selective about which properties they will accept. The only accepted properties are `params` and `properties`. The `instance()` and `project()` methods also now directly return the data instead of a response object. #### Changes in how large number valued properties are handled Previously large number-valued properties were being silently losing precision when returned by this library (as a number). In the cases where a number valued property returned by the metadata service is too large to represent as a JavaScript number, we will now return the value as a BigNumber (from the bignumber.js) library. Numbers that do fit into the JavaScript number range will continue to be returned as numbers. For more details see [#74](https://github.com/googleapis/gcp-metadata/pull/74). ### Breaking Changes - chore: drop support for node.js 4 and 9 ([#68](https://github.com/googleapis/gcp-metadata/pull/68)) - fix: quarantine axios config ([#62](https://github.com/googleapis/gcp-metadata/pull/62)) ### Implementation Changes - fix: properly handle large numbers in responses ([#74](https://github.com/googleapis/gcp-metadata/pull/74)) ### Dependencies - chore(deps): update dependency pify to v4 ([#73](https://github.com/googleapis/gcp-metadata/pull/73)) ### Internal / Testing Changes - Move to the new github org ([#84](https://github.com/googleapis/gcp-metadata/pull/84)) - Update CI config ([#83](https://github.com/googleapis/gcp-metadata/pull/83)) - Retry npm install in CI ([#81](https://github.com/googleapis/gcp-metadata/pull/81)) - Update CI config ([#79](https://github.com/googleapis/gcp-metadata/pull/79)) - chore(deps): update dependency nyc to v13 ([#77](https://github.com/googleapis/gcp-metadata/pull/77)) - add key for system tests - increase kitchen test timeout - add a lint npm script - update npm scripts - add a synth file and run it ([#75](https://github.com/googleapis/gcp-metadata/pull/75)) - chore(deps): update dependency assert-rejects to v1 ([#72](https://github.com/googleapis/gcp-metadata/pull/72)) - chore: ignore package-log.json ([#71](https://github.com/googleapis/gcp-metadata/pull/71)) - chore: update renovate config ([#70](https://github.com/googleapis/gcp-metadata/pull/70)) - test: throw on deprecation - chore(deps): update dependency typescript to v3 ([#67](https://github.com/googleapis/gcp-metadata/pull/67)) - chore: make it OSPO compliant ([#66](https://github.com/googleapis/gcp-metadata/pull/66)) - chore(deps): update dependency gts to ^0.8.0 ([#65](https://github.com/googleapis/gcp-metadata/pull/65))