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

NAME

6       nbdkit-release-notes-1.30 - release notes for nbdkit 1.30
7

DESCRIPTION

9       These are the release notes for nbdkit stable release 1.30.  This
10       describes the major changes since 1.28.
11
12       nbdkit 1.30.0 was released on 24 February 2022.
13
14   Security
15       There were no security issues found.  All past security issues and
16       information about how to report new ones can be found in
17       nbdkit-security(1).
18
19   Plugins
20       nbdkit-streaming-plugin has been removed.  It was deprecated in 1.26
21       and scheduled for removal in this release.  If you were using this
22       plugin, use nbdcopy(1) instead.
23
24       nbdkit-vddk-plugin(1) has several changes:
25
26       •   This plugin can now create (as well as reading and writing) local
27           VMDK files.  See the new "create=true" option and the various
28           "create-*" options.
29
30       •   Read and write is now implemented using the VDDK Async functions,
31           which improves performance.  The full nbdkit parallel thread model
32           is supported.
33
34       •   VDDK ≥ 6.5 (released Nov 2016) is now the minimum required version.
35
36       •   Stats collected when using -D vddk.stats=1 have been extended to
37           include number of calls and bytes transferred.
38
39--dump-plugin output now includes the VDDK major version and
40           information about each VDDK API that is implemented by the library.
41
42       •   A new example scripts/vddk-open.sh is provided to help with
43           automating connections to remote ESXi virtual machines.
44
45       nbdkit-curl-plugin(1) adds support for choosing TLS/SSL versions and
46       ciphers and TLS 1.3 cipher versions (Przemyslaw Czarnowski).
47
48       nbdkit-file-plugin(1) now implements "cache=none" for writes so that
49       the Linux page cache is not destroyed when writing huge files.
50
51       nbdkit-cc-plugin(1) now implements the ".cleanup" callback.  Also we
52       document how to use this plugin to implement OCaml plugin scripts.
53
54       nbdkit-info-plugin(1) --dump-plugin option now prints
55       "info_address=yes" when the platform supports "mode=address".
56
57   Filters
58       New nbdkit-retry-request-filter(1), which is similar to
59       nbdkit-retry-filter(1) but only retries a single failing request.
60
61       New nbdkit-protect-filter(1) lets you add write-protection over regions
62       of a plugin.
63
64       New nbdkit-blocksize-policy-filter(1) lets you adjust or set the block
65       size constraints and policy of underlying plugins.  See "API" below.
66
67       nbdkit-cow-filter(1) now permits the COW block size to be set as small
68       as 4096 bytes.
69
70       Debug messages in nbdkit-error-filter(1) are now easier to read because
71       they no longer all have an "error:" prefix (Eric Blake).
72
73   Language bindings
74       For plugins written in OCaml the minimum version of OCaml is now 4.03
75       (instead of 4.02.2 previously).  Various source-level incompatible
76       changes were made to OCaml plugins in this release.  Please consult the
77       new documentation and example if writing plugins in OCaml.
78
79       OCaml plugins now support "magic_config_key".
80
81       Several fixes to the handling of integers in Python plugins (Nir
82       Soffer).
83
84       New Python example which simulates request errors (Nir Soffer).
85
86   Server
87       The server no longer requests the "AI_ADDRCONFIG" hint when opening a
88       server socket.  This improves handling of IPv6.  In a related change,
89       the -i (--ipaddr) option now works as intended, and new -4 and -6
90       options have been added to restrict the listening socket to IPv4 or
91       IPv6 addresses (Laszlo Ersek).
92
93   API
94       There is a new ".block_size" callback for plugins and filters.  nbdkit
95       uses this to export block size constraints to clients, specifically the
96       minimum, preferred and maximum block size that clients should use.
97
98       As well as regular C plugins, nbdkit-cc-plugin(3),
99       nbdkit-eval-plugin(1), nbdkit-ocaml-plugin(3), nbdkit-python-plugin(3)
100       and nbdkit-sh-plugin(3) support block size constraints.
101       nbdkit-nbd-plugin(1) reexports block size constraints from the proxied
102       NBD server.  nbdkit-vddk-plugin(1) now advertises a minimum 512 byte
103       block size.
104
105       nbdkit-blocksize-filter(1), nbdkit-cache-filter(1),
106       nbdkit-cow-filter(1) and nbdkit-swab-filter(1) adjust block size
107       constraints from plugins (Eric Blake).
108
109       nbdkit-blocksize-filter(1) can also use the block size hints from the
110       plugin instead of needing manual adjustment on the command line.
111       nbdkit-log-filter(1) logs block size constraints (Eric Blake).
112
113       nbdkit-blocksize-policy-filter(1) can be used to add block size
114       constraints to plugins which don't support it, or adjust constraints,
115       or set the error policy.
116
117   Bug fixes
118       nbdkit-memory-plugin(1) (and others), using
119       "allocator=malloc,mlock=true" was broken.  This was especially evident
120       on non-Linux or on Linux with 64K pages (eg. POWER).  It should now
121       work correctly.
122
123   Tests
124       "./configure --disable-libguestfs-tests" can now be used to disable
125       tests which need libguestfs, without disabling
126       nbdkit-guestfs-plugin(1).
127
128       We now use mke2fs(8) instead of guestfish(1) to create the ext4 test
129       image.  On armv7 this allows the test suite to run much more quickly.
130
131       The time taken to run the test suite has been reduced significantly.
132
133   Build
134       Multiple fixes to the Windows (MinGW) build.  The test suite should now
135       pass fully if you have the version of Wine with the unofficial
136       "AF_UNIX" patch.
137
138       The top level bash source directory has been renamed to bash-
139       completion.  This prevents problems when setting $PATH to the source
140       directory and trying to run bash.
141
142   Internals
143       The performance of the internal vector library has been improved
144       greatly and overflow is now handled correctly (Nir Soffer, Laszlo Ersek
145       and Eric Blake).
146
147       New "nbdkit-string.h" header file which defines a common string type
148       (based on vector).  Existing places which defined a string based on
149       vector have been updated to use it.
150
151       "MIN" and "MAX" macros can be nested (thanks Eric Blake).
152

SEE ALSO

154       nbdkit(1).
155

AUTHORS

157       Authors of nbdkit 1.30:
158
159       Alan Somers
160       Eric Blake
161       Hilko Bengen
162       Laszlo Ersek
163       Nir Soffer
164       Przemyslaw Czarnowski
165       Richard W.M. Jones
166
168       Copyright (C) 2021-2022 Red Hat Inc.
169

LICENSE

171       Redistribution and use in source and binary forms, with or without
172       modification, are permitted provided that the following conditions are
173       met:
174
175       •   Redistributions of source code must retain the above copyright
176           notice, this list of conditions and the following disclaimer.
177
178       •   Redistributions in binary form must reproduce the above copyright
179           notice, this list of conditions and the following disclaimer in the
180           documentation and/or other materials provided with the
181           distribution.
182
183       •   Neither the name of Red Hat nor the names of its contributors may
184           be used to endorse or promote products derived from this software
185           without specific prior written permission.
186
187       THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY
188       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
189       IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
190       PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
191       LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
192       CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
193       SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
194       BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
195       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
196       OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
197       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
198
199
200
201nbdkit-1.32.5                     2023-01-03      nbdkit-release-notes-1.30(1)
Impressum