| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| archinstall-4.0.tar.gz.sig | 2026-03-30 | 119 Bytes | |
| 4.0 - Textual UI source code.tar.gz | 2026-03-30 | 1.9 MB | |
| 4.0 - Textual UI source code.zip | 2026-03-30 | 2.2 MB | |
| README.md | 2026-03-30 | 18.2 kB | |
| Totals: 4 Items | 4.1 MB | 0 | |
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 https://github.com/archlinux/archinstall/pull/4060
- Update Turkish translation by @wiseweb-works in https://github.com/archlinux/archinstall/pull/4062
- Update Japanese translation by @utuhiro78 in https://github.com/archlinux/archinstall/pull/4064
- Add instructions for booting Arch ISO in a VM by @svartkanin in https://github.com/archlinux/archinstall/pull/4041
- Update Arch Installer translation before Jan 2026 release by @bittin in https://github.com/archlinux/archinstall/pull/4065
- Fixed [#3689] - Do not attempt to mount btrfs partitions without mountpoints by @scrypt-kitty in https://github.com/archlinux/archinstall/pull/3992
- Czech localization update by @walken11 in https://github.com/archlinux/archinstall/pull/4068
- Fix pre-commit hook by @h8d13 in https://github.com/archlinux/archinstall/pull/4070
- Translation: Update hu.po/hu.mo by @summoner001 in https://github.com/archlinux/archinstall/pull/4071
- Change plasma-meta -> -desktop. by @h8d13 in https://github.com/archlinux/archinstall/pull/4076
- Translation: Update hungarian po/mo by @summoner001 in https://github.com/archlinux/archinstall/pull/4078
- Another small readme change for clarity by @h8d13 in https://github.com/archlinux/archinstall/pull/4077
- feat: firewalls by @h8d13 in https://github.com/archlinux/archinstall/pull/4074
- chore: missing dep libfido2 by @h8d13 in https://github.com/archlinux/archinstall/pull/4082
- fix: bootloader changes by @h8d13 in https://github.com/archlinux/archinstall/pull/4073
- Better Ukrainian v1.4 by @TSEPLNK in https://github.com/archlinux/archinstall/pull/4084
- Use serialization TypedDicts to reduce Any instances by @correctmost in https://github.com/archlinux/archinstall/pull/4085
- Update comment in _final_warning by @correctmost in https://github.com/archlinux/archinstall/pull/4086
- Migrate pytest configs to native TOML and enable strict mode by @correctmost in https://github.com/archlinux/archinstall/pull/4087
- Fix an invalid-type-form error reported by ty by @correctmost in https://github.com/archlinux/archinstall/pull/4088
- Add node_modules to .gitignore and Pylint's ignore list by @correctmost in https://github.com/archlinux/archinstall/pull/4089
- Remove unused pytest-mock dependency by @correctmost in https://github.com/archlinux/archinstall/pull/4091
- Avoid a reportPossiblyUnboundVariable warning with Pyright by @correctmost in https://github.com/archlinux/archinstall/pull/4092
- hotfix: Revert Grub changes by @h8d13 in https://github.com/archlinux/archinstall/pull/4099
- Add missing spanish translations by @esbendev in https://github.com/archlinux/archinstall/pull/4098
- hotfix: Firewall by @h8d13 in https://github.com/archlinux/archinstall/pull/4100
- Disable the non-empty-init-module ruff rule by @correctmost in https://github.com/archlinux/archinstall/pull/4106
- Fix typos in comments by @stoeckmann in https://github.com/archlinux/archinstall/pull/4107
- Fix typos by @codefiles in https://github.com/archlinux/archinstall/pull/4109
- Update classmethods to use cls by @codefiles in https://github.com/archlinux/archinstall/pull/4110
- Use instance method for _load_config by @codefiles in https://github.com/archlinux/archinstall/pull/4112
- Use instance method for type_to_text by @codefiles in https://github.com/archlinux/archinstall/pull/4113
- Change classmethods to staticmethods by @codefiles in https://github.com/archlinux/archinstall/pull/4114
- Change staticmethods to classmethods by @codefiles in https://github.com/archlinux/archinstall/pull/4115
- Use Self for return instances of cls by @codefiles in https://github.com/archlinux/archinstall/pull/4116
- Remove superfluous future imports by @codefiles in https://github.com/archlinux/archinstall/pull/4117
- Remove superfluous list creation in join calls by @codefiles in https://github.com/archlinux/archinstall/pull/4119
- Use sys.exit instead of exit by @codefiles in https://github.com/archlinux/archinstall/pull/4120
- Add firewalld to firewall menu by @Mattyan89 in https://github.com/archlinux/archinstall/pull/4093
- Replace enter return type with Self by @codefiles in https://github.com/archlinux/archinstall/pull/4121
- Use Self for parameters to dunder methods by @codefiles in https://github.com/archlinux/archinstall/pull/4123
- Refactor Boot by @codefiles in https://github.com/archlinux/archinstall/pull/4124
- Use Self in default_profiles by @codefiles in https://github.com/archlinux/archinstall/pull/4125
- Remove unused installation_hooks property by @codefiles in https://github.com/archlinux/archinstall/pull/4118
- Add header and update urdu translations by @Hannan-Javed in https://github.com/archlinux/archinstall/pull/4122
- Use Self in tui by @codefiles in https://github.com/archlinux/archinstall/pull/4126
- Remove leftover code from unattended script by @codefiles in https://github.com/archlinux/archinstall/pull/4127
- Remove storage module by @codefiles in https://github.com/archlinux/archinstall/pull/4128
- Use Self for Tui by @codefiles in https://github.com/archlinux/archinstall/pull/4130
- Updated Finnish translation in base.po by @Kenraaliskuutteri in https://github.com/archlinux/archinstall/pull/4129
- Use Self for remaining occurrences by @codefiles in https://github.com/archlinux/archinstall/pull/4135
- Remove quotes from Installer type annotations by @codefiles in https://github.com/archlinux/archinstall/pull/4136
- Enable quoted-annotation ruff rule and fixes by @codefiles in https://github.com/archlinux/archinstall/pull/4137
- Migrate UI to textual by @svartkanin in https://github.com/archlinux/archinstall/pull/3997
- Enable GRUB UKI menu entries by @codefiles in https://github.com/archlinux/archinstall/pull/4139
- Rework has_default_btrfs_vols by @codefiles in https://github.com/archlinux/archinstall/pull/4147
- Improve Hindi translations in base.po by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4152
- Move script entry point by @codefiles in https://github.com/archlinux/archinstall/pull/4151
- Refactor error message by @codefiles in https://github.com/archlinux/archinstall/pull/4153
- Replace sys.exit calls with return values by @codefiles in https://github.com/archlinux/archinstall/pull/4156
- Improve Hindi translations (base.po) by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4163
- Refactor wifi_handler to use dependency injection by @codefiles in https://github.com/archlinux/archinstall/pull/4161
- [README update] Clarify archinstall upgrade steps by @svartkanin in https://github.com/archlinux/archinstall/pull/4138
- Remove obsolete package functions by @svartkanin in https://github.com/archlinux/archinstall/pull/4145
- Fix - disk partitioning menu by @svartkanin in https://github.com/archlinux/archinstall/pull/4158
- Fix - Handle cancel from list manger properly by @svartkanin in https://github.com/archlinux/archinstall/pull/4160
- Improve Hindi translations and resolve all fuzzy entries by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4167
- Delete dead code by @svartkanin in https://github.com/archlinux/archinstall/pull/4144
- Refactor mirror_list_handler to use DI by @codefiles in https://github.com/archlinux/archinstall/pull/4170
- Move Pacman out of init by @svartkanin in https://github.com/archlinux/archinstall/pull/4150
- Refactor auth_handler to use dependency injection by @codefiles in https://github.com/archlinux/archinstall/pull/4171
- Refactor application_handler to use DI by @codefiles in https://github.com/archlinux/archinstall/pull/4172
- Fix useless-return warnings reported by Pylint by @correctmost in https://github.com/archlinux/archinstall/pull/4173
- Refactor user menu file by @svartkanin in https://github.com/archlinux/archinstall/pull/4141
- Refactor network config installer by @svartkanin in https://github.com/archlinux/archinstall/pull/4143
- Refactor syscommand by @svartkanin in https://github.com/archlinux/archinstall/pull/4176
- Refactor script list by @codefiles in https://github.com/archlinux/archinstall/pull/4177
- Remove superfluous future import by @codefiles in https://github.com/archlinux/archinstall/pull/4178
- Use main() as script entrypoint by @codefiles in https://github.com/archlinux/archinstall/pull/4179
- Remove archinstall.svg from project root by @correctmost in https://github.com/archlinux/archinstall/pull/4180
- Refactor code to reduce circular dep by @svartkanin in https://github.com/archlinux/archinstall/pull/4175
- Reuse MirrorListHandler instance by @codefiles in https://github.com/archlinux/archinstall/pull/4184
- Update Hindi translations for archinstall by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4185
- Add sponsors button by @h8d13 in https://github.com/archlinux/archinstall/pull/4056
- Fix: Resolve fuzzy strings and add note for 'Seat access translation' by @ImFefeTwo in https://github.com/archlinux/archinstall/pull/4186
- Rename ask functions to select by @svartkanin in https://github.com/archlinux/archinstall/pull/4191
- Avoid union syntax in an isinstance check by @correctmost in https://github.com/archlinux/archinstall/pull/4197
- Measure install time with monotonic clock instead of system clock by @correctmost in https://github.com/archlinux/archinstall/pull/4198
- Remove an unused milliseconds member from Installer by @correctmost in https://github.com/archlinux/archinstall/pull/4199
- Refactor skip_boot to use dependency injection by @codefiles in https://github.com/archlinux/archinstall/pull/4200
- Fix typo locale -> local by @codefiles in https://github.com/archlinux/archinstall/pull/4201
- Added Galician language support by @gaelgnz in https://github.com/archlinux/archinstall/pull/4202
- Add missing galician mo file by @svartkanin in https://github.com/archlinux/archinstall/pull/4209
- Make list manager run private by @svartkanin in https://github.com/archlinux/archinstall/pull/4192
- Handle whole-disk LUKS root params by @favilances in https://github.com/archlinux/archinstall/pull/4205
- Use TypeAdapter for Json serialization by @svartkanin in https://github.com/archlinux/archinstall/pull/4183
- Update Japanese translation by @utuhiro78 in https://github.com/archlinux/archinstall/pull/4217
- Translation: Update Italian by @vanmatten in https://github.com/archlinux/archinstall/pull/4219
- feat: update
pt_BRtranslations by @ComicShrimp in https://github.com/archlinux/archinstall/pull/4221 - Revert "Handle whole-disk LUKS root params (#4205)" by @correctmost in https://github.com/archlinux/archinstall/pull/4229
- Update Spanish translation by @castillofrancodamian in https://github.com/archlinux/archinstall/pull/4228
- Refactor SysInfo.has_uefi() to DI for bootloader by @codefiles in https://github.com/archlinux/archinstall/pull/4230
- Move mount() to disk.utils by @codefiles in https://github.com/archlinux/archinstall/pull/4232
- fix efistub bootloader to use backslashes by @h8d13 in https://github.com/archlinux/archinstall/pull/4231
- Move swapon() to disk.utils by @codefiles in https://github.com/archlinux/archinstall/pull/4233
- Move unlock_luks2_dev() by @codefiles in https://github.com/archlinux/archinstall/pull/4234
- Move get_unique_path_for_device() to disk.utils by @codefiles in https://github.com/archlinux/archinstall/pull/4242
- Fix install gfx before DE/WM/Server by @h8d13 in https://github.com/archlinux/archinstall/pull/4238
- Move get_parent_device_path() to disk.utils by @codefiles in https://github.com/archlinux/archinstall/pull/4243
- Move LVM helpers to dedicated module by @codefiles in https://github.com/archlinux/archinstall/pull/4245
- Remove arch_config_handler from installer by @codefiles in https://github.com/archlinux/archinstall/pull/4246
- feat: add
plasma-login-manageroption and set it as default for Plasma by @ComicShrimp in https://github.com/archlinux/archinstall/pull/4247 - locales: Add Nepali (ne) translation by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4222
- Remove unused advanced member from Profile by @codefiles in https://github.com/archlinux/archinstall/pull/4248
- Add provision() to configure users for profiles by @codefiles in https://github.com/archlinux/archinstall/pull/4254
- Refactor general utility functions by @svartkanin in https://github.com/archlinux/archinstall/pull/4212
- Add missing linkify dependency by @svartkanin in https://github.com/archlinux/archinstall/pull/4208
- Locale timezone python chmod by @favilances in https://github.com/archlinux/archinstall/pull/4210
- Revert "Locale timezone python chmod" by @Torxed in https://github.com/archlinux/archinstall/pull/4257
- Convert imports to absolute imports by @svartkanin in https://github.com/archlinux/archinstall/pull/4196
- Remove unneeded chmod by @codefiles in https://github.com/archlinux/archinstall/pull/4262
- Fix a reportUnnecessaryIsInstance Pyright warning by @correctmost in https://github.com/archlinux/archinstall/pull/4263
- Refactor ISO check by @codefiles in https://github.com/archlinux/archinstall/pull/4264
- Remove unnecessary post-init by @codefiles in https://github.com/archlinux/archinstall/pull/4267
- Replace Installer with path parameter in Boot by @codefiles in https://github.com/archlinux/archinstall/pull/4268
- Enable if-key-in-dict-del ruff rule by @codefiles in https://github.com/archlinux/archinstall/pull/4269
- Move get_version() to version module by @codefiles in https://github.com/archlinux/archinstall/pull/4270
- Remove obsolete GRUB package install by @codefiles in https://github.com/archlinux/archinstall/pull/4277
- Use os.sync() instead of sync command by @codefiles in https://github.com/archlinux/archinstall/pull/4278
- Remove support for NTFS root file system by @codefiles in https://github.com/archlinux/archinstall/pull/4279
- Refactor arch_config_handler to use DI by @codefiles in https://github.com/archlinux/archinstall/pull/4280
- Move udev_sync() to disk.utils by @codefiles in https://github.com/archlinux/archinstall/pull/4281
- Add nepali translation by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4282
- Move all LVM helpers to dedicated module by @codefiles in https://github.com/archlinux/archinstall/pull/4283
- Locales: Add Nepali (ne) translation (Initial 300+ strings) by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4288
- Add nepali translation by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4294
- Add nepali translation by @Nub-programmer in https://github.com/archlinux/archinstall/pull/4295
- better Ukrainian 1.4.2 by @TSEPLNK in https://github.com/archlinux/archinstall/pull/4301
- Removed unnecessary signal for multi-line comment. by @amisroilov in https://github.com/archlinux/archinstall/pull/4298
- Async menu by @svartkanin in https://github.com/archlinux/archinstall/pull/4308
- fix: reintegrate PasswordStrength (#4111) by @singhh-piyush in https://github.com/archlinux/archinstall/pull/4291
- Update Turkish translations and refresh locale template by @RosgyNG in https://github.com/archlinux/archinstall/pull/4310
- Fix iwd network installation and setup by @svartkanin in https://github.com/archlinux/archinstall/pull/4271
- Zram - remove custom size in config by @svartkanin in https://github.com/archlinux/archinstall/pull/4272
- Allow skip on password confirmation by @svartkanin in https://github.com/archlinux/archinstall/pull/4273
- Refactor mirrors by @svartkanin in https://github.com/archlinux/archinstall/pull/4274
- Refactor interactive module by @svartkanin in https://github.com/archlinux/archinstall/pull/4315
- Move luks into disk module by @svartkanin in https://github.com/archlinux/archinstall/pull/4296
- Handle enter on filter confirm by @svartkanin in https://github.com/archlinux/archinstall/pull/4324
- Fix AwaitComplete runtime error by @svartkanin in https://github.com/archlinux/archinstall/pull/4325
- Bumping version to: 4.0 by @Torxed in https://github.com/archlinux/archinstall/pull/4339
New Contributors
- @stoeckmann made their first contribution in https://github.com/archlinux/archinstall/pull/4107
- @Mattyan89 made their first contribution in https://github.com/archlinux/archinstall/pull/4093
- @Hannan-Javed made their first contribution in https://github.com/archlinux/archinstall/pull/4122
- @Kenraaliskuutteri made their first contribution in https://github.com/archlinux/archinstall/pull/4129
- @Nub-programmer made their first contribution in https://github.com/archlinux/archinstall/pull/4152
- @ImFefeTwo made their first contribution in https://github.com/archlinux/archinstall/pull/4186
- @gaelgnz made their first contribution in https://github.com/archlinux/archinstall/pull/4202
- @amisroilov made their first contribution in https://github.com/archlinux/archinstall/pull/4298
- @singhh-piyush made their first contribution in https://github.com/archlinux/archinstall/pull/4291
- @RosgyNG made their first contribution in https://github.com/archlinux/archinstall/pull/4310
Full Changelog: https://github.com/archlinux/archinstall/compare/3.0.15...4.0