Skip to content

Releases: 89luca89/distrobox

1.5.0

17 Jun 08:51
67c5cb1
Compare
Choose a tag to compare

What's Changed

Version 1.5.0 introduces some highlight features like:
- additional-packages flag in create, to directly add packages during init
- NVidia GPU Support for containers: distrobox will attempt to share host's drivers with the container!
- Distroboooox ... ASSEMBLE! New distrobox-assemble command lets you declare your distroboxes-as-code, in an easy config file
- Now removing a distrobox, it will un-export apps and binaries exported by it
- Init is now more flexible in how it adds packages, allowing for greater compatibility
- Init supports now systemd containers using --additional-packages systemd during creation
- General reliability improvements, lots of bug fixes and QoL

This release counts 36 contributors, and they count for over 30% of the total commits of the release! 🎉 Thanks to everyone helping! 🎉

Full Changelog:

  • website: new website by @daudix-UFO in #784
  • all: allow root user to run Distrobox by @luc14n0 in #582
  • assemble: add new command for distroboxes-as-code
  • assets: add distro's icons
  • ci: trigger differential-shellcheck workflow on push by @jamacku in #681
  • create: add --additional-packages flag
  • create: allow the ability to "unshare" netns and ipc by @ldelossa in #609
  • create/enter: bump default fedora-toolbox image to 38, update examples by @alexdesiqueira in #710
  • create/init: move localtime mount in init. Fix #715
  • create: check before adding mounts. Fix #664
  • create: fix check while using verbose. Fix #583
  • create: fix executable scripts lookup by @mkoura in #687
  • create: ignore net files when unshare nets by @bubuntux in #766
  • create: fix oversight in #422 by @misobarisic in #616
  • docs: add deepin support to the documentation by @BLumia in #768
  • docs: added crystal linux as a container option by @dnkmmr69420 in #686
  • docs: added nix portable as an option for nix options by @dnkmmr69420 in #691
  • docs: fix faulty example ini file by @john-ghatas in #761
  • docs: fix microOS install instructions by @FarisFiroz in #655
  • docs: fix spelling of openSUSE by @grisu48 in #733
  • docs: fix typos by @kianmeng in #662
  • docs: list wget as an alternative install option by @mirkobrombin in #663
  • docs: update compatibility.md by @bubuntux in #649
  • docs: update compatibility.md by @eagavi in #751
  • docs: update distrobox-export.md by @bubuntux in #676
  • docs: update integrate_vscode_distrobox.md by @colorfulmoth in #767
  • docs: update link to "Using podman or docker inside a distrobox" by @thorntonmc in #617
  • docs: update ublue URL by @castrojo in #636
  • docs: updated Extension Name by @sfalken in #787
  • docs: new logotype by @daudix-UFO in #660
  • docs: typo in readme by @daudix-UFO in #684
  • enter: fix $PATH when it contains spaces by @black-desk in #675
  • enter: fix the quoting of arguments by @akinomyoga in #699
  • enter: fix unexpected pathname expansions by @akinomyoga in #698
  • export: remove service export, now we have initful container for that.
  • export: support exporting by app name
  • export: add default path for exported bins (~/.local/bin)
  • export: add login shell option by @Scafir in #651
  • export: copy icons only if they don't already exist. Fix #708
  • export: fix desktop file with spaces. Fix #693. Fix #694
  • export: fix exporting issues with applications that have symlinked desktop files. Fix #580
  • export: fix exporting issues with big applications with multiple iconts. Fix #711. Fix #785
  • export: fix issue when a symbolic link points to a non-existing file by @bubuntux in #792
  • export: simplify distro_binary script by @akinomyoga in #697
  • extras: add pause infra_image to podman. Fix #667
  • extras: update podman and crun versions in extras/install-podman by @GabMus in #689
  • extras: Update podman to version 4.5.1 and crun to version 1.8.5 by @sonulohani in #799
  • generate-entry: add rootful support
  • generate-entry: drop apparent debug statements by @cgzones in #748
  • generate-entry: fix typo and incorrect key for generated desktop entry Categories by @ian-h-chamberlain in #585
  • host-exec: bump host-spawn to 1.4.1 and do proper version comparison by @pavelxdd in #647
  • host-exec: bump host-spawn version
  • host-exec: use either wget or curl
  • host-exec: use tty command to check if we're in tty or not. Fix #730
  • init: add additional-packages support
  • init: add nvidia integration by 89luca89 in #658
  • init: link xdg-open with host-exec if not present. Fix #645
  • init/docs: add support for Chainguard Wolfi base image
  • init: add users to sudo/wheel group if present
  • init: do not fail when systemctl mask errors. Fix #641
  • init: fix busy mounts by forcing umount. Fix #426
  • init: fix check on ostree home detection. Fix #562
  • init: fix mounting of symlinks, fix use of apt on older systems during upgrades
  • init: fix skel support by @inspectorgadget03 in #567
  • init: make init binary discovery more solid
  • init: mount zoneinfo from host
  • init: only install mesa vulkan packages if available by @ericcurtin in #702
  • init: reuse locked flags when mounting read-only by @morganhjk in #635
  • init: search for packages availability before installation by 89luca89 in #788
  • install: more aesthetically pleasing install script by @misobarisic in #696
  • list: add RAM and CPU usage for each container
  • list: add distrobox ls by @grisu48 in #734
  • list: terminal display fixes by @cgzones in #742
  • rm: attempt deleting exported binaries and apps during deletion
  • rm: pass verbose mode to distrobox-generate-entry by @cgzones in #747
  • upgrade: do not use sudo, directly execute as root using container manager

