3 nbdkit-release-notes-1.24 - release notes for nbdkit 1.24
7 These are the release notes for nbdkit stable release 1.24.
8 This describes the major changes since 1.22.
10 nbdkit 1.24.0 was released on B<7 January 2021>.
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 The server and a subset of the plugins and filters have been ported to
21 Windows using the Win32 API. Only the mingw-w64 toolchain is
22 supported for building nbdkit (not MSVC). You can also cross-compile
23 from Linux and test under Wine. Some features are missing although it
26 New S<I<-D nbdkit.tls.log>> and S<I<-D nbdkit.tls.session>> debug
27 flags which enable additional debugging for TLS sessions.
29 The server now responds to C<NBD_INFO_NAME> (Eric Blake).
31 Options I<--run> and I<--vsock> may now be used together.
33 In I<--run>, C<$nbd> is now a synonym for C<$uri> instead of having
34 confusing magical properties.
38 New L<nbdkit-S3-plugin(1)> to access disks stored on AWS S3 and Ceph.
40 New L<nbdkit-sparse-random-plugin(1)> which generates large disks
41 sparsely filled with random blocks of data. These look like virtual
42 disk images and can be used to benchmark copying tools.
44 L<nbdkit-data-plugin(1)> has been greatly enhanced. New features
45 include: C<(...)[N:M]> (slice syntax), assignments, comments,
46 variables, C<E<lt>(SCRIPT)> (inlined shell script). In addition a
47 parse tree is built, allowing optimizations and other enhancements.
48 The plugin is now 64 bit clean allowing patterns larger than 2^32
49 bytes to work correctly.
51 L<nbdkit-random-plugin(1)> can now be used to test copying tools.
53 L<nbdkit-vddk-plugin(1)> supports enabling compression between VDDK
54 and the VMware server which in some situations can improve
59 New L<nbdkit-exportname-filter(1)> can be used to extend, mask and
60 modify the exports exposed by a plugin (Eric Blake).
62 New L<nbdkit-exitwhen-filter(1)> allowing the server to gracefully
63 exit on various events including external scripts.
65 New L<nbdkit-checkwrite-filter(1)> can be used to benchmark copying
68 L<nbdkit-ip-filter(1)> now supports filtering clients by PID, user ID
69 or group ID, for clients connected over a Unix domain socket. Also
70 you can filter clients using C<AF_VSOCK> and vsock port number.
72 L<nbdkit-log-filter(1)> now logs C<get_ready>, C<after_fork> and
73 C<preconnect> methods, and there is a new C<logscript> feature
74 allowing scripts to be run on logging events.
76 L<nbdkit-ext2-filter(1)> new option C<ext2file=exportname> can be used
77 to allow the client to select which file to see from the filesystem
78 using the NBD export name (Eric Blake).
80 =head2 Language bindings
82 Python style cleanups (Eric Blake).
84 The OCaml plugin now correctly acquires and releases the GC lock on
87 There is a new OCaml C<NBDKit.version> function returning the version
88 of nbdkit that the plugin was compiled against.
90 Multiple enhancements to the Rust plugin (Alan Somers).
94 New C<.list_exports>, C<.default_export> and C<.export_description>
95 plugin methods allowing plugins to be queried about what export names
96 they support, and give additional descriptions of exports. New
97 C<nbdkit_use_default_export> helper function (Eric Blake).
99 New C<nbdkit_strdup_intern>, C<nbdkit_strndup_intern>
100 C<nbdkit_printf_intern> and C<nbdkit_vprintf_intern> functions which
101 allow you to allocate a string in a plugin without worrying about
102 freeing it (Eric Blake).
104 New C<nbdkit_peer_pid>, C<nbdkit_peer_uid> and C<nbdkit_peer_gid>
105 allows plugins and filters to read the client’s credentials, for
106 clients connected over a Unix domain socket.
118 Many tests now use L<libnbd(3)>, L<nbdsh(1)>, L<nbdinfo(1)> and
119 L<nbdcopy(1)> as lighter weight replacements for qemu tools.
121 Fix compatibility with qemu E<gt> 5.2.0.
125 Downstream packagers can now use this to add extra downstream
126 information which is printed in version strings etc:
127 ./configure --with-extra=...
129 If L<ocamldoc(1)> is installed at build time, then it will be used to
130 build the L<NBDKit(3)> manual page for OCaml documentation.
144 Authors of nbdkit 1.24: