Skip to content

Commit f525742

Browse files
committed
docs: update changelog for v5 [skip ci]
1 parent 1e78848 commit f525742

1 file changed

Lines changed: 24 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
# Changelog
2-
All notable changes to this project will be documented in this file.
3-
2+
All notable changes to this project will be documented in this file.
3+
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
88

9+
### Breaking Change
10+
11+
### Fixed
12+
13+
### Added
14+
15+
### Changed
16+
17+
## [5.0.0] - 2025-01-13
18+
919
### Breaking Change
1020
- The prebuilt binary is now built with libcurl 8.17.0. Every breaking change introduced by libcurl 8 is also a breaking change for this version.
1121
```
@@ -29,7 +39,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2939
- `CurlSharedError`
3040
These classes extends the `CurlError` class. Previously the addon used to throw only native Javascript errors, such as `Error`, `TypeError`, etc.
3141
The curly related errors also inherit from the `CurlError` class, and do not have a `isCurlError` property anymore.
32-
- Every Easy handle is now initialized with default CA certificates from Node.js's tls module, by using the result of the `getCACertificates` function. This is done using `CURLOPT_CAINFO_BLOB`. This is a breaking change if you were passing custom CA certificates before using `CAINFO`, as `CURLOPT_CAINFO_BLOB` takes priority over it. If that is the case, you can avoid the default behavior by calling `setOpt("CAINFO_BLOB", null)` on the Easy handle. The TLS certificate is loaded into memory once for each JavaScript context.
42+
Any caught error thrown from user callbacks will be added as the `cause` property of the error.
43+
- Every Easy handle is now initialized with default CA certificates from Node.js's tls module, by using the result of the `getCACertificates` function. This is done using `CURLOPT_CAINFO_BLOB`. This is a breaking change if you were passing custom CA certificates before using `CAINFO`, as `CURLOPT_CAINFO_BLOB` takes priority over it. If that is the case, you can avoid the default behavior by calling `setOpt("CAINFO_BLOB", null)` on the Easy handle. The TLS certificate is loaded into memory only once for each JavaScript context.
3344
- `HSTSREADFUNCTION` callback now receives an object with the `maxHostLengthBytes` property, which is the maximum length of the host name that can be returned by the callback.
3445
- The minimum macOS version is now Sonoma (13)
3546
- `Curl.globalCleanup` is a no-op now. The addon will automatically call `curl_global_cleanup` when the process exits. This method will be removed in a future major version.
@@ -40,22 +51,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
4051

4152
### Added
4253
- Prebuilt binaries have HTTP/3 support enabled across all platforms. This is supported by licurl when building with OpenSSL >= 3.5 and nghttp3 [>= 1.66](https://nghttp2.org/blog/2025/06/17/nghttp2-v1-66-0/). To use OpenSSL >= 3.5 a Node.js version >= 22.20.0 is required.
54+
- The addon has been rewritten to use N-API, which will streamline the process of supporting newer Node.js versions in the future.
55+
- The addon is now worker threads safe. See `examples/22-worker-threads.js` for usage example.
4356
- Added native WebSocket support (requires libcurl >= 7.86.0):
4457
- `Easy.wsRecv(buffer)` - Receive WebSocket frames with metadata
4558
- `Easy.wsSend(buffer, flags, fragsize?)` - Send WebSocket frames (text, binary, ping, pong, close)
4659
- `Easy.wsMeta()` - Get WebSocket frame metadata
4760
- `CurlWs` enum for WebSocket frame flags (Text, Binary, Close, Ping, Pong, Cont, Offset)
4861
- `CurlWsOptions` enum for WebSocket options (RawMode, NoAutoPong)
4962
- `CurlWsFrame` interface for frame metadata (age, flags, offset, bytesleft, len)
50-
- Support for CONNECT_ONLY mode with value 2 for WebSocket connections
63+
- Support for `CONNECT_ONLY` mode with value 2 for WebSocket connections
5164
- See `examples/21-websockets-native.js` for usage example
52-
- Added MIME API support for modern multipart form data (replaces deprecated HTTPPOST):
65+
- Added MIME API support for multipart form data (replaces deprecated HTTPPOST):
5366
- `CurlMime` class for creating multipart MIME structures
5467
- `CurlMimePart` class for individual MIME parts
55-
- `Easy.setMimePost(mime)` and `Curl.setMimePost(mime)` methods for setting MIME data
56-
- `curlyMimePost` option for simplified multipart uploads in curly
5768
- `CurlMimeOpt` enum for MIME options (FormEscape)
5869
- Added `CURLOPT_MIME_OPTIONS` and `CURLOPT_MIMEPOST` options
70+
- `Easy.setMimePost(mime)`, `Curl.setMimePost(mime)`, and `curlyMimePost` alternatives for setting MIME data in a structured way.
5971
- See `examples/23-mime-post-easy.js` for usage example
6072
- Added SSH host key verification support (requires libcurl >= 7.84.0):
6173
- `CURLOPT_SSH_HOSTKEYFUNCTION` callback for custom host key verification
@@ -82,7 +94,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
8294
- `CurlCode.CURLE_TOO_LARGE`
8395
- `CurlCode.CURLE_ECH_REQUIRED`
8496
- `CurlSslOpt.Earlydata`
85-
- Added support for the following easy options:
97+
- Added support for the following extra easy options:
8698
- https://curl.se/libcurl/c/CURLOPT_CA_CACHE_TIMEOUT.html
8799
- https://curl.se/libcurl/c/CURLOPT_MAIL_RCPT_ALLOWFAILS.html
88100
- https://curl.se/libcurl/c/CURLOPT_HAPROXY_CLIENT_IP.html
@@ -91,7 +103,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
91103
- https://curl.se/libcurl/c/CURLOPT_TCP_KEEPCNT.html
92104
- https://curl.se/libcurl/c/CURLOPT_UPLOAD_FLAGS.html
93105
- https://curl.se/libcurl/c/CURLOPT_SSL_SIGNATURE_ALGORITHMS.html
94-
- https://curl.se/libcurl/c/CURLOPT_WS_OPTIONS.html
95106
- Added following info options:
96107
- https://curl.se/libcurl/c/CURLINFO_CONN_ID.html
97108
- https://curl.se/libcurl/c/CURLINFO_XFER_ID.html
@@ -490,7 +501,10 @@ Special Thanks to [@koskokos2](https://github.com/koskokos2) for their contribut
490501
- Improved code style, started using prettier
491502
## [1.2.0] - 2017-08-28
492503

493-
[Unreleased]: https://github.com/JCMais/node-libcurl/compare/v3.0.0...HEAD
504+
[Unreleased]: https://github.com/JCMais/node-libcurl/compare/v5.0.0...HEAD
505+
[5.0.0]: https://github.com/JCMais/node-libcurl/compare/v4.1.0...v5.0.0
506+
[4.1.0]: https://github.com/JCMais/node-libcurl/compare/v4.0.0...v4.1.0
507+
[4.0.0]: https://github.com/JCMais/node-libcurl/compare/v3.0.0...v4.0.0
494508
[3.0.0]: https://github.com/JCMais/node-libcurl/compare/v2.3.4...v3.0.0
495509
[2.3.4]: https://github.com/JCMais/node-libcurl/compare/v2.3.3...v2.3.4
496510
[2.3.3]: https://github.com/JCMais/node-libcurl/compare/v2.3.2...v2.3.3

0 commit comments

Comments
 (0)