Highlights
- Lilipod support
- Improved nvidia integration, particularly for cuda
- General improvements in the init process
- Improve user's shell handling, so that it now always respects the
chsh
done inside the container - Fix tzdata/zoneinfo problems
- Rootful containers now will properly setup user password for sudo
- General polish in initful containers
- Initful containers now support also OpenRC when present
- Initful containers will now have also a proper systemd user session
- New
--unshare-all
,--unshare-netns
,--unshare-process
,--unshare-devsys
flags in create- Now initful + unshare-all containers can be used as playgrounds for services like LXC and Libvirt more easily
- New
container_additional_volumes
configuration - Export fixes and improvements in multi-icon and space-in-name handling
- Exported binaries will be runnable between distroboxes
- Exported binaries will always run in a login shell
- Assemble is now more polished and supports all of
create
flags - Assemble can now export apps/binaries directly from the manifest
What's Changed
- all: add Lilipod container manager support
- all: add extra check to detect if we are in a container by @ericcurtin in #916
- all: block sudo/doas only when using it for root. Fix #981
- all: support /usr/local/share and /usr/share/default config paths
- assemble/enter: enter or create based on entry in manifest file by @bobslept in #934
- assemble: add new unshare options from create
- assemble: add support for declaring exported apps and binaries, Fix #842
- assemble: better comment detection, Fix #956
- assemble: fix --name params cleanup missing. by @hirnidrin in #1014
- assemble: fix declaration of multiple hooks, fix support for pipes. Fix #853
- assemble: fix empty args in hooks handling
- assemble: fix issue with similar names, Fix #838
- assemble: fix missing ¤ in volume handling by @samuelba in #1001
- assemble: fix remove when rootful. Fix #845
- assemble: fix separator for multiple export declaration
- assemble: properly detect && and ; in lines. Fix #923
- assemble: properly split/reunite multiple hooks lines
- completions: fix dependency to awk
- create: add
--unshare-all
,--unshare-netns
,--unshare-process
,--unshare-devsys
, work on #28 by @89luca89 in #818 - create: add comments to explain initful setups for docker, remove duplicate flag
- create: add container_additional_volumes configuration, to have default mounts for all containers
- create: add name lenght checking to ensure we respect hostname lenght limits. Fix #930
- create: ensure /dev/pts is empty on fresh start, init will take care of creating the proper devpts mount later
- create: ensure initful+rootful containers work on apparmor systems
- create: ensure ptmx is blank when starting
- create: ensure that we properly forward RHEL subscriptions from host to guest
- create: fix DBX entry generation env variable name
- create: fix initful+rootful containers on docker
- create: improve initful+rootful container setup using cgroupns=host
- create: remove /nix /gnu and /run/current-system/sw mounts
- create: setup devpts inside init, ensure /run is a tmpfs
- create: use only shell name in SHELL, not full path
- docs(compatibility): add bazzite and bazzite arch as supported distros by @EyeCantCU in #936
- docs: add chromeos as supported host os by @ericcurtin in #917
- docs: add kde neon icon and pointers to container registry by @jriddell in #861
- docs: add missing instructions to make the podman launcher binary executable by @Antiz96 in #970
- docs: add vanilla distrobox icon by @matbme in #915
- docs: chromeos compatibility should say debian 12 bookworm by @ericcurtin in #919
- docs: debian is now at version 12 by @alexsch01 in #924
- docs: document waydroid by @mirkobrombin in #951
- docs: fix code example by @bronson in #925
- docs: missing quote in run_libvirt_in_distrobox.md by @tazihad in #879
- docs: new splash image by @daudix in #870
- docs: update compatibility.md for opensuse by @vyskocilm in #1011
- docs: update distrobox-upgrade.md by @rondey in #871
- docs: update run_latest_gnome_kde_on_distrobox.md by @TheMaroonHatHacker in #983
- docs: update useful_tips.md by @TheBicPen in #954
- docs: windows compatibility using wsl by @ericcurtin in #1037
- enter/init: add default locale en_US.UTF-8 instead of C.POSIX. This will fix glitches in applications. Fix #398, Fix #507, Fix #571
- enter: add XDG_* dirs according to home/custom_home. Fix #420
- enter: cleanup output, be less verbose by default, automatically get container logs on verbose exit
- enter: do not pass the PROFILEREAD env variable
- enter: enable tty only if both stdin and stoud are connected to a tty. Fix #965
- enter: fix
xdg_data_dirs
andxdg_config_dirs
handling by @ttimasdf in #912 - enter: fix regression in tty detection. Fix #971
- enter: improve status logging during first start
- enter: prioritize container PATH over host's one
- enter: use natural order from host path by @ttimasdf in #918
- enter: we should show the container creation progress
- ephemeral: better cleanup on termination
- ephemeral: cleanup with TRAP and forward exit code. Fix #959
- export: --sudo when not --login by @bubuntux in #860
- export: add call to update-desktop-database tool by @luc14n0 in #889
- export: add label none to disable labeling. Fix #993
- export: always use a login shell, thanks to #869
- export: export to host_home by default by @bubuntux in #859
- export: fix hard path icon export by @lribic in #1040
- export: fix the issue when export would fail if there is a quote in filename(s). by @vitalijb in #1004
- export: make exported binaries runnable within other distrobox containers by @FrauH0lle in #906
- export: should fix issues with paths containing spaces by @Silenc3IsGold3n in #840
- export: take XDG_DIRS in consideration when exporting. Fix #526
- export: use su-exec when sudo is absent
- extras: fix podman version for static builds. Fix #948
- extras: obsolete install-podman
- extras: update install script podman==4.6.2 crun==1.8.7
- generate-entry: fix missing cp commands
- host-exec: alternative check for container detection. Fix #945
- host-exec: fix container_id: unbound variable error by @luc14n0 in #888
- host-exec: fix dbus path for initful containers
- host-exec: setup XDG_RUNTIME_DIR after download prompt, fix installation in init
- host-exec: upgrade host-spawn to 1.5.0
- init/create: do not mount XDG_RUNTIME_DIR if we're using an init, we'll start out internal user session. Fix #523
- init/create: setup user password for rootful containers
- init: add /run/host/etc to nvidia search path for integration. Fix #848
- init: add a basic user-integraion@.service to ensure basic runtime integration on initful containers (graphics, sound, keyring, authorities)
- init: add back old egl/mesa packages for older debians
- init: add bash-completion to packages list. Fix #554
- init: add binfmt to masked systemd services
- init: add vanilla os and update arch init by @mirkobrombin in #926
- init: align package list with containers/toolbox in order to give a more consistent experience between the tools
- init: arch linux speed improvements by @LukeShortCloud in #828
- init: be sure that SHELL in the container corresponds to the one set to the user via chsh
- init: better detect package existence on Apt based systems
- init: better format creation of files
- init: better handle dependency detection, better support OpenRC for initful containers, better document in man pages how to create initful containers
- init: better handle root account lockup
- init: better highlight the first password setup prompt
- init: better nvidia file detection
- init: better rootful detection, better sudoers groups detection
- init: better sudoers groups setup, root account lockup fallback
- init: change rootful detection condition by @outphase in #909
- init: cleaner logging
- init: create /run/.toolboxenv to ensure compatibility. add default prompt to profile. Fix #630, Fix #704
- init: debian: fix installation of deprecated libgl1-mesa-glx and libegl1-mesa by @g7 in #1005
- init: do packagemanager hooks only in non-init containers, cleanup code a bit
- init: ensure user_home is correctly set each time, Fix #592
- init: exclude default timeshift mountpoint from socket search, improve performance. Fix #941
- init: fix conflict curl/curl-minimal on microdnf systems
- init: fix console always, so that it works also with the new unshare options
- init: fix fifo creation on second boot, simplify console binding, the first one is always pts/0
- init: fix gentoo pinentry ambiguity
- init: fix mount flags for files (e.g.,
/etc/localtime
) by @weiren2 in #1041 - init: fix pulseaudio integration on initful systems. Fix #943
- init: fix sudoers on rootless containers after restart. Fix #928
- init: fix tzdata/zoneinfo problems and potential incompatibilities for the future. Add test for upgrades. Fix #820, Fix #874
- init: fix user creation and sudo for wolfi
- init: fix wrongly hardcoded user@.service. Fix #907
- init: force symlink even if it exists. Fix #905
- init: handle untrusted repositories when installing basic packages by @g7 in #900
- init: improve code for hooks in package managers, skip hooks on init systems, ensure package manager does not fire up on tmpfs /run dirs
- init: improve error messages for initful containers without init systems
- init: improve host's video/audio integration on initful containers. Fix #943
- init: improve nvidia integration
- init: improve systemd masking, make it less aggressive
- init: make / as rshared inside the container
- init: nvidia-integration handle 32bit libraries and paths. Fix #892
- init: nvidia-integration, correctly preserve symlinks. Fix #848
- init: properly create devpts with correct flag and ptmx
- init: properly initialize a pty with script, and mount it as /dev/console, so that the init process will have proper output
- init: properly support fallback routine in user creation and setup, better support AD/LDAP users
- init: quieter action
- init: replace posix-libc-utils with libc-utils by @xz-dev in #886
- init: restore commit 903eb58 mistakenly removed
- init: set password-initialize flag inside the container, so that it doesn't interfere with others
- init: setup devpts inside init
- init: simplify /sbin/init vs systemd launch
- init: skip nvidia mounts when file already exists, Fix #1030
- init: succeed distrobox-init if custom image has undergone debian releaseinfo change by @aquaherd in #898
- init: support fish shell for first-password setup in rootful containers
- init: use "policy" command as a more reliable way to detect missing packages by @guss77 in #1036
- install: fix infinite loop on next. Fix #891
- install: forgot to upgrade the version there
- list: revert 720c388, remove stats
- rm: add flags --all/-a to delete all containers. Fix #880
- rm: do not remove home without asking. Fix #841, Fix #856, Fix #849
- rm: only prompt to delete home if
--rm-home
is passed by @AdamIsrael in #896 - rm: remove --name since never used by @mirkobrombin in #821
- stop: align flags with rm. Add -a/--all flag. Fix #717, Fix #436
- stop: make distrobox-stop use default container name if none is supplied by @ricardoseriani in #873
- upgrade: add a flag to upgrade only running instances by @bubuntux in #823
New Contributors
- @LukeShortCloud made their first contribution in #828
- @jriddell made their first contribution in #861
- @rondey made their first contribution in #871
- @ricardoseriani made their first contribution in #873
- @tazihad made their first contribution in #879
- @xz-dev made their first contribution in #886
- @Silenc3IsGold3n made their first contribution in #840
- @AdamIsrael made their first contribution in #896
- @g7 made their first contribution in #900
- @outphase made their first contribution in #909
- @matbme made their first contribution in #915
- @ttimasdf made their first contribution in #912
- @bronson made their first contribution in #925
- @alexsch01 made their first contribution in #924
- @bobslept made their first contribution in #934
- @EyeCantCU made their first contribution in #936
- @TheBicPen made their first contribution in #954
- @Antiz96 made their first contribution in #970
- @baskrahmer made their first contribution in #974
- @TheMaroonHatHacker made their first contribution in #983
- @aquaherd made their first contribution in #898
- @TanmayPatil105 made their first contribution in #1000
- @samuelba made their first contribution in #1001
- @vitalijb made their first contribution in #1004
- @hirnidrin made their first contribution in #1014
- @lribic made their first contribution in #1040
- @weiren2 made their first contribution in #1041
- @guss77 made their first contribution in #1036
Full Changelog: 1.5.0.2...1.6.0