A new version of the Arch Linux installer has been released with new features, including optional file encryption for user credentials configuration, the ability to store passwords as hashes rather than plaintext, and enhanced post-installation menu options. Recent updates encompass the resolution of issues with the application launcher in Sway, transitioning from dmenu to wmenu, substituting the GTK theme package for the Budgie build with a current version, and enhancing the detection, assignment, and management of partition types and misconfigurations.
ArchInstall 3.0.5
New features
- Add optional file encryption for user credentials configuration by @svartkanin in #3391
- Store password as hash instead of plaintext by @svartkanin in #3276
- Added labwc, niri, river and xmonad by @killertofus in #3323 and @James-Kni in #3395
- Additional post-installation menu options #1747 by @svartkanin in #3393
Bug fixes
- Fixed broken application launcher in sway:
dmenu
->wmenu
by @ncdm-stldr in #3442- replace GTK theme package for Budgie build with an active one by @EK-92 in #3327
- UWSM for Hyprland by @TSEPLNK in #3455
- Fix GPT end by @codefiles in #3390
- Fix btrfs subvolume creation by @codefiles in #3446
- Fix #3298 - Add package groups to selection by @svartkanin in #3322
- Force to make pipewire symlinks ( #2585) by @utuhiro78 in #3328
- Start the boot partition at 1MiB by default on MBR too by @mintsuki in #3344
- Improve partition type detection, assignment, and misconfig handling by @mintsuki in #3336
- Fix disk config validation regression by @codefiles in #3355
- Fix a circular import #3362 by @svartkanin in #3377
- Fix #3376 - header alignment by @svartkanin in #3414
- Fix #3412 - Take optional repositories into account by @svartkanin in #3427
- fix(installer): use platform.machine() for target architecture in grub-install by @wszqkzqk in #3320
- Fix Header on the network-interfaces mode screen mentions disallowed skip shortcut #3334 by @svartkanin in #3359
- Fix locale issue by using
en_US.UTF-8
as the default locale #3350 by @svartkanin in #3358- Fix "Save configuration" is changed to "Abort" after switching language #3330 by @svartkanin in #3360
- Fixes for release by @svartkanin in #3432
- Fixes --silent in conjuction with --config-url by @Torxed in #3465
Other various changes
- Use assert_never to fix some possibly-undefined mypy warnings by @correctmost in #3333
- Use default EFI boot app path for Limine if installing to USB by @mintsuki in #3331
- Actually prevent installing if the config is invalid by @mintsuki in #3335
- Enable possibly-undefined warnings in mypy by @correctmost in #3340
- Use curses.window instead of curses._CursesWindow in annotations by @correctmost in #3341
- Add ruff auto sort imports hook by @svartkanin in #3342
- Case insensitive sorting of profiles by @svartkanin in #3329
- Remove check for sphinx and pylint modules by @codefiles in #3353
- Move system info logging to function by @codefiles in #3356
- Remove unused description fields from profiles by @correctmost in #3357
- Remove unused imports reported by Pyright by @correctmost in #3367
- Remove unused variable reported by Pyright by @correctmost in #3368
- Remove some Any instances from the codebase by @correctmost in #3372
- Remove unused SysCommand and SysCommandWorker fields by @correctmost in #3374
- Replace an Any instance with a TypedDict by @correctmost in #3375
- Remove some unnecessary type unions by @correctmost in #3378
- Split out Result and ResultType to break import cycle by @correctmost in #3387
- Split out unicode_ljust and unicode_rjust to break import cycle by @correctmost in #3388
- Swapping to python-uv for building and distribution by @Torxed in #3407
- Removed the @.snapshots volume in order to support both Snapper and Timeshift #3363 by @Torxed in #3408
- Specify menu return types using generics instead of Any by @correctmost in #3400
- Remove a reference to twine by @correctmost in #3416
- Avoid using generics with EditMenu by @correctmost in #3415
- Remove extraneous inline type annotations by @correctmost in #3418
- Enable tracebacks when running mypy by @correctmost in #3425
- Add an inline annotation to avoid a crash with mypy 1.15.0 by @correctmost in #3434
- Remove unused pydantic-settings dependency from pre-commit config by @correctmost in #3437
- Break an import cycle between lib/luks and lib/disk/device_handler by @correctmost in #3438
- Update catalan locales by @Odyssey in #3447
- Disable the loop-iterator-mutation rule in ruff by @correctmost in #3450
- Convert bytes to str by @svartkanin in #3457
- Ruff use tabs for formatting by @svartkanin in #3458
Translation updates
- i18n(zh-TW): re-Update base.po (20250401) by @neko0xff in #3324 and #3384
- Update hungarian translation by @summoner001 in #3321
- Update Japanese translation by @utuhiro78 in #3326
- Update Italian translation by @vanmatten in #3347
- Fix #3313 translation file by @svartkanin in #3361
- Update Japanese translation (100%) by @utuhiro78 in #3366
- Update hungarian translation by @summoner001 in #3369
- Update Italian translation by @vanmatten in #3371
- Update Spanish translation by @castillofrancodamian in #3405
- Update zh-CN translation by @clsty in #3404
- Update zh-CN translation, fix locales/README.md by @clsty in #3409
- Update Japanese translation by @utuhiro78 in #3410
- Update Italian translation by @vanmatten in #3428
- Another Italian translation update by @vanmatten in #3436
- Update hungarian translation by @summoner001 in #3440
- Update Japanese translation by @utuhiro78 in #3451
- Update Polish translation by @acuteenvy in #3454
- Czech localization update by @walken11 in #3461
- Updated urdu translation by @mfgbhatti in #3462
- Better Ukrainian by @TSEPLNK in #3364, #3365, #3439, #3441 and #3445
- French language update by @roxfr in #3386
New Contributors
- @EK-92 made their first contribution in #3327
- @wszqkzqk made their first contribution in #3320
- @TSEPLNK made their first contribution in #3364
- @James-Kni made their first contribution in #3395
- @ncdm-stldr made their first contribution in #3442
Full Changelog: 3.0.4...3.0.5