New in 1.99:

* Keyboard layouts support.

* New `lsapm' command (i386-pc only).

* Parser for GRUB Legacy configuration files.

* Support RAID on virtio devices.

* Remove deprecated `root' command.

* New `euro.pf2' font which supports most European languages.

* Avoid opening the same device twice on Open Firmware platforms.

* Extend `vbeinfo' and `vbetest' commands to non-VBE graphics, as
  `videoinfo' and `videotest'.

* New `lsefisystab', `lssal', and `lsefimmap' commands on EFI platforms.

* Support explicit user claim that a device is BIOS-visible.  Devices
  listed in device.map will be assumed to be readable using only BIOS
  facilities, rather than anything more complex such as LVM or RAID.

* New bash-completion script for GRUB utilities.

* Use ACPI to shut down if possible.

* New `lsacpi' command.

* Btrfs support.

* New `--boot-directory' option to `grub-install', `grub-reboot', and
  `grub-set-default', with clearer semantics than the previous
  `--root-directory' option.

* Rename CD-ROM device to "cd" on BIOS platforms.

* Transparent decompression filters.

* Simpler PXE image generation.  New `grub-mknetdir' utility to generate
  netboot directory trees.

* New relocator.  Allows for more kernel support and more
  straightforward loader writing.

* Handle USB pendrives exposed as floppies.

* New Automake-based build system.

* Add `sendkey' command (i386-pc only).

* ZFS support.

* Support 1.x versions of mdadm metadata.

* Fix corruption when reading Reiserfs directory entries.

* Bidirectional text and diacritics support.

* Skip LVM snapshots.

* MIPS Yeeloong firmware port.

* Change grub-mkdevicemap to emit /dev/disk/by-id/ names where possible
  on GNU/Linux.

* Add `grub-mkconfig' support for Xen with Linux.

* Add `grub-mkconfig' support for initrd images on Fedora 13.

* Support >3GiB and <16MiB RAM in i386-qemu.

* Add support for Cirrus 5446 and Bochs video cards.

* Load more appropriate video drivers automatically in `grub-mkconfig'.

* USB improvements, including hotplugging/hotunplugging, hub support,
  and USB serial support.

* AMD Geode CS5536 support.

* Extensive updates to the Texinfo documentation.

* Handle symbolic links under /dev/mapper on GNU/Linux.

* Handle installation across multiple partition table types.

* Add `cmostest' command (i386/x86_64 only).

* Add support for DM-RAID disk devices on GNU/Linux.

* Remove `grub-mkisofs'.  `grub-mkrescue' now uses GNU xorriso to build
  CD images.

* `grub-mkrescue' support for EFI, coreboot, and QEMU platforms.

* Unify `grub-mkimage', `grub-setup', and `grub-install' source code
  across platforms.

* Fix VGA (as opposed to VBE) video driver, formerly a terminal driver.

* Add menu hotkey support.

* Add support for the nilfs2 filesystem.

* `grub-probe' and `grub-mkconfig' support for NetBSD.

* Support setting a background image in `grub-mkconfig'.

* Support multiple terminals in `grub-mkconfig'.

* Regexp support.

* MIPS multiboot2 support.

* Multiboot2 tag support.

* sunpc partition table support.

* Add a number of new language features to GRUB script: `for', `while',
  `until', `elif', function parameters, `break', `continue', `shift',
  multi-line quoted strings, positional parameters with `setparams',
  `return', filename wildcard expansion, and `!'.

* Support nested partition tables.  GRUB now prefers to name partitions
  in the form `(hd0,msdos1,bsd1)' rather than `(hd0,1,a)'.

* Speed up consecutive hostdisk operations on the same device.

* Compile parts of `grub-emu' as modules.

New in 1.98 - 2010-03-06:

* Multiboot on EFI support.

* Graphical menu support.

* MIPS support.

* Saved default menu entry support, with new utilities `grub-reboot' and
  `grub-set-default'.

* Unit testing framework.

* Support for multiple terminals.

* Encrypted password support, with a new utility `grub-mkpasswd-pbkdf2'.

* `grub-mkfloppy' removed; use `grub-mkrescue' to create floppy images.

* Add grub-probe support for GNU/Hurd.

* Add support for gettext.

New in 1.97:

* Add support for loading XNU (MacOS X kernel).

* ACPI override support.

* Integrated gptsync.

* Password protection support.

* Partition manipulation tool.

* Add `keystatus' command.

* Unicode fonts are now used by default.

* Add `hdparm' command.

* Add support for getting the current date and time from CMOS as variables.

* Add `drivemap' command.

* Add support for RAID levels 4,6 and 10.

* update-grub is replaced by grub-mkconfig.

* When booting from PXE, PXE can be used to load files.

* High resolution timer support.

* Image loaders now support IO buffering.

* Add `crc' command.

* Add Cygwin support.

* Add x86_64 EFI support.

* Use LZMA compression instead of LZO.

* Support for saving the environment from and loading the environment
  from a file.

* Allow the UUID to be used as device name.