This release Contributors

@BLumia @FarisFiroz @GabMus @Scafir @akinomyoga @alexdesiqueira @anirbandey1 @black-desk @bubuntux @castrojo @cgzones @colorfulmoth @daudix-UFO @dfaggioli @dnkmmr69420 @eagavi @ericcurtin @grisu48 @ian-h-chamberlain @inspectorgadget03 @jamacku @john-ghatas @juhp @kianmeng @ldelossa @luc14n0 @mirkobrombin @misobarisic @mjlbach @mkoura @morganhjk @pavelxdd @pos-ki @sfalken @sonulohani @thorntonmc

Full Changelog: 1.4.2.1...1.5.0

1.4.2.1

19 Dec 20:24
b2f7b50
Compare
Choose a tag to compare

What's Changed

  • CI: do not use scraping, use fixed version for pandoc
  • all: fix setting up default images and names
  • compatibility: add gentoo docker image by @89luca89 in #449
  • compatibility: change debian 8 image
  • completion: Remove shebangs from bash completions by @michel-slm in #431
  • completion: add compatibility list flag, 🎉 add image name autocompletion 🎉
  • create/enter/export: Add home prefix by @misobarisic in #422
  • create: Fix using --home with space in path. by @bsvh in #419
  • create: use --entrypoint to override entrypoint defined by image by @tomeichlersmith in #541
  • distrobox: remove trap from the wrapper. Fix #467
  • docs: Add resource limitation tips by @thjderjktyrjkt in #515
  • docs: Fix example configuration file by @thegamerhat in #532
  • docs: Fix typo "Stean" instead of "Steam" by @Hazzatur in #472
  • docs: Fixed toolbox URL by @thegamerhat in #501
  • docs: Remove quote marks in fish tutorial by @thjderjktyrjkt in #428
  • docs: Resolve list rendering issues by @TheJoeSchr in #437
  • docs: Small clarifications by @damianoognissanti in #475
  • docs: Update handler function to support bash scripts by @gagallo7 in #461
  • docs: add more usage examples
  • docs: add post - Run libvirt in distrobox
  • docs: add warning to experimental desktop-in-distrobox post
  • docs: make podman-host executable by @mirkobrombin in #558
  • docs: mention other commands in readme, fix typo in useful_tips.md by @misobarisic in #421
  • docs: remove flatpak installation method
  • docs: update NixOS compatibility, Fix #499
  • docs: update documentation to use host-exec for podman/docker inside the container. Fix #494
  • enter/export: handle quotes in arguments in a better way by @89luca89 in #448
  • enter: exclude LANG environment variables
  • enter: remove detach-keys, work on #398
  • export/enter: inject container ID at enter-time, in order to be used in export. Fix #455
  • export: fix variable declaration
  • export: look at global user services while trying to export a service by @bellegarde-c in #464
  • export: use realpath on icons. Fix #528
  • init: Add init and pre-init hook defaults as supported config options by @mtalexan in #542
  • init: add missing findmnt in OpenSUSE
  • init: better systemd unit cleanup
  • init: copy skel files only if using custom home. Fix #458 #435
  • init: fix overriding of SHELL at each start, override default SHELL only the first time
  • init: fix sudoers spam (missing " in check) by @0x0ade in #465
  • init: fix void-linux package incompatibility error
  • init: fix vte installation; add --noreplace to prevent repeated builds by @xgqt in #446
  • init: integrate with kerberos host only if it is installed on the host. Fix #454
  • init: skip external mounts when searching for sockets, Fix #519
  • init: specify package for gentoo. Fix #530
  • init: use container's path for SHELL instead of host's one. Fix #442
  • init: use findmnt instead of mountpoint, fixing compatibility with old distributions. Fix #370
  • install-podman: Fix cni_plugin_dirs by @descention in #474
  • install: do not use scraping, use fixed version. Fix #429
  • main: Do not open manpager automatically by @misobarisic in #441

New Contributors

Full Changelog: 1.4.1...1.4.2

1.4.1

16 Sep 10:12
631a296
Compare
Choose a tag to compare

Quick bugfix release, to work around an upstream docker bug while using btrfs file systems.
Also adding autocompletion support is nice 😄

What's Changed

  • completion: add bash completion support!
  • create/enter: revert 52a34fb
  • create: add --no-entry by @misobarisic in #404
  • docs: update host and guest lists by @michel-slm in #410
  • docs: redundant "else" in readme by @misobarisic in #414
  • init: add mesa and vulkan drivers by default
  • init: don't query filesystems mounted by beesd by @GermanBread in #418
  • install-podman: update to 4.2.1
  • install-podman: install crun, it generally works better in rootless. Fix #406
  • install-podman: fix default configuration, Fix #411, Fix #413
  • ephemeral: do cleanup even in case of errors
  • generate-entry: auto-discover curl or wget. Fix #407

New Contributors

Full Changelog: 1.4.0...1.4.1

1.4.0

07 Sep 11:54
103719e
Compare
Choose a tag to compare

1.4.0

This release sees a lot of changes, thanks to all the contributors 😄

  • New distrobox upgrade command, to update all the containers at once
  • New distrobox generate-entry command, to add your distrobox to the app list
    • note that from 1.4.0 onwards this will be the default behaviour for all the new containers created
  • New distrobox ephemeral command, to quickly spawn, use and delete a container. All-in-one.
  • New install-podman script to install Podman in $HOME. Handy for @ValveSoftware SteamDeck users
  • Distrobox-host-exec now uses exclusively the host-spawn command from @1player
  • Better support for AD/LDap and Kerberos usernames
  • Better support for Nix/Guix hosts
  • Plenty of bug fixes and CI/Test improvements 😄

Complete Changelog

  • CI: add another Shell linter - Differential-ShellCheck by @jamacku in #372
  • all: Implement options for sudo program customization by @PgBiel in #346
  • all: add /usr/etc/distrobox/distrobox.conf as possible config file
  • all: respect XDG_CONFIG_HOME variable for configs
  • clone: fix image save name to work with podman's lowercase requirements
  • create: Add Nix System Path and Initialize a Nix Flake by @FedX-sudo in #368
  • create: mount the store directory of Guix. by @cireu in #394
  • create: move distrobox utility mounts into enter. Fix #315
  • docs/extras: add support for SteamOS, add install-podman script to perform persistent installs
  • docs: Add more getting started examples by @profetik-777 in #389
  • docs: Clarify smallness of common cloud images by @castrojo in #383
  • docs: add distrobox's flatpak installation method
    • Still in beta. Check here
  • docs: fix a mistake for gentoo dockerfile by @top1Ashier in #361
  • enter: fix automatic container creation when '-r' is used by @dfaggioli in #364
  • enter: improve performance for start container logs
  • enter: make it more location independent, Fix #354
  • enter: re-add missing USER variable inside env
  • enter: reformat code, fix backtick detection. Fix #395
  • enter: use container's login shell when no command is provided
  • export: Add some checks for fixing issues due to dirs or manpages missing (on MicroOS) by @dfaggioli in #365
  • export: Enable export of local applications by @haakobja in #291
  • export: use a more robust way to find container's name or ID. Fix #375
  • feat: Replace call to 'rev | cut' with 'grep' by @adam-gaia in #342
  • generate-entry: add new command to create and delete desktop entries for distroboxes
  • host-exec: add a flag to distrobox-host-exec to skip the installation prompt by @codexMechanicus in #363
  • host-exec: replace chroot with host-spawn (#349)
  • init: add kerberos KCM cache from https://github.com/containers/toolbox Fix #323
  • init: add quotes around username to avoid problems with AD/LDap usernames
  • init: avoid xbps errors by keeping it updated
  • init: be aware of absolute symlinks in /etc and try to handle them. Fix #385
  • init: better match error messages. Fix #390
  • init: do host file sync only if they exist
  • init: fix mountpoint for home in ostree based os. This will fix problems with the package installation on Fedora
  • init: fix tzdata handling
  • init: improve systemd integration for rootful containers
  • install: add missing help entry for --next/-N flag
  • install: use either wget or curl by @gcoakes in #376
  • list/host-exec: fix tty detection
  • list: Add no-color flag to list by @misobarisic in #353
  • list: disable colors when not in a terminal. Fix #352
  • remove deprecated path feature by @misobarisic in #356
  • rm: do not use a default name value, add multi-name support
  • ephemeral: add ephemeral distrobox command (#335) by @juhp in #336
  • upgrade: add upgrade command to perform single or batch update on distroboxes, Fix #240

New Contributors

Full Changelog: 1.3.1...1.4.0

1.3.1

11 Jun 16:41
Compare
Choose a tag to compare

Mainly bugfix release:

What's Changed

  • all: allow users to specify non_interactive=true/false by @dfaggioli in #302

  • all: improve code readability and formatting, follow happy paths

  • create: make it clearer to the user the container creation output, specifying the image and name used. This is useful in case the user is using default image or name

  • create: remove check about clone and image name Fix #320

  • docs: Fix typo by @rugk in #308

  • docs: Update gnome instruction by @jswinner in #314

  • docs: remove WSL2 entry, cannot actively check if works correctly. Better not give false hopes

  • docs: typo fix by @misobarisic in #317

  • enter: automatically create containers during 'distrobox-enter' (if they don't exist!) by @dfaggioli in #302

  • export: add --root to rooful containers. Fix #313

  • export: export: fix regression in export app introduces in 4522f29

  • export: fix DBusActivatable not working by @89luca89 in #300

  • host-exec docs: 755 -> 644 by @misobarisic in #304

  • host-exec: change [N/y] to [y/N] by @misobarisic in #306

  • init: fix apt hooks to make systemd install work by @89luca89 in #297

  • init: move zypper recommends after the basic packages install, make OpenSUSE containers creation faster

  • install: add --next flag to install latest commit from git

  • stop: update misleading comment by @misobarisic in #307

  • uninstall: interactive rm won't work when executed throught pipe

  • docs: update compatibility list

    • Confirm support for:
      • Redhat UBI 9
      • Redhat UBI 9-init
      • Redhat UBI 9-minimal
      • AlmaLinux 8-minimal
      • AlmaLinux 9-minimal
      • AlmaLinux 9

New Contributors

Full Changelog: 1.3.0...1.3.1

1.3.0

29 May 09:31
d1c4578
Compare
Choose a tag to compare

Bumping version to 1.3.0 as this is a quite big release, adding:

  • new tools and commands!
  • rootful containers support
  • new supported distros
  • improved integration with the host
  • many fixes and improvements

Full changelog

  • install: Stop calling git by @nathanchance in #261
  • all: use new default name for distrobox containers to avoid conflicts with toolbx
  • create/init: move some mounts inside init.
  • create: fix command suggestion after container creation
  • create: fix enter command suggestion for rootful use case
  • create: on newest podman keep-id is only supported in rootless mode, Fix #267
  • create: prompt to download latest image by default by @juhp in #289
  • create: update default image to Fedora-Toolbox 36
  • docs/usage: document 'stop' properly
  • docs: Add tutorial for fish in execute_commands_on_host.md by @thjderjktyrjkt in #257
  • docs: Couple of small docs & comments fixes by @dfaggioli in #273
  • docs: add entry on how to use qemu to use containers of different architectures
  • docs: change command count by @misobarisic in #265
  • docs: couple of small docs & comments fixes (#273)
  • docs: fix README command count typo by @misobarisic in #292
  • docs: signal a problem on OpenSUSE Leap 15.3 and 15.4 by @massimo-zaniboni in #285
  • docs: update commands for graphical sessions, Fix #276
  • distrobox-host-exec: new tool for host command execution by @dfaggioli in #283
  • distrobox: Error out on invalid options by @nathanchance in #255
  • distrobox: add support for rootful containers
  • enter: Fixed typo in bash option by @nogajun in #259
  • enter: do not use full path for default shell, let the container resolve it. Fix #251
  • enter: fix eval when variable is not found. #268
  • enter: fixup comment around --headless
  • enter: add support for --no-workdir/-nw. Fix #231
  • enter: improve fist-start logging and show user some progress
  • enter: improve logging steps by @89luca89 in #290
  • export: Fix distrobox-export --bin error handling by @michel-slm in #275
  • export: fix exporting of icons for hardcoded paths
  • export: fix usage in docker
  • export: remove redundant command check on app export, fix quoting for commands containing them. Fix #225
  • list: add -s/--size option to show container disk usage
  • init: Add AlmaLinux 9 to tested containers distros by @michel-slm in #280
  • init: Fix gentoo support by @nullpointerarray in #284
  • init: add more basic tools, unminimize apt-get/dnf/yum/pacman/zypper - install langs and docs
  • init: add pinentry to base package list by @89luca89 in #256
  • init: fix missing variables on some container images
  • init: mount home in canonical place for ostree systems. Fix #282
  • init: move host's theme, fonts, icons integration to /usr/local/share, freeing user's home. Fix #253
  • init: move some mountpoints as rw to avoid mount Unknown error 5005. by @89luca89 in #264
  • init: remove verbose for keepalive sync loop, or logs will fill on the long run.
  • init: Implement pre-initialization hooks by @michel-slm in #269
  • init: Some openSUSE improvement by @dfaggioli in #262
  • init: add support for microdnf, support ubi8 and ubi7 minimal. Fix #254
  • init: fix ash shell package detection, Fix #247
  • init: keep timezone, dns and hosts actively synced with host

New Contributors

Full Changelog: 1.2.15...1.3.0

1.2.15

28 Apr 10:03
e760a48
Compare
Choose a tag to compare

What's Changed

  • docs: Fix misspellings by @maiki in #232
  • docs: Update host-distro instruction for openSUSE Tumbleweed and MicroOS by @dfaggioli in #218
  • docs: Update run_latest_gnome_kde_on_distrobox.md by @bam80
  • init: Allow all package manager checks to run by @nathanchance in #224
  • init: Fix compatibility with init containers by @89luca89 in #216
  • init: add pacman post-hook to neutralize systemd post-hooks in case we're not in an init-enabled container
  • init: exclude dbus system socket sharing, it doesn't work and creates confusing error messages, Fix #246
  • init: fix missing check before umounting on init-enabled containers
  • init: fix new archlinux mount: /usr/lib/libmount.so.1: version MOUNT_2_38 not found (required by mount) error, upgrade before installing packages
  • init: fix regression introduced in 3f014de where containers where thinking they were on a booted systemd
  • init: improve arch linux integration - add pacman pre-post hooks to reduce number of errors occurring
  • create/enter: print error messages only when not in dry-run
  • create: add work around for incompatibility between systemd/journald ACLs and overlayfs, Fix #243
  • enter: check for container errors during first start, Fix #242
  • enter: do not instantiate a tty if we do not have one
  • enter: extract container SHELL from inspect, use that as fallback if no custom command provided #227
  • enter: fix boolean logic on tty use
  • enter: fix unbound variable with --dry-run by @vyskocilm in #244
  • export: hide unuseful stderr in export

New Contributors

Full Changelog: 1.2.14...1.2.15

1.2.14

20 Mar 14:33
7203563
Compare
Choose a tag to compare

  • README: Installation update by @misobarisic in #179
  • README: New Logo by @j4ckr3d in #198
  • docs: add more usage examples and tips
  • docs: document ssh x forwarding, fix #172
  • docs: better specify security implications of distrobox
  • docs: update compatibility list
  • all: detect if running sudo and improve error messages for container managers, pointing to documentation #177
  • all: better variables escaping, Fix #183
  • fix: move selinux fix into create phase
  • install: Remove permissions check and dest_path creation by @nathanchance in #180
  • install: Prefix install/uninstall option by @misobarisic in #190
  • install: inform user about PATH at end of installation #177
  • enter: escape --workdir argument #181 by @nm004 in #182
  • enter: Enter at workdir through child path of '/run/host' by @ennec-e in #186
  • stop: Add distrobox-stop command by @misobarisic in #196
  • enter: use container's $PATH when entering by @gbritton in #209
  • create: resolve path before mounting #204
  • init: If user already exists in /etc/passwd set props again, do not skip by @ennec-e in #176
  • init: Fix grep match of very short user or group names. by @lynxnot in #197
  • init: tighter systemd integration with host
  • init: support LDAP/AD mail usernames (#205)
  • export: support exporting of system flatpaks and document it, Fix #171
  • CI: introduce a pipeline to check compatibility problems from the table of supported guests on both docker and podman

News

  • This release is the first to introduce the possibility to use configuration files and env variables read HERE on how to use
  • This release introduces a CI to ensure the compatibility is met for the various guest distros

New Contributors

Thanks as always to all contributors! @j4ckr3d @misobarisic @nm004 @ennec-e @lynxnot @gbritton @nathanchance

Full Changelog: 1.2.13...1.2.14

1.2.13

15 Feb 08:24
88abba6
Compare
Choose a tag to compare

What's Changed

  • docs: Packages links and install instructions for openSUSE and SLE as host distros by @dfaggioli in #157
  • docs: update compatibility.md by @FedX-sudo in #151
  • docs: Fix usage.md url on README.md by @bandithijo in #142
  • docs: typo fix by @misobarisic in #140
  • [Improvement] NixOS system upgrade breakage fix by @deinferno in #146
  • [Improvement] XDG_.*_DIRS environment fixes by @deinferno in #147
  • distrobox: version flag by @misobarisic in #165
  • create/enter: create/enter: use cd + pwd to find absolute paths @deinferno in #160
  • install: conditional default install path by @misobarisic in #167
  • create: Add support for /nix/ volume within the container by @FedX-sudo in #148
  • create, enter: more concise messages by @misobarisic in #138
  • create: default to Y by @misobarisic in #141
  • create/init: add support for using init systems inside the containers
  • create/init: add support for custom init-hooks, Fix #118
  • create: follow /dev/shm symlinks if present #145
  • init: run apt invoke only if path is a mountpoint #159
  • init: do not mount nscd sockets or user management will fail
  • init: add more readonly files to rpm macro
  • init: fix vte prompt check
  • create/enter: add --dry-run option to only print docker/podman command to execute
  • enter: add FHS paths to XDG_DATA_DIRS and XDG_CONFIG_DIRS too (#147)
  • docs: confirm Amazon Linux 2022 container support
  • export: add StartupWMClass where missing, in desktop files
  • export: ensure export is not running as root, Fix #124

New Contributors

Full Changelog: 1.2.12...1.2.13

1.2.12

22 Jan 11:49
e3b1252
Compare
Choose a tag to compare

What's Changed

  • Create Manuals by @misobarisic in #99
  • create: Do not require distrobox-{init,export} to be in PATH by @nathanchance in #131
  • init: Fix permissions of $HOME/.local/share by @nathanchance in #132
  • create/export: Prefer 'uname -m' to /etc/hostname by @nathanchance in #133
  • init: Check existence of /etc/apt/apt.conf.d by @nathanchance in #134
  • init: Fix check for find by @nathanchance in #137
  • init: fix sudo hostname resolution on newer debians
  • export: add container_name to app label, Fix #109
  • export: fix pixmaps export
  • install/uninstall: use install in place of cp+chmod, improve uninstallation process
  • create: map additional host's user groups, fix #121 (support for using docker and libvirt sockets)
  • create/enter: support for passing additional volumes and additional-flags to podman or docker by @89luca89 in #136

New distros:

  • init: Clear Linux support by @89luca89 in #107
  • init: Add support for Centos Stram 8, 9 and RedHat UBI @alcir in #69
  • init: confirm compatibility with AlmaLinux UBI images

New Contributors

Full Changelog: 1.2.11...1.2.12