Provided by: libnbd-dev_1.20.0-1_amd64 bug

NAME

       libnbd-release-notes-1.4 - release notes for libnbd 1.4

DESCRIPTION

       These are the release notes for libnbd stable release 1.4.  This describes the major changes since 1.2.

       libnbd 1.4.0 was released on 25 August 2020.

   Security
       There were no security issues found in this release.  If you find a security issue, please read SECURITY
       in the source (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY).  To find out about
       previous security issues in libnbd, see libnbd-security(3).

   New APIs
       nbd_set_opt_mode(3)
       nbd_get_opt_mode(3)
       nbd_aio_is_negotiating(3)
           libnbd  1.4  adds  a  new  “negotiating”  state  during NBD handshaking.  For backwards compatibility
           programs must request this before starting the connection by calling  nbd_set_opt_mode(3).   You  can
           find out if the connection is in this state by calling nbd_aio_is_negotiating(3).

           For  an  in-depth  description  of  how this extra state can be used to negotiate server options, see
           "CONTROLLING NEGOTIATION" in libnbd(3).

       nbd_aio_opt_abort(3)
       nbd_opt_abort(3)
           During the negotiating state, abort the connection.

       nbd_aio_opt_go(3)
       nbd_opt_go(3)
           During the negotiating state, complete the handshake.

       nbd_aio_opt_info(3)
       nbd_opt_info(3)
           During the negotiating state, request full information about the server export.

       nbd_aio_opt_list(3)
       nbd_opt_list(3)
           During the negotiating state, request the list of exports that the server provides.

       nbd_get_block_size(3)
           Return the minimum, preferred or maximum block size constraints for requests sent to the server.

       nbd_get_canonical_export_name(3)
           Return the canonical export name that the server defaults to.  This information may only be available
           if you call nbd_set_full_info(3) before connecting.

       nbd_get_export_description(3)
           Return the optional text description of the current export.  This information may only  be  available
           if you call nbd_set_full_info(3) before connecting.

       nbd_set_full_info(3)
       nbd_get_full_info(3)
           Enable extended information about exports from the server.

       Thanks: Eric Blake for all of the new APIs.

   New features
       Bindings are now available in the Go programming language.

       FreeBSD and OpenBSD are now fully supported platforms.

       Bash tab completion is available for all of the command line tools.

   Documentation
       Verbatim text in man pages that wrapped over several lines is now typeset correctly.

       Links within the documentation have been enhanced, and are now checked for correctness.

   Tools
       New  nbdcopy(1)  tool  lets you copy between an NBD server and a local file, or stream to and from an NBD
       server.

       New nbdinfo(1) tool lets you print extended information about an NBD server’s exports (Eric Blake).

   Tests
       Test sockets are created in /tmp (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.

   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.

       The generator was split from a large single script into several small files.  To build from git the OCaml
       bytecode compiler (ocamlc(1)) is now required instead of the interpreter (ocaml(1)).

       Long login names are supported in nbd_get_tls_username(3).

       The handle name in nbdsh(1) is now set to "nbdsh" (instead of a randomly generated name).

       Compatibility with OCaml 4.10.0 and 4.11.0.

       Python AIO buffer adds a new "is_zero" method allowing Python clients to do sparsification when copying.

       Compatibility with Python 3.9.

       External  C  programs  can  now  be  compiled  against  libnbd’s  build  directory  using  "../libnbd/run
       ./configure".

       Honggfuzz can be used as another external fuzzing option.

       Fix compilation with glibc 2.32 which deprecates "sys_errlist".

       Many examples added or extended to demonstrate uses of the new APIs (Eric Blake).

SEE ALSO

       libnbd(3).

AUTHORS

       Eric Blake

       Richard W.M. Jones

COPYRIGHT

       Copyright Red Hat

LICENSE

       This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
       General  Public License as published by the Free Software Foundation; either version 2 of the License, or
       (at your option) any later version.

       This library is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY;  without  even
       the  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
       Public License for more details.

       You should have received a copy of the GNU Lesser General Public License along with this library; if not,
       write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

libnbd-1.20.0                                      2024-04-05                        libnbd-release-notes-1.4(1)