1libnbd-release-notes-1.4(1) LIBNBD libnbd-release-notes-1.4(1)
2
3
4
6 libnbd-release-notes-1.4 - release notes for libnbd 1.4
7
9 These are the release notes for libnbd stable release 1.4. This
10 describes the major changes since 1.2.
11
12 libnbd 1.4.0 was released on 25 August 2020.
13
14 Security
15 There were no security issues found in this release. If you find a
16 security issue, please read SECURITY in the source (online here:
17 https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). To find out
18 about previous security issues in libnbd, see libnbd-security(3).
19
20 New APIs
21 nbd_set_opt_mode(3)
22 nbd_get_opt_mode(3)
23 nbd_aio_is_negotiating(3)
24 libnbd 1.4 adds a new “negotiating” state during NBD handshaking.
25 For backwards compatibility programs must request this before
26 starting the connection by calling nbd_set_opt_mode(3). You can
27 find out if the connection is in this state by calling
28 nbd_aio_is_negotiating(3).
29
30 For an in-depth description of how this extra state can be used to
31 negotiate server options, see "CONTROLLING NEGOTIATION" in
32 libnbd(3).
33
34 nbd_aio_opt_abort(3)
35 nbd_opt_abort(3)
36 During the negotiating state, abort the connection.
37
38 nbd_aio_opt_go(3)
39 nbd_opt_go(3)
40 During the negotiating state, complete the handshake.
41
42 nbd_aio_opt_info(3)
43 nbd_opt_info(3)
44 During the negotiating state, request full information about the
45 server export.
46
47 nbd_aio_opt_list(3)
48 nbd_opt_list(3)
49 During the negotiating state, request the list of exports that the
50 server provides.
51
52 nbd_get_block_size(3)
53 Return the minimum, preferred or maximum block size constraints for
54 requests sent to the server.
55
56 nbd_get_canonical_export_name(3)
57 Return the canonical export name that the server defaults to. This
58 information may only be available if you call nbd_set_full_info(3)
59 before connecting.
60
61 nbd_get_export_description(3)
62 Return the optional text description of the current export. This
63 information may only be available if you call nbd_set_full_info(3)
64 before connecting.
65
66 nbd_set_full_info(3)
67 nbd_get_full_info(3)
68 Enable extended information about exports from the server.
69
70 Thanks: Eric Blake for all of the new APIs.
71
72 New features
73 Bindings are now available in the Go programming language.
74
75 FreeBSD and OpenBSD are now fully supported platforms.
76
77 Bash tab completion is available for all of the command line tools.
78
79 Documentation
80 Verbatim text in man pages that wrapped over several lines is now
81 typeset correctly.
82
83 Links within the documentation have been enhanced, and are now checked
84 for correctness.
85
86 Tools
87 New nbdcopy(1) tool lets you copy between an NBD server and a local
88 file, or stream to and from an NBD server.
89
90 New nbdinfo(1) tool lets you print extended information about an NBD
91 server’s exports (Eric Blake).
92
93 Tests
94 Test sockets are created in /tmp (instead of the local directory).
95 This stops the test suite from failing if the local directory path is
96 longer than the Unix domain socket maximum path length.
97
98 Other improvements and bug fixes
99 Trace messages have been improved: long strings are truncated, strings
100 with non-printable characters are escaped, and lists of strings are
101 printed.
102
103 The generator was split from a large single script into several small
104 files. To build from git the OCaml bytecode compiler (ocamlc(1)) is
105 now required instead of the interpreter (ocaml(1)).
106
107 Long login names are supported in nbd_get_tls_username(3).
108
109 The handle name in nbdsh(1) is now set to "nbdsh" (instead of a
110 randomly generated name).
111
112 Compatibility with OCaml 4.10.0 and 4.11.0.
113
114 Python AIO buffer adds a new "is_zero" method allowing Python clients
115 to do sparsification when copying.
116
117 Compatibility with Python 3.9.
118
119 External C programs can now be compiled against libnbd’s build
120 directory using "../libnbd/run ./configure".
121
122 Honggfuzz can be used as another external fuzzing option.
123
124 Fix compilation with glibc 2.32 which deprecates "sys_errlist".
125
126 Many examples added or extended to demonstrate uses of the new APIs
127 (Eric Blake).
128
130 libnbd(3).
131
133 Eric Blake
134
135 Richard W.M. Jones
136
138 Copyright (C) 2019-2020 Red Hat Inc.
139
141 This library is free software; you can redistribute it and/or modify it
142 under the terms of the GNU Lesser General Public License as published
143 by the Free Software Foundation; either version 2 of the License, or
144 (at your option) any later version.
145
146 This library is distributed in the hope that it will be useful, but
147 WITHOUT ANY WARRANTY; without even the implied warranty of
148 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
149 Lesser General Public License for more details.
150
151 You should have received a copy of the GNU Lesser General Public
152 License along with this library; if not, write to the Free Software
153 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
154 02110-1301 USA
155
156
157
158libnbd-1.12.5 2022-07-10 libnbd-release-notes-1.4(1)