plugins: Wire up nbd plugin support for NBD_INFO_INIT_STATE
[nbdkit/ericb.git] / docs / nbdkit-release-notes-1.12.pod
blob115dc3804422b9b9cc2ecdffdc0c843a42c941ce
1 =head1 NAME
3 nbdkit-release-notes-1.12 - release notes for nbdkit 1.12
5 =head1 DESCRIPTION
7 These are the release notes for nbdkit stable release 1.12.
8 This describes the major changes since 1.10.
10 nbdkit 1.12.0 was released on 10th April 2019.
12 =head2 New features
14 New L<nbdkit-ssh-plugin(1)> which lets you turn any disk image on a
15 remote Unix server accessible by ssh into an NBD source.
17 New L<nbdkit-rate-filter(1)> for bandwidth-limiting connections.
18 Either single connections or the whole server can be
19 bandwidth-limited, and the limit can be dynamically changed at
20 runtime.
22 New L<nbdkit-readahead-filter(1)> improves performance when reading
23 sequentially from plugins with a high request overhead like curl.
25 New L<nbdkit-linuxdisk-plugin(1)> lets you create complete ext2, ext3
26 or ext4 filesystems in a GPT partitioned disk image, from a local
27 directory.  This can be attached to existing Linux VMs or used to
28 create new ones from scratch.
30 New L<nbdkit-noextents-filter(1)> can make sparse disks appear fully
31 allocated.
33 Plugins can now be written in the Rust programming language, see
34 L<nbdkit-rust-plugin(3)>.
36 The old L<nbdkit-xz-plugin(1)> has been removed.  Use
38  nbdkit --filter=xz file file.xz
40 as a replacement.  This filter can be placed on top of other plugins
41 such as curl (for decompressing a remote web URL).
43 C<NBD_CMD_BLOCK_STATUS> has been implemented allowing clients to query
44 which parts of the disk are allocated, holes or zeroes.  Plugins and
45 filters have been extended to supply this information in many cases.
46 This required adding minimal support for NBD protocol Structured
47 Replies, C<NBD_CMD_FLAG_REQ_ONE> and C<NBD_CMD_FLAG_DF>.  (Thanks to
48 Eric Blake for extensive help with this one.)
50 L<nbdkit-vddk-plugin(1)> has been updated to VDDK 6.7, but now also
51 works back as far as VDDK 5.1.1.  It supports extents, flush and FUA.
52 Also added: new flags C<single-link> and C<unbuffered>.  (Thanks to
53 Martin Kletzander).
55 The line "All rights reserved." was removed from the license, with the
56 agreement of all nbdkit contributors.  Note this does not change the
57 license.
59 C<nbdkit_error> errors are printed in red when writing to the
60 terminal, making them much easier to see.
62 C<nbdkit_parse_size> rejects negative values, eg.
63 S<C<nbdkit memory size=-100>> (Nikolay Ivanets).
65 L<nbdkit-curl-plugin(1)> now supports cookies, password auth and
66 proxies.  It can also limit URLs to whitelisted protocols.  This makes
67 it broadly feature equivalent to and a replacement for the qemu curl
68 block driver.
70 L<nbdkit-partitioning-plugin(1)> can now create MBR logical
71 partitions.  Previously it only supported 4 MBR primary partitions and
72 if you wanted more than that you had to use GPT.
74 L<nbdkit-partition-filter(1)> also supports MBR logical partitions.
76 L<nbdkit-python-plugin(3)> creates plugins which are compatible with
77 Python >= 3.7.
79 Tests are now run under C<MALLOC_CHECK_=1> and
80 C<MALLOC_PERTURB_=I<random>>.  This causes some tests to crash
81 (silently) because of a shutdown race which needs to be fixed.
83 Test shell scripts now have a generic C<requires> function to skip
84 tests if features are not present.
86 C99 type C<bool> is now used in most places where appropriate.
88 The protocol and connections code in the server has been split up
89 because the single file had grown very large.  (Thanks to Eric Blake
90 for helping with protocol issues).
92 =head1 SEE ALSO
94 L<nbdkit(1)>,
95 L<https://www.redhat.com/archives/virt-tools-list/2019-April/msg00045.html>.
97 =head1 AUTHORS
99 Eric Blake
101 Richard W.M. Jones
103 =head1 COPYRIGHT
105 Copyright (C) 2019 Red Hat Inc.