* Noteworthy changes in release ?.? (????-??-??) [?]
+** New features
+
+ parted has improved support for partitionable loopback devices
+
+** Bug fixes
+
+ parted now exits nonzero for certain failures already diagnosed as "Error".
+ For example, before this change, parted would exit successfully in spite
+ of "Error: ...unrecognised disk label" and "Error:... both GPT primary
+ and backup partition tables are corrupted".
+
+ libparted: gpt_disk_duplicate now copies the flags over to the new
+ disk object. Previously the flags would be undefined.
+
+ libparted can now read partition tables with a number of partition
+ array entries that is different from the default of 128. Before,
+ it would fail to recognize them and could even read beyond the end
+ of a heap-allocated buffer.
+
+ libparted: no longer aborts (failed assertion) due to a nilfs2_probe bug
+ [bug introduced in parted-2.4 with the addition of nilfs2 support]
+
+ libparted: no longer aborts when reading a truncated GPT-formatted device
+ [bug present at least as far back as RHEL4's parted-1.6.19]
+
+ libparted: works with a two-component linux kernel version number like 3.0
+ [bug present since the beginning]
+
+ libparted: strengthen the pc98 test so that it is much less likely to
+ cause an MSDOS partition table to be mistakenly identified as pc98.
+ [bug present since the beginning]
+
+ libparted no longer gets a failed assertion when probing a partition
+ with an HFS or HFS+ signature, but with invalid ->total_blocks and/or
+ ->block_size values.
+
+ parted now uses ext_range device sysfs attribute to determine maximum number
+ of partitions the device can hold. With this change, parted now correctly
+ informs kernel about new partitions on partitionable MD RAID devices.
+
+** Changes in behavior
+
+ parted: mkpart command has changed semantics with regard to specifying end
+ of the partition. If the end is specified using MiB, GiB, etc. unit, parted
+ subtracts one sector from the specified value. With this change, it is now
+ possible to create partitions like 1MiB-2MiB, 2MiB-3MiB and so on.
+
+ Device-mapper devices ( LVM, dmraid ) no longer insert a 'p' between the
+ base device name and the partition number unless the last character of
+ the base device name is a digit. This brings parted into compliance with
+ the partition naming of kpartx and "linux since the dawn of time", but
+ differs from the way that dmraid 1.0.0-rc16-3 operates. A patch to
+ correct dmraid has been submitted to ataraid-list@redhat.com. Without
+ this patch, parted and dmraid will both create duplicate partition devices
+ named /dev/mapper/foo1 and /dev/mapper/foop1.
+
+** Build-related
+
+ "make dist" no longer builds .tar.gz files.
+ xz is portable enough and in wide-enough use that distributing
+ only .tar.xz files is enough.
+
+
+* Noteworthy changes in release 3.0 (2011-05-30) [stable]
+
+** Bug fixes
+
+ Fix numerous small leaks in both the library and the UI.
+
+** Changes in behavior
+
+ Remove all FS-related (file system-related) sub-commands; these commands
+ are no longer recognized because they were all dependent on parted "knowing"
+ too much about file system: mkpartfs, mkfs, cp, move, check, resize.
+ This change removes not just the user interface bits, but also the
+ library functions and nearly all of the underlying FS-munging code.
+ The code embedded in Parted by which it knew about those file systems
+ was so old, unmaintainable and buggy that while seemingly drastic,
+ this change is like removing a gangrenous toe.
+
+ Here is the list of removed functions:
+
+ ped_file_system_clobber
+ ped_file_system_open
+ ped_file_system_create
+ ped_file_system_close
+ ped_file_system_check
+ ped_file_system_copy
+ ped_file_system_resize
+ ped_file_system_get_create_constraint
+ ped_file_system_get_resize_constraint
+ ped_file_system_get_copy_constraint
+
+ This change also removes the corresponding function members
+ from "struct _PedFileSystemOps":
+
+ clobber open create close check copy resize get_create_constraint
+ get_resize_constraint get_copy_constraint
+
+
+* Noteworthy changes in release 2.4 (2011-05-18) [stable]
+
+** Bug fixes
+
+ parted no longer allows the modification of certain in-use partitions.
+ In particular, before this fix, parted would permit removal or modification
+ of any in-use partition on a dmraid and any in-use partition beyond the 15th
+ on a regular scsi disk.
+
+ Improve support of DASD devices on the s390 architecture.
+ Parted now supports all DASD types (CKD and FBA), DASD formats (CDL,
+ LDL, CMS non-reserved, and CMS reserved), and DASD drivers (ECKD, FBA,
+ and DIAG) in all combinations supported by the Linux kernel. As before,
+ only CDL format on CKD DASD using the ECKD driver is supported for
+ read-write operations (create, delete, move, re-size, etc.). However,
+ the implicit partition present on LDL- and CMS-formatted disks is now
+ correctly recognized for read-only operations. In detail:
+
+ - parted now correctly handles LDL-format disks with a block
+ size other than 4096 (bug fix)
+
+ - parted now recognizes the CMS disk format, both reserved
+ and non-reserved (enhancement)
+
+ - parted now supports FBA DASD devices (enhancement)
+
+ - parted now supports the DIAG driver when running in a
+ virtual machine under z/VM (enhancement)
+
+ libparted: raise the limit on the maximum start sector and the
+ maximum number of sectors in a "loop" partition table from 2^32 to 2^64.
+ [bug introduced in parted-2.1]
+
+ libparted once again recognizes a whole-disk FAT partition
+ [bug introduced in parted-1.9.0]
+
+ libparted now recognizes scsi disks with a high major (128-135) as scsi
+ disks
+
+ an msdos partition table on a very small device (smaller than one cylinder)
+ is now recognized. [bug introduced in parted-2.2]
+
+ libparted: zero-length devices (other than files) are ignored rather than
+ throwing an exception.
+
+ libparted: gpt label creation can no longer divide by zero with a
+ defective device or when a concurrent writer modifies the PE-size
+ bytes in the small interval between the write and subsequent read
+ of the primary GPT header.
+
+** Changes in behavior
+
+ "parted $dev print" now prints information about the device (model, size,
+ transport, sector size) even when it fails to recognize the disk label.
+
+ specifying partition start or end values using MiB, GiB, etc. suffixes
+ now makes parted do what I want, i.e., use that precise value, and not
+ some other that is up to 500KiB or 500MiB away from what I specified.
+ Before, to get that behavior, you would have had to use carefully chosen
+ values with units of bytes ("B") or sectors ("s") to obtain the same
+ result, and with sectors, your usage would not be portable between devices
+ with varying sector sizes. This change does not affect how parted handles
+ suffixes like KB, MB, GB, etc.
+
+
+* Noteworthy changes in release 2.3 (2010-05-28) [stable]
+
+** New features
+
+ parted now recognizes ATA over Ethernet (AoE) devices
+
+ parted now recognizes Linux Software RAID Arrays
+
+ libparted has a new partition flag to check for diagnostic (aka recovery
+ or reserved) partitions: PED_PARTITION_DIAG
+
+** Bug fixes
+
+ When libparted deferenced a /dev/mapper/foo symlink, it would keep the
+ resulting /dev/dm-N name and sometimes use it later, even though it
+ had since become stale and invalid. It no longer stores the result
+ of dereferencing a /dev/mapper symlink.
+
+ libparted's msdos_partition_is_flag_available function now always reports
+ that the "hidden" flag is not available for an extended partition.
+ Similarly, msdos_partition_get_flag(p,PED_PARTITION_HIDDEN) always returns 0
+ for an extended partition.
+
+ libparted uses a more accurate heuristic to distinguish between
+ ext4 and ext3 partitions.
+
+ libparted now properly checks the return value of dm_task_run when
+ operating on devicemapper devices.
+
+ allow using ped_device_cache_remove(dev) followed by a (later)
+ ped_device_destroy() without corrupting the device cache.
+
+ when creating an ext2 file system[*], Parted no longer creates an
+ invalid one when its size is 2TiB or larger.
+ [*] Remember, now all FS-creation operations are deprecated in Parted.
+ This is not an indicator that we'll be supporting this code.
+ On the contrary, it is slated to be removed.
+
+** Changes in behavior
+
+ libparted no longer issues an exception/warning about >512-byte
+ sector support being "HIGHLY EXPERIMENTAL". It seems to have matured
+ enough to be usable at least with GPT and MSDOS partition tables.
+
+
+* Noteworthy changes in release 2.2 (2010-02-26) [stable]
+
+** Changes in behavior
+
+ The default alignment (--align option) for newly created partitions has
+ been changed to optimal.
+
+** New features
+
+ The ped_device_get_*_alignment() functions now return a sane default
+ value instead of NULL when the so called topology information is incomplete.
+ The default minimum alignment aligns to physical sector size, the default
+ optimal alignment is 1MiB, which is what vista and windows 7 do.
+
+** Bug fixes
+
+ Parted no longer uses a physical sector size of 0 or of any other
+ value smaller than the logical sector size.
+
+ dos: creating an HFS or HFS+ partition in an msdos partition table
+ used to set the partition type to 0x83. That is wrong. The required
+ number is 0xaf, and that is what is used now.
+
+ gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table
+ [bug introduced in parted-2.1]
+
+ gpt: a read-only operation like "parted $dev print" would overwrite $dev's
+ protective MBR when exactly one of the primary and backup GPT tables was
+ found to be corrupt.
+ [bug introduced prior to parted-1.8.0]
+
+ sun: the version, sanity and nparts VTOC fields were ignored by libparted.
+ Those fields are properly initialized now. The nparts (number of partitions)
+ field is initialized to 8 (max. number of sun partitions) rather that to a
+ real number of partitions. This solution is compatible with Linux kernel
+ and Linux fdisk.
+
+ "make install" no longer installs tests programs named disk and label
+
+ libparted: try harder to inform kernel of partition changes.
+ Previously when editing partitions, occasionally the kernel would
+ fail to be informed of partition changes. When this happened future
+ problems would occur because the kernel had incorrect information.
+ For example, if this problem arose when resizing or creating a
+ new partition, then an incorrect partition size might be displayed
+ or a user might encounter a failure to format or delete a newly
+ created partition, respectively.
+
+ libparted: committing a disk that was returned by ped_disk_duplicate
+ would always result in ped_disk_clobber being called (and thus the first
+ and last 9KiB of the disk being zeroed), even if the duplicated disk,
+ was not returned by ped_disk_fresh().
+
+
+* Noteworthy changes in release 2.1 (2009-12-20) [stable]
+
+** New features
+
+ new --align=<align> commandline option which can have the following values:
+ none: Use the minimum alignment allowed by the disk type
+ cylinder: Align partitions to cylinders (the default)
+ minimal: Use minimum alignment as given by the disk topology information
+ optimal: Use optimum alignment as given by the disk topology information
+ The minimal and optimal values will use layout information provided by the
+ disk to align the logical partition table addresses to actual physical
+ blocks on the disks. The mininal value uses the minimum aligment needed to
+ align the partition properly to physical blocks, which avoids performance
+ degradation. Where as the optimal value uses a multiple of the physical
+ block size in a way that guarantees optimal performance.
+ The min and opt values will only work when compiled with
+ libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will
+ behave as the none --align value.
+
+ libparted: new functions to set per disk (instead of per partition) flags:
+ ped_disk_set_flag()
+ ped_disk_get_flag()
+ ped_disk_is_flag_available()
+ ped_disk_flag_get_name()
+ ped_disk_flag_get_by_name()
+ ped_disk_flag_next()
+
+ libparted: new per disk flag: PED_DISK_CYLINDER_ALIGNMENT. This flag
+ (which defaults to true) controls if disk types for which cylinder alignment
+ is optional do cylinder alignment when a new partition gets added.
+
+ libparted: new functions to return per-partition-table-type limits:
+ - ped_disk_max_partition_start_sector: Return the largest representable
+ start sector number for a given "disk".
+ - ped_disk_max_partition_length: Return the maximum partition length
+ for a given "disk".
+
+ new command "align-check TYPE N" to determine whether the starting sector
+ of partition N is TYPE(minimal|optimal)-aligned for the disk. E.g.,
+ parted -s /dev/sda align-check min 1 && echo partition 1 is min-aligned
+ parted -s /dev/sda align-check opt 2 && echo partition 2 is opt-aligned
+ The same libblkid and kernel version requirements apply as for --align
+
+ Add functions to libparted to get minimal and optimal alignment
+ information from devices:
+ ped_device_get_minimal_aligned_constraint()
+ ped_device_get_optimal_aligned_constraint()
+ ped_device_get_minimum_alignment()
+ ped_device_get_optimum_alignment()
+ The same libblkid and kernel version requirements apply as for --align
+
+ Add ped_disk_get_partition_alignment() function to libparted to get
+ information about alignment enforced by the disk type.
+
** Bug fixes
+ parted can once again create partition tables on loop devices.
+ Before, "parted -s /dev/loop0 mklabel gpt" would fail.
+ [bug introduced in parted-1.9.0]
+
improved >512-byte sector support: for example, printing a table on a
4k-sector disk would show "Sector size (logical/physical): 4096B/512B",
when the sizes should have been "4096B/4096B".
were not checked, and we would mistakenly use the AlternateLBA member of a
known-corrupt primary table.
+ improved dasd disk support, in previous versions calling
+ ped_disk_new_fresh() or ped_disk_duplicate() on a dasd type PedDisk
+ would fail. This is fixed now.
+
+ handle device nodes created by lvm build with udev synchronisation enabled
+ properly.
+
+ when printing tables, parted no longer truncates flag names
+
* Noteworthy changes in release 2.0 (2009-10-06) [beta]
========================================================================
-Copyright (C) 2001-2009 Free Software Foundation, Inc.
+Copyright (C) 2001-2011 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the ``GNU Free