3 nbdkit-release-notes-1.30 - release notes for nbdkit 1.30
7 These are the release notes for nbdkit stable release 1.30.
8 This describes the major changes since 1.28.
10 nbdkit 1.30.0 was released on B<24 February 2022>.
14 There were no security issues found. All past security issues and
15 information about how to report new ones can be found in
16 L<nbdkit-security(1)>.
20 B<nbdkit-streaming-plugin> has been removed. It was deprecated in
21 1.26 and scheduled for removal in this release. If you were using
22 this plugin, use L<nbdcopy(1)> instead.
24 L<nbdkit-vddk-plugin(1)> has several changes:
30 This plugin can now create (as well as reading and writing) local VMDK
31 files. See the new C<create=true> option and the various C<create-*>
36 Read and write is now implemented using the VDDK Async functions,
37 which improves performance. The full nbdkit parallel thread model is
42 VDDK E<ge> 6.5 (released Nov 2016) is now the minimum required
47 Stats collected when using I<-D vddk.stats=1> have been extended to
48 include number of calls and bytes transferred.
52 I<--dump-plugin> output now includes the VDDK major version and
53 information about each VDDK API that is implemented by the library.
57 A new example F<scripts/vddk-open.sh> is provided to help with
58 automating connections to remote ESXi virtual machines.
62 L<nbdkit-curl-plugin(1)> adds support for choosing TLS/SSL versions
63 and ciphers and TLS 1.3 cipher versions (Przemyslaw Czarnowski).
65 L<nbdkit-file-plugin(1)> now implements C<cache=none> for writes so
66 that the Linux page cache is not destroyed when writing huge files.
68 L<nbdkit-cc-plugin(1)> now implements the C<.cleanup> callback. Also
69 we document how to use this plugin to implement OCaml plugin scripts.
71 L<nbdkit-info-plugin(1)> I<--dump-plugin> option now prints
72 C<info_address=yes> when the platform supports C<mode=address>.
76 New L<nbdkit-retry-request-filter(1)>, which is similar to
77 L<nbdkit-retry-filter(1)> but only retries a single failing request.
79 New L<nbdkit-protect-filter(1)> lets you add write-protection over
82 New L<nbdkit-blocksize-policy-filter(1)> lets you adjust or set the
83 block size constraints and policy of underlying plugins. See L</API>
86 L<nbdkit-cow-filter(1)> now permits the COW block size to be set as
89 Debug messages in L<nbdkit-error-filter(1)> are now easier to read
90 because they no longer all have an C<error:> prefix (Eric Blake).
92 =head2 Language bindings
94 For L<plugins written in OCaml|nbdkit-ocaml-plugin(3)> the minimum
95 version of OCaml is now 4.03 (instead of 4.02.2 previously). Various
96 source-level incompatible changes were made to OCaml plugins in this
97 release. Please consult the new documentation and example if writing
100 OCaml plugins now support C<magic_config_key>.
102 Several fixes to the handling of integers in Python plugins (Nir
105 New Python example which simulates request errors (Nir Soffer).
109 The server no longer requests the C<AI_ADDRCONFIG> hint when opening a
110 server socket. This improves handling of IPv6. In a related change,
111 the I<-i> (I<--ipaddr>) option now works as intended, and new I<-4>
112 and I<-6> options have been added to restrict the listening socket to
113 IPv4 or IPv6 addresses (Laszlo Ersek).
117 There is a new C<.block_size> callback for plugins and filters.
118 nbdkit uses this to export block size constraints to clients,
119 specifically the minimum, preferred and maximum block size that
122 As well as regular C plugins, L<nbdkit-cc-plugin(3)>,
123 L<nbdkit-eval-plugin(1)>, L<nbdkit-ocaml-plugin(3)>,
124 L<nbdkit-python-plugin(3)> and L<nbdkit-sh-plugin(3)> support block
125 size constraints. L<nbdkit-nbd-plugin(1)> reexports block size
126 constraints from the proxied NBD server. L<nbdkit-vddk-plugin(1)> now
127 advertises a minimum 512 byte block size.
129 L<nbdkit-blocksize-filter(1)>, L<nbdkit-cache-filter(1)>,
130 L<nbdkit-cow-filter(1)> and L<nbdkit-swab-filter(1)> adjust block size
131 constraints from plugins (Eric Blake).
133 L<nbdkit-blocksize-filter(1)> can also use the block size hints from
134 the plugin instead of needing manual adjustment on the command line.
135 L<nbdkit-log-filter(1)> logs block size constraints (Eric Blake).
137 L<nbdkit-blocksize-policy-filter(1)> can be used to add block size
138 constraints to plugins which don't support it, or adjust constraints,
139 or set the error policy.
143 L<nbdkit-memory-plugin(1)> (and others), using
144 C<allocator=malloc,mlock=true> was broken. This was especially
145 evident on non-Linux or on Linux with 64K pages (eg. POWER). It
146 should now work correctly.
156 C<./configure --disable-libguestfs-tests> can now be used to disable
157 tests which need libguestfs, without disabling
158 L<nbdkit-guestfs-plugin(1)>.
160 We now use L<mke2fs(8)> instead of L<guestfish(1)> to create the ext4
161 test image. On armv7 this allows the test suite to run much more
164 The time taken to run the test suite has been reduced significantly.
168 Multiple fixes to the Windows (MinGW) build. The test suite should
169 now pass fully if you have the version of Wine with the unofficial
172 The top level F<bash> source directory has been renamed to
173 F<bash-completion>. This prevents problems when setting C<$PATH> to
174 the source directory and trying to run bash.
178 The performance of the internal vector library has been improved
179 greatly and overflow is now handled correctly (Nir Soffer, Laszlo
180 Ersek and Eric Blake).
182 New "nbdkit-string.h" header file which defines a common string type
183 (based on vector). Existing places which defined a string based on
184 vector have been updated to use it.
186 C<MIN> and C<MAX> macros can be nested (thanks Eric Blake).
194 Authors of nbdkit 1.30:
198 git shortlog -s v1.28.0..
214 =item Przemyslaw Czarnowski
216 =item Richard W.M. Jones