Skip to content

1.6.0

Compare
Choose a tag to compare
@89luca89 89luca89 released this 19 Nov 21:21
· 159 commits to main since this release
3c1e0eb

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 and xdg_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

Full Changelog: 1.5.0.2...1.6.0