1nbdkit-release-notes-1.36(1)        NBDKIT        nbdkit-release-notes-1.36(1)
2
3
4

NAME

6       nbdkit-release-notes-1.36 - release notes for nbdkit 1.36
7

DESCRIPTION

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

SEE ALSO

138       nbdkit(1).
139

AUTHORS

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

LICENSE

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)
Impressum