OSDN Git Service

post-release administrivia
[android-x86/external-parted.git] / NEWS
1 GNU parted NEWS                                    -*- outline -*-
2
3 * Noteworthy changes in release ?.? (????-??-??) [?]
4
5
6 * Noteworthy changes in release 2.4 (2011-05-18) [stable]
7
8 ** Bug fixes
9
10   parted no longer allows the modification of certain in-use partitions.
11   In particular, before this fix, parted would permit removal or modification
12   of any in-use partition on a dmraid and any in-use partition beyond the 15th
13   on a regular scsi disk.
14
15   Improve support of DASD devices on the s390 architecture.
16   Parted now supports all DASD types (CKD and FBA), DASD formats (CDL,
17   LDL, CMS non-reserved, and CMS reserved), and DASD drivers (ECKD, FBA,
18   and DIAG) in all combinations supported by the Linux kernel.  As before,
19   only CDL format on CKD DASD using the ECKD driver is supported for
20   read-write operations (create, delete, move, re-size, etc.).  However,
21   the implicit partition present on LDL- and CMS-formatted disks is now
22   correctly recognized for read-only operations.  In detail:
23
24   - parted now correctly handles LDL-format disks with a block
25     size other than 4096 (bug fix)
26
27   - parted now recognizes the CMS disk format, both reserved
28     and non-reserved (enhancement)
29
30   - parted now supports FBA DASD devices (enhancement)
31
32   - parted now supports the DIAG driver when running in a
33     virtual machine under z/VM (enhancement)
34
35   libparted: raise the limit on the maximum start sector and the
36   maximum number of sectors in a "loop" partition table from 2^32 to 2^64.
37   [bug introduced in parted-2.1]
38
39   libparted once again recognizes a whole-disk FAT partition
40   [bug introduced in parted-1.9.0]
41
42   libparted now recognizes scsi disks with a high major (128-135) as scsi
43   disks
44
45   an msdos partition table on a very small device (smaller than one cylinder)
46   is now recognized.  [bug introduced in parted-2.2]
47
48   libparted: zero-length devices (other than files) are ignored rather than
49   throwing an exception.
50
51   libparted: gpt label creation can no longer divide by zero with a
52   defective device or when a concurrent writer modifies the PE-size
53   bytes in the small interval between the write and subsequent read
54   of the primary GPT header.
55
56 ** Changes in behavior
57
58   "parted $dev print" now prints information about the device (model, size,
59   transport, sector size) even when it fails to recognize the disk label.
60
61   specifying partition start or end values using MiB, GiB, etc. suffixes
62   now makes parted do what I want, i.e., use that precise value, and not
63   some other that is up to 500KiB or 500MiB away from what I specified.
64   Before, to get that behavior, you would have had to use carefully chosen
65   values with units of bytes ("B") or sectors ("s") to obtain the same
66   result, and with sectors, your usage would not be portable between devices
67   with varying sector sizes.  This change does not affect how parted handles
68   suffixes like KB, MB, GB, etc.
69
70
71 * Noteworthy changes in release 2.3 (2010-05-28) [stable]
72
73 ** New features
74
75   parted now recognizes ATA over Ethernet (AoE) devices
76
77   parted now recognizes Linux Software RAID Arrays
78
79   libparted has a new partition flag to check for diagnostic (aka recovery
80   or reserved) partitions: PED_PARTITION_DIAG
81
82 ** Bug fixes
83
84   When libparted deferenced a /dev/mapper/foo symlink, it would keep the
85   resulting /dev/dm-N name and sometimes use it later, even though it
86   had since become stale and invalid.  It no longer stores the result
87   of dereferencing a /dev/mapper symlink.
88
89   libparted's msdos_partition_is_flag_available function now always reports
90   that the "hidden" flag is not available for an extended partition.
91   Similarly, msdos_partition_get_flag(p,PED_PARTITION_HIDDEN) always returns 0
92   for an extended partition.
93
94   libparted uses a more accurate heuristic to distinguish between
95   ext4 and ext3 partitions.
96
97   libparted now properly checks the return value of dm_task_run when
98   operating on devicemapper devices.
99
100   allow using ped_device_cache_remove(dev) followed by a (later)
101   ped_device_destroy() without corrupting the device cache.
102
103   when creating an ext2 file system[*], Parted no longer creates an
104   invalid one when its size is 2TiB or larger.
105   [*] Remember, now all FS-creation operations are deprecated in Parted.
106   This is not an indicator that we'll be supporting this code.
107   On the contrary, it is slated to be removed.
108
109 ** Changes in behavior
110
111   libparted no longer issues an exception/warning about >512-byte
112   sector support being "HIGHLY EXPERIMENTAL".  It seems to have matured
113   enough to be usable at least with GPT and MSDOS partition tables.
114
115
116 * Noteworthy changes in release 2.2 (2010-02-26) [stable]
117
118 ** Changes in behavior
119
120   The default alignment (--align option) for newly created partitions has
121   been changed to optimal.
122
123 ** New features
124
125   The ped_device_get_*_alignment() functions now return a sane default
126   value instead of NULL when the so called topology information is incomplete.
127   The default minimum alignment aligns to physical sector size, the default
128   optimal alignment is 1MiB, which is what vista and windows 7 do.
129
130 ** Bug fixes
131
132   Parted no longer uses a physical sector size of 0 or of any other
133   value smaller than the logical sector size.
134
135   dos: creating an HFS or HFS+ partition in an msdos partition table
136   used to set the partition type to 0x83.  That is wrong.  The required
137   number is 0xaf, and that is what is used now.
138
139   gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table
140   [bug introduced in parted-2.1]
141
142   gpt: a read-only operation like "parted $dev print" would overwrite $dev's
143   protective MBR when exactly one of the primary and backup GPT tables was
144   found to be corrupt.
145   [bug introduced prior to parted-1.8.0]
146
147   sun: the version, sanity and nparts VTOC fields were ignored by libparted.
148   Those fields are properly initialized now. The nparts (number of partitions)
149   field is initialized to 8 (max. number of sun partitions) rather that to a
150   real number of partitions. This solution is compatible with Linux kernel
151   and Linux fdisk.
152
153   "make install" no longer installs tests programs named disk and label
154
155   libparted: try harder to inform kernel of partition changes.
156   Previously when editing partitions, occasionally the kernel would
157   fail to be informed of partition changes.  When this happened future
158   problems would occur because the kernel had incorrect information.
159   For example, if this problem arose when resizing or creating a
160   new partition, then an incorrect partition size might be displayed
161   or a user might encounter a failure to format or delete a newly
162   created partition, respectively.
163
164   libparted: committing a disk that was returned by ped_disk_duplicate
165   would always result in ped_disk_clobber being called (and thus the first
166   and last 9KiB of the disk being zeroed), even if the duplicated disk,
167   was not returned by ped_disk_fresh().
168
169
170 * Noteworthy changes in release 2.1 (2009-12-20) [stable]
171
172 ** New features
173
174   new --align=<align> commandline option which can have the following values:
175   none:     Use the minimum alignment allowed by the disk type
176   cylinder: Align partitions to cylinders (the default)
177   minimal:  Use minimum alignment as given by the disk topology information
178   optimal:  Use optimum alignment as given by the disk topology information
179   The minimal and optimal  values will use layout information provided by the
180   disk to align the logical partition table addresses to actual physical
181   blocks on the disks. The mininal value uses the minimum aligment needed to
182   align the partition properly to physical blocks, which avoids performance
183   degradation. Where as the optimal value uses a multiple of the physical
184   block size in a way that guarantees optimal performance.
185   The min and opt values will only work when compiled with
186   libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will
187   behave as the none --align value.
188
189   libparted: new functions to set per disk (instead of per partition) flags:
190   ped_disk_set_flag()
191   ped_disk_get_flag()
192   ped_disk_is_flag_available()
193   ped_disk_flag_get_name()
194   ped_disk_flag_get_by_name()
195   ped_disk_flag_next()
196
197   libparted: new per disk flag: PED_DISK_CYLINDER_ALIGNMENT. This flag
198   (which defaults to true) controls if disk types for which cylinder alignment
199   is optional do cylinder alignment when a new partition gets added.
200
201   libparted: new functions to return per-partition-table-type limits:
202     - ped_disk_max_partition_start_sector: Return the largest representable
203     start sector number for a given "disk".
204     - ped_disk_max_partition_length: Return the maximum partition length
205     for a given "disk".
206
207   new command "align-check TYPE N" to determine whether the starting sector
208   of partition N is TYPE(minimal|optimal)-aligned for the disk.  E.g.,
209       parted -s /dev/sda align-check min 1 && echo partition 1 is min-aligned
210       parted -s /dev/sda align-check opt 2 && echo partition 2 is opt-aligned
211   The same libblkid and kernel version requirements apply as for --align
212
213   Add functions to libparted to get minimal and optimal alignment
214   information from devices:
215   ped_device_get_minimal_aligned_constraint()
216   ped_device_get_optimal_aligned_constraint()
217   ped_device_get_minimum_alignment()
218   ped_device_get_optimum_alignment()
219   The same libblkid and kernel version requirements apply as for --align
220
221   Add ped_disk_get_partition_alignment() function to libparted to get
222   information about alignment enforced by the disk type.
223
224 ** Bug fixes
225
226   parted can once again create partition tables on loop devices.
227   Before, "parted -s /dev/loop0 mklabel gpt" would fail.
228   [bug introduced in parted-1.9.0]
229
230   improved >512-byte sector support: for example, printing a table on a
231   4k-sector disk would show "Sector size (logical/physical): 4096B/512B",
232   when the sizes should have been "4096B/4096B".
233
234   gpt tables are more rigorously checked; before, partition entry array CRCs
235   were not checked, and we would mistakenly use the AlternateLBA member of a
236   known-corrupt primary table.
237
238   improved dasd disk support, in previous versions calling
239   ped_disk_new_fresh() or ped_disk_duplicate() on a dasd type PedDisk
240   would fail.  This is fixed now.
241
242   handle device nodes created by lvm build with udev synchronisation enabled
243   properly.
244
245   when printing tables, parted no longer truncates flag names
246
247
248 * Noteworthy changes in release 2.0 (2009-10-06) [beta]
249
250 ** Improvements
251
252   Parted now supports disks with sector size larger than 512 bytes.
253   Before this release, Parted could operate only on disks with a sector
254   size of 512 bytes.  However, disk manufacturers are already making disks
255   with an exposed hardware sector size of 4096 bytes.  Prior versions of
256   Parted cannot even read a partition table on such a device, not to
257   mention create or manipulate existing partition tables.
258   Due to internal design and time constraints, the following
259   less-common partition table types are currently disabled:
260     amiga, bsd, aix, pc98
261   "bsd" and "amiga" are mostly done, but had a few minor problems,
262   so may remain disabled until someone requests that they be revived.
263
264 ** Bug fixes
265
266   big-endian systems can once again read GPT partition tables
267   [bug introduced in parted-1.9.0]
268
269   ped_partition_is_busy no longer calls libparted's exception handler,
270   since doing so caused trouble with anaconda/pyparted when operating on
271   dmraid devices.
272
273   Partitions in a GPT table are no longer assigned the "microsoft
274   reserved partition" type.  Before this change, each partition would
275   be listed with a type of "msftres" by default.
276
277
278 * Noteworthy changes in release 1.9.0 (2009-07-23) [stable]
279
280 ** Bug fixes
281
282   parted now preserves the protective MBR (PMBR) in GPT type labels.
283   http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\
284     002473.html
285   http://lists.gnu.org/archive/html/bug-parted/2008-12/msg00015.html
286
287   gpt_read now uses SizeOfPartitionEntry instead of the size of
288   GuidPartitionEntry_t.  This ensures that *all* of the partition
289   entries are correctly read.
290   http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\
291     002465.html
292   http://lists.alioth.debian.org/pipermail/parted-devel/attachments/\
293     20081202/b7c0528d/attachment.txt
294
295   mklabel (interactive mode) now correctly asks for confirmation, when
296   replacing an existent label, without outputting an error message.
297   http://lists.alioth.debian.org/pipermail/parted-devel/2009-January/\
298     002739.html
299
300   resize now handles FAT16 file systems with a 64k cluster.  This
301   configuration is not common, but it is possible.
302   http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/207
303
304   parted now ignores devices of the type /dev/md* when probing.  These
305   types of devices should be handled by the device-mapper capabilities
306   of parted.
307   http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\
308     002781.html
309
310   The parted documentation now describes the differences in the options
311   passed to mkpart for the label types.
312   http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\
313     002782.html
314
315 ** Changes in behavior
316
317   include/parted/beos.h, include/parted/gnu.h and include/parted/linux.h
318   have been removed.  The symbols contained in these files (GNUSpecific,
319   ped_device_new_from_store, BEOSSpecific, LinuxSpecific,  LINUX_SPECIFIC)
320   were moved to the individual files that need them.
321
322   In libparted, the linux-swap "filesystem" types are now called
323   "linux-swap(v0)" and "linux-swap(v1)" rather than "linux-swap(old)"
324   and "linux-swap(new)" as in parted 1.8, or "linux-swap" as in older
325   versions; "old" and "new" generally make poor names, and v1 is the
326   only format supported by current Linux kernels. Aliases for all
327   previous names are available.
328
329 * Noteworthy changes in release 1.8.8.1 (2007-12-17) [stable]
330
331 ** FIXME: fill in details
332
333 * Noteworthy changes in release 1.8.8 (2007-08-09) [stable]
334
335 ** GNU parted is now licensed under the GNU General Public License version 3
336    or higher.  See the COPYING file for more details.
337
338 ** libparted:
339   - Add compute_block_counts() to improve ext2fs support.
340   - Properly detect 'ext2 fs too small' cases.
341   - Move formatting commands out of translatable strings.
342   - Read an msdos partition table from a device with 2K sectors.
343   - Remove always-false "Unable to open" diagnostic in ped_disk_new(),
344     leave the "unrecognized disk label" diagnostic.
345   - Don't leak partition table buffer in amiga_read().
346   - Don't read/write initialized memory with DEBUG turned on off for
347     'mklabel bsd' and 'mklabel amiga' command calls.
348   - Turn off DEBUG in libparted.c to avoid initializing all allocated
349     memory to '1' bits.
350   - Correct handling of HeaderSize field in GPT labels.
351   - Fix block number used when checking for ext2 fs state.
352   - Add detection support for Xen virtual block devices (/dev/xvd*).
353   - When reading DASD labels, check the filesystem type as well as
354     partition flags to determine what's on the partition.
355   - Add _dm_probe_all() from Debian to probe for all device-mapper
356     devices.
357
358 ** parted:
359   - Fixed exception handling in mkpart and mkpartfs commands.
360   - Add the --dry-run option to the partprobe command.
361   - Update docs: cannot specify 'primary' for a partition on a loop
362     device.
363   - Remove unused functions (get_spaces).
364   - Fix off-by-one error in str_list_print_wrap().
365   - Use xmalloc() and xrealloc() to check return values.
366   - Fix invalid command line argument handling.
367   - Close memory leaks in parted.c and table.c.
368   - Fix warnings when compiling with translation support enabled.
369   - Use a consistent prompt when asking for a file system type.
370   - Update docs: don't reference old versions of gzip.
371
372 ** misc:
373   - Improve the testing framework in the tests/ subdirectory.  Build out
374     more of the testing scripts so we can start using that to ensure we
375     don't introduce regressions in releases.
376   - Support testing with tmpfs filesystems on Linux.
377   - Work around inadequate libreadline in the configure script.
378   - Don't include config.h from internal headers.
379
380 * Noteworthy changes in release 1.8.7 (2007-05-09) [stable]
381
382 ** libparted:
383   - Prevent compilation of DASD code on GNU Hurd systems.
384   - Integrate new unit testing framework for parted and libparted.
385   - Fix primary partition cylinder alignment error for DOS disk labels.
386   - Use PED_PARTITION_NORMAL in place of PED_PARTITION_PRIMARY.
387   - Avoid segfault due to a double free on reiserfs support.
388
389 ** parted:
390   - Fix script mode (-s) for mkfs command in parted.
391   - Suppress "you are not superuser..." warning in script mode.
392   - Fix off-by-one bug in parted when displaying information about the
393     disk.
394   - Do not translate partition names in the 'parted print' command.
395     This causes problems for non-Latin-based character sets.
396   - Send errors to stderr rather than stdout.
397   - Handle command line options independent of the order.
398   - Abort on any invalid option and handle -v and -h first.
399   - Only display the update /etc/fstab message when there has been a
400     change to the disk (a shorter and more direct message too).
401
402 * Noteworthy changes in release 1.8.6 (2007-03-20) [stable]
403
404 ** Revert the implementation of the linux-swap(new) and linux-swap(old) types.
405    The type is 'linux-swap' for v1, v2, and s1suspend swap partitions on Linux.
406
407 * Noteworthy changes in release 1.8.5 (2007-03-20) [stable]
408
409 ** Another minor update.  Both versions 1.8.3 and 1.8.4 lacked po translation
410    files.  These are included with version 1.8.5.
411
412 * Noteworthy changes in release 1.8.4 (2007-03-19) [stable]
413
414 ** Minor bug fix release for 1.8.3 to fix build issues on various
415    platforms:
416   - Use 'uname -m' to determine if we build on System Z or not.
417   - Include <parted/vtoc.h> in <parted/fdasd.h> for format1_label_t
418     definition.
419   - Remove unused variables in libparted/arch/linux.c (-Werror).
420   - Check return values on fgets() and asprint() in libparted/arch/linux.c
421     (-Werror).
422   - Check for tgetent() in libtinfo in the configure script.
423   - Move some macro definitions in <parted/disk.h> to fix a compile
424     problem with gcc-4.1.2 as indicated here:
425     http://lists.gnu.org/archive/html/bug-parted/2007-03/msg00008.html
426
427 * Noteworthy changes in release 1.8.3 (2007-03-16) [stable]
428
429 ** libparted:
430   - Header file clean ups.
431   - Sync the linux-swap header according to the Linux kernel sources.
432   - Enable support for swsusp partitions and the ability to differentiate
433     between old and new versions of linux-swap partitions.
434   - Renaming PARTITION_EXT to PARTITION_DOS_EXT in the DOS disklabel
435     code (consitency with Linux kernel source).
436   - Added libparted.pc pkg-config file.
437   - Remove unused functions, ifdefs, and other code.
438   - Deprecate ped_[register|unregister]_disk_type in favor of
439     ped_disk_type_[register|unregister].
440   - Small test program fixes (in label.c and common.c).
441   - Make functions const-correct.
442   - Handle systems where libreadline is not available.
443   - Preserve starting sector for primary NTFS 3.1 partitions on DOS
444     disklabel.
445   - Handle 2048-byte logical sectors in linux_read().
446   - Use PED_SECTOR_SIZE_DEFAULT macro in place of 512.
447   - Don't assume logical sector size is <= 512B on AIX.
448   - Detect HFS write failure.
449   - Use mkstemp() in place of mktemp().
450   - Added HFS+ resize support.
451   - Don't build DASD support on non-zSeries hardware.
452
453 ** parted/partprobe:
454   - Use fputs() and putchar() in place for printf(), when possible.
455   - Detect/report stdout write errors.
456   - Accept the --version and --help options.
457   - Fix memory leaks in parted(8).
458
459 ** general:
460   - Synchronize the manual page and --help documentation.
461   - GNU autoconf and automake updates.
462   - 'gcc -Wall -Wshadow' warning cleanups.
463   - Don't define _GNU_SOURCE manually.
464   - Documentation updates and cleanups (AUTHORS, copyright notices,
465     etc).
466   - Use gnulib (http://www.gnu.org/software/gnulib/).
467
468 * Noteworthy changes in release 1.8.2 (2007-01-12) [stable]
469
470 ** libparted:
471   - Add the ped_device_cache_remove() function to remove a device from
472     the cache.  This is necessary for some things that use libparted,
473     including pyparted.
474   - Fix a segfault in ped_assert() where the wrong pointer is freed in
475     the backtrace handler.
476   - Only call _disk_warn_loss(disk) in do_mklabel() if disk is not NULL.
477     Fixes a segfault when initializing new volumes.
478   - Dynamically allocate space for exception messages.
479   - Output a backtrace when catching SEGV_MAPPER or a general SIGSEGV.
480
481 ** parted:
482   - Destroy all objects before return when called with --list or --all
483     option.
484   - Zero sized device is shown as 0.00B and not -0.00kB.
485   - Implement 'print devices' command.
486   - Alias 'print list' to 'print all'.
487   - Alias 'mktable' to 'mklabel'.
488
489 ** misc:
490   - Other bug fixes, documentation updates, and translation improvements.
491   - Code and API clean-ups.
492
493 * Noteworthy changes in release 1.8.1 (2006-12-04) [stable]
494
495 ** libparted:
496   - Rework backtrace support.
497   - Code cleanups.
498   - Added --enable-selinux configure option to enable linking libparted with
499     libselinux and libsepol.
500   - Disable ext2fs resize for now, tell user to use resize2fs.
501
502 ** parted:
503   - Fix loop in print_all().
504   - Introduce the -list command-line switch.
505   - Make mktable aliased to mklabel.
506   - Warn before mklabel and mkfs.
507   - Code cleanups in _partition_warn_busy(), _disk_warn_busy(),
508     _partition_warn_loss(), and _disk_warn_loss().
509   - Avoid warning about user permissions when using --version.
510   - Fix 'print' command help.
511   - Proper print when there are no extended partitions, but partition names.
512
513 ** misc:
514   - Generate SHA-1 digest of the archive files and upload those along with the
515     actual archive files.
516   - Update translation files.
517   - Remove automatically generated files from version control.
518
519 * Noteworthy changes in release 1.8.0 (2006-11-17) [stable]
520
521 ** libparted:
522   - GPT fixes:
523        - Correctly handle disks with non-512 byte sector sizes
524        - Support LUN resizing (see new space, allow parted to use it)
525        - Prevent overlap of LastUsableLBA and PartitionEntryLBA in backup GPT
526   - Prevent SIGFPE when FAT sector size is 0
527   - Add ped_exception_get_handler()
528   - DASD support for IBM zSeries systems
529   - AIX disk label support
530   - Detect Promise SX8 storage devices
531   - Macintosh (ppc and x86) disk label improvements:
532        - Prevent LVM and RAID partition types from corrupting the table
533        - Fix removal of driver partition
534   - Add support binary units (MiB, KiB, GiB)
535   - In ped_register_disk_type(), handle disk_types==NULL case
536   - In ped_unregister_disk_type(), handle case where type is not registered
537   - Fix geometry read problems on 64-bit Macs (and probably other 64-bit systems)
538   - Add support for /dev/mapper devices via libdevmapper library
539   - Detect Apple_Boot partition types correctly on MacOS X 10.4 systems
540
541 ** parted:
542   - Various bug fixes, signal handling fixes, and spelling error fixes
543   - UI improvements to display more information about the disk and transport
544     layer
545
546 ========================================================================
547
548 Copyright (C) 2001-2011 Free Software Foundation, Inc.
549
550 Permission is granted to copy, distribute and/or modify this document
551 under the terms of the GNU Free Documentation License, Version 1.3 or
552 any later version published by the Free Software Foundation; with no
553 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
554 Texts.  A copy of the license is included in the ``GNU Free
555 Documentation License'' file as part of this distribution.