Skip to content

Commit 1a33511

Browse files
committed
Add 1.34.0 release page
Signed-off-by: Andrew Clayton <[email protected]>
1 parent 2a3ffac commit 1a33511

File tree

2 files changed

+168
-0
lines changed

2 files changed

+168
-0
lines changed

source/news/2024/index.rst

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ News of 2024
44

55
News archive for the year 2024.
66

7+
.. nxt_news_entry::
8+
:author: Unit Team
9+
:description: Version 1.34.0 includes three new configuration options and a
10+
CLI tool.
11+
12+
:title: Unit 1.34.0 Released
13+
:url: news/2024/unit-1.34.0-released
14+
:date: 2024-12-19
15+
716
.. nxt_news_entry::
817
:author: Unit Team
918
:description: Version 1.33.0 includes three new configuration options and a CLI tool.
+159
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
:orphan:
2+
3+
####################
4+
Unit 1.34.0 Released
5+
####################
6+
7+
We are pleased to announce the release of NGINX Unit 1.34.0. This release
8+
includes a number of new features and changes:
9+
10+
**************************
11+
JSON formatted access logs
12+
**************************
13+
14+
This release introduces the ability to specify a JSON format for access logs.
15+
16+
When defining an access log you can specify 'format' as an object defining
17+
JSON field name/value pairs, e.g.
18+
19+
.. code-block:: json
20+
21+
{
22+
"access_log": {
23+
"path": "/tmp/access.log",
24+
"format": {
25+
"remote_addr": "$remote_addr",
26+
"time_local": "$time_local",
27+
"request_line": "$request_line",
28+
"status": "$status",
29+
"body_bytes_sent": "$body_bytes_sent",
30+
"header_referer": "$header_referer",
31+
"header_user_agent": "$header_user_agent"
32+
}
33+
}
34+
}
35+
36+
The JSON *values* support being strings, variables and JavaScript.
37+
38+
********************
39+
OpenTelemetry (OTEL)
40+
********************
41+
42+
This release includes initial support for OpenTelemtry (OTEL)
43+
<https://opentelemetry.io/>
44+
45+
This support has been added via the OpenTelemetry Rust SDK and as such
46+
requires cargo/rust to build.
47+
48+
An example configuration looks like
49+
50+
.. code-block:: json
51+
52+
{
53+
"listeners": {
54+
"[::1]:8080": {
55+
"pass": "routes"
56+
}
57+
},
58+
59+
"settings": {
60+
"telemetry": {
61+
"batch_size": 20,
62+
"endpoint": "http://example.com/v1/traces",
63+
"protocol": "http",
64+
"sampling_ratio": 1
65+
}
66+
},
67+
68+
"routes": [
69+
{
70+
"match": {
71+
"headers": {
72+
"accept": "*text/html*"
73+
}
74+
},
75+
"action": {
76+
"share": "/usr/share/unit/welcome/welcome.html"
77+
}
78+
}, {
79+
"action": {
80+
"share": "/usr/share/unit/welcome/welcome.md"
81+
}
82+
}
83+
]
84+
}
85+
86+
* **endpoint**
87+
88+
The endpoint for the OpenTelemetry (OTEL) Collector. This is required.
89+
90+
The value must be a URL to either a gRPC or HTTP endpoint.
91+
92+
* **protocol**
93+
94+
Determines the protocol used to communicate with the endpoint. This is
95+
required.
96+
97+
Can be either "http" or "grpc".
98+
99+
* **batch_size**
100+
101+
Number of spans to cache before triggering a transaction with the
102+
configured endpoint. This is optional.
103+
104+
This allows the user to cache up to N spans before the OpenTelemetry
105+
(OTEL) background thread sends spans over the network to the collector.
106+
107+
Must be a positive integer.
108+
109+
* **sampling_ratio**
110+
111+
Percentage of requests to trace. This is optional.
112+
113+
This allows the user to only trace anywhere from 0% to 100% of requests
114+
that hit Unit. In high throughput environments this percentage should be
115+
lower. This allows the user to save space in storing span data, and to
116+
collect request metrics like time to decode headers and whatnot without
117+
storing massive amounts of duplicate superfluous data.
118+
119+
Must be a positive floating point number.
120+
121+
This support is disabled by default but can be enabled by passing --otel
122+
to ./configure.
123+
124+
***************************
125+
Changes to language modules
126+
***************************
127+
128+
* The Perl language module no longer adds a 'new' constructor to parsed
129+
scripts. It's not required and could interfere with scripts that were
130+
trying to use 'new' themselves.
131+
132+
**********************
133+
Changes for developers
134+
**********************
135+
136+
* -funsigned-char
137+
138+
We now compile Unit with -funsigned-char, this ensures we are using the
139+
same char type on all platforms (what you get by default varies by
140+
platform).
141+
142+
This is also a first step in getting rid of (mostly at least) our usage of
143+
u_char and using char instead, which better aligns with libc interfaces and
144+
so on.
145+
146+
**************
147+
Full Changelog
148+
**************
149+
150+
.. code-block:: none
151+
152+
Changes with Unit 1.34.0 19 Dec 2024
153+
154+
*) Feature: initial OpenTelemetry (OTEL) support. (Disabled by default).
155+
156+
*) Feature: support for JSON formatted access logs.
157+
158+
*) Bugfix: tweak the Perl language module to avoid breaking scripts in
159+
some circumstances.

0 commit comments

Comments
 (0)