1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
=head1 NAME
libnbd-release-notes-1.12 - release notes for libnbd 1.12
=head1 DESCRIPTION
These are the release notes for libnbd stable release 1.12.
This describes the major changes since 1.10.
libnbd 1.12.0 was released on B<24 February 2022>.
=head2 Security
=over 4
=item CVE-2022-0485
Silent data corruption when using L<nbdcopy(1)>.
See the full announcement here:
L<https://listman.redhat.com/archives/libguestfs/2022-February/msg00104.html>
=back
If you find a security issue, please read F<SECURITY> in the source
(online here:
L<https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY>). To
find out about previous security issues in libnbd, see
L<libnbd-security(3)>.
=head2 New APIs
=over 4
=item get_pread_initialize
=item set_pread_initialize
Control whether libnbd clears the pread buffer to avoid leaking memory
contents if the client does not properly handle errors. These were
added as part of the fix for CVE-2022-0485 (Eric Blake).
=item get_request_block_size
=item set_request_block_size
Control whether libnbd requests block size constraints from the server
during negotiation (Eric Blake).
=back
=head2 Enhancements to existing APIs
Error messages about incorrect URIs in L<nbd_connect_uri(3)> have been
improved to make common mistakes clearer for the user.
=head2 Tools
New syntax: C<nbdinfo [ CMD ... ]> allowing you to query the
properties of an NBD server directly.
L<nbdcopy(1)> new I<--queue-size> option to control the maximum size
of the internal buffer (Nir Soffer).
L<nbdcopy(1)> now names the source and destination handles to make it
easier to understand debug output.
=head2 Tests
Adopt libvirt-ci's F<ci/gitlab.yml> (Martin Kletzander).
Fix the OCaml extents example (thanks Laszlo Ersek).
Golang benchmarks were added to the test suite (Nir Soffer).
The large F<tests/errors.c> test was split into about a dozen separate
tests. Also this adds a new test for checking server-side block size
constraint error policy which was missing before.
=head2 Other improvements and bug fixes
New OCaml C<NBD.with_handle> helper which ensures that C<NBD.close> is
always called even if the inner code throws an exception.
The OCaml bindings now consistently use the correct types for buffer
sizes everywhere (Laszlo Ersek).
Several improvements and fixes to the golang bindings and tests. The
golang bindings have been relicensed to LGPLv2+ like the rest of the
library and are now published as a golang module at
L<https://libguestfs.org/libnbd> (Nir Soffer).
The Python bindings no longer crash if you pass C<None> in place of a
buffer parameter. In addition some memory leaks were fixed (Eric
Blake).
Various memory leaks have been fixed when using the optional
strict_mode settings (Eric Blake).
The performance of the internal vector library has been improved
greatly and overflow is now handled correctly (Nir Soffer, Laszlo
Ersek and Eric Blake).
Add C<simple_copy> and C<aio_copy> Golang examples (Nir Soffer).
Error handling was reviewed and fixed across many of the example
programs and documentation (Eric Blake, Nir Soffer).
Simplify and optimize handling of the extents callback in Golang (Nir
Soffer).
Golang AioBuffer was enhanced, making it safer to use, faster and
adding documentation (Nir Soffer).
=head2 Documentation
Document the limits on lengths and sizes of parameters to various APIs
(Eric Blake).
=head2 Build
You can now build programs that use the OCaml bindings of libnbd
against the libnbd build directory instead of requiring libnbd to be
installed (Laszlo Ersek).
Compatibility with OCaml 4.13.
Line locations in the state machine should be more accurate when
stepping through with a debugger like gdb.
F<.editorconfig> file can be used to help code formatting, see
L<https://editorconfig.org/> (Nir Soffer, Eric Blake).
C<MIN> and C<MAX> macros can be nested (thanks Eric Blake).
=head1 SEE ALSO
L<libnbd(3)>.
=head1 AUTHORS
=begin comment
git shortlog -s v1.10.0..
=end comment
=over 4
=item Eric Blake
=item Laszlo Ersek
=item Martin Kletzander
=item Nir Soffer
=item Richard W.M. Jones
=back
=head1 COPYRIGHT
Copyright Red Hat
|