2024-11-08 mintsuki *** Release 8.4.0 *** Noteworthy changes compared to the previous release, 8.3.2: New features: - Support passing Limine its configuration via SMBIOS tables. Miscellaneous: - Update cc-runtime to latest; use non-packed version. 2024-10-31 mintsuki *** Release 8.3.2 *** Noteworthy changes compared to the previous release, 8.3.1: Miscellaneous: - Limine boot protocol: Amend base revision 3 to mandate reporting base revision used to kernels. 2024-10-28 mintsuki *** Release 8.3.1 *** Noteworthy changes compared to the previous release, 8.3.0: Bug fixes: - Limine boot protocol: Revert broken optimisation. 2024-10-28 mintsuki *** Release 8.3.0 *** Noteworthy changes compared to the previous release, 8.2.0: New features: - Limine boot protocol: Specify and implement base revision 3. See the specification for further info. - Add a new `FW_TYPE` built-in config macro. Miscellaneous: - Bump Flanterm revision to a6f6edd6631c01caab932a59dce97bbd5f0c72c8. - Limine boot protocol: Misc optimisations to page tables usage. 2024-10-23 mintsuki *** Release 8.2.0 *** Noteworthy changes compared to the previous release, 8.1.2: New features: - Add device tree blob override configuration options for the Limine and Linux boot protocols. - Limine boot protocol: Filter `memory@...` nodes out of device trees. Miscellaneous: - Documentation: USAGE.md: Update `xorriso` command to produce ISOHYBRIDs with Joliet info and an HFS+ filesystem for broader compatibility. - Increase the size of the `limine-cd-uefi.bin` image to 5760 sectors; this allows more and/or larger EFI executables to fit (like for example those generated when compiling with -O0). - Bump cc-runtime revision to d5425655388977fa12ff9b903e554a20b20c426e. 2024-10-15 mintsuki *** Release 8.1.2 *** Noteworthy changes compared to the previous release, 8.1.1: Bug fixes: - Add missing register saves and restores around call from assembly to C code for the x86-64 UEFI port. This bug could have caused crashes with certain compiler optimisation levels (like -O0). - Adjust size of reserved area of VBE mode info struct to be the right size. This bug could have caused crashes with certain compiler optimisation levels (like -O0). - Ignore UEFI memory map entries of length 0. This fixes crashes that could have happened on quirky UEFI firmwares passing such entries. 2024-10-12 mintsuki *** Release 8.1.1 *** Noteworthy changes compared to the previous release, 8.1.0: Bug fixes: - Limine boot protocol: Do not hard depend on the CPU supporting the Page Attribute Table (PAT) *for SMP processors as well*. 2024-10-12 mintsuki *** Release 8.1.0 *** Noteworthy changes compared to the previous release, 8.0.14: Bug fixes: - Limine boot protocol: Do not hard depend on the CPU supporting the Page Attribute Table (PAT). New features: - Limine boot protocol: Add a `randomise_hhdm_base` config file option. Miscellaneous: - Update libfdt (from dtc) to 1.7.1. 2024-09-29 mintsuki *** Release 8.0.14 *** Noteworthy changes compared to the previous release, 8.0.13: Miscellaneous: - Limine boot protocol: Increase maximum memory map entry count from 256 to 1024 as it would otherwise cause issues on certain systems. 2024-09-18 mintsuki *** Release 8.0.13 *** Noteworthy changes compared to the previous release, 8.0.12: Bug fixes: - multiboot2: Fix handling of relocatable kernels. 2024-09-15 mintsuki *** Release 8.0.12 *** Noteworthy changes compared to the previous release, 8.0.11: Bug fixes: - Fix a build system problem that could cause configure failures if STRIP variable set to an absolute path. Miscellaneous: - Updates for "freestanding-headers" being rebranded to "freestnd-c-hdrs-0bsd". - Updates for "limine-efi" being rebranded to "nyu-efi". 2024-09-10 mintsuki *** Release 8.0.11 *** Noteworthy changes compared to the previous release, 8.0.10: Miscellaneous: - Replace "freestnd-c-hdrs" back with "freestanding-headers" due to GPLv3 with Runtime Exceptions licensing concerns and size. 2024-09-09 mintsuki *** Release 8.0.10 *** Noteworthy changes compared to the previous release, 8.0.9: Bug fixes: - Fix bug where contents of loaded EFI image size variable could be off significantly compared to actual size when compiled with GCC, causing many issues. - Fix memory manager bug introduced in 2021 during optimisation work. Miscellaneous: - Replace "freestanding-headers" with GCC-provided "freestnd-c-hdrs". 2024-09-04 mintsuki *** Release 8.0.9 *** Noteworthy changes compared to the previous release, 8.0.8: Bug fixes: - Fix an issue that could cause Limine to not boot on UEFI systems with too many memory map entries. 2024-09-03 mintsuki *** Release 8.0.8 *** Noteworthy changes compared to the previous release, 8.0.7: Bug fixes: - Work around makefile issues that caused GNU make versions 4.0 and 4.1 as well as version 3.80 to fail to build Limine. 2024-09-02 mintsuki *** Release 8.0.7 *** Noteworthy changes compared to the previous release, 8.0.6: Miscellaneous: - Remove GNU make version check as we now support building on older make versions. - Miscellaneous build system improvements. 2024-08-25 mintsuki *** Release 8.0.6 *** Noteworthy changes compared to the previous release, 8.0.5: Bug fixes: - Fix issue with makefiles that would cause, among others, issues with job control on older GNU make versions. Miscellaneous: - Update limine-efi dependency to latest. - Minor build system improvements. 2024-08-12 mintsuki *** Release 8.0.5 *** Noteworthy changes compared to the previous release, 8.0.4: Bug fixes: - Limine boot protocol: Obtain LAPIC ID from LAPIC instead of CPUID. This fixes crashes on some odd machines whose firmware remaps the BSP's LAPIC ID from the default one. 2024-08-10 mintsuki *** Release 8.0.4 *** Noteworthy changes compared to the previous release, 8.0.3: Bug fixes: - Limine boot protocol: Fix off-by-1 error in HHDM MAXPHYADDR bounds check. Miscellaneous: - Updated cc-runtime dependency to latest, packed version. 2024-08-09 mintsuki *** Release 8.0.3 *** Noteworthy changes compared to the previous release, 8.0.2: Bug fixes: - AArch64, riscv64: SMP: Fix BSP potentially timing out while waiting for APs due to missing delay. 2024-08-08 mintsuki *** Release 8.0.2 *** Noteworthy changes compared to the previous release, 8.0.1: Bug fixes: - Menu: Miscellaneous cosmetic fixes. - Editor: Fix input and displaying of tab characters. Miscellaneous: - Config: Accept tab characters as whitespace after option colon. 2024-08-05 mintsuki *** Release 8.0.1 *** Noteworthy changes compared to the previous release, 8.0.0: Bug fixes: - Assortment of menu fixes to issues that could cause things not to render as they should. Miscellaneous: - Documentation fixes for 8.x. 2024-08-02 mintsuki *** Release 8.0.0 *** Noteworthy changes compared to the previous release, 7.13.3: New features: - Add loongarch64 support. Bug fixes: - Limine boot protocol: Ensure higher half direct map size does not exceed MAXPHYADDR on x86. Miscellaneous: - Extensive changes to the config syntax. (See CONFIG.md). - Rename term_wallpaper, term_wallpaper_style, and term_backdrop config options to remove the term_ prefix. - Removed support for GZ-compressed files (and internal Limine protocol modules). 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.