As previously warned, this release have breaking changes in terms of **configuration files** and the API layer in several places.
This is in order to clean up poor terminology in the configuration as well as separate code logic and uniform parameters for similar functions.
*This release will also be signed by Torxed's usual PGP Key `256F73CEEFC6705C6BBAB20E5FBBB32941E3740A` as well as his new Arch Linux TU key `8AA2213C8464C82D879C8127D4B58E897A929F2E`. This is to create a trust path between the old personal key used historically and the newly added TU key `torxedarchlinux.org`. The TU key will be used henceforth for the `archinstall` project and the personal key will be discontinued for this project.*
Breaking changes *(to direct API usage and configuration format)*
* JSON configuration format has changed, see [config-sample.json](https://github.com/archlinux/archinstall/blob/master/examples/config-sample.json) for latest example or run `archinstall` and save a config.
* Profiles have changed quite a bit, [awesome](https://github.com/archlinux/archinstall/blob/ada1ffeaad43eee4c7022606d3037d92fae0ad7a/archinstall/default_profiles/desktops/awesome.py) is a good example or [i3](https://github.com/archlinux/archinstall/blob/ada1ffeaad43eee4c7022606d3037d92fae0ad7a/archinstall/default_profiles/desktops/i3.py)
* 1801 may cause issues, but hard to foresee where. Some functions that aren't intended to be used directly have been renamed to `_XYZ()` from `XYZ()`.
* Rename encryption method by svartkanin in https://github.com/archlinux/archinstall/pull/1888
* Simplify object serialization before JSON encoding by lavafroth in https://github.com/archlinux/archinstall/pull/1871 *(`JSON` still exists, but if the `JSON_ENCODER` was used directly, this is now changed/removed)*
* Refactor installer and general design patterns by lavafroth in https://github.com/archlinux/archinstall/pull/1895
* `python-parted` and `python-simple-term-menu` are now two dependencies 1901
* `Installer.pacstrap`/`Installer._pacstrap` is now `Installer.pacman.strap()` *(However, a compatability layer will be added before final release, mentioning it since the RC1 will have a breaking change)
New features
* Enable separate /boot and /boot/esp via XBOOTLDR in systemd-boot by Torxed in https://github.com/archlinux/archinstall/pull/1859
* PyParted and a large rewrite of the underlying partitioning by svartkanin in https://github.com/archlinux/archinstall/pull/1604
* installer: add Limine bootloader by Andy-Python-Programmer in https://github.com/archlinux/archinstall/pull/1815
* Make it easier to save configuration files by allowing tab-completion in folder path entry by bd-g in https://github.com/archlinux/archinstall/pull/1659 & https://github.com/archlinux/archinstall/pull/1728
* Adding Hyperland wm by xeniumcode in https://github.com/archlinux/archinstall/pull/1785
* Add custom mirror support by svartkanin in https://github.com/archlinux/archinstall/pull/1816
* Add traditional Chinese translation by xruifan in https://github.com/archlinux/archinstall/pull/1823
* Add Estonian translation by HegertTaresalu in https://github.com/archlinux/archinstall/pull/1827
* Move locales and cleanup menu by svartkanin in https://github.com/archlinux/archinstall/pull/1814
* `info()`, `warn()` and `error()` are new helper functions from 1801 to make it easier to generate a error message in the logs.
Bug fixes
* Cleanup imports and unused code by svartkanin in https://github.com/archlinux/archinstall/pull/1801
* Fix i3 profile by r0t0r-r0t0r in https://github.com/archlinux/archinstall/pull/1714
* Add runtime dependency for dmenu by MakiseKurisu in https://github.com/archlinux/archinstall/pull/1514
* profiles/sway: update packages to have different defaults and better sway support by ca-cl2 in https://github.com/archlinux/archinstall/pull/1745
* Exception thrown on install with disk encryption by baod-rate in https://github.com/archlinux/archinstall/pull/1705
* Add some tweaks to make PKGBUILD more manageable by Torxed in https://github.com/archlinux/archinstall/pull/1695
* Update `SysCommand()` calls in `installer.py` by codefiles in https://github.com/archlinux/archinstall/pull/1703
* Fix import and configuration loading issues by svartkanin in https://github.com/archlinux/archinstall/pull/1764
* Attempt to fetch partuuid multiple times by svartkanin in https://github.com/archlinux/archinstall/pull/1770
* Fix issue where certain profiles caused 'is_desktop_type_profile' by svartkanin in https://github.com/archlinux/archinstall/pull/1773
* Fixing starting of service via str argument by Torxed in https://github.com/archlinux/archinstall/pull/1779
* Made `_fetch_lsblk_info()` break on success to speed up info gathering by codefiles in https://github.com/archlinux/archinstall/pull/1754
* Remove obsolete enabling of NTP in ISO by codefiles in https://github.com/archlinux/archinstall/pull/1729
* General Python3.11 improvements https://github.com/archlinux/archinstall/pull/1787
* Sway Profile Changes Not Persisted to Configuration File svartkanin in https://github.com/archlinux/archinstall/pull/1790
* Fix 'Device' object has no attribute 'device_info' by svartkanin in https://github.com/archlinux/archinstall/pull/1794
* Fix 'dict' object has no attribute 'username' by svartkanin in https://github.com/archlinux/archinstall/pull/1795
* Fix default value idx in `_determine_cursor_pos()` by codefiles in https://github.com/archlinux/archinstall/pull/1800
* Fix The parallel downloads page is shown half in English by svartkanin in https://github.com/archlinux/archinstall/pull/1840
* Fix Encryption Password is not set properly codefiles in https://github.com/archlinux/archinstall/pull/1851
* Installs correct dkms package for nvidia and nvidia-open on custom kernels by lavafroth in https://github.com/archlinux/archinstall/pull/1847
* Fix Error on opening log file by svartkanin in https://github.com/archlinux/archinstall/pull/1831
* Added a service-started wait timer for keyring.timer by Torxed in https://github.com/archlinux/archinstall/pull/1858
* Update bootctl --path option to --esp-path by codefiles in https://github.com/archlinux/archinstall/pull/1854
* Fixes Translation - UnicodeDecodeError 'utf-8' codec can't decode byte by svartkanin in https://github.com/archlinux/archinstall/pull/1870
* Always verify permissions and check for log dir by svartkanin in https://github.com/archlinux/archinstall/pull/1874
* Make Gfx driver handling saver by svartkanin in https://github.com/archlinux/archinstall/pull/1885
* Fix disk encryption crash when libfido2 is not installed by ArtikusHG in https://github.com/archlinux/archinstall/pull/1893
* Document new pip install flag by rbroggi in https://github.com/archlinux/archinstall/pull/1897
* Fix for Issue when determining unknown filesystem type of existing partitions with parted by svartkanin in https://github.com/archlinux/archinstall/pull/1880
* Skip rom devices by codefiles in https://github.com/archlinux/archinstall/pull/1906
* global_menu: wrap invalid config error message with the translation shim by Andy-Python-Programmer in https://github.com/archlinux/archinstall/pull/1908
* Fix network settings loading from config file by svartkanin in https://github.com/archlinux/archinstall/pull/1921
* "stuck after enabling fstrim", this was due to `mkinitcpio` call not having any output. Added output to the syscall.
Minor changes
* Install the package `sof-firmware` if required by codefiles in https://github.com/archlinux/archinstall/pull/1811
* Install the package `alsa-firmware` if required by codefiles in https://github.com/archlinux/archinstall/pull/1812
* Update contributing doc by svartkanin in https://github.com/archlinux/archinstall/pull/1873
* Removing legacy build files setup.py and setup.cfg by Torxed in https://github.com/archlinux/archinstall/pull/1711
* Fix sd-boot code duplication by codefiles in https://github.com/archlinux/archinstall/pull/1721
* Remove superfluous time sync steps by codefiles in https://github.com/archlinux/archinstall/pull/1752
* Full mypy compliance and small fixes by svartkanin in https://github.com/archlinux/archinstall/pull/1777
* Refactor `build_iso.sh` added packages by codefiles in https://github.com/archlinux/archinstall/pull/1797
* Remove Flit from `build_iso.sh` added packages by codefiles in https://github.com/archlinux/archinstall/pull/1804
* Add `set -e` to `build_iso.sh` by codefiles in https://github.com/archlinux/archinstall/pull/1806
* Detect more modules requiring `alsa-firmware` by codefiles in https://github.com/archlinux/archinstall/pull/1822
* Rephrase NetworkManager dependency message for clarity. by gangelop in https://github.com/archlinux/archinstall/pull/1834
* Use pathlib in `_add_systemd_bootloader()` by codefiles in https://github.com/archlinux/archinstall/pull/1866
* Fix workflows and checks by svartkanin in https://github.com/archlinux/archinstall/pull/1872
* Update autoflake by mosfet80 in https://github.com/archlinux/archinstall/pull/1889
* Refactor `_add_systemd_bootloader()` entries creation by codefiles in https://github.com/archlinux/archinstall/pull/1907
* Refactor `_add_systemd_bootloader()` entries options by codefiles in https://github.com/archlinux/archinstall/pull/1909
* Refactor `_add_systemd_bootloader()` loader configuration by codefiles in https://github.com/archlinux/archinstall/pull/1911
* Uncomment `/etc/locale.gen` entry and use first column for LANG variable by codefiles in https://github.com/archlinux/archinstall/pull/1939
New Contributors
* baod-rate made their first contribution in https://github.com/archlinux/archinstall/pull/1705
* r0t0r-r0t0r made their first contribution in https://github.com/archlinux/archinstall/pull/1714
* jeffersonjpr made their first contribution in https://github.com/archlinux/archinstall/pull/1717
* MakiseKurisu made their first contribution in https://github.com/archlinux/archinstall/pull/1514
* ca-cl2 made their first contribution in https://github.com/archlinux/archinstall/pull/1745
* xeniumcode made their first contribution in https://github.com/archlinux/archinstall/pull/1785
* pdutra145 made their first contribution in https://github.com/archlinux/archinstall/pull/1813
* xruifan made their first contribution in https://github.com/archlinux/archinstall/pull/1823
* Error504TimeOut made their first contribution in https://github.com/archlinux/archinstall/pull/1825
* HegertTaresalu made their first contribution in https://github.com/archlinux/archinstall/pull/1827
* Kefaku made their first contribution in https://github.com/archlinux/archinstall/pull/1844
* gangelop made their first contribution in https://github.com/archlinux/archinstall/pull/1834
* tugsatenes made their first contribution in https://github.com/archlinux/archinstall/pull/1857
* y9tr3ble made their first contribution in https://github.com/archlinux/archinstall/pull/1839
* eren-ince made their first contribution in https://github.com/archlinux/archinstall/pull/1771
* wkricowski made their first contribution in https://github.com/archlinux/archinstall/pull/1760
* wc7086 made their first contribution in https://github.com/archlinux/archinstall/pull/1757
* acuteenvy made their first contribution in https://github.com/archlinux/archinstall/pull/1750
* Schwarzeisc00l made their first contribution in https://github.com/archlinux/archinstall/pull/1883
* Diogo-ss made their first contribution in https://github.com/archlinux/archinstall/pull/1886
* mosfet80 made their first contribution in https://github.com/archlinux/archinstall/pull/1889
* ArtikusHG made their first contribution in https://github.com/archlinux/archinstall/pull/1893
* rbroggi made their first contribution in https://github.com/archlinux/archinstall/pull/1897
* Dark-Kernel made their first contribution in https://github.com/archlinux/archinstall/pull/1902
* Andy-Python-Programmer made their first contribution in https://github.com/archlinux/archinstall/pull/1815
* uranderu made their first contribution in https://github.com/archlinux/archinstall/pull/1755
**Full Changelog**: https://github.com/archlinux/archinstall/compare/v2.5.4...v2.6.0rc1