1guestfs-release-notes-1.22(1)Virtualization Supportguestfs-release-notes-1.22(1)
2
3
4

NAME

6       guestfs-release-notes - libguestfs Release Notes
7

RELEASE NOTES FOR LIBGUESTFS 1.22

9       These release notes only cover the differences from the previous
10       stable/dev branch split (1.20.0).  For detailed changelogs, please see
11       the git repository, or the ChangeLog file distributed in the tarball.
12
13   New features
14       API
15
16       Remote access to disks:
17
18       ·   Network Block Device (nbd)
19
20       ·   Secure Shell (ssh)
21
22       ·   HTTP and HTTPS
23
24       ·   FTP and FTPS
25
26       ·   iSCSI
27
28       ·   Gluster
29
30       ·   Ceph/rbd (Mike Kelly)
31
32       ·   Sheepdog
33
34       ·   TFTP
35
36       The SYSLINUX and EXTLINUX bootloaders can now be installed in disk
37       images using the API.
38
39       Inspection can now handle filesystems such as btrfs where subvolumes
40       are separately mountable (Matthew Booth).
41
42       "Attach methods" are now known as "backends".  Compatibility with
43       existing code is preserved.
44
45       Filenames can contain ':', as long as newer QEMU is being used.
46
47       Tools
48
49       Virt-alignment-scan and virt-df scan multiple guests in parallel.
50
51       Guestmount now passes errno accurately back to userspace in almost all
52       cases.
53
54       Guestfish and other tools can now use a URI-like syntax to access
55       remote disks, eg:
56
57        guestfish -a ssh://example.com/path/to/disk.img
58
59       Guestfish and guestmount now allow you to specify the filesystem type
60       when mounting, which is more secure (Dave Vasilevsky).
61
62       Guestfish is now the "guest filesystem shell".
63
64       Guestfish allows only 1 "true" "t" "yes" "y" "on" 0 "false" "f" "no"
65       "n" "off" for boolean values (case insensitive), and gives an error for
66       all other strings.
67
68       New tool "guestunmount" for unmounting FUSE filesystems safely.
69
70       "guestmount --no-fork" flag prevents guestmount from daemonizing.
71
72       Virt-resize now uses sparse copies by default, saving considerable
73       space for guests which are mostly empty.
74
75       Bash tab completion has been rewritten and can now handle most tools,
76       and correctly tab-complete "--long" options.  In addition, bash
77       completion scripts are loaded on demand.
78
79       Language bindings
80
81       The Java API now supports events.
82
83       The Python object now inherits from the "object" base class.
84
85       Python methods which previously returned lists of tuples can now be
86       made to return a Python dict.  For backwards compatibility, you have to
87       enable this by using the constructor option
88       "guestfs.GuestFS (python_return_dict=True)".
89
90       The PHP bindings are now tested properly, and have had multiple fixes.
91
92       The long-deprecated Perl "Sys::Guestfs::Lib" library has been removed.
93       https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html
94
95       Examples
96
97       New example program showing how to enable debugging and capture log
98       messages.
99
100       Other
101
102       Distributors can add arbitrary extra packages to the appliance by
103       doing:
104
105        ./configure --with-extra-packages="list of package names"
106
107       Distributors can use:
108
109        ./configure --with-supermin-extra-options="..."
110
111       to add arbitrary extra options to supermin.
112
113   Security
114       No security issues were found in this release.
115
116   New APIs
117        cp-r
118        extlinux
119        feature-available
120        get-program
121        is-whole-device
122        part-get-gpt-type
123        part-set-gpt-type
124        rename
125        set-program
126        syslinux
127
128       C only:
129
130        guestfs_event_to_string
131
132   Internals
133       The febootstrap tool has now been renamed to "supermin".  Libguestfs
134       can use either, but now prefers "supermin".
135       http://people.redhat.com/~rjones/supermin/
136
137       libxml2 is required to build libguestfs.
138
139       The hivexregedit program (from hivex) is required to build from git.
140
141       Internal functions can no longer be used unless the caller defines
142       "-DGUESTFS_PRIVATE=1".
143
144       Enable C compiler warnings in Python, Ruby bindings.
145
146       Fail early and clearly if libvirt does not support qemu/KVM (eg. if
147       default libvirt connection is to Xen).
148
149       "make print-subdirs" rule, useful for selectively running tests.
150
151       Multiple fixes to allow separated (sourcedir != builddir) builds.
152
153       Multiple fixes to Haskell bindings.
154
155       "ln" and "ln-f" APIs now capture "errno" correctly.
156
157       Language binding tests use (mostly) a standard numbering scheme and aim
158       to test the same range of features in each language.  Also the number
159       of launches required has been reduced so these tests should run much
160       more quickly.
161
162       Library code internally uses GCC "__attribute__((cleanup))" (if
163       available) to simplify memory allocation.
164
165       Internal header files have been reorganized.  See the comments in
166       src/guestfs-internal*.h
167
168       Internal code shared between the library and certain tools is now
169       located in a static "libutils" library.
170
171       Almost all subdirectories can now use parallel builds, although note
172       that the top-level directories still build in series.
173
174       Use of "PATH_MAX" and "NAME_MAX" has been eliminated from the code.
175
176       The Java API now requires JVM ≥ 1.6.
177
178       Force use of "serial-tests" with automake ≥ 1.12.
179
180       Use of sockets in the library protocol layer is abstracted, allowing
181       other non-POSIX layers to be added in future (see src/conn-socket.c).
182
183       "qemu-img info --output json" is used if available, for more secure
184       parsing of the output of this command.
185
186       Distros can now use "make INSTALLDIRS=vendor install" to place Ruby
187       bindings in vendordir.  This eliminates a non-upstream patch carried by
188       both Fedora and Debian.
189
190       Valgrind log files are now written to tmp/valgrind-DATE-PID.log
191
192       "make clean" cleans the local "tmp/" directory.
193
194       The C API tests have been rewritten using a more flexible generator
195       language that allows arbitrary C code to be executing during tests.
196
197   Bugs fixed
198       https://bugzilla.redhat.com/961812
199           Segfault in inspect-fs.c in mountable code
200
201       https://bugzilla.redhat.com/957772
202           tar-out and base64-out quoting error
203
204       https://bugzilla.redhat.com/957380
205           libguestfs: error: btrfsvol:/dev/sda2/root: root device not found:
206           only call this function with a root device previously returned by
207           guestfs_inspect_os
208
209       https://bugzilla.redhat.com/948324
210           inspection fails if libosinfo is not installed
211
212       https://bugzilla.redhat.com/928995
213           file on zero-sized file now produces "empty " instead of "empty"
214
215       https://bugzilla.redhat.com/921292
216           qemu: could not open disk image /tmp/.../snapshot1: Permission
217           denied
218
219       https://bugzilla.redhat.com/921040
220           "error: external command failed, see earlier error messages"
221           message needs to change
222
223       https://bugzilla.redhat.com/920225
224           libguestfs should use --output json (if supported) to safely parse
225           the output of qemu-img command
226
227       https://bugzilla.redhat.com/916780
228           feature request: guestmount --with-cleanup-pipefd
229
230       https://bugzilla.redhat.com/914934
231           oom-killer kills guestfsd when tar-in a lot of data
232
233       https://bugzilla.redhat.com/914931
234           FileIn commands cause segfault if appliance dies during the file
235           copy in
236
237       https://bugzilla.redhat.com/913145
238           Misc leaks in virNetClientProgramCall in libvirt 1.0.2
239
240       https://bugzilla.redhat.com/912499
241           Security context on image file gets reset
242
243       https://bugzilla.redhat.com/909836
244           libguestfs-test-tool --qemu segfaults
245
246       https://bugzilla.redhat.com/909624
247           Unexpected non-tail recursion in recv_from_daemon results in stack
248           overflow in very long-running API calls that send progress messages
249
250       https://bugzilla.redhat.com/908322
251           virt-tar fails on non-existent directory names "error in chunked
252           encoding at /home/rjones/d/libguestfs/tools/virt-tar line 272."
253
254       https://bugzilla.redhat.com/908321
255           virt-cat fails on directory names "/dev/stdout: error in chunked
256           encoding"
257
258       https://bugzilla.redhat.com/907554
259           btrfs causes subsequent ntfs-3g filesystem to fail
260
261       https://bugzilla.redhat.com/905341
262           "No such file or directory" when execute "hivex-commit"
263
264       https://bugzilla.redhat.com/903620
265           btrfs_subvolume_list broken due to change in subvolume list output
266
267       https://bugzilla.redhat.com/895910
268           guestmount: rename() incorrectly follows symbolic links
269
270       https://bugzilla.redhat.com/895905
271           guestmount: link() incorrectly returns ENOENT, when it should be
272           EXDEV
273
274       https://bugzilla.redhat.com/895904
275           checksums-out fail to compute the checksums of all regular files in
276           directory
277
278       https://bugzilla.redhat.com/894545
279           libguestfs FTBFS on Fedora 19 because of new ruby
280
281       https://bugzilla.redhat.com/890027
282           virt-sysprep: Setting hostname, domain name and pretty name on
283           Fedora 18 correctly
284
285       https://bugzilla.redhat.com/887971
286           pvcreate fails if partition contains a swap signature
287
288       https://bugzilla.redhat.com/887520
289           zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate
290           memory
291
292       https://bugzilla.redhat.com/886915
293           libguestfs with libvirt attach-method fails with odd error if
294           default hypervisor is Xen
295
296       https://bugzilla.redhat.com/847549
297           Adding a zero-length virtio-scsi disk causes: qemu-kvm:
298           hw/scsi-bus.c:1568: scsi_req_complete: Assertion `req->status ==
299           -1' failed.
300
301       https://bugzilla.redhat.com/811649
302           libguestfs cannot open disk images which are symlinks to files that
303           contain ':' (colon) character
304
305       https://bugzilla.redhat.com/664558
306           RFE: Allow to set log callback in Ruby bindings
307

SEE ALSO

309       guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
310       guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
311       http://libguestfs.org/
312

AUTHOR

314       Richard W.M. Jones
315
317       Copyright (C) 2009-2020 Red Hat Inc.
318

LICENSE

320       This program is free software; you can redistribute it and/or modify it
321       under the terms of the GNU General Public License as published by the
322       Free Software Foundation; either version 2 of the License, or (at your
323       option) any later version.
324
325       This program is distributed in the hope that it will be useful, but
326       WITHOUT ANY WARRANTY; without even the implied warranty of
327       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
328       General Public License for more details.
329
330       You should have received a copy of the GNU General Public License along
331       with this program; if not, write to the Free Software Foundation, Inc.,
332       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
333

BUGS

335       To get a list of bugs against libguestfs, use this link:
336       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
337
338       To report a new bug against libguestfs, use this link:
339       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
340
341       When reporting a bug, please supply:
342
343       ·   The version of libguestfs.
344
345       ·   Where you got libguestfs (eg. which Linux distro, compiled from
346           source, etc)
347
348       ·   Describe the bug accurately and give a way to reproduce it.
349
350       ·   Run libguestfs-test-tool(1) and paste the complete, unedited output
351           into the bug report.
352
353
354
355libguestfs-1.42.0                 2020-03-09     guestfs-release-notes-1.22(1)
Impressum