2024-08-02 mintsuki *** Release 7.13.3 *** Noteworthy changes compared to the previous release, 7.13.2: Bug fixes: - Limine boot protocol: Fix broken comparison that could cause an HHDM too large to not be properly detected. - Limine boot protocol: aarch64: Fix incorrect macro value that would cause the size of the higher half to be incorrectly detected as half. Miscellaneous: - Remove Nix flake stuff from repository/tarball. 2024-07-30 mintsuki *** Release 7.13.2 *** Noteworthy changes compared to the previous release, 7.13.1: Bug fixes: - Limine boot protocol: Fix a bug introduced in 7.13.0 that made compressed modules not work on IA-32 ports. 2024-07-29 mintsuki *** Release 7.13.1 *** Noteworthy changes compared to the previous release, 7.13.0: Bug fixes: - Limine boot protocol: Fix a bug introduced in 7.13.0 that made the protocol unusable with the BIOS port when loading any modules, when Limine was linked using ld.bfd. 2024-07-29 mintsuki *** Release 7.13.0 *** Noteworthy changes compared to the previous release, 7.12.1: New features: - Limine boot protocol: Allow above-4GiB load of modules on IA-32 ports. Miscellaneous: - Build system improvements. 2024-07-27 mintsuki *** Release 7.12.1 *** Noteworthy changes compared to the previous release, 7.12.0: Miscellaneous: - Limine boot protocol: limit the HHDM size to half of the higher half in all conditions; limit HHDM KASLR wiggle room to a quarter rather than half of the higher half. - Build system improvements. 2024-07-21 mintsuki *** Release 7.12.0 *** Noteworthy changes compared to the previous release, 7.11.0: New features: - Reinstate support for ext2/3/4, albeit in an unsupported and unmaintained state, at least for the time being. - Menu: Add vertical bars around entry title in entry editor. - Menu: Add clearer indications of what is wrong when config invalid or missing. Bug fixes: - Terminal: Fix long standing wallpaper drawing related bug that under certain circumstances could cause memory corruption. - Miscellaneous VBE related bug fixes. - Miscellaneous A20 line related improvements/fixes. Miscellaneous: - Limine boot protocol: perform appropriate checks to ensure that the higher half direct map fits in the higher half; enforce paging modes as needed. - Limine boot protocol: aarch64: Specify that the granule size for both TTBR0_EL1 and TTBR1_EL1 is 4KiB. - Limine boot protocol: aarch64: Specify the values of TCR_EL1.T0SZ and TCR_EL1.T1SZ depending on the paging mode used. - Limine boot protocol: aarch64: Specify the condition of TTBR0_EL1 and TTBR1_EL1 at entry. 2024-07-18 mintsuki *** Release 7.11.0 *** Noteworthy changes compared to the previous release, 7.10.3: New features: - Limine boot protocol: Specify and implement "firmware type" feature. - Limine boot protocol: Specify and implement revision 1 "paging mode" request extension. 2024-07-16 mintsuki *** Release 7.10.3 *** Noteworthy changes compared to the previous release, 7.10.2: Bug fixes: - Menu: Fix high menu entry count support that was previously broken in a regression. - Linux boot protocol: Install "memory reservation" EFI configuration table on aarch64/riscv64. Miscellaneous: - Miscellaneous improvements and optimisations of code introduced in version 7.10.2. 2024-07-14 mintsuki *** Release 7.10.2 *** Noteworthy changes compared to the previous release, 7.10.1: Bug fixes: - Fix a long standing issue with volume detection on UEFI. - Fix issue returning to editor after a panic when coming from a blank entry without a valid config. - Add missing "loading" prints when booting Linux on non-x86. 2024-07-12 mintsuki *** Release 7.10.1 *** Noteworthy changes compared to the previous release, 7.10.0: Bug fixes: - DTB: Never pass UEFI DTB buffer directly; fix misuse of libfdt API. 2024-07-12 mintsuki *** Release 7.10.0 *** Noteworthy changes compared to the previous release, 7.9.2: New features: - SMP: Support SMP on AArch64 without ACPI. Bug fixes: - SMP: Do not allocate a useless stack for the BSP. - `limine`: Protect against overwriting MBR partitions beginning at exceedingly low sector values (outside de facto specification). Miscellaneous: - Limine boot protocol: Do not pass responses if RSDP or SMBIOS not available instead of returning responses with NULL pointers. - Limine boot protocol: Do not pass a framebuffer response if no framebuffers are available. 2024-07-06 mintsuki *** Release 7.9.2 *** Noteworthy changes compared to the previous release, 7.9.1: Bug fixes: - Limine boot protocol: Return NULL response instead of a response with erroneous CPU count of 0 for SMP on x86-64, if x2APIC support not enabled and missing xAPIC fallback. - Limine boot protocol: Do not ignore MAX_PAGING_MODE config setting if paging mode request missing from loaded kernel. Miscellaneous: - Limine boot protocol/ELF: Apply a slide of 0xffffffff80000000 minus the ELF-reported base load address for relocatable kernels that have lower half load addresses, instead of always applying a slide of 0xffffffff80000000. 2024-06-29 mintsuki *** Release 7.9.1 *** Noteworthy changes compared to the previous release, 7.9.0: Bug fixes: - `limine`: Revert change that marked protective MBR wrapper partition as active on GPT. 2024-06-28 mintsuki *** Release 7.9.0 *** Noteworthy changes compared to the previous release, 7.8.0: New features: - Linux boot protocol: Add support on aarch64 and riscv64. Bug fixes: - multiboot1/2: Relax ELF file type requirements (mainly for multiboot2 relocatable kernels). - UEFI: Fix bug that caused delete key to behave as if it was backspace even when the SERIAL config option was not "yes". Miscellaneous: - Limine boot protocol/ELF: Do not consider ELFs relocatable unless the ELF file type is ET_DYN. - Some dead code removal. 2024-06-24 mintsuki *** Release 7.8.0 *** Noteworthy changes compared to the previous release, 7.7.2: New features: - Return to booted edited entry on panic. Bug fixes: - `limine`: Mark protective MBR wrapper partition as active on GPT. Miscellaneous: - UEFI: Allocate most memory as EfiLoaderCode instead of EfiLoaderData. - Smaller fixes and improvements. 2024-06-09 mintsuki *** Release 7.7.2 *** Noteworthy changes compared to the previous release, 7.7.1: Bug fixes: - Limine boot protocol/ELF: Ignore PT_LOAD segments with 0 memory size. - Limine boot protocol/ELF: Panic on non-weak unresolved symbols. - Limine boot protocol/ELF: Do not sanity check DT_RELAENT size for non DT_RELA relocations. This is because DT_RELAENT may not be present. - multiboot 1 and 2 protocols: Reject relocatable ELFs. 2024-06-06 mintsuki *** Release 7.7.1 *** Noteworthy changes compared to the previous release, 7.7.0: Bug fixes: - Limine boot protocol/ELF: Stop parsing PT_DYNAMIC segment once DT_NULL is reached. 2024-06-04 mintsuki *** Release 7.7.0 *** Noteworthy changes compared to the previous release, 7.6.0: New features: - Limine boot protocol/ELF: Add support for GLOB_DAT, JUMP_SLOT, 64, and NONE relocation types. - Limine boot protocol/ELF: Add RELR (packed relative relocations) support. Bug fixes: - Limine boot protocol/ELF: Reject ELFs that depend on external dynamically linked libraries. Miscellaneous: - Bring back .xz compressed release tarball. 2024-06-01 mintsuki *** Release 7.6.0 *** Noteworthy changes compared to the previous release, 7.5.3: New features: - RISC-V: Add support for RISC-V systems without ACPI (using DTBs). 2024-05-24 mintsuki *** Release 7.5.3 *** Noteworthy changes compared to the previous release, 7.5.2: Bug fixes: - Multiboot 2 protocol: Fix an issue where the 32-bit EFI Image Handle tag would be generated under 64-bit EFI and vice versa. - Do not set VirtualStart to PhysicalStart when generating the EFI memory map; set it to 0 instead. - Do not perform additional checks when loading relocatable ELF files after verifying that they are of type ET_DYN and have a PT_DYNAMIC segment. This ensures that certain relocatable ELF files that were previously misidentified as non-relocatable are recognised as such. 2024-05-22 mintsuki *** Release 7.5.2 *** Noteworthy changes compared to the previous release, 7.5.1: Bug fixes: - Fix missing checks in the FAT filesystem driver that could cause divide-by-0 exceptions when parsing malformed/corrupted filesystems. - Limine boot protocol: Do not reject relocatable kernels with ELF PHDR load addresses at or around 0, instead slide them all the way to the topmost 2GiB (0xffffffff80000000). This allows setting a base load address of 0 in LD BFD/LLD linker scripts which makes LD BFD (the default GNU LD) actually emit an ELF with ET_DYN type. 2024-05-08 mintsuki *** Release 7.5.1 *** Noteworthy changes compared to the previous release, 7.5.0: Bug fixes: - Workarounds for issues related to drive iteration on BIOS. Discovered on an HP Pavilion dv6-3152er. 2024-05-03 mintsuki *** Release 7.5.0 *** Noteworthy changes compared to the previous release, 7.4.1: New features: - Limine boot protocol: Add support for requests start marker, to complement the previously called delimiter, now renamed to "end marker". - Limine boot protocol: Add base revision 2. The sole difference compared to base revision 1 being that it mandates bootloaders to support request delimiters. Bug fixes: - Fix an issue regarding commit date parsing in the bootstrap script. Miscellaneous: - General documentation updates and improvements; split USAGE.md from README.md and install the former only. 2024-04-29 mintsuki *** Release 7.4.1 *** Noteworthy changes compared to the previous release, 7.4.0: Miscellaneous: - Bump max volume limit for UEFI from 64 to 256. - Improve how ISA name and firmware type is reported as part of the default branding. 2024-04-20 mintsuki *** Release 7.4.0 *** Noteworthy changes compared to the previous release, 7.3.1: New features: - ISA name and firmware type is now printed as part of the default bootloader branding. - Add 'B' key shortcut to menu to open up a blank entry. Bug fixes: - Fix missing NULL pointer check in configuration related function. Miscellaneous: - Console has been removed. 2024-04-11 mintsuki *** Release 7.3.1 *** Noteworthy changes compared to the previous release, 7.3.0: Bug fixes: - Fix a minor issue with scrolling when using the EFI console fallback. Miscellaneous: - Bump the Flanterm revision to current latest. - Some dead code removal. 2024-03-31 mintsuki *** Release 7.3.0 *** Noteworthy changes compared to the previous release, 7.2.1: New features: - Limine boot protocol: Add a `MAX_PAGING_MODE` configuration option to override kernel/bootloader selected paging mode. Bug fixes: - Fix a couple of minor bugs with the 4GiB workaround introduced in version 7.2.1. Miscellaneous: - No longer produce xz compressed release tarballs. Add bzip2, lzip, and zstd as alternatives in its place. 2024-03-28 mintsuki *** Release 7.2.1 *** Noteworthy changes compared to the previous release, 7.2.0: Bug fixes: - Implement workaround to allow Limine loaded above 4GiB by UEFI on x86-64 to work in some configurations, instead of panicking. 2024-03-24 mintsuki *** Release 7.2.0 *** Noteworthy changes compared to the previous release, 7.1.0: New features: - Add support for remembering the last booted entry on UEFI by means of the `REMEMBER_LAST_ENTRY` config option. 2024-03-19 mintsuki *** Release 7.1.0 *** Noteworthy changes compared to the previous release, 7.0.5: New features: - Limine boot protocol: Add support for requests delimiter. Bug fixes: - Fixed a potential security vulnerability in the ISO9660 driver. 2024-02-15 mintsuki *** Release 7.0.5 *** Noteworthy changes compared to the previous release, 7.0.4: Bug fixes: - Build system related fixes and improvements. This fixes an issue that caused Limine 7.0.4 to fail building on Busybox systems. 2024-02-14 mintsuki *** Release 7.0.4 *** Noteworthy changes compared to the previous release, 7.0.3: Bug fixes: - Minor build system related fixes and improvements. Miscellaneous: - Significantly improve reproducibility of builds. 2024-02-08 mintsuki *** Release 7.0.3 *** Noteworthy changes compared to the previous release, 7.0.2: Bug fixes: - multiboot2 protocol: Do not panic if there is a ENTRY_ADDRESS_EFI64 tag, but there is a valid alternative entry point. This further aligns our behaviour with GRUB2. Miscellaneous: - Terminal: Significantly improve serial and fallback UEFI console's rendition (especially colour palettes). - Serial: Add a baud rate config setting for Limine's BIOS version. 2024-01-26 mintsuki *** Release 7.0.2 *** Noteworthy changes compared to the previous release, 7.0.1: Bug fixes: - Fix a cosmetic bug in the menu where, when the editor was disabled, the controls showed "ENTER Expand" even for boot entries instead of only for menu directories. Miscellaneous: - Exclusively use git for obtaining dependencies in "bootstrap" script. 2024-01-22 mintsuki *** Release 7.0.1 *** Noteworthy changes compared to the previous release, 7.0.0: Bug fixes: - Fix ARM64/aarch64 spinup code to properly support Apple Silicon chips. - Prevent users from building Limine with a GNU Make version older than 4.2, as that is not supported, by gracefully erroring out with a useful error message. - Avoid usage of reserved C identifiers in certain cases. Miscellaneous: - Drop usage of "libgcc-binaries" for "cc-runtime". This finally makes us able to ship Limine tarballs without included binary blobs, and should improve compatibility with more obscure toolchain set ups. 2024-01-14 mintsuki *** Release 7.0.0 *** Noteworthy changes compared to the previous release, 6.20240107.0: Bug fixes: - Minor fix of newline handling when reading user input lines. Miscellaneous: - Bump major version to 7. Note: There is no breaking change in 7.x compared to 6.x; the major version bump is done due to a change in the versioning scheme used by Limine (move to proper Semantic Versioning). - Fix versions of external dependencies in "bootstrap" script. 2024-01-07 mintsuki *** Release 6.20240107.0 *** Noteworthy changes compared to the previous release, 6.20231227.0: New features: - Limine boot protocol: Add support for compressed internal modules. Miscellaneous: - Improve error reporting from host "limine" executable. - Track "master" branch of stb_image upstream. 2023-12-27 mintsuki *** Release 6.20231227.0 *** Noteworthy changes compared to the previous release, 6.20231226.0: Bug fixes: - Actually regenerate build system with GNU Autoconf 2.72 instead of GNU Autoconf 2.71. 2023-12-26 mintsuki *** Release 6.20231226.0 *** Noteworthy changes compared to the previous release, 6.20231216.0: New features: - Ignore trailing whitespace in Limine config file. Miscellaneous: - Regenerate build system with GNU Autoconf 2.72. - Minor build system adjustments. 2023-12-16 mintsuki *** Release 6.20231216.0 *** Noteworthy changes compared to the previous release, 6.20231210.0: New features: - Added a `--print-datadir` switch to the `limine` program in order to print the directory where Limine files are stored when installed on a host distro. Miscellaneous: - General improvements to the `--help` texts for the `limine` program. 2023-12-10 mintsuki *** Release 6.20231210.0 *** This is the first release in the 6.x series. Breaking changes compared to the 5.x series: - Support for the unmaintained ext2/3/4 filesystems dropped in compliance with the Limine bootloader design philosophy. - Chainloading protocol split into 2 protocols: EFI chainloading and BIOS chainloading. 2023-12-07 mintsuki *** Release 5.20231207.1 *** Noteworthy changes compared to the previous release, 5.20231207.0: Bug fixes: - multiboot2/elf: Fix issue where ELF vaddrs were taken into account instead of paddrs when loading executables. - Fix implementation of a function that detects whether a given memory range is physical RAM. 2023-12-07 mintsuki *** Release 5.20231207.0 *** Noteworthy changes compared to the previous release, 5.20231124.0: New features: - multiboot2 protocol: Add support for relocatable header tag. - multiboot2 protocol: Add support for console flags header tag. - Limine protocol: Add support for EFI memory map feature. Miscellaneous: - Improve error reporting from host "limine" executable. - Do not ignore errors from mtools when building limine-uefi-cd.bin. 2023-11-24 mintsuki *** Release 5.20231124.0 *** Compared to previous release, 5.20231121.0: New features: - Add support for rebooting to UEFI firmware setup. Bug fixes: - Fix SMP (multiprocessor) initialisation regression on aarch64. Miscellaneous: - Move to new, handwritten ChangeLog from autogenerated one.