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 torxed@archlinux.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 for latest example or run
archinstall
and save a config. -
Profiles have changed quite a bit, awesome is a good example or i3
-
#1801 may cause issues, but hard to foresee where. Some functions that aren't intended to be used directly have been renamed to
_XYZ()
fromXYZ()
. -
Rename encryption method by @svartkanin in #1888
-
Simplify object serialization before JSON encoding by @lavafroth in #1871 (
JSON
still exists, but if theJSON_ENCODER
was used directly, this is now changed/removed) -
Refactor installer and general design patterns by @lavafroth in #1895
-
python-parted
andpython-simple-term-menu
are now two dependencies #1901 -
Installer.pacstrap
/Installer._pacstrap
is nowInstaller.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 #1859
- PyParted and a large rewrite of the underlying partitioning by @svartkanin in #1604
- installer: add Limine bootloader by @Andy-Python-Programmer in #1815
- Make it easier to save configuration files by allowing tab-completion in folder path entry by @bd-g in #1659 & #1728
- Adding Hyperland wm by @xeniumcode in #1785
- Add custom mirror support by @svartkanin in #1816
- Add traditional Chinese translation by @xruifan in #1823
- Add Estonian translation by @HegertTaresalu in #1827
- Move locales and cleanup menu by @svartkanin in #1814
info()
,warn()
anderror()
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 #1801
- Fix i3 profile by @r0t0r-r0t0r in #1714
- Add runtime dependency for dmenu by @MakiseKurisu in #1514
- profiles/sway: update packages to have different defaults and better sway support by @ca-cl2 in #1745
- Exception thrown on install with disk encryption by @baod-rate in #1705
- Add some tweaks to make PKGBUILD more manageable by @Torxed in #1695
- Update
SysCommand()
calls ininstaller.py
by @codefiles in #1703 - Fix import and configuration loading issues by @svartkanin in #1764
- Attempt to fetch partuuid multiple times by @svartkanin in #1770
- Fix issue where certain profiles caused 'is_desktop_type_profile' by @svartkanin in #1773
- Fixing starting of service via str argument by @Torxed in #1779
- Made
_fetch_lsblk_info()
break on success to speed up info gathering by @codefiles in #1754 - Remove obsolete enabling of NTP in ISO by @codefiles in #1729
- General Python3.11 improvements #1787
- Sway Profile Changes Not Persisted to Configuration File @svartkanin in #1790
- Fix 'Device' object has no attribute 'device_info' by @svartkanin in #1794
- Fix 'dict' object has no attribute 'username' by @svartkanin in #1795
- Fix default value idx in
_determine_cursor_pos()
by @codefiles in #1800 - Fix The parallel downloads page is shown half in English by @svartkanin in #1840
- Fix Encryption Password is not set properly @codefiles in #1851
- Installs correct dkms package for nvidia and nvidia-open on custom kernels by @lavafroth in #1847
- Fix Error on opening log file by @svartkanin in #1831
- Added a service-started wait timer for keyring.timer by @Torxed in #1858
- Update bootctl --path option to --esp-path by @codefiles in #1854
- Fixes Translation - UnicodeDecodeError 'utf-8' codec can't decode byte by @svartkanin in #1870
- Always verify permissions and check for log dir by @svartkanin in #1874
- Make Gfx driver handling saver by @svartkanin in #1885
- Fix disk encryption crash when libfido2 is not installed by @ArtikusHG in #1893
- Document new pip install flag by @rbroggi in #1897
- Fix for Issue when determining unknown filesystem type of existing partitions with parted by @svartkanin in #1880
- Skip rom devices by @codefiles in #1906
- global_menu: wrap invalid config error message with the translation shim by @Andy-Python-Programmer in #1908
- Fix network settings loading from config file by @svartkanin in #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 #1811 - Install the package
alsa-firmware
if required by @codefiles in #1812 - Update contributing doc by @svartkanin in #1873
- Removing legacy build files setup.py and setup.cfg by @Torxed in #1711
- Fix sd-boot code duplication by @codefiles in #1721
- Remove superfluous time sync steps by @codefiles in #1752
- Full mypy compliance and small fixes by @svartkanin in #1777
- Refactor
build_iso.sh
added packages by @codefiles in #1797 - Remove Flit from
build_iso.sh
added packages by @codefiles in #1804 - Add
set -e
tobuild_iso.sh
by @codefiles in #1806 - Detect more modules requiring
alsa-firmware
by @codefiles in #1822 - Rephrase NetworkManager dependency message for clarity. by @gangelop in #1834
- Use pathlib in
_add_systemd_bootloader()
by @codefiles in #1866 - Fix workflows and checks by @svartkanin in #1872
- Update autoflake by @mosfet80 in #1889
- Refactor
_add_systemd_bootloader()
entries creation by @codefiles in #1907 - Refactor
_add_systemd_bootloader()
entries options by @codefiles in #1909 - Refactor
_add_systemd_bootloader()
loader configuration by @codefiles in #1911 - Uncomment
/etc/locale.gen
entry and use first column for LANG variable by @codefiles in #1939
New Contributors
- @baod-rate made their first contribution in #1705
- @r0t0r-r0t0r made their first contribution in #1714
- @jeffersonjpr made their first contribution in #1717
- @MakiseKurisu made their first contribution in #1514
- @ca-cl2 made their first contribution in #1745
- @xeniumcode made their first contribution in #1785
- @pdutra145 made their first contribution in #1813
- @xruifan made their first contribution in #1823
- @Error504TimeOut made their first contribution in #1825
- @HegertTaresalu made their first contribution in #1827
- @Kefaku made their first contribution in #1844
- @gangelop made their first contribution in #1834
- @tugsatenes made their first contribution in #1857
- @y9tr3ble made their first contribution in #1839
- @eren-ince made their first contribution in #1771
- @wkricowski made their first contribution in #1760
- @wc7086 made their first contribution in #1757
- @acuteenvy made their first contribution in #1750
- @Schwarzeisc00l made their first contribution in #1883
- @Diogo-ss made their first contribution in #1886
- @mosfet80 made their first contribution in #1889
- @ArtikusHG made their first contribution in #1893
- @rbroggi made their first contribution in #1897
- @Dark-Kernel made their first contribution in #1902
- @Andy-Python-Programmer made their first contribution in #1815
- @uranderu made their first contribution in #1755
Full Changelog: v2.5.4...v2.6.0rc1