* The `search' command can use UUIDs now.

* Add support for IEEE 1275 on i386.

* Create partmap.lst and use it to automatically load partition map
  modules.

* grub-mkconfig supports os-prober to add operating systems to the
  boot menu.

* The ATA driver supports devices bigger than 2 TiB.

* Add support for the UDF, AFS and EXT4 filesystems.

* The ISO9660 filesystem supports the Joliet extension

* Add support for loading kernels of FreeBSD, NetBSD and OpenBSD.

* Add new command `sleep'.

* Support for direct access to AT keyboards.

* New utility `grub-fstest'.

New in 1.96 - 2008-02-03:

* The license term is changed to GNU General Public License Version 3.

* grub-emu is made optional.  Now you have to use
  `--enable-grub-emu' to enable it.

* Add Multiboot2 support.

* grub-emu can access the host filesystem now.

* Add support for the NTFS, cpio/tar and Reiserfs filesystems.

* Add support for ATA/ATAPI.

* Add update-grub script to generate grub.cfg.

* Add grub-mkrescue script to generate floppy or ElTorito images
  (i386-pc only).

* Add support for background images in gfxterm (background_image command).

* Add support for detection of 64-bit support in CPU (cpuid command).

* GPT is now enabled in i386-pc target.

* Add grub-install for EFI.

* Ported to the following new platforms: Efika, coreboot (a.k.a. LinuxBIOS),
  OLPC XO.

* Add support for colored menu (menu_color_normal and menu_color_highlight
  variables).

* Fix support for loading Linux zImages (such as memtest86).

New in 1.95 - 2006-10-15:

* Number partitions from 1 instead of 0. For instance, the first
  partition of "hd0" is now "hd0,1" but not "hd0,0".

* grub-probefs is renamed to grub-probe, and supports printing a
  guessed OS device name and a GRUB drive name.

* RAID and LVM support is added.

* New command, echo.

* The disk API is changed to support 64-bit addressing.

* A TGA loader is added for the video API.

New in 1.94 - 2006-06-04:

* Fix several serious bugs in HFS+.

* Add experimental EFI support. Chainloading and Linux loading are
  supported at the moment.

* Add a new command "blocklist" to show a block list.

* Use --with-platform to specify a boot environment. For now, efi,
  ieee1275 and pc are supported.

* Use the filename "kernel.elf" instead of "grubof" on ieee1275.

* Install GRUB into pkglibdir instead of pkgdatadir.

* Support environmental variables. You can export variables by the
  command "export".

* Remove the commands "default" and "timeout". They are now variables.

* Add the commands "source" and "." to include a file.

* Implement experimental Video API and a new terminal "gfxterm" based
  on the Video API.


New in 1.93 - 2006-03-10:

* Add support for the HFS+ wrapper.

* Major improvements to scripting support.

* Menu entries are now scriptable.


New in 1.92 - 2005-12-25:

* Add support for GPT partition table format.

* Add a new command "play" to play an audio file on PC.

* Add support for Linux/ADFS partition table format.

* Add support for BASH-like scripting.

* Add support for Apple HFS+ filesystems.


New in 1.91 - 2005-10-15:

* Add support for LZO version 2.

* Support completion in the entry editor.

* Add VBE support.

* New commands, "search", "vbetest" and "vbeinfo".

* The option BOOT_IMAGE is passed to Linux.

* Add support for automatic decompression for gzip.

* Add support for terminfo and serial.

* Add support for x86_64.

* GRUB itself is a Multiboot-compliant kernel.

* Add new filesystems: XFS, SFS, and AFFS.


New in 1.90 - 2005-08-07:

* Rename the project name PUPA to GRUB. Now this version is the
  developmental version of GRUB officially.

* The GRUB emulator ``grub-emu'' is added.

* Add support for newworld Mac. This should work with other
  PowerPC-based machines as well, if they use IEEE 1275
  (Open Firmware).

* Too many changes to describe. Look at ChangeLog for more details.


New in 0.7:

* Problems in cross-compiling PUPA are fixed.

* Use -mrtd and -mregparm=3 to reduce the generated code sizes.	This
  means that any missing prototypes could be fatal. Also, you must take
  care when writing assembly code. See the comments at the beginning of
  startup.S, for more details.

* New utility, ``pupa-setup''. This sets up PUPA to make it bootable
  from a real disk.

* New commands, "prefix", "insmod", "rmmod" and "lsmod" are added into
  the rescue mode to manipulate PUPA modules.

* Linux support is added. Initrd is not support yet.

* Reduce the size of a core image significantly by compressing a large
  part of the core image and decompressing itself at boot time. The
  currently used algorithm is LZO (more precisely, LZO1X-999). So you
  have to install LZO to build PUPA. See
  <http://www.oberhumer.com/opensource/lzo/>, for more information.


New in 0.6 - 2002-12-27, Yoshinori K. Okuji:

* The chainloader and the FAT filesystem are modularized.

* The structure of the source tree is a bit changed.

* Support for building loadable modules is added.

* Some generic parts of pupa-mkimage are segregated.

* Some documentation files are added, according to the GNU Coding
  Standards.