
Version 0.4:

  - GRUB now correctly points ES:SI at a partition descriptor when
    chain-loading.

  - Many minor bugs fixed (some in the build scripts).

  - Intel MPS 1.4 config/check code is totally new, and the "syscmd="
    command is completely removed.  Check command-listing for details.

Version 0.4-pre  --  (pre-release for public testing):

  - Reorganized docs, moved most "NOTE" items to a FAQ (with new
    entries as well).

  - Now supports automatic decompression of any files loaded via the
    GRUB stage2 filesystem code.  Simply compress the file using GNU
    gzip normally, then when loading, the GRUB internals will see the
    contents in the decompressed state...  i.e. all GRUB functions operate
    normally as if it is the uncompressed file.  An extra version of the
    "module" loading function has been added which disables this
    functionality if desired (in all the other cases, not decompressing
    doesn't make sense).

  - Changed device strings used in filesystem code to more logical
    format.  Added "relative" disk and partition capability, see
    command-listing and filesystem syntax description for details.

  - "install=" command vastly improved.  Also moved to non-debug area.
    Check command-listing and install documentation for details.

  - Added several new commands: "rootnoverify=", "uppermem=", and a
    new debug command "displaymem".  Check command-listing for details.

  - Added versioning numbers (and subsequently broke compatibility with
    some of the previous code, so GRUB should be re-installed!).

  - Added unattended booting support via new "fallback=" command.

  - During debug probe of SMP configuration table compatible with Intel
    MPS 1.4 standard, GRUB now checks for a pointer in the EBDA.

  - Using a "default=" entry greater than 11 caused the UI to do funny
    things (it didn't pre-scroll the list to the appropriate place).

  - Reading files on FAT floppies had yet more problems related by many
    users of version 0.3 6/17/96.  Again, all known problems fixed.

  - "Extended" partitions now work (still cannot make an extended partition
    active with "makeactive" command).

  - The build environment is greatly simplified, now using an autoconf-like
    "configure" script.

Version 0.3 dated 6/17/96  --  public "beta" release:

  - Yet more documentation improvements.

  - Known bugs in floppy operation fixed (12-bit FAT didn't work for most
    cases, and inserting other floppies didn't flush the filesystem cache).

  - NASTY uninitialized pointer bug causing "raw" floppy operation to crash
    on several PCs is now fixed.  This seems to have been the root cause of
    all of the compatibility problems that have currently been observed.

  - debug-mode command added to automate most difficult step of installation
    for common cases (new install method #4).

  - Testing "mini-debugger" now merged with command-line when "DEBUG"
    defined in compile (no SYSDEBUG option anymore).  See description of
    commands in the command-line for details.

Version 0.3 dated 6/2/96  --  first public "alpha" release:

  - Completed initial licenses.

  - Initial filesystem documentation written.

  - Block-list and FAT filesystems now work as documented (in particular,
    for the blocklist filesystem, shortcuts like "+1" for "0+1,512" now
    work correctly).

  - Fixed several problems (old and new) in the various filesystems
    (for example, the ext2fs filesystem code is now much faster, as it
    caches some mapping blocks where it didn't at all before).  Filesystem
    semantics are much more uniform as well (symbolic links and reading
    a directory as a file now return errors where it would silently fail
    before).

  - "makeactive" now works for standard PC partitions on hard disks (not
    extended partitions...  so any PC partition number above 3 will give
    a "no such partition" error).  If a BSD sub-partition is is used, it
    will ignore it, and only use the primary PC partition number.

Version 0.3 dated 5/20/96:

  - Updated instructions (though still very sparse).

  - New floppy probe (works much like the Linux floppy boot probe) attempts
    to find the size of a floppy in a drive.  Might still need work!  Please
    try on various floppy drives with various media!

  - New floppy handler will claim a non-existent drive if the floppy disk
    isn't present in the drive.  (for example, it won't be on the list of
    installed drives unless a floppy is present)

  - Stage1 now compatible with both a hard disk MBR and the DOS BIOS
    parameter block (see "install/README" for more details on how this can
    be used).

  - Block-list filesystem partially works, as described in the file "NOTES".
    Loading an a.out or elf kernel won't work with it, but all other filetypes
    pretty much should.  (certainly chain-loading works OK)   NOTE:
     you must use the full format "0+1,512" for just he first block...  no
     parameters can be implicit in this version.. THis is being fixed too.

  - Linux ext2 filesystem works.  (it's very slow for big files, but this
    is being fixed)

  - Linux boot type now supported.  Use a standard piggybacked image as
    with LILO.  Put in hack to support >64MB via GRUB placing the RAM size
    as the first item on the command-line automatically.  Must pass root
    partition on command-line using normal Linux syntax...  if not, it uses
    it's builtin root partition.

  - Supports chain-loading.  For details, see "COMMANDS" and the examples
    directory.  (was able to boot DOS and Windows NT on my test box).  NOTE
    that the "root partition" must be set to work right.  "makeactive"
    is currently a no-op.

  - Several weird bugs fixed.  One important note:  If you recompile,
    it will warn about a clash with builtin "strcmp".  This is normal...
    do NOT remove the strcmp definition, as then GCC will possibly put
    inline code from it's own builtin function in some places. (my strcmp
    has slightly different functionality, hence the problem)

  - Mini-debugger is currently broken.

Version 0.2 dated 4/12/96:

  - Completely new menu-based UI.  See "COMMANDS" and the examples
    directory for details.  NOTE that the argument to a command must
    be preceded by a space between it and the '=', in both the config
    file and the command-line.  This will be fixed.

Version 0.1 dated 3/31/96 (lots of changes):

  - Newer version of Multiboot Standard (version 0.6) supported.

  - Autodetects kernel types.  Supports Multiboot, FreeBSD, NetBSD (Linux
    isn't finished).

  - Stage 1.5 works now.  Default setup is now for working with a BSD FFS
    floppy loading "/grub/stage2" as the main bootloader.

  - Filesystem support improved.  It didn't work on many floppies
    before (problem with the partition-detection code).

  - Memory probe now supports arbitrary amounts of RAM (some technical
    limitations exist, see Multiboot standard version 0.6 for details).

  - A mini-debugger is included by default, activated by hitting '~'
    on the command-line (it might interfere with things, but it
    seems OK for my alpha-testing).  The commands are in the function
    "enter_sysdebug" defined in "common.c".  If you have an Intel MPS-
    compatible machine, there are extra commands enabled for SMP cpu
    testing.  'q' exits and goes back to what you were doing before.

Version 0.0 dated 2/6/96:

  - Newer version of Multiboot Standard (version 0.4) supported.

Version 0.0 dated 12/10/95:

  - You can now perform TAB-based completion listing of any valid
    partially completed disk/partition/file-name combination.  Try it
    out to see what you like, examples are in the NOTES file under
    "Device completion".

  - Fixed a bug causing the memory size routine to sometimes report
    rediculous values.

  - Fixed some documentation (what little there is :-/ and a few assembly
    bugs in the BIOS access routines that nobody reported yet, so I won't
    detail it here.

