Skip to content

Commit ad60b62

Browse files
committed
Version 1.0.0.
1 parent 210bd6b commit ad60b62

1 file changed

Lines changed: 97 additions & 0 deletions

File tree

CHANGES

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,100 @@
1+
Changes with njs 1.0.0 23 Jun 2026
2+
3+
nginx modules:
4+
5+
*) Improvement: aligned HTTP, Stream, and Fetch exception classes
6+
between the njs and QuickJS engines. API misuse is now reported
7+
as TypeError and status bounds violations as RangeError.
8+
9+
*) Improvement: rejected unsafe request targets, methods, and header
10+
values in ngx.fetch() before request serialization.
11+
12+
*) Bugfix: fixed a heap use-after-free in r.subrequest() when the
13+
client closed the connection before the background subrequest
14+
completed. The issue was introduced in 75d6b61 (0.9.5).
15+
This closes #1077 issue on Github.
16+
17+
*) Bugfix: fixed a worker segfault while reading a request header
18+
that nginx registers without a dedicated slot, such as
19+
"Proxy-Connection", via r.headersIn.
20+
This closes #1071 issue on Github.
21+
22+
*) Bugfix: excluded unverified-TLS and dynamic-proxy connections
23+
from the ngx.fetch() keepalive cache and validated cached
24+
connections before reuse.
25+
26+
*) Bugfix: fixed Content-Length truncation for very large request
27+
bodies and a missing CONNECT terminator for proxies configured
28+
without credentials in ngx.fetch().
29+
30+
*) Bugfix: fixed leaks of promises, events, and init property values
31+
on ngx.fetch() failure paths in the QuickJS engine.
32+
33+
*) Bugfix: fixed missing fetch event cleanup when the resolver
34+
failed to start.
35+
36+
*) Bugfix: fixed an out-of-bounds read of a short fetch proxy URL.
37+
38+
*) Bugfix: fixed request body truncation in r.readRequestJSON() for
39+
bodies containing invalid UTF-8 in the QuickJS engine.
40+
41+
*) Bugfix: fixed an out-of-bounds read while loading a shared
42+
dictionary state file.
43+
44+
*) Bugfix: set a pending exception when sendHeader(), send(), and
45+
finish() fail in the njs HTTP handlers.
46+
47+
*) Bugfix: fixed the variable value state after a stream variable
48+
storage allocation failure.
49+
50+
Core:
51+
52+
*) Improvement: bounded string-producing chained-buffer growth, so
53+
that exceeding the maximum string length raises a catchable
54+
RangeError("invalid string length") instead of exhausting worker
55+
memory.
56+
57+
*) Improvement: aligned built-in exception classes (XML, console,
58+
TextEncoder, TextDecoder, Buffer, fs.Stats) between the
59+
njs and QuickJS engines.
60+
61+
*) Bugfix: fixed an infinite loop while inflating a zlib stream
62+
that requires a dictionary in the QuickJS engine.
63+
64+
*) Bugfix: fixed an infinite loop in Buffer.prototype.fill() with
65+
a zero-length typed array source.
66+
67+
*) Bugfix: fixed a use-after-free in Array.prototype.sort() when a
68+
getter invoked for a hole grows the array.
69+
70+
*) Bugfix: fixed type confusion in Buffer.concat() when a list
71+
element getter returns a typed array during validation but not
72+
during the copy.
73+
74+
*) Bugfix: fixed an out-of-bounds access in the variable-length
75+
Buffer readInt/writeInt methods with a zero byteLength.
76+
77+
*) Bugfix: fixed an out-of-bounds read in Buffer.prototype.toString()
78+
when start was greater than end.
79+
80+
*) Bugfix: fixed Array.prototype.slice() of large arrays returning
81+
wrong results in the non-fast keys path.
82+
83+
*) Bugfix: fixed the typed array constructor, slice(), toReversed(),
84+
and toSorted() ignoring the source view byte offset in the
85+
same-type fast path.
86+
87+
*) Bugfix: fixed Buffer allocation length checks for lengths greater
88+
than or equal to 2^32 on 32-bit platforms.
89+
90+
*) Bugfix: fixed the Buffer.from() typed-array source offset for
91+
multi-byte element types in the QuickJS engine.
92+
93+
*) Bugfix: fixed Buffer float access alignment.
94+
95+
*) Bugfix: fixed an out-of-bounds read in a parser string escape
96+
lookahead.
97+
198
Changes with njs 0.9.9 19 May 2026
299

3100
nginx modules:

0 commit comments

Comments
 (0)