Update Red Hat Copyright Notices
[nbdkit.git] / docs / nbdkit-release-notes-1.24.pod
blobc6d35e69d82ac6745ac5f40b4e4ca43f92c5f1a0
1 =head1 NAME
3 nbdkit-release-notes-1.24 - release notes for nbdkit 1.24
5 =head1 DESCRIPTION
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>.
12 =head2 Security
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)>.
18 =head2 Server
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
24 is very usable.
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.
36 =head2 Plugins
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
55 performance.
57 =head2 Filters
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
66 tools.
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
85 all paths in and out.
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).
92 =head2 API
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.
108 =begin comment
110 =head2 Bug fixes
112 =head2 Documentation
114 =end comment
116 =head2 Tests
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.
123 =head2 Build
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.
132 =begin comment
134 =head2 Internals
136 =end comment
138 =head1 SEE ALSO
140 L<nbdkit(1)>.
142 =head1 AUTHORS
144 Authors of nbdkit 1.24:
146 =over 4
148 =item *
150 Alan Somers
152 =item *
154 Eric Blake
156 =item *
158 Richard W.M. Jones
160 =back
162 =head1 COPYRIGHT
164 Copyright Red Hat