.\" Automatically generated by Podwrapper::Man 1.24.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 "nbdkit-release-notes-1.24 1" .TH nbdkit-release-notes-1.24 1 "2021-01-20" "nbdkit-1.24.1" "NBDKIT" .\" 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" nbdkit\-release\-notes\-1.24 \- release notes for nbdkit 1.24 .SH "DESCRIPTION" .IX Header "DESCRIPTION" These are the release notes for nbdkit stable release 1.24. This describes the major changes since 1.22. .PP nbdkit 1.24.0 was released on \fB7 January 2021\fR. .SS "Security" .IX Subsection "Security" There were no security issues found. All past security issues and information about how to report new ones can be found in \&\fBnbdkit\-security\fR\|(1). .SS "Server" .IX Subsection "Server" The server and a subset of the plugins and filters have been ported to Windows using the Win32 \s-1API.\s0 Only the mingw\-w64 toolchain is supported for building nbdkit (not \s-1MSVC\s0). You can also cross-compile from Linux and test under Wine. Some features are missing although it is very usable. .PP New \fI\-D nbdkit.tls.log\fR and \fI\-D nbdkit.tls.session\fR debug flags which enable additional debugging for \s-1TLS\s0 sessions. .PP The server now responds to \f(CW\*(C`NBD_INFO_NAME\*(C'\fR (Eric Blake). .PP Options \fI\-\-run\fR and \fI\-\-vsock\fR may now be used together. .PP In \fI\-\-run\fR, \f(CW$nbd\fR is now a synonym for \f(CW$uri\fR instead of having confusing magical properties. .SS "Plugins" .IX Subsection "Plugins" New \fBnbdkit\-S3\-plugin\fR\|(1) to access disks stored on \s-1AWS S3\s0 and Ceph. .PP New \fBnbdkit\-sparse\-random\-plugin\fR\|(1) which generates large disks sparsely filled with random blocks of data. These look like virtual disk images and can be used to benchmark copying tools. .PP \&\fBnbdkit\-data\-plugin\fR\|(1) has been greatly enhanced. New features include: \f(CW\*(C`(...)[N:M]\*(C'\fR (slice syntax), assignments, comments, variables, \f(CW\*(C`<(SCRIPT)\*(C'\fR (inlined shell script). In addition a parse tree is built, allowing optimizations and other enhancements. The plugin is now 64 bit clean allowing patterns larger than 2^32 bytes to work correctly. .PP \&\fBnbdkit\-random\-plugin\fR\|(1) can now be used to test copying tools. .PP \&\fBnbdkit\-vddk\-plugin\fR\|(1) supports enabling compression between \s-1VDDK\s0 and the VMware server which in some situations can improve performance. .SS "Filters" .IX Subsection "Filters" New \fBnbdkit\-exportname\-filter\fR\|(1) can be used to extend, mask and modify the exports exposed by a plugin (Eric Blake). .PP New \fBnbdkit\-exitwhen\-filter\fR\|(1) allowing the server to gracefully exit on various events including external scripts. .PP New \fBnbdkit\-checkwrite\-filter\fR\|(1) can be used to benchmark copying tools. .PP \&\fBnbdkit\-ip\-filter\fR\|(1) now supports filtering clients by \s-1PID,\s0 user \s-1ID\s0 or group \s-1ID,\s0 for clients connected over a Unix domain socket. Also you can filter clients using \f(CW\*(C`AF_VSOCK\*(C'\fR and vsock port number. .PP \&\fBnbdkit\-log\-filter\fR\|(1) now logs \f(CW\*(C`get_ready\*(C'\fR, \f(CW\*(C`after_fork\*(C'\fR and \&\f(CW\*(C`preconnect\*(C'\fR methods, and there is a new \f(CW\*(C`logscript\*(C'\fR feature allowing scripts to be run on logging events. .PP \&\fBnbdkit\-ext2\-filter\fR\|(1) new option \f(CW\*(C`ext2file=exportname\*(C'\fR can be used to allow the client to select which file to see from the filesystem using the \s-1NBD\s0 export name (Eric Blake). .SS "Language bindings" .IX Subsection "Language bindings" Python style cleanups (Eric Blake). .PP The OCaml plugin now correctly acquires and releases the \s-1GC\s0 lock on all paths in and out. .PP There is a new OCaml \f(CW\*(C`NBDKit.version\*(C'\fR function returning the version of nbdkit that the plugin was compiled against. .PP Multiple enhancements to the Rust plugin (Alan Somers). .SS "\s-1API\s0" .IX Subsection "API" New \f(CW\*(C`.list_exports\*(C'\fR, \f(CW\*(C`.default_export\*(C'\fR and \f(CW\*(C`.export_description\*(C'\fR plugin methods allowing plugins to be queried about what export names they support, and give additional descriptions of exports. New \&\f(CW\*(C`nbdkit_use_default_export\*(C'\fR helper function (Eric Blake). .PP New \f(CW\*(C`nbdkit_strdup_intern\*(C'\fR, \f(CW\*(C`nbdkit_strndup_intern\*(C'\fR \&\f(CW\*(C`nbdkit_printf_intern\*(C'\fR and \f(CW\*(C`nbdkit_vprintf_intern\*(C'\fR functions which allow you to allocate a string in a plugin without worrying about freeing it (Eric Blake). .PP New \f(CW\*(C`nbdkit_peer_pid\*(C'\fR, \f(CW\*(C`nbdkit_peer_uid\*(C'\fR and \f(CW\*(C`nbdkit_peer_gid\*(C'\fR allows plugins and filters to read the client’s credentials, for clients connected over a Unix domain socket. .SS "Tests" .IX Subsection "Tests" Many tests now use \fBlibnbd\fR\|(3), \fBnbdsh\fR\|(1), \fBnbdinfo\fR\|(1) and \&\fBnbdcopy\fR\|(1) as lighter weight replacements for qemu tools. .PP Fix compatibility with qemu > 5.2.0. .SS "Build" .IX Subsection "Build" Downstream packagers can now use this to add extra downstream information which is printed in version strings etc: ./configure \-\-with\-extra=... .PP If \fBocamldoc\fR\|(1) is installed at build time, then it will be used to build the \fBNBDKit\fR\|(3) manual page for OCaml documentation. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBnbdkit\fR\|(1). .SH "AUTHORS" .IX Header "AUTHORS" Authors of nbdkit 1.24: .IP "\(bu" 4 Alan Somers .IP "\(bu" 4 Eric Blake .IP "\(bu" 4 Richard W.M. Jones .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2020\-2021 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: .IP "\(bu" 4 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. .IP "\(bu" 4 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. .IP "\(bu" 4 Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. .PP \&\s-1THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS\s0 ''\s-1AS IS\s0'' \s-1AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\s0 (\s-1INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \s-1LOSS OF USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\s0 (\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\s0