Files
renovate[bot] 64b5e0ba5b chore(deps): update dependency got to v16 (#4305)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [got](https://redirect.github.com/sindresorhus/got) | [`15.1.0` →
`16.0.0`](https://renovatebot.com/diffs/npm/got/15.1.0/16.0.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/got/16.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/got/15.1.0/16.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>sindresorhus/got (got)</summary>

###
[`v16.0.0`](https://redirect.github.com/sindresorhus/got/releases/tag/v16.0.0)

[Compare
Source](https://redirect.github.com/sindresorhus/got/compare/v15.1.0...v16.0.0)

#### Breaking changes

- Rewrite HTTP/2 support and drop the `http2-wrapper` dependency
([#&#8203;2464](https://redirect.github.com/sindresorhus/got/issues/2464))
[`1e157c4`](https://redirect.github.com/sindresorhus/got/commit/1e157c4)
- Got now has a built-in HTTP/2 client: ALPN negotiation, a pooled
session cache with multiplexing, `GOAWAY` retirement, request and
response trailers, informational (1xx) responses, abort signals,
response caching, IPv6 authorities, and `h2c` through `h2session`.
- `agent.http2` is no longer an agent slot. It is only an opt-out flag
now: pass `false` to skip session pooling. Passing an agent instance
throws.
- Response headers no longer contain HTTP/2 pseudo-headers. Use
`response.statusCode` instead of `response.headers[':status']`.
- A custom `agent.https` combined with `http2: true` makes Got use the
native HTTP/1.1 path, because the built-in session pool does not support
custom HTTPS agents.
- HTTP/2 proxy support is gone. It came from `http2-wrapper`. It was
very buggy anyway.
- If `options.request` returns a request or response, it controls the
transport and the HTTP/2 client is bypassed. Return `undefined` to fall
back to Got's own transport.
- Rewrite DNS cache and drop the `cacheable-lookup` dependency
([#&#8203;2463](https://redirect.github.com/sindresorhus/got/issues/2463))
[`bfc400b`](https://redirect.github.com/sindresorhus/got/commit/bfc400b)
- `dnsCache: true` now uses Got's own cache. The option accepts any
object with a `lookup` function and an optional `clear(hostname?)`
function, so an existing `CacheableLookup` instance still works if you
keep the dependency yourself.
- The built-in cache resolves A and AAAA records separately, so it
cannot preserve OS-specific `verbatim` address ordering from
`dns.lookup()`.
- A `beforeRequest` hook, an `afterResponse` retry, or a pagination step
that moves the request to a different origin now strips credentials and
drops the body
([#&#8203;2465](https://redirect.github.com/sindresorhus/got/issues/2465))
[`dd3b295`](https://redirect.github.com/sindresorhus/got/commit/dd3b295)
- `authorization`, `cookie`, `cookie2`, `host`, and
`proxy-authorization` are removed, URL credentials are dropped, and an
unchanged body is cleared. Set the headers or body explicitly inside the
hook if you want them to cross the origin boundary.
- This applies whether the origin changes through `url` or through
`prefixUrl`.
- `copyPipedHeaders` no longer copies credentials
[`1d233ba`](https://redirect.github.com/sindresorhus/got/commit/1d233ba)
- `authorization`, `cookie`, `cookie2`, `set-cookie`, and `set-cookie2`
are now omitted along with `host`, the hop-by-hop headers, and anything
nominated by `Connection` / `Proxy-Connection`. Pass credentials
explicitly in `headers` when the upstream is trusted.
- Remove the deprecated `searchParameters`, `followRedirects`, and
`auth` option stubs
[`1d233ba`](https://redirect.github.com/sindresorhus/got/commit/1d233ba)
- They only existed to throw a guidance message. Passing them now throws
`Unexpected option: …`.
- Remove the `OptionsOfUnknownResponseBody` type
[`1d233ba`](https://redirect.github.com/sindresorhus/got/commit/1d233ba)
  - It was a pure alias for `StrictOptions`.

#### Improvements

- Add support for the
[`QUERY`](https://www.rfc-editor.org/rfc/rfc10008.html) HTTP method
([#&#8203;2466](https://redirect.github.com/sindresorhus/got/issues/2466))
[`e3924aa`](https://redirect.github.com/sindresorhus/got/commit/e3924aa)
- Adds `got.query()` and `got.stream.query()`. `QUERY` is safe and
idempotent, so it is retried by default and keeps a replayable body
across `301` and `302` redirects as well as `307` and `308`. It is not
stored by the built-in cache, because correct `QUERY` caching needs
cache keys that include the request content.
- `allowGetBody` now also works over HTTP/2
[`1e157c4`](https://redirect.github.com/sindresorhus/got/commit/1e157c4)
- `timeout.socket` now applies during HTTP/2 TLS negotiation and session
setup
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- It was previously folded into the connection setup timeout and
reported as a `request` timeout. It now produces a real `socket` timeout
and no longer counts DNS lookup time.
- Two fewer dependencies: `cacheable-lookup` and `http2-wrapper`
[`bfc400b`](https://redirect.github.com/sindresorhus/got/commit/bfc400b)
[`1e157c4`](https://redirect.github.com/sindresorhus/got/commit/1e157c4)

#### Fixes

- Retry on connection errors reported by `request.end()` instead of
failing the request
([#&#8203;2470](https://redirect.github.com/sindresorhus/got/issues/2470))
[`67919b2`](https://redirect.github.com/sindresorhus/got/commit/67919b2)
- Retry immediately when the server answers with `Retry-After: 0`
instead of falling back to the backoff delay
([#&#8203;2471](https://redirect.github.com/sindresorhus/got/issues/2471))
[`d35ce87`](https://redirect.github.com/sindresorhus/got/commit/d35ce87)
- Preserve the response body when a cookie jar write throws
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- `error.response.body` is now complete, decompressed, and decoded with
the configured `encoding`, and a decoding failure no longer masks the
original error.
- Wait for async cookie jar writes on terminal redirect responses, for
example with `followRedirect: false`
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- Only buffer the response body for cookie handling when the response
actually sends `set-cookie`
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- Fix `got.stream` finalizing the response before the `response` event
and before piped server response headers are set
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- Fix `strictContentLength` counting bytes from responses that were not
actually decompressed
[`c6bbb8a`](https://redirect.github.com/sindresorhus/got/commit/c6bbb8a)
- Freeze `hooks.beforeCache` along with the other hook arrays on
non-mutable defaults
[`1d233ba`](https://redirect.github.com/sindresorhus/got/commit/1d233ba)
- Keep URL credentials when `prefixUrl` is changed to a same-origin
value, and treat credentials in `prefixUrl` as explicit
[`dd3b295`](https://redirect.github.com/sindresorhus/got/commit/dd3b295)

#### Migration guide

##### HTTP/2

Remove `http2-wrapper` from your code. Got's HTTP/2 client is built in.

**Before:**

```js
import http2wrapper from 'http2-wrapper';

const {headers} = await got(url, {
	http2: true,
	request: http2wrapper.auto,
	agent: {
		http2: new http2wrapper.Agent()
	}
});

console.log(headers[':status']);
```

**After:**

```js
const {statusCode} = await got(url, {http2: true});

console.log(statusCode);
```

To opt out of HTTP/2 session pooling for a request, set `agent.http2` to
`false`.

If you need an HTTP/2 proxy, keep using `http2-wrapper` through the
`request` option. Returning a request from `request` bypasses Got's
HTTP/2 client.

##### `h2c`

The `h2session` hook example no longer needs `request` or `http2`.

**Before:**

```js
import http2 from 'http2-wrapper';

got.extend({
	hooks: {
		beforeRequest: [
			options => {
				options.h2session = getSession(options.url);
				options.http2 = true;
				options.request = http2.request;
			}
		]
	}
});
```

**After:**

```js
got.extend({
	hooks: {
		beforeRequest: [
			options => {
				options.h2session = getSession(options.url);
			}
		]
	}
});
```

##### `dnsCache`

`dnsCache: true` keeps working and now uses Got's built-in cache. If you
depend on `cacheable-lookup` specific options, install it yourself and
pass the instance:

```js
import CacheableLookup from 'cacheable-lookup';

const dnsCache = new CacheableLookup({maxTtl: 60});

await got(url, {dnsCache});
```

##### Cross-origin hooks

If a `beforeRequest` hook, an `afterResponse` retry, or a pagination
step sends the request to a different origin, set the headers and body
you want to keep explicitly:

```js
got.extend({
	hooks: {
		beforeRequest: [
			options => {
				options.url = new URL('https://other.example.com/path');
				options.headers.authorization = 'Bearer …';
			}
		]
	}
});
```

##### `copyPipedHeaders`

Credentials are no longer forwarded from a piped request. Pass them
explicitly when the upstream is trusted:

```js
got.stream(url, {
	copyPipedHeaders: true,
	headers: {
		authorization: request.headers.authorization
	}
});
```

***

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/semantic-release/semantic-release).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43OS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-14 14:56:25 +00:00

172 lines
4.4 KiB
JSON

{
"name": "semantic-release",
"description": "Automated semver compliant package publishing",
"version": "0.0.0-development",
"type": "module",
"author": "Stephan Bönnemann <stephan@boennemann.me> (http://boennemann.me)",
"ava": {
"files": [
"test/**/*.test.js",
"!test/integration.test.js",
"!test/e2e.test.js"
],
"nodeArguments": [
"--no-warnings"
],
"timeout": "2m"
},
"bin": {
"semantic-release": "bin/semantic-release.js"
},
"bugs": {
"url": "https://github.com/semantic-release/semantic-release/issues"
},
"contributors": [
"Gregor Martynus (https://twitter.com/gr2m)",
"Pierre Vanduynslager (https://twitter.com/@pvdlg_)",
"Matt Travi <npm@travi.org> (https://matt.travi.org/)"
],
"dependencies": {
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/error": "^4.0.0",
"@semantic-release/github": "^12.0.0",
"@semantic-release/npm": "^13.1.1",
"@semantic-release/release-notes-generator": "^14.1.0",
"aggregate-error": "^5.0.0",
"cosmiconfig": "^9.0.0",
"debug": "^4.0.0",
"env-ci": "^11.0.0",
"execa": "^9.0.0",
"figures": "^6.0.0",
"find-versions": "^6.0.0",
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^4.0.0",
"hosted-git-info": "^9.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
"marked": "^15.0.0",
"marked-terminal": "^7.3.0",
"micromatch": "^4.0.2",
"p-each-series": "^3.0.0",
"p-reduce": "^3.0.0",
"read-package-up": "^12.0.0",
"resolve-from": "^5.0.0",
"semver": "^7.3.2",
"signale": "^1.2.1",
"yargs": "^18.0.0"
},
"devDependencies": {
"@types/node": "24.13.4",
"@types/signale": "1.4.7",
"ava": "8.0.1",
"c8": "12.0.0",
"clear-module": "4.1.3",
"cz-conventional-changelog": "3.3.0",
"file-url": "4.0.0",
"fs-extra": "11.4.0",
"got": "16.0.0",
"js-yaml": "4.3.2",
"lockfile-lint": "5.0.1",
"ls-engines": "0.10.1",
"mockserver-client": "7.6.0",
"nock": "14.0.17",
"npm-run-all2": "9.0.3",
"p-retry": "8.0.1",
"prettier": "3.8.5",
"publint": "0.3.24",
"sinon": "22.1.0",
"stream-buffers": "3.0.3",
"tempy": "3.2.0",
"testcontainers": "12.1.0",
"testdouble": "3.20.2"
},
"engines": {
"node": "^22.14.0 || >= 24.10.0"
},
"files": [
"bin",
"docs",
"lib",
"index.d.ts",
"index.js",
"cli.js"
],
"homepage": "https://github.com/semantic-release/semantic-release#readme",
"keywords": [
"author",
"automation",
"changelog",
"module",
"package",
"publish",
"release",
"semver",
"version"
],
"license": "MIT",
"main": "./index.js",
"types": "index.d.ts",
"c8": {
"include": [
"lib/**/*.js",
"index.js",
"cli.js"
],
"reporter": [
"json",
"text",
"html"
],
"all": true
},
"lockfile-lint": {
"path": "package-lock.json",
"type": "npm",
"validate-https": true,
"allowed-hosts": [
"npm"
]
},
"prettier": {
"printWidth": 120,
"trailingComma": "es5"
},
"publishConfig": {
"access": "public",
"provenance": true
},
"repository": {
"type": "git",
"url": "git+https://github.com/semantic-release/semantic-release.git"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"scripts": {
"lint:prettier": "prettier --check \"*.{js,json,md}\" \".github/**/*.{md,yml}\" \"{bin,lib,test}/**/*.js\"",
"lint:prettier:fix": "prettier --write \"*.{js,json,md}\" \".github/**/*.{md,yml}\" \"{bin,lib,test}/**/*.js\"",
"lint:lockfile": "lockfile-lint",
"lint:engines": "ls-engines",
"lint:publish": "publint --strict",
"semantic-release": "./bin/semantic-release.js",
"test": "npm-run-all --print-label --parallel lint:* --serial test:*",
"test:unit": "c8 ava --verbose",
"test:integration": "ava --verbose test/integration.test.js",
"test:e2e": "ava --verbose test/e2e.test.js"
},
"renovate": {
"extends": [
"github>semantic-release/.github:renovate-config"
],
"docker-compose": {
"managerFilePatterns": [
"/(^|/)e2e\\.compose\\.ya?ml$/"
]
}
},
"packageManager": "npm@12.0.2+sha512.b885e890b9418fa1693544d05f53e64f9a73ec194837d4258b15fecdd692347b1dd2a517b1b0cbaf9d31cd8e92c3b70956bd2ecc72833a57b4b3098f5bfa7943"
}