Releases: archlinux/archinstall
4.3
Bug fixes
- Fix encrypted partition selection by @svartkanin in #4407
- Fix table column error by @svartkanin in #4406
- Fix shell injection in Installer.user_set_shell and Installer.chown by @Softer in #4443
Other various changes
- Refactor
PartitionTypeby @codefiles in #4432 - Refactor
LsblkInfofield validators by @codefiles in #4428 - ci: Update renovate to track Arch Linux repos using repology by @dylanmtaylor in #4434
- Pin
linkify-it-pyto Arch Linux package version by @codefiles in #4437 - Refactor
EncryptionTypeby @codefiles in #4438 - Add optional "Additional fonts" selection to Applications menu by @Softer in #4420
- Enable power management services after package installation by @Softer in #4440
- Fix copying into target directory by @codefiles in #4441
- locale(hindi): Completed the hindi translation locale by @Dhruv1249 in #4446
New Contributors
- @Dhruv1249 made their first contribution in #4446
Full Changelog: 4.2...4.3
4.2
Security fixes
- Don't write encryption keyfiles to an unencrypted root partition by @dylanmtaylor in #4349
Bug fixes
- Patch
plasmaprofile by @h8d13 in #4358 (also see #4389) - Handle empty mountpoint input by @svartkanin in #4388
- Revert enter behavior on multi-select by @svartkanin in #4386 (maybe nut a bug, but it's a fix from what appears to be expected behavior so put it here)
New things
- Use nvidia-open instead of nvidia-open-dkms for mainline kernels by @dylanmtaylor in #4347
- No longer installing
xorgpackages forWaylandprofiles by @dylanmtaylor in #4348 - Allow granular plasma configuration by @svartkanin in #4389
- Add
Pacmansettings submenu with Color and ParallelDownloads by @Softer in #4404
Tweaks and various fixes
- Add constant for
/etc/pacman.confby @codefiles in #4375 - Remove
is_subpath()and usePath.is_relative_to()by @codefiles in #4372 - Add
LPathexecute permissions methods by @codefiles in #4378 - Add constant for archiso mountpoint by @codefiles in #4377
- Remove quotes from type annotation by @codefiles in #4384
- Bump ruff target-version to Python 3.14 by @codefiles in #4390
- Remove deprecated
__future__imports by @codefiles in #4393 - Refactor
copy_iso_network_config()by @codefiles in #4394 - Remove unnecessary
'unused-ignore'mypy directives by @correctmost in #4395 - Refactor
sync_log_to_install_medium()by @codefiles in #4397 - Use
Path.copy()by @codefiles in #4398 - Fix
del-attr-with-constantruff warnings by @correctmost in #4399 - Add constant for mirrorlist by @codefiles in #4403
- Replace tab with spaces in preview package lists by @Softer in #4409
- Use
auto()for eligibleStrEnummembers by @codefiles in #4411 - Remove invalid container
PATHlookup by @codefiles in #4413 - Refactor
FilesystemTypeby @codefiles in #4417 - Refactor
ModificationStatusby @codefiles in #4422 - Fix
urllib.parseimport to avoid warnings with ty and Pyright by @correctmost in #4425 - Update mypy to 1.20.0 by @correctmost in #4352
- Bumping version to: 4.2 by @Torxed in #4433
Translation updates
- Improved translation into Ukrainian by @Softer in #4355
- i18n: Updated Spanish translation by @julionc in #4357
- Russian translation by @GhostedOwl in #4367
- Update Polish translation by @acuteenvy in #4383
- Czech translation by @GhostedOwl in #4370
- Update German translation for base.po by @Crystal-the-dev in #4334
- Update Arabic translation by @koutheir in #4410
- Add translation support for TUI help groups and binding descriptions by @Softer in #4363
- Update Italian translation by @vanmatten in #4415
- Update Brazilian Portuguese translation by @din-grogu in #4426
- locale(german): extend and fix translation by @tom-jm69 in #4421
New Contributors
- @Softer made their first contribution in #4355
- @julionc made their first contribution in #4357
- @GhostedOwl made their first contribution in #4367
- @Crystal-the-dev made their first contribution in #4334
- @koutheir made their first contribution in #4410
- @din-grogu made their first contribution in #4426
- @tom-jm69 made their first contribution in #4421
Full Changelog: 4.1...4.2
4.1
Improvements
- Warn when a desktop profile's greeter can't log in without a regular user by @dylanmtaylor in #4331, #4340
Bug fixes
- Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos) by @dylanmtaylor in #4343
Language updates
Full Changelog: 4.0...4.1
4.0 - Textual UI
Personal note: I (@Torxed) usually spend a bit of time curating these release notes.. However, I won't have time to clean up the "what's changed" this time, so it will be auto generated this release.. not that anyone probably cares but thought I should apologize anyway
New TUI
We (thanks to major work by @svartkanin) have swapped from curses to textual. This enables us to (hopefully) meet modern expectations in the terminal and look better in the process, as well as make it easier to maintain a lot of the menu stuff. Please be patient as we're transitioning to this new look and feel, as always with change β feedback is welcome, especially related to accessibility features.
What's Changed
- Update Italian translation by @vanmatten in #4060
- Update Turkish translation by @wiseweb-works in #4062
- Update Japanese translation by @utuhiro78 in #4064
- Add instructions for booting Arch ISO in a VM by @svartkanin in #4041
- Update Arch Installer translation before Jan 2026 release by @bittin in #4065
- Fixed #3689 - Do not attempt to mount btrfs partitions without mountpoints by @scrypt-kitty in #3992
- Czech localization update by @walken11 in #4068
- Fix pre-commit hook by @h8d13 in #4070
- Translation: Update hu.po/hu.mo by @summoner001 in #4071
- Change plasma-meta -> -desktop. by @h8d13 in #4076
- Translation: Update hungarian po/mo by @summoner001 in #4078
- Another small readme change for clarity by @h8d13 in #4077
- feat: firewalls by @h8d13 in #4074
- chore: missing dep libfido2 by @h8d13 in #4082
- fix: bootloader changes by @h8d13 in #4073
- Better Ukrainian v1.4 by @TSEPLNK in #4084
- Use serialization TypedDicts to reduce Any instances by @correctmost in #4085
- Update comment in _final_warning by @correctmost in #4086
- Migrate pytest configs to native TOML and enable strict mode by @correctmost in #4087
- Fix an invalid-type-form error reported by ty by @correctmost in #4088
- Add node_modules to .gitignore and Pylint's ignore list by @correctmost in #4089
- Remove unused pytest-mock dependency by @correctmost in #4091
- Avoid a reportPossiblyUnboundVariable warning with Pyright by @correctmost in #4092
- hotfix: Revert Grub changes by @h8d13 in #4099
- Add missing spanish translations by @esbendev in #4098
- hotfix: Firewall by @h8d13 in #4100
- Disable the non-empty-init-module ruff rule by @correctmost in #4106
- Fix typos in comments by @stoeckmann in #4107
- Fix typos by @codefiles in #4109
- Update classmethods to use cls by @codefiles in #4110
- Use instance method for _load_config by @codefiles in #4112
- Use instance method for type_to_text by @codefiles in #4113
- Change classmethods to staticmethods by @codefiles in #4114
- Change staticmethods to classmethods by @codefiles in #4115
- Use Self for return instances of cls by @codefiles in #4116
- Remove superfluous future imports by @codefiles in #4117
- Remove superfluous list creation in join calls by @codefiles in #4119
- Use sys.exit instead of exit by @codefiles in #4120
- Add firewalld to firewall menu by @Mattyan89 in #4093
- Replace enter return type with Self by @codefiles in #4121
- Use Self for parameters to dunder methods by @codefiles in #4123
- Refactor Boot by @codefiles in #4124
- Use Self in default_profiles by @codefiles in #4125
- Remove unused installation_hooks property by @codefiles in #4118
- Add header and update urdu translations by @Hannan-Javed in #4122
- Use Self in tui by @codefiles in #4126
- Remove leftover code from unattended script by @codefiles in #4127
- Remove storage module by @codefiles in #4128
- Use Self for Tui by @codefiles in #4130
- Updated Finnish translation in base.po by @Kenraaliskuutteri in #4129
- Use Self for remaining occurrences by @codefiles in #4135
- Remove quotes from Installer type annotations by @codefiles in #4136
- Enable quoted-annotation ruff rule and fixes by @codefiles in #4137
- Migrate UI to textual by @svartkanin in #3997
- Enable GRUB UKI menu entries by @codefiles in #4139
- Rework has_default_btrfs_vols by @codefiles in #4147
- Improve Hindi translations in base.po by @Nub-programmer in #4152
- Move script entry point by @codefiles in #4151
- Refactor error message by @codefiles in #4153
- Replace sys.exit calls with return values by @codefiles in #4156
- Improve Hindi translations (base.po) by @Nub-programmer in #4163
- Refactor wifi_handler to use dependency injection by @codefiles in #4161
- [README update] Clarify archinstall upgrade steps by @svartkanin in #4138
- Remove obsolete package functions by @svartkanin in #4145
- Fix - disk partitioning menu by @svartkanin in #4158
- Fix - Handle cancel from list manger properly by @svartkanin in #4160
- Improve Hindi translations and resolve all fuzzy entries by @Nub-programmer in #4167
- Delete dead code by @svartkanin in #4144
- Refactor mirror_list_handler to use DI by @codefiles in #4170
- Move Pacman out of init by @svartkanin in #4150
- Refactor auth_handler to use dependency injection by @codefiles in #4171
- Refactor application_handler to use DI by @codefiles in #4172
- Fix useless-return warnings reported by Pylint by @correctmost in #4173
- Refactor user menu file by @svartkanin in #4141
- Refactor network config installer by @svartkanin in #4143
- Refactor syscommand by @svartkanin in #4176
- Refactor script list by @codefiles in #4177
- Remove superfluous future import by @codefiles in #4178
- Use main() as script entrypoint by @codefiles in #4179
- Remove archinstall.svg from project root by @correctmost in #4180
- Refactor code to reduce circular dep by @svartkanin in #4175
- Reuse MirrorListHandler instance by @codefiles in #4184
- Update Hindi translations for archinstall by @Nub-programmer in #4185
- Add sponsors button by @h8d13 in #4056
- Fix: Resolve fuzzy strings and add note for 'Seat access translation' by @ImFefeTwo in #4186
- Rename ask* functions t...
3.0.15
From us at Arch Linux and the archinstall team, to all the users out there β thank you for all the feedback and usage in 2025, we hope that 2026 will be an even better year for everyone. Happy new year!
New features
- Added CUPS installation support by @sigreturn in #4013
- cosmic is added (was behind
--advancedflag before) by @sigreturn in #4017, #4023 - Add support for rEFInd boot manager by @justbispo in #3707
- Set up Zram dynamically based on best practice by @h8d13 in #4027
- Zram algorithm config by @h8d13 in #4042
- Do not install base-devel by default by @h8d13 in #4022
- Adds a timer to post install screen by @h8d13 in #4028
- Change LVM
/rootsize to adapt dynamically by @h8d13 in #4005 - Explicitly allow selecting any additional repository by @svartkanin in #3973
- Make removable location the default for bootloader installation by @Mintsuki in #4030
- Enable IWD to be used as back-end in network selection by @h8d13 in #4025
- Added support for power-profiles-daemon/tuned as a power management daemon by @sigreturn in #4015
New languages
Bug fixes
- Fix mirror list hanging when
/statusendpoint is down (For instance by DDoS) by @h8d13 in #4031 - Adds symlink for
/etc/resolv.confwhensystemd-resovledis used by @wahrwolf in #4052 - Remove GRUB removable fallback path by @Mintsuki in #3971
- Menu now filters items and sorts using priority, improving UX. by @okayGravity in #3967
vconsole.conffix for mkinitcpio.conf v40 by @h8d13 in #3928- H2T (Host-to-target) installs and prevent host pollution by @h8d13 in #3978
- Cache property of graphics_devices by @h8d13 in #4007
- fix: fix fido warning message being spammed by @sigreturn in #4016
ly.service->ly@tty1.serviceby @h8d13 in #4006- Fix LVM creation/ info by @h8d13 in #4024
- Menu Ordering for upcoming NVIDIA changes by @h8d13 in #4043
- Lvm2/LUKS fixes/Mirror Logic by @h8d13 in #4047
- Mirrors sort #4046 by @h8d13 in #4050
- Modify archinstall language display to be handled like other sections. by @h8d13 in #4048
Other various fixes
- Typo and grammar fixes by @okayGravity in #3970
- Full disclosure for bootloaders/keymaps by @h8d13 in #3979
- Remove /tmp/archlive before building by @scrypt-kitty in #3993
- fix: fix translation for bluetooth preview_action by @sigreturn in #4014
- Ocd fix by @h8d13 in #4039
- README clarifications/corrections by @h8d13 in #4038
New Contributors
- @Vlame04 made their first contribution in #3987
- @CYAXXX made their first contribution in #3991
- @scrypt-kitty made their first contribution in #3993
- @sigreturn made their first contribution in #4014
- @wahrwolf made their first contribution in #4052
- @justbispo made their first contribution in #3707
Full Changelog: 3.0.14...3.0.15
3.0.14
What's Changed
- --needed prevent re-installs & fix #issues/3599 by @h8d13 in #3913
- Snapshots Fix Snapper-Grub by @h8d13 in #3930
- Fix f-string in snapshot debug installation by @h8d13 in #3934
- Add dialog to install EFI bootloader to removable location by @Mintsuki in #3932
- Do not create BLS and Limine entries for fallback initramfs by @Mintsuki in #3949
- Fixed #3954 where "manual partitioning" coule show an empty screen @Mintsuki in #3955
- Improved regex removes unneeded '|' symbol and allows white-space when validating user input for partition value, unit. by @okayGravity in #3952
- Fix GRUB fallback-from-removable logic introduced in c095eb5 by @Mintsuki in #3950
New Contributors
- @esbendev made their first contribution in #3925
- @h8d13 made their first contribution in #3913
- @okayGravity made their first contribution in #3952
Full Changelog: 3.0.13...3.0.14
3.0.13
New features
- Wifi connection menu with textual by @svartkanin in #3879
Bug fixes
- Fixed
mkinitcpio.confwhich some times contained a trailingo"causing syntax issues duringmkinitcpio -Pby @Torxed in #3902
Other various changes
- Add missing
--scriptoption in documentation for pre-programmed scripts by @lhearachel in #3895
New Contributors
- @lhearachel made their first contribution in #3895
Full Changelog: 3.0.12...3.0.13
3.0.12
What's Changed
- Do not re-order amdgpu and radeon modules in mkinitcpio by @ventureoo in #3866
- Rely on btrfs-hook instead of installing btrfs modules and binary manually by @ventureoo in #3865
- Only install applications when enabled by @svartkanin in #3861
- Save and load UKI setting by @svartkanin in #3783
- replace 'leafpad' with 'l3afpad' by @Tertle950 in #3890
- Fix #3863 by @svartkanin in #3880
- Skip bootloader config check when 'No Bootloader' is selected as bootloader by @systemofapwne in #3875
- Added the new -S flag for arch-chroot by @Torxed in #3891
New languages
New Contributors
- @damachine made their first contribution in #3841
- @Fan2Shrek made their first contribution in #3853
- @mymuhyo made their first contribution in #3854
- @Tertle950 made their first contribution in #3890
- @systemofapwne made their first contribution in #3875
Full Changelog: 3.0.11...3.0.12
3.0.11
What's Changed
- gracefully return "undefined" if DMI is not in sysfs by @dee-fox in #3771
- Remove outdated link to video demo installer by @rmarquis in #3790
- changed version of cryptography package to 45.0.7 by @Monochrome-debug in #3795
- F2FS parameters require 'extra_attr' by @svartkanin in #3796
- quick fix to run archinstall and enable systemd services by @brunolzrosa in #3815 (This align with the desire/recommendations by systemd/systemd on how to use their tooling)
New Contributors
- @veprogames made their first contribution in #3774
- @BlocksumoGuys made their first contribution in #3782
- @dee-fox made their first contribution in #3771
- @rmarquis made their first contribution in #3790
- @Monochrome-debug made their first contribution in #3795
- @brunolzrosa made their first contribution in #3815
Full Changelog: 3.0.10...3.0.11
3.0.10
Bug fixes
- Fixed pipewire issue by moving additional packages down in the installation order by @EK-92 in #3709
- Setup grub-btrfs correctly for timeshift by @svartkanin in #3728
- Fix a crash while installing the boot loader by adjusting the parsing of systemd package version by @svartkanin in #3732
- Disable btrfs snapshots when no subvolumes defined by @svartkanin in #3736
Other various fixes
- Add version to test by @svartkanin in #3699
- Fix a type annotation for list_available_packages by @correctmost in #3711
- Fix documentations and samples mentioning
custom-commandsby @guillaumeboehm in #3745 - Remove unattended script by @svartkanin in #3733
- Remove beta label from LVM by @svartkanin in #3737
- Fix upgrade version header by @svartkanin in #3738
- Handle empty menu when focusing item by @svartkanin in #3742
New Contributors
- @Andreamp0 made their first contribution in #3710
- @Guiliff made their first contribution in #3722
- @guillaumeboehm made their first contribution in #3745
Full Changelog: 3.0.9...3.0.10