libnbd-release-notes-1.4(1)
β¨ libnbd-release-notes-1.4 β¨
okay bestie so this is the page for libnbd-release-notes-1.4(1) β part of the LIBNBD manual fam π
β and it's literally the whole glow-up story of libnbd stable release 1.4. Grab a snack π, we're recapping the major changes since 1.2.
πΈ NAME πΈ
libnbd-release-notes-1.4 β the release notes for libnbd 1.4, bestie. That's it, that's the whole vibe.
π¦ DESCRIPTION π¦
These are the release notes for libnbd stable release 1.4, and they describe the major changes since 1.2. Main character energy only β¨
libnbd 1.4.0 was released on 25 August 2020. Mark your calendars, it's iconic.
π Security
ngl, there were no security issues found in this release β we ate and left no crumbs π
If you do find a security issue, please read SECURITY in the source (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). And to find out about previous security issues in libnbd, see libnbd-security(3). iykyk, always check the receipts π
π New APIs
libnbd 1.4 adds a whole new "negotiating" state during NBD handshaking, and it's giving main character π
For backwards compatibility, programs must request this before starting the connection by calling nbd_set_opt_mode(3). And 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 the section "CONTROLLING NEGOTIATION" in libnbd(3). Slay.
During the negotiating state, abort the connection. Bye bestie π
During the negotiating state, complete the handshake. finally, closure π«Ά
During the negotiating state, request full information about the server export. so nosy of you, we love it π
During the negotiating state, request the list of exports that the server provides. window shopping, basically ποΈ
Return the minimum, preferred or maximum block size constraints for requests sent to the server. Know your limits, queen.
Return the canonical export name that the server defaults to. Heads up tho: this information may only be available if you call nbd_set_full_info(3) before connecting π
Return the optional text description of the current export. Same caveat, bestie: this information may only be available if you call nbd_set_full_info(3) before connecting.
Enable extended information about exports from the server. more info = more lore π
Thanks: Eric Blake for all of the new APIs. absolute legend ππ«Ά
π New features
- Bindings are now available in the Go programming language. new language unlocked π
- FreeBSD and OpenBSD are now fully supported platforms. the whole friend group is here π
- Bash tab completion is available for all of the command line tools. press Tab, feel the magic β¨
π Documentation
- Verbatim text in man pages that wrapped over several lines is now typeset correctly. no more chaos π
- Links within the documentation have been enhanced, and are now checked for correctness. the receipts are verified fr fr β
π οΈ Tools
- New
nbdcopy(1)tool lets you copy between an NBD server and a local file, or stream to and from an NBD server. copy-paste but make it networking π - New
nbdinfo(1)tool lets you print extended information about an NBD server's exports (Eric Blake). the info dump we actually asked for π
π§ͺ 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. short path, happy path π¦
π₯ 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. cleaner logs, cleaner vibes β¨
- 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)). note the swap, bestie, it's not a drill π - Long login names are supported in
nbd_get_tls_username(3). long names, no problem π - The handle name in
nbdsh(1)is now set to"nbdsh"(instead of a randomly generated name). she finally has a 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. sparse and slaying π¦ - Compatibility with Python 3.9.
- External C programs can now be compiled against libnbd's build directory using
"../libnbd/run ./configure". go build yourself, icon β¨ - Honggfuzz can be used as another external fuzzing option. fuzz fuzz fuzz π
- Fix compilation with glibc 2.32 which deprecates
"sys_errlist". ty for the heads up, glibc π - Many examples added or extended to demonstrate uses of the new APIs (Eric Blake). show don't tell, we love a demo π
π SEE ALSO π
π 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
mwah π this page was served up from libnbd-1.25.8, dated 2026-10-13, and it's the release notes for libnbd-release-notes-1.4(1) β that's a wrap bestie, go read the other ones π«Άβ¨
π¦ where this page comes from
- centos-stream 10: libnbd-devel 1.25.8-1.el10 Β· LGPL-2.0-or-later AND BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms