1nbdkit-release-notes-1.26(1)        NBDKIT        nbdkit-release-notes-1.26(1)
2
3
4

NAME

6       nbdkit-release-notes-1.26 - release notes for nbdkit 1.26
7

DESCRIPTION

9       These are the release notes for nbdkit stable release 1.26.  This
10       describes the major changes since 1.24.
11
12       nbdkit 1.26.0 was released on 7 June 2021.
13
14       nbdkit is now hosted on gitlab:
15       https://listman.redhat.com/archives/libguestfs/2021-February/msg00021.html
16
17   Security
18       There were no security issues found.  All past security issues and
19       information about how to report new ones can be found in
20       nbdkit-security(1).
21
22   Plugins
23       nbdkit-gzip-plugin and nbdkit-tar-plugin have been removed.  They were
24       deprecated in nbdkit 1.22.  The functionality has been replaced by
25       nbdkit-gzip-filter(1) and nbdkit-tar-filter(1) respectively.
26
27       nbdkit-streaming-plugin(1) has been deprecated and will be removed in
28       nbdkit 1.30.  You can use nbdcopy(1) instead.
29
30       nbdkit-curl-plugin(1) adds these features: "followlocation=false" to
31       disable following redirects.  "cookiefile" and "cookiejar" to control
32       saving cookies.
33
34       nbdkit-ssh-plugin(1) now advertises multi-conn if the server is
35       OpenSSH, improving performance (Eric Blake).
36
37       nbdkit-ondemand-plugin(1) has a new "wait=true" flag allowing you to
38       choose between clients waiting for an export to become free or being
39       immediately rejected.
40
41       nbdkit-sparse-random-plugin(1) now does not generate fully random data
42       within each block.  Using perf we observed that the plugin was spending
43       34% of the total time during benchmarks just doing this.  You can
44       enable the old behaviour using "random-content=true".
45
46       nbdkit-file-plugin(1) now checks if the file is read-only and exports a
47       read-only NBD connection in this case (Eric Blake).
48
49       nbdkit-vddk-plugin(1) has been tested with VDDK 7.0.2.
50
51   Filters
52       There is a new API for use by filters to manage "contexts".  Instead of
53       the previous 1-1 relationship between filter connections and plugin
54       connections, filters can now open more than one context into the
55       backend from a single connection, or share contexts between connections
56       (Eric Blake).
57
58       New nbdkit-multi-conn-filter(1) which allows you to add multi-conn
59       support to plugins which don't support it (although the emulation is
60       expensive), or change whether multi-conn is advertised to clients (Eric
61       Blake).
62
63       nbdkit-cow-filter(1) now ignores flush/FUA requests (which are not
64       useful for a temporary overlay).  The filter now implements extents and
65       efficient trimming.  Fine-grained locking is used around shared
66       structures, greatly improving parallel performance.  Added support for
67       multi-conn.
68
69       nbdkit-cache-filter(1) advertises multi-conn when possible (Eric
70       Blake).
71
72       nbdkit-cache-filter and nbdkit-cow-filter can now handle arbitrary
73       sized disks, instead of rounding the disk size down.
74
75       nbdkit-blocksize-filter(1) supports parallel requests (Eric Blake).
76
77       nbdkit-checkwrite-filter(1) supports multi-conn (Eric Blake).
78
79       nbdkit-ext2-filter(1) no longer supports multi-conn.  The filter is
80       single-threaded so it does not matter, but it was not safe.  Fix trim,
81       zero and flush support (Eric Blake).
82
83       nbdkit-readahead-filter(1) fixes multi-conn support (Eric Blake).
84
85       nbdkit-gzip-filter(1) and nbdkit-xz-filter(1) now both support multi-
86       conn (Eric Blake).
87
88   Language bindings
89       nbdkit-python-plugin(3) supports the following new features:
90       "after_fork" and "preconnect" methods.  "nbdkit.shutdown()" binding.
91
92       nbdkit-rust-plugin(3) updated for newer Rust compiler versions (Alan
93       Somers).
94
95       nbdkit-golang-plugin(3) now uses and requires golang modules.  Golang ≥
96       1.13 must be used.
97
98   API
99       New ".cleanup" callback for plugins and filters.  This is called
100       shortly before ".unload", but unlike ".unload" it is guaranteed that no
101       plugin or filter code has been dlclosed (Eric Blake).
102
103       New "nbdkit_extents_full" is a helper function for filters which can be
104       used to read all extents from a plugin covering a region.
105
106   Tests
107       Old plugins that we use for testing were rebuilt so they no longer
108       depend on libselinux (thanks Thomas Weißschuh).
109
110       nbdkit-ssh-plugin(1) can still be built even if ssh-keygen is
111       unavailable for testing it (thanks Thomas Weißschuh).
112
113       Improve tests/test-captive.sh to avoid crashes during testing.
114
115       Test coverage on FreeBSD has been improved, fewer tests should skip
116       unnecessarily.
117
118   Build
119       nbdkit and plugins can now be built with -fvisibility=hidden, which
120       allows the compiler to make some optimizations.
121
122       Add a dependency so nbdkit is relinked if the linker script
123       (nbdkit.syms) changes (Eric Blake).
124
125       xorriso is now preferred over genisoimage or mkisofs (see
126       https://wiki.debian.org/genisoimage).
127
128       It is now possible to compile nbdkit with clang with warnings enabled.
129       Several warnings have been suppressed or fixed.
130
131       "MALLOC_CHECK_" and "MALLOC_PERTURB_" are only enabled when running the
132       tests, not when running nbdkit from the build directory.  This makes it
133       easier to do benchmarks.
134
135       "nbdkit_peer_*" implemented on OpenBSD.
136
137   Internals
138       When fuzzing nbdkit we now recommend using the -t 1 flag (which
139       disables threads).  This improves the fuzz-stability of nbdkit.
140

SEE ALSO

142       nbdkit(1).
143

AUTHORS

145       Authors of nbdkit 1.26:
146
147       •   Alan Somers
148
149       •   Eric Blake
150
151       •   Michael Ablassmeier
152
153       •   Richard W.M. Jones
154
155       •   Timm Bäder
156
158       Copyright (C) 2021 Red Hat Inc.
159

LICENSE

161       Redistribution and use in source and binary forms, with or without
162       modification, are permitted provided that the following conditions are
163       met:
164
165       •   Redistributions of source code must retain the above copyright
166           notice, this list of conditions and the following disclaimer.
167
168       •   Redistributions in binary form must reproduce the above copyright
169           notice, this list of conditions and the following disclaimer in the
170           documentation and/or other materials provided with the
171           distribution.
172
173       •   Neither the name of Red Hat nor the names of its contributors may
174           be used to endorse or promote products derived from this software
175           without specific prior written permission.
176
177       THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY
178       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
179       IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
180       PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
181       LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
182       CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
183       SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
184       BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
185       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
186       OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
187       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
188
189
190
191nbdkit-1.30.7                     2022-07-10      nbdkit-release-notes-1.26(1)
Impressum