more user-visible ones are as follows:
- GRUB script:
+ Function parameters, "break", "continue", "shift", "setparams",
"return", and "!".
+ "export" command supports multiple variable names.
+ Multi-line quoted strings support.
+ Wildcard expansion.
- sendkey support.
- USB hotunplugging and USB serial support.
- Rename CD-ROM to cd on BIOS.
- Add new --boot-directory option to grub-install, grub-reboot, and
grub-set-default; the old --root-directory option is still accepted
but was often confusing.
- Basic btrfs detection/UUID support (but no file reading yet).
- bash-completion for utilities.
- If a device is listed in device.map, always assume that it is
BIOS-visible rather than using extra layers such as LVM or RAID.
- Add grub-mknetdir script (closes: #550658).
- Remove deprecated "root" command.
- Handle RAID devices containing virtio components.
- GRUB Legacy configuration file support (via grub-menulst2cfg).
- Keyboard layout support (via grub-mklayout and grub-kbdcomp).
- Check generated grub.cfg for syntax errors before saving.
- Pause execution for at most ten seconds if any errors are displayed,
so that the user has a chance to see them.
- Support submenus.
- Write embedding zone using Reed-Solomon, so that it's robust against
being partially overwritten (closes: #550702, #591416, #593347).
- GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY merged
into a single GRUB_DISABLE_RECOVERY variable.
- Fix loader memory allocation failure (closes: #551627).
- Don't call savedefault on recovery entries (closes: #589325).
- Support triple-indirect blocks on ext2 (closes: #543924).
- Recognise DDF1 fake RAID (closes: #603354).
[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
(now unused).
(grub_keyboard_controller_init)
[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
read the initial state since controller isn't inited yet.
* grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
(GRUB_UDF_BLKSZ): Removed.
(struct grub_udf_data): New field "lbshift" to hold the logical block
size of the file system in log2 format. All users updated.
(sblocklist): Change type to unsigned.
(grub_udf_mount): Change type of "sblklist" to unsigned.
Move AVDP search before VRS recognition, because the latter requires
knowledge of the logical block size, which is detected during the
former.
Detect and validate logical block size during AVDP search, adding
support for block sizes 512, 1024 and 4096.
Make VRS recognition independent of block size.
* grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
(GRUB_UDF_BLKSZ): Removed.
(struct grub_udf_data): New field "lbshift" to hold the logical block
size of the file system in log2 format. All users updated.
(sblocklist): Change type to unsigned.
(grub_udf_mount): Change type of "sblklist" to unsigned.
Move AVDP search before VRS recognition, because the latter requires
knowledge of the logical block size, which is detected during the
former.
Detect and validate logical block size during AVDP search, adding
support for block sizes 512, 1024 and 4096.
Make VRS recognition independent of block size.
- refuse_embedingless_cross_disk.patch: Refuse to do a cross-disk
embeddingless install rather than creating a broken install.
- fix_grub_install_error_msg.patch: Replace useless recomendation to
pass --modules with a recomendation to report a bug.