node/deps/ngtcp2/README.md
James M Snell dceb1fca40 deps: update ngtcp2 to 1.14.0
Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59249
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-08-03 13:48:29 -07:00

55 lines
1.7 KiB
Markdown

# ngtcp2 and nghttp3
The ngtcp2 and nghttp3 dependencies provide the core functionality for
QUIC and HTTP/3.
The sources are pulled from:
* ngtcp2: https://github.com/ngtcp2/ngtcp2
* nghttp3: https://github.com/ngtcp2/nghttp3
In both the `ngtcp2` and `nghttp3` git repos, the active development occurs
in the default branch (currently named `main` in each). Tagged versions do not
always point to the default branch.
We only use a subset of the sources for each.
## Updating
The `nghttp3` library depends on `ngtcp2`. Both should always be updated
together. From `ngtcp2` we only want the contents of the `lib` and `crypto`
directories; from `nghttp3` we only want the contents of the `lib` directory.
After updating either dependency, check if any source files or include
directories have been added or removed and update `ngtcp2.gyp` accordingly.
### Updating ngtcp2
To update ngtcp2, replace `v0.8.1` with the desired git tag:
```sh
$ git clone --depth=1 --branch=v0.8.1 https://github.com/ngtcp2/ngtcp2
$ cd ngtcp2
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/ngtcp2/lib/
$ cp -R crypto/* ../node/deps/ngtcp2/ngtcp2/crypto/
```
Be sure to also update the `ngtcp2.gyp` file to reflect any changes in
the source files or include directories.
### Updating nghttp3
To update nghttp3, replace `v0.7.0` with the desired git tag:
```sh
$ git clone --depth=1 --branch=v0.7.0 https://github.com/ngtcp2/nghttp3
$ cd nghttp3
$ autoreconf -i
$ ./configure --prefix=$PWD/build --enable-lib-only
$ cp -R lib/* ../node/deps/ngtcp2/nghttp3/lib/
```
Be sure to also update the `ngtcp2.gyp` file to reflect any changes in
the source files or include directories.