.\" Automatically generated by Podwrapper::Man 1.6.1 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "libnbd-release-notes-1.4 1" .TH libnbd-release-notes-1.4 1 "2021-02-09" "libnbd-1.6.1" "LIBNBD" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" libnbd\-release\-notes\-1.4 \- release notes for libnbd 1.4 .SH "DESCRIPTION" .IX Header "DESCRIPTION" These are the release notes for libnbd stable release 1.4. This describes the major changes since 1.2. .PP libnbd 1.4.0 was released on 25 August 2020. .SS "Security" .IX Subsection "Security" There were no security issues found in this release. If you find a security issue, please read \fI\s-1SECURITY\s0\fR in the source (online here: https://github.com/libguestfs/libnbd/blob/master/SECURITY). To find out about previous security issues in libnbd, see \&\fBlibnbd\-security\fR\|(3). .SS "New APIs" .IX Subsection "New APIs" .IP "\fBnbd_set_opt_mode\fR\|(3)" 4 .IX Item "nbd_set_opt_mode" .PD 0 .IP "\fBnbd_get_opt_mode\fR\|(3)" 4 .IX Item "nbd_get_opt_mode" .IP "\fBnbd_aio_is_negotiating\fR\|(3)" 4 .IX Item "nbd_aio_is_negotiating" .PD libnbd 1.4 adds a new “negotiating” state during \s-1NBD\s0 handshaking. For backwards compatibility programs must request this before starting the connection by calling \fBnbd_set_opt_mode\fR\|(3). You can find out if the connection is in this state by calling \fBnbd_aio_is_negotiating\fR\|(3). .Sp For an in-depth description of how this extra state can be used to negotiate server options, see \*(L"\s-1CONTROLLING NEGOTIATION\*(R"\s0 in \fBlibnbd\fR\|(3). .IP "\fBnbd_aio_opt_abort\fR\|(3)" 4 .IX Item "nbd_aio_opt_abort" .PD 0 .IP "\fBnbd_opt_abort\fR\|(3)" 4 .IX Item "nbd_opt_abort" .PD During the negotiating state, abort the connection. .IP "\fBnbd_aio_opt_go\fR\|(3)" 4 .IX Item "nbd_aio_opt_go" .PD 0 .IP "\fBnbd_opt_go\fR\|(3)" 4 .IX Item "nbd_opt_go" .PD During the negotiating state, complete the handshake. .IP "\fBnbd_aio_opt_info\fR\|(3)" 4 .IX Item "nbd_aio_opt_info" .PD 0 .IP "\fBnbd_opt_info\fR\|(3)" 4 .IX Item "nbd_opt_info" .PD During the negotiating state, request full information about the server export. .IP "\fBnbd_aio_opt_list\fR\|(3)" 4 .IX Item "nbd_aio_opt_list" .PD 0 .IP "\fBnbd_opt_list\fR\|(3)" 4 .IX Item "nbd_opt_list" .PD During the negotiating state, request the list of exports that the server provides. .IP "\fBnbd_get_block_size\fR\|(3)" 4 .IX Item "nbd_get_block_size" Return the minimum, preferred or maximum block size constraints for requests sent to the server. .IP "\fBnbd_get_canonical_export_name\fR\|(3)" 4 .IX Item "nbd_get_canonical_export_name" Return the canonical export name that the server defaults to. This information may only be available if you call \fBnbd_set_full_info\fR\|(3) before connecting. .IP "\fBnbd_get_export_description\fR\|(3)" 4 .IX Item "nbd_get_export_description" Return the optional text description of the current export. This information may only be available if you call \fBnbd_set_full_info\fR\|(3) before connecting. .IP "\fBnbd_set_full_info\fR\|(3)" 4 .IX Item "nbd_set_full_info" .PD 0 .IP "\fBnbd_get_full_info\fR\|(3)" 4 .IX Item "nbd_get_full_info" .PD Enable extended information about exports from the server. .PP Thanks: Eric Blake for all of the new APIs. .SS "New features" .IX Subsection "New features" Bindings are now available in the Go programming language. .PP FreeBSD and OpenBSD are now fully supported platforms. .PP Bash tab completion is available for all of the command line tools. .SS "Documentation" .IX Subsection "Documentation" Verbatim text in man pages that wrapped over several lines is now typeset correctly. .PP Links within the documentation have been enhanced, and are now checked for correctness. .SS "Tools" .IX Subsection "Tools" New \fBnbdcopy\fR\|(1) tool lets you copy between an \s-1NBD\s0 server and a local file, or stream to and from an \s-1NBD\s0 server. .PP New \fBnbdinfo\fR\|(1) tool lets you print extended information about an \&\s-1NBD\s0 server’s exports (Eric Blake). .SS "Tests" .IX Subsection "Tests" Test sockets are created in \fI/tmp\fR (instead of the local directory). This stops the test suite from failing if the local directory path is longer than the Unix domain socket maximum path length. .SS "Other improvements and bug fixes" .IX Subsection "Other improvements and bug fixes" Trace messages have been improved: long strings are truncated, strings with non-printable characters are escaped, and lists of strings are printed. .PP The generator was split from a large single script into several small files. To build from git the OCaml bytecode compiler (\fBocamlc\fR\|(1)) is now required instead of the interpreter (\fBocaml\fR\|(1)). .PP Long login names are supported in \fBnbd_get_tls_username\fR\|(3). .PP The handle name in \fBnbdsh\fR\|(1) is now set to \f(CW\*(C`nbdsh\*(C'\fR (instead of a randomly generated name). .PP Compatibility with OCaml 4.10.0 and 4.11.0. .PP Python \s-1AIO\s0 buffer adds a new \f(CW\*(C`is_zero\*(C'\fR method allowing Python clients to do sparsification when copying. .PP Compatibility with Python 3.9. .PP External C programs can now be compiled against libnbd’s build directory using \f(CW\*(C`../libnbd/run ./configure\*(C'\fR. .PP Honggfuzz can be used as another external fuzzing option. .PP Fix compilation with glibc 2.32 which deprecates \f(CW\*(C`sys_errlist\*(C'\fR. .PP Many examples added or extended to demonstrate uses of the new APIs (Eric Blake). .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBlibnbd\fR\|(3). .SH "AUTHORS" .IX Header "AUTHORS" Eric Blake .PP Richard W.M. Jones .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2019\-2020 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" This library is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This library is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \s-1GNU\s0 Lesser General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, \s-1MA 02110\-1301 USA\s0