blob: 777bb8eb7d3a24a1c2472a8daa4bd0ac14dbfaf1 [file] [log] [blame]
srs56949ddc14b2010-08-22 22:44:42 -040010.6.10 (8/22/2010):
2-------------------
srs5694f9312b02010-07-06 15:39:51 -04003
srs56949ddc14b2010-08-22 22:44:42 -04004- Enable disk-wipe (-z and -Z) and verification (-v) operations in
5 sgdisk even if the disk is badly damaged.
6
7- Added support for setting attributes in sgdisk (-A/--attributes option)
8 in sgdisk.
9
10- Fixed bug that created backwards attribute field values (bit #2 was
11 entered as bit #61, etc.).
12
13- Fixed bug that caused creation of hybrid MBR to wipe out the MBR's boot
14 code.
15
16- Added ability to save partition table from one device to another (gdisk:
17 'u' on experts' menu; sgdisk: -R or --replicate option).
18
19- Fixed inaccessible -C/--recompute-chs option in sgdisk.
srs5694f9312b02010-07-06 15:39:51 -040020
srs569461768bc2010-07-04 01:54:00 -0400210.6.9 (7/4/2010):
22------------------
23
24- Fixed minor error in sgdisk man page (--largest-new option requires
25 a partition number).
26
27- Fixed major bug in hybrid MBR creation, which caused incorrect
28 protective partition end point settings and occasionally other
29 problems.
30
srs56940e197dc2010-05-23 13:06:10 -0400310.6.8 (5/23/2010):
32------------------
33
srs569461768bc2010-07-04 01:54:00 -040034- Added tests to see if the file to be opened is a directory, character
35 device, FIFO, or socket; program now terminates if any of these
36 conditions is met. (Linux/FreeBSD/OS X only.) Thanks to Justin Maggard
37 for this patch.
srs56940e197dc2010-05-23 13:06:10 -040038
39- Added 'f' option on gdisk's experts' menu (-G/--randomize-guids in
40 sgdisk). This option randomizes the disk's GUID and all partitions'
41 GUIDs. Intended for use after cloning a disk with a utility that copies
42 the GUIDs intact (such as a raw dd copy) if you want each disk copy to
43 have its own set of GUIDs.
44
45- Added -u/--partition-guid and -U/--disk-guid options to sgdisk. These are
46 the equivalents of the 'g' and 'c' options, respectively, on the gdisk
47 experts' menu: They enable adjusting an individual partition's GUID or a
48 disk's GUID. The GUID may be either a fully specified GUID value or 'R'
49 or 'r' to set a random GUID value.
50
51- Fixed compile problem for FreeBSD (its math library lacks a log2()
52 function). Also created separate Makefile.freebsd with a couple of
53 FreeBSD-specific options.
54
55- Added -N (--largest-new) command to sgdisk. This command creates a single
56 partition that fills the largest single unpartitioned block of space on
57 the disk.
58
59- Fixed sgdisk man page error: the --change-name option was incorrectly
60 listed as --change.
61
62- Added 'h' option to gdisk experts' menu (-C or --recompute-chs in sgdisk)
63 to recompute all protective/hybrid MBR CHS values. This option is
64 intended to work around a bug in at least one BIOS that prevents the
65 computer from booting when the GPT-mandated (but technically illegal)
66 0xFFFFFF CHS value is used as the end point for a protective MBR. The
67 recomputed values will be legal (e.g., 0xFEFFFF instead of 0xFFFFFF),
68 but incorrect in GPT terms, and will therefore enable at least one
69 BIOS to boot with a GPT disk. See http://www.rodsbooks.com/gdisk/bios.html
70 for all I know about BIOS/GPT incompatibilities.
71
720.6.7 (5/1/2010):
73-----------------
74
75- Undid earlier change, with version 0.6.4, that wiped the MBR boot loader
76 when doing MBR-to-GPT conversions. I've now become skeptical that MBR
77 boot loaders were causing any real problems on GPT disks, so I'm going
78 back to the philosophy of leaving as much alone as possible.
79
80- Fixed bug that caused incorrect reporting of free space on 0-size disks
81 (e.g., files of 0 length passed as disk images).
82
83- Fixed bug that caused segfault on some invalid disks
84
85- Fixed bug that caused incorrect partition numbers to be displayed for
86 some verify problems.
87
88
890.6.6 (3/21/2010):
90-----------------
91
92- Added support for the "no block IO protocol" (referred to as "hide from
93 EFI" in GPT fdisk) and "legacy BIOS bootable" attribute bits. See Table
94 19 of the UEFI 2.3 specification (p. 153) for details.
95
96- Changed the sequence in which GPT data structures are written to disk;
97 backups are now written first, followed by the main structures. This is
98 as recommended in the UEFI 2.3 specification, since it's safer in the
99 extremely unlikely event that a RAID array's size is increased and
100 there's a power outage mid-write. (If the main structures are written
101 first in this case, they'll point to data that's not yet been written;
102 but by writing the backups first, the old main structures will still
103 point to the valid old backup structures.)
104
105- Protective MBRs now have disk signatures of 0x00000000, to better
106 conform with GPT as described in the UEFI 2.3 specification.
107
108- Added alignment information to the summary data produced by the
109 'p' main-menu option in gdisk or the -p option to sgdisk.
110
111- More alignment changes: GPT fdisk now attempts to determine the alignment
112 value based on alignment of current partitions, if any are defined. If no
113 partitions are defined, a default value of 2048 is set. If the computed
114 value is less than 8 on drives over about 596GiB, it's reset to 8, since
115 the drive might be a WD Advanced Format unit that requires an 8-sector
116 (or larger power-of-2) alignment value for best performance. The
117 2048-sector default provides better alignment in some RAID
118 configurations.
119
120- Changed behavior when a backup restore fails. Previously, GPT fdisk
121 would create a fresh blank set of partitions. Now it does so only
122 if the failure occurs when interpreting the backup's contents; if the
123 user typed the wrong filename, the in-memory data structures aren't
124 touched.
125
126
1270.6.5 (3/7/2010):
128-----------------
129
130- Added tests to verify ('v') function and to pre-save checks to look for
131 partitions that end before they begin or that are too big for their
132 disks.
133
134- Fixed a bug that could cause spurious data to appear in a grown partition
135 table.
136
137- Added ability to convert some or all partitions to logical partitions in
138 GPT-to-MBR conversion. This feature is limited by the fact that at least
139 one free sector must exist immediately prior to each logical partition,
140 so it won't do much good if partitions are crammed together. It should be
141 possible to convert back to MBR any disk that started that way, provided
142 no partitions were added or resized when the disk was in GPT form; and
143 disks that were partitioned with Apple's Disk Utility or other tools that
144 insert unpartitioned space should also be convertible. CAUTION: THE
145 LOGICAL PARTITION CREATION FEATURE DOESN'T TRY TO ALIGN PARTITIONS OR
146 PARTITION HEADER DATA TO CYLINDER BOUNDARIES! It's conceivable that some
147 older OSes or utilities will object to these disks, although Linux, OS X,
148 Windows Vista, and Windows 7 all seem happy with them.
149
150- Fixed bug that caused creation of 0-length file if an incorrect device
151 filename was typed.
152
153- The gdisk program now prompts for a device filename if it's called with
154 no options. This enables gdisk to do something useful if it's launched by
155 double-clicking its icon in a GUI environment.
156
157- Added workaround for bug in some versions of MinGW that caused the
158 program to garble input sector numbers.
159
160- The Windows version now works on disks with over-512-byte sectors.
161 Tested on a magneto-optical (MO) drive with 2048-byte sectors.
162
163- Added -D (--display-alignment) option to sgdisk, to display sector
164 alignment value (by default, 1 for sub-800GiB disks and 8 for disks
165 over that size).
166
167- Fixed bug in computation of CHS geometries for protective MBR. This is
168 non-critical, since most modern utilities ignore the CHS geometries.
169 Concerned users can use the 'n' option on the experts' menu to build new
170 protective MBRs with the new algorithm, if desired. (Note that GNU
171 Parted, at least, gets this wrong, too.)
172
173- Fixed memory-allocation bug when reading GPT disks with partition tables
174 with over 128 entries; could cause program to crash on startup.
175
1760.6.4-2 (2/20/2010):
177--------------------
178
179Note: Neither of the following changes affects actual program code, so I've
180left the version number in the program at 0.6.4.
181
182- Altered Makefile to pass user's compiler and linker environment
183 variables through.
184
185- Added #include to gpttext.cc to enable it to compile on the latest
186 GCC versions (it was failing on at least some 4.4.x compilers).
187
1880.6.4 (2/19/2010):
189-------------------
190
191- Added -m (--gpttombr) option to sgdisk, enabling conversion of GPT
192 disks to MBR format, with a limit of four partitions total, and of course
193 without overcoming the 2TiB limit.
194
195- Added -h (--hybrid) option to sgdisk, enabling creation of hybrid
196 MBRs. Fewer options are available in sgdisk than in gdisk, though,
197 in order to keep the user interface manageable.
198
199- Fixed off-by-one bug in specification of partition when using the
200 -T (--transform-bsd) option in sgdisk.
201
202- Changed the code to create a new MBR unique disk signature whenever a new
203 protective MBR is generated (when doing an MBR-to-GPT conversion, when
204 using the 'n' option on the experts' menu, or when using the 'o' option
205 on the main menu, for example). Previous versions attempted to preserve
206 the existing MBR disk signature in most cases, but this resulted in
207 values of 0x00000000 whenever an empty disk was partitioned, and often in
208 other cases, too. Better to risk changing this value too often than to
209 leave multiple disks with 0x00000000 values, I think.
210
211- Added transpose ('t' on experts' menu in gdisk; or -r or --transpose in
212 sgdisk) command to enable fine-tuning partition order without doing a
213 full sort.
214
215- Added code to clear the MBR boot loader when doing an MBR-to-GPT
216 conversion. (This was already done in full-disk BSD-to-GPT conversions.)
217 This is done because I've seen a few problem reports that make me think
218 some MBR boot loaders freak out and hang the system when they encounter
219 GPT disks, and/or they attempt to load a second-stage boot loader stored
220 in what is now GPT territory, causing a system hang. Since MBR boot
221 loaders don't work on GPT disks anyhow (even GRUB needs to be
222 reinstalled), this new wiping behavior shouldn't cause any problems, and
223 may prevent a few.
224
225- Fixed bug in Windows version that prevented saving backup files.
226
227- Fixed bug that caused second and subsequent partition numbers in
228 prompts in hybrid MBR conversion procedure to be displayed in
229 hexadecimal.
230
231- Fixed very obscure potential bug in hybrid MBR/GPT synchronization when
232 deleting partitions; code wasn't matching partition lengths correctly,
233 which would only affect partitions that start at the same point but have
234 different lengths in MBR vs. GPT.
235
236- Fixed bug in the -E option to sgdisk; it was actually returning the
237 last free sector, not the last free sector in the largest free block.
238
239- Fixed bug in -t option to sgdisk; it was corrupting partition type
240 codes.
241
242- Fixed minor alignment bug in partition summary list ('p' from any menu)
243 when partition sizes are between 1000 and 1024 units.
244
245- Backup restore function ('l' on recovery & transformation menu) now
246 accepts both backups generated by GPT fdisk and backups created by a
247 direct copy (via dd, etc.) of the MBR, main GPT header, and main GPT
248 partition table, in that order. ("dd if=/dev/sda of=backup.gpt bs=512
249 count=34" will do this on Linux for a disk with a typical-sized GPT table
250 of 128 entries.)
251
2520.6.3 (2/3/2010):
253------------------
254
255- Fixed serious data corruption bug on big-endian (PowerPC and similar)
256 systems.
257
258- Changed several GPT fdisk Solaris type codes to correct a duplicate
259
260- Corrected error in GPT fdisk type codes for NetBSD LFS and NetBSD RAID;
261 they were identical, but I've now changed NetBSD RAID to A906, which
262 is unique.
263
264- Added GUID for IBM General Parallel File System (GPFS) partition type
265 code. Somewhat arbitrarily set it to use the 7501 number (MBR code 0x75
266 is used by IBM PC/IX, so it's at least the right company, by my loose
267 numbering rules....).
268
269- Improved GUID generation. Prior versions generated completely random
270 numbers for GUIDs. This works, but is technically a violation of the
271 spec. Unix versions now employ libuuid to generate GUIDs in a more
272 correct way. The Windows version still generates random numbers, though.
273
274- Turned PartTypes class into a derived class of GUIDData, and renamed
275 it to PartType.
276
277- Created new GUIDData class, to replace the original GUIDData struct.
278
2790.6.2 (1/29/2010):
280------------------
281
282- The change-type ('t' on main menu) option now changes the partition's
283 name *IF* the current name is the generic one for the partition type.
284 If the current name is not the generic name, it is NOT changed.
285
286- Fixed bug that caused new protective MBR to not be created when the
287 MBR was invalid and the GPT was damaged and the user opts to try to
288 use the GPT data.
289
290- Enabled default partition type code of 0700 when creating partitions
291 or changing their type codes. (Type 0700, Linux/Windows data, is set if
292 the user hits the Enter key alone.)
293
294- Fixed bug in sort ('s' on main menu) option that caused partition
295 numbers to begin at more than 1 if the original partition list had
296 too many empty partitions before the last one defined.
297
298- Improved code to determine which partition table to load in case of
299 CRC mismatches between the partition tables and the stored CRC values
300 in the headers.
301
302- Compiles using MinGW (http://www.mingw.org) to create a Windows binary.
303
304- Moved all disk I/O functions to the new DiskIO class. This helps with the
305 Windows port; it uses diskio-windows.cc for Windows-specific code,
306 diskio-unix.cc for the Linux, FreeBSD, and OS X code, and diskio.cc for
307 cross-platform disk I/O code.
308
309- Changed BSD disklabel detection code to be more correct (I think).
310 This change has no effect on my test disks, but I hope it'll work
311 better on disks with sector sizes other than 512 or 2048.
312
3130.6.1 (1/20/2010):
314------------------
315
316- Fixed bug that returned incorrect disk size on 32-bit versions of
317 FreeBSD.
318
319- Fixed bug that prevented FreeBSD version from working on disk image
320 files.
321
322- Fixed bug that caused BSD disklabel conversion to fail.
323
3240.6.0 (1/15/2010):
325------------------
326
327- Fixed bug that caused the convert to MBR function to fail.
328
329- Added support for disks with other than 512-byte sectors.
330
331- Created embryonic sgdisk program.
332
333- Fixed bug that caused relative sector numbers entered by users (e.g,
334 "+128M") to be misinterpreted as from the start of the range rather than
335 from the default value.
336
3370.5.3 (1/4/2010):
338-----------------
339
340- Fixed bug in display of GUIDs when compiled with some versions of GCC.
341
342- Eliminated warnings caused by additional checks in latest versions of
343 GCC. These warnings were harmless, but to eliminate them I've added
344 more error checking on disk I/O.
345
346- Eliminated unnecessary warnings about potential data loss if the program
347 was launched with the -l option or if writes aren't possible.
348
349- Added code to set the partition boundary value based on the physical
350 sector size. (FindAlignment() function.) This function, however, works
351 only on Linux, and then only if the BLKPBSZGET ioctl is defined. This
352 ioctl is new in kernel 2.6.32 or thereabouts.
353
3540.5.2 (12/31/2009):
355-------------------
356
357- Modified partition creation function to begin partitions on 8-sector
358 boundaries by default. This improves performance on the new Western
359 Digital Advanced Format drives. The new 'd' and 'l' options on the
360 experts' menu display and change, respectively, the boundary size.
361
362- Tweaked code to produce fewer warnings on the latest versions of
363 GCC.
364
3650.5.1:
366------
367
368- Made some minor edits to the man page.
369
370- Incorporated RPM .spec file changes contributed by Scott Collier
371 (boodle11@gmail.com).
372
373- Changed method of locating and loading backup GPT data, to use the
374 main header's pointer, if it's valid, rather than seeking to the
375 end of the disk.
376
377- Added 'e' option (relocate backup GPT data structures) to the experts'
378 menu.
379
380- Fixed bug that prevented recovery of partitions in case of partially
381 damaged GPT data (bad main and good backup or bad backup and good
382 main header, for instance).
383
3840.5.0:
385------
386
387- Added GPT-to-MBR conversion function. It's very limited, but potentially
388 useful in some cases.
389
390- Fixed bug that caused incorrect file sizes to be reported on 32-bit
391 Linux, thus causing problems when editing partition tables in disk images
392 or when loading GPT backup files.
393
394- Fixed bug that caused bogus CRC error reports when loading backup GPT
395 data.
396
397- Reorganized menus. There are now three: the main menu, the experts' menu,
398 and the recovery & transformation menu. The last of these has most of the
399 items that had been on the earlier versions' experts' menu.
400
401- Added ability to re-load the MBR and generate a fresh GPT from it. This
402 is normally identical to quitting and re-running the program, but it
403 could be handy if, say, the GPT partitions on a hybrid configuration are
404 badly messed up; this will enable using the hybridized partitions as the
405 starting point for a new GPT setup.
406
407- The program now generates CHS values for hybrid and GPT-to-MBR conversion
408 MBRs. For the moment, the assumption is the maximum number of heads and
409 sectors per track (255 and 63, respectively), although the bulk of the
410 code supports other values -- it'd just be awkward to enter the data in
411 the user interface.
412
413- Fixed minor display bug that caused number of sectors on the disk to be
414 shown as 0 on large disks when running 32-bit binaries.
415
416- Reverted 0.4.2's zap (destroy GPT) changes, since I don't want to wipe
417 out a valid MBR if the user created that MBR over an older GPT without
418 first properly wiping out the GPT, and the user now wants to wipe out
419 the GPT.
420
421- Reformatted and edited the man page. Aside from edits related to the
422 preceding program changes, I've altered the markup slightly and trimmed
423 much of the more tutorial information from the man page to better
424 conform to typical terse man page style.
425
4260.4.2:
427------
428
429- Code cleanup.
430
431- Fixed very small formatting bug in display of hex code when a match isn't
432 found when converting from an MBR/gdisk hex code to a GUID type code.
433
434- Added the ability to work on disk image files (raw files for virtual
435 machines, backup images, etc.). The program assumes that all such disk
436 image files have 512-byte sectors.
437
438- Added verification prompt to 'o' main-menu option to avoid accidental
439 erasures of all partitions.
440
441- The "destroy GPT data structures" option ('z' on the experts' menu) now
442 also destroys all EFI GPT (0xEE) partitions in the MBR.
443
444- Added an extra warning to the "destroy GPT data structures" option if an APM
445 or BSD disklabel was detected on the disk.
446
447- Added a buffer flush after destroying GPT data structures, to get the OS
448 to read the new (empty or MBR-only) partition table.
449
450- Fixed bug that allowed entry of nonexistent partition numbers when creating
451 a hybrid MBR.
452
4530.4.1:
454------
455
456- Code cleanup/re-organization
457
458- Partition creation function ('n' on main menu) now uses the start of the
459 largest available chunk of free space rather than the first available
460 sector as the default starting sector number. This should enable easier
461 partition creation if there are small bits of free space on the disk.
462
463- You can now specify the end point of a partition by using a minus sign,
464 in which case the end point is the default value minus the specified
465 size. For instance, "-200M" creates a partition that ends 200MiB before
466 the default end point.
467
468- You can now specify the start point of a partition by using a plus or
469 minus sign, in which case the start point is the specified distance from
470 the start (+) or end (-) of free space. This is exactly the same as the
471 new rules for entry of the end point, except that the default value is
472 set differently.
473
474- Deleting a partition now checks for a matching hybrid MBR partition, and
475 if one is found, it's deleted. Any empty space that then surrounds the
476 0xEE (EFI GPT) MBR partitions is then added to the nearby 0xEE partition.
477 If no non-0xEE partitions are left, a fresh protective MBR is generated.
478
479- Added hybrid MBR consistency check to the verify ('v') option and to
480 pre-write checks. If non-0xEE/non-0x00 MBR partitions without
481 corresponding GPT partitions are found, the user is warned. This finding
482 does NOT prevent writing the partition table, though.
483
484- Added non-destructive write test when opening the device file, in order
485 to detect the problem with FreeBSD being unable to write to disks with
486 mounted partitions (or other potential problems).
487
4880.4.0:
489------
490
491- Added support for BSD disklabels. The program can now convert disks that
492 use "raw" disklabels, with the caveat that the first partition will
493 almost certainly need to be deleted because it'll overlap the main GPT
494 header; and convert disklabels contained within a GPT (or a former MBR,
495 converted to GPT) partition. In the latter case, the 'b' main menu option
496 is used.
497
498- Added support for compiling on FreeBSD.
499
500- Fixed bug that could cause crashes or incomplete sorts when sorting
501 the partition table.
502
503- New partitions, including converted ones, now take on the name of the
504 partition type as a default name.
505
506- Reorganized some code; created a separate C++ class for GPT partitions
507 (GPTPart), which replaced a struct and enabled moving code from the
508 bloated GPTData class into GPTPart.
509
510- Fixed a bug that produced spurious warnings about unknown sector sizes
511 when loading a backup file.
512
5130.3.5:
514------
515
516Note: This version was not officially publicly released; I wanted to test
517the big-endian support while developing 0.4.0.
518
519- Tweaked the disk type identification code to warn users to re-sync their
520 hybrid MBRs when one is detected.
521
522- Tweaked MBR-reading code to ignore 0xEE (EFI GPT) partitions. This will
523 only have an effect on a poorly partitioned MBR disk that contains an
524 inappropriate EFI GPT partition, or when attempting to recover a
525 corrupted disk by using the hybrid MBR for data recovery.
526
527- Added big-endian (PowerPC, etc.) support!
528
529- Added code to identify and warn of the presence of an Apple Partition
530 Map (APM) on the disk.
531
532- Enabled MBR conversion code to handle multiple logical partitions.
533
5340.3.4:
535------
536
537- Fixed bug that enabled (possibly accidental) entry of MBR type codes of
538 0x00 in GPTData::MakeHybrid(). The fix also enables entry of default
539 type code by pressing the Enter key when prompted. Applied a similar
540 fix to the entry of the type code for the second protective partition,
541 if one is used.
542
543- Fixed a typo: "sectors" was spelled "sectprs" in one spot!
544
545- Fixed bug that caused default entry for end sector to be refused if an
546 initial value using a plus sign (e.g., "+20G") was also refused.
547
5480.3.3:
549------
550
551- Gave users control over the way MBR partitions are assigned to slots in a
552 hybrid MBR setup; the original method (putting the 0xEE partition after
553 the real partitions) works well for non-boot disks, but both GRUB and
554 GRUB2 become confused by this type of setup, so it needs changing.
555
556- Changed "blocks" to "sectors" in GPT and MBR table displays.
557
558- Added "Boot" column to MBR table display; shows an asterisk (*) when the
559 partition's status is bootable.
560
5610.3.2:
562------
563
564- Changed __DARWIN_UNIX03 to __APPLE__ as code to enable MacOS X support.
565
566- Added the ability to create a hybrid MBR ('h' on experts' menu). This was
567 motivated by my discovery that Windows 7 remains brain-dead when it comes
568 to the ability to boot from a GPT disk, at least on BIOS-based machines.
569
570- Added 'z' option to experts' menu, to destroy GPT data structures and
571 exit. The intent is to use this feature to enable subsequent partitioning
572 of the disk using fdisk or other GPT-unaware tools. (GNU Parted will wipe
573 the GPT data structures itself when you create a new MBR ["msdos
574 disklabel," in Parted parlance], so using Parted is another option.)
575
576- Slightly altered the effect of the 'o' command on the main menu. It now
577 blanks out the protective MBR, as well as the GPT data.
578
5790.3.1:
580------
581
582- Added Mac OS X support, provided as a patch by David Hubbard
583 (david.c.hubbard@gmail.com).
584
585- Fixed bug in disksize() function on Mac OS. (Possibly dependent on the
586 kernel and/or GCC version.) The disk size, of type uint64_t, was not
587 being passed correctly, so I reorganized the function to return it as
588 the function's return value rather than as a parameter. This seems to
589 work OK on my Mac OS test system and on both 32- and 64-bit Linux
590 systems.
591
592- Fixed off-by-one bug in GPTData::FindLastAvailable().
593
594- Fixed bug that caused display of options after a disk-write error.
595
596- Fixed several incorrect MacOS X partition type GUIDs, thanks to Yves
597 Blusseau (1otnwmz02@sneakemail.com).
598
5990.3.0:
600------
601
602- Changed version number to 0.3.0, reflecting the fact that I've received
603 no significant bug reports and so am elevating the program to "beta"
604 status. This change also entailed altering the warning the program
605 displays when saving partition table changes.
606
607- Fixed minor bug in CHS geometry of the protective MBR's type EE partition
608 (was producing 0x000200 as the start value, but should be 0x000100).
609 Should be a non-critical bug since the protective MBR partition
610 definition is only there to keep MBR-only disk utilities from messing
611 with the disk.
612
613- Added ability to enter GUIDs as single massive strings rather than in
614 chunks.
615
6160.2.2:
617------
618
619- Added #include directives required to compile the program using GCC
620 4.4.0.
621
6220.2.1:
623------
624
625- Fixed partition numbering problem in reports of partition overlaps in
626 verification function.
627
628- Fixed 1-sector partition size problem when creating new partitions
629 (partitions were 1 sector too big when using the +size option).
630
631- Changed BytesToSI() to display values in bytes without decimal points
632 (e.g., "512 bytes" rather than "512.0 bytes").
633
634- Added GPTData class member functions to retrieve GPT data structure
635 locations on disk; used in my internal-use-only GPT-wiping program.
636
637- Eliminated the "a reboot is recommended" notice after writing the
638 partition table.
639
640- Added notice after sorting the partition table to the effect that
641 editing /etc/fstab and/or the boot loader files may be required.
642
643- Fixed bug in MBR-reading function that caused 0x0f (Win95 LBA) and 0x85
644 (Linux extended) extended partitions to not be read.
645
646- Fixed bug in GetLastSector() (in support.cc) that would have prevented
647 correct user entry of over-32-bit sector numbers on 32-bit systems.
648
649- Made some changes/corrections to the partition type list in
650 parttypes.cc. Most of these were based on newly-discovered MBR type
651 codes for Apple (Mac OS X) filesystems.
652
653- General code cleanup (setting explicit casts, etc.)
654
6550.2.0:
656------
657
658- Initial semi-public release