You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+24-10Lines changed: 24 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,21 @@
1
1
# 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
+
4
4
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
7
7
## [Unreleased]
8
8
9
+
### Breaking Change
10
+
11
+
### Fixed
12
+
13
+
### Added
14
+
15
+
### Changed
16
+
17
+
## [5.0.0] - 2025-01-13
18
+
9
19
### Breaking Change
10
20
- 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.
11
21
```
@@ -29,7 +39,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
29
39
-`CurlSharedError`
30
40
These classes extends the `CurlError` class. Previously the addon used to throw only native Javascript errors, such as `Error`, `TypeError`, etc.
31
41
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.
33
44
-`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.
34
45
- The minimum macOS version is now Sonoma (13)
35
46
-`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.
40
51
41
52
### Added
42
53
- 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.
43
56
- Added native WebSocket support (requires libcurl >= 7.86.0):
44
57
-`Easy.wsRecv(buffer)` - Receive WebSocket frames with metadata
0 commit comments