1nbdkit-release-notes-1.36(1) NBDKIT nbdkit-release-notes-1.36(1)
2
3
4
6 nbdkit-release-notes-1.36 - release notes for nbdkit 1.36
7
9 These are the release notes for nbdkit stable release 1.36. This
10 describes the major changes since 1.34.
11
12 nbdkit 1.36.0 was released on 27 September 2023.
13
14 Security
15 No security issues were identified in this release.
16
17 All past security issues and information about how to report new ones
18 can be found in nbdkit-security(1).
19
20 Plugins
21 New nbdkit-ones-plugin(1) which creates a fully allocated disk
22 containing all 0xff (all ones), or another byte of your choice.
23
24 nbdkit-curl-plugin(1) now uses a curl "multi" interface. This enables
25 much better performance, and also allows the curl plugin to handle
26 requests in parallel. The curl plugin now falls back to making a "GET"
27 request to get the size of the remote file for certain servers which do
28 not support "HEAD" requests. This plugin adds new options: "ipresolve"
29 (force IPv4 or IPv6), "resolve" (force a particular IP address), -D
30 curl.times=1 (print detailed timing stats), and -D curl.verbose.ids=1
31 (display connection and transfer IDs).
32
33 nbdkit-memory-plugin(1) now uses a read-write lock to protect internal
34 structures, resulting in improved performance for mostly read
35 workloads.
36
37 nbdkit-data-plugin(1) now has more optimizations.
38
39 nbdkit-file-plugin(1) now supports 4k sector sizes on Windows (Brian
40 Carnes).
41
42 Filters
43 New nbdkit-evil-filter(1) adds random but consistent data corruption to
44 the underlying plugin.
45
46 New nbdkit-qcow2dec-filter(1) which can decode qcow2 files (but not
47 write to them).
48
49 nbdkit-ip-filter(1) can now filter by client SELinux label.
50
51 nbdkit-partition-filter(1) now supports 4k sector sizes (Brian Carnes).
52
53 nbdkit-retry-request-filter(1) allows the "get_size" operation to be
54 retried.
55
56 nbdkit-tar-filter(1) adds new "tar-limit" parameter which can be used
57 to ensure the filter does not read indefinite amounts of input when
58 opening the tar file.
59
60 Filters can now append their own output to nbdkit --dump-plugin output.
61
62 Language bindings
63 Rust bindings add support for "after_fork", "block_size",
64 "nbdkit_debug", "nbdkit_is_tls", "nbdkit_parse_size",
65 "nbdkit_parse_bool" and "nbdkit_parse_probability". The "open" method
66 can now return an error; note this is not backwards compatible and
67 requires a small source code change to Rust plugins. (Thanks Alan
68 Somers)
69
70 nbdkit-ocaml-plugin(3) now supports OCaml 5.
71
72 OCaml bindings add support for "nbdkit_stdio_safe", "nbdkit_is_tls",
73 "nbdkit_peer_name" and "nbdkit_peer_security_context".
74
75 nbdkit-perl-plugin(3) now supports Perl 5.38.
76
77 Shell script plugins (nbdkit-sh-plugin(3)) may now ignore stdin in
78 their "pwrite" method, whereas previously it was required to read and
79 discard stdin along error paths (thanks Eric Blake).
80
81 Server
82 When using the --run option, the default is now to use a private Unix
83 domain socket (as if -U - was specified), whereas in nbdkit ≤ 1.34 the
84 default was to open a TCP port. The new default reflects the most
85 common and safest way to use the --run option. You can find out if
86 nbdkit has the new behaviour by checking "nbdkit --dump-config" and
87 looking for "run_default_socket=Unix" in the output.
88
89 Debug strings containing control codes and other non-printable
90 characters are now escaped properly.
91
92 New flag -D nbdkit.environ=1 can be used to dump the server environment
93 in debug output.
94
95 API
96 New "nbdkit_parse_probability" function which can be used to parse
97 probabilities in various formats, like "10%" or "1:10".
98
99 New "nbdkit_peer_security_context" function which returns the security
100 context (usually SELinux label) of the client.
101
102 Bug fixes
103 Fix long-standing double-free in nbdkit-file-plugin(1) when the client
104 closes the connection during negotiation (thanks Eric Blake).
105
106 nbdkit-file-plugin now has improved error messages when you try to open
107 a file with an empty name ("").
108
109 Documentation
110 Miscellaneous documentation improvements for Windows (Brian Carnes).
111
112 Fuzzing instructions updated for Clang 17, AFL++ 4.08c.
113
114 Tests
115 Ongoing CI maintenance and fixes (Laszlo Ersek, Eric Blake).
116
117 Many fixes in the test suite for MinGW and Wine.
118
119 Several internal consistency checks were added to the test suite, to
120 ensure, for example, that we always use "requires_run" when the test
121 uses the nbdkit --run option.
122
123 Build
124 Optionally "zlib-ng" can be used (instead of "zlib") for faster
125 decompression in various places.
126
127 No longer link with msvcrt on Windows.
128
129 "awk" is a build requirement. It was implicitly required before
130 (because it is needed by the "./configure" script generated by
131 autoconf), but now the dependency is explicit (Eric Blake).
132
133 Internals
134 "podwrapper" has a new --replace parameter which makes it easier to use
135 "AC_SUBST"-substitutions in documentation.
136
138 nbdkit(1).
139
141 Authors of nbdkit 1.36:
142
143 Alan Somers
144 Brian Carnes
145 Eric Blake
146 Laszlo Ersek
147 Richard W.M. Jones
148
150 Copyright Red Hat
151
153 Redistribution and use in source and binary forms, with or without
154 modification, are permitted provided that the following conditions are
155 met:
156
157 • Redistributions of source code must retain the above copyright
158 notice, this list of conditions and the following disclaimer.
159
160 • Redistributions in binary form must reproduce the above copyright
161 notice, this list of conditions and the following disclaimer in the
162 documentation and/or other materials provided with the
163 distribution.
164
165 • Neither the name of Red Hat nor the names of its contributors may
166 be used to endorse or promote products derived from this software
167 without specific prior written permission.
168
169 THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY
170 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
171 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
172 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
173 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
174 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
175 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
176 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
177 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
178 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
179 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
180
181
182
183nbdkit-1.36.2 2023-11-26 nbdkit-release-notes-1.36(1)