@@ -13,45 +13,120 @@ New configuration options
13
13
14
14
This release introduces two new configuration options:
15
15
16
- #. ` listen_threads `
16
+ #. ** listen_threads **
17
17
18
- This option can be set under ` /settings/listen_threads ` and controls the
18
+ This option can be set under ** /settings/listen_threads ** and controls the
19
19
number of threads the router process creates to handle client
20
20
connections. By default Unit creates the same number of threads as there
21
21
are CPUs available.
22
22
23
- #. ` backlog `
23
+ #. ** backlog **
24
24
25
- This option can be set under ` /listeners/backlog ` . This is a per-listener
26
- option that sets the the backlog parameter as passed to the listen(2)
25
+ This option can be set under ** /listeners/backlog ** . This is a per-listener
26
+ option that sets the the backlog parameter as passed to the ** listen(2) **
27
27
system-call, which defines the maximum length for the queue of pending
28
28
connections for the socket.
29
29
30
- This is analogous to the ` backlog ` parameter of the ` listen ` directive in
30
+ This is analogous to the ** backlog ** parameter of the ** listen ** directive in
31
31
NGINX.
32
32
33
33
****************
34
34
unitctl CLI tool
35
35
****************
36
36
37
+ :ref: `unitctl <unitctl >` is a powerful, Rust-based CLI tool that allows you to
38
+ deploy, manage, and configure Unit in your environment.
39
+
40
+ ****************************
37
41
Chunked request body support
42
+ ****************************
38
43
44
+ Unit can now accept chunked requests rather than returning **411
45
+ Length Required **. This feature is experimental and can
46
+ be enabled setting the **/settings/chunked_transform ** configuration option
47
+ to true.
39
48
40
49
*************************************
41
50
Changes in behavior and other updates
42
51
*************************************
43
52
44
- ==========================================================================
45
- Change 1
46
- ==========================================================================
53
+ * On Linux, we now default to a **listen(2) ** backlog of -1, which means we
54
+ use the OS's default: 4096 for Linux 5.4 and later; 128 for older versions.
55
+
56
+ The previous default for Unit was 511.
57
+
58
+ * Under systemd, Unit once again runs in **forking ** mode. This allows the
59
+ per-application logging feature to work out the box.
60
+
61
+ * The Python language module now supports **Application Factories **
62
+ (thanks to Gourav).
63
+
64
+ **********************
65
+ Changes for developers
66
+ **********************
67
+
68
+ We have made some changes to the build system:
69
+
70
+ ===============================================
71
+ Prettified make output by default with GNU make
72
+ ===============================================
73
+
74
+ Instead of getting the normal compiler command for each target being built
75
+ you now get a simplified line like:
76
+
77
+ .. code-block :: console
78
+
79
+ CC build/src/nxt_cgroup.o
80
+
81
+
82
+ You can use the `V=1 ` option to get the old verbose output, for example:
83
+
84
+ .. code-block :: console
85
+
86
+ make V=1
87
+
88
+ ==============
89
+ Make variables
90
+ ==============
91
+
92
+ You can now control some aspects of the build process by passing variables to
93
+ make (like the above). The currently supported variables are:
94
+
95
+ .. list-table ::
96
+ :widths: 15 80 5
97
+ :header-rows: 1
98
+
99
+ * - Option
100
+ - Description
101
+ - Default
102
+ * - **D=1 **
103
+ - Enables debug builds (-O0)
104
+ - 0
105
+ * - **E=0 **
106
+ - Disables -Werror
107
+ - 1
108
+ * - **V=1 **
109
+ - Enables verbose output
110
+ - 0
111
+ * - **EXTRA_CFLAGS= **
112
+ - Add extra compiler options
113
+ -
114
+
115
+ ===========
116
+ GCC & Clang
117
+ ===========
118
+
119
+ We removed support for a bunch of esoteric compilers. GCC and Clang are now the
120
+ only supported compilers for building Unit.
47
121
48
- Change 1 description.
122
+ ==========
123
+ -std=gnu11
124
+ ==========
49
125
50
- =======================================================
51
- Change 2
52
- =======================================================
126
+ We now build with ** -std=gnu11 ** (C11 with GNU extensions). While previously we
127
+ didn't explicitly set the -std= option, as we were supporting CentOS 7 (which is now
128
+ EOL), we were effectively limited to ** -std=gnu89/90 **.
53
129
54
- Change 2 description.
55
130
56
131
************
57
132
Wall of fame
0 commit comments