Skip to content

Releases: ripytide/metapac

0.9.4 - 2026-04-05

05 Apr 11:46
14e7de4

Choose a tag to compare

Release Notes

Fixed

  • Removed the no longer valid quarantine options from the brew backend
    (reported in #224, fixed in #225).

0.9.3 - 2026-01-28

28 Jan 09:18
3b08c47

Choose a tag to compare

Release Notes

Fixed

  • The before_install and after_install hooks were being run on every
    sync regardless of whether the package was already installed or not. This
    has now been fixed (reported in #214, fixed in #215).

0.9.2 - 2026-01-26

26 Jan 17:32
78936b0

Choose a tag to compare

Release Notes

Fixed

  • Removed the --assumeyes option from the flatpak remote-add and
    flatpak remote-delete commands as it's not a valid option (reported in
    #209, fixed in #212).

0.9.1 - 2026-01-26

26 Jan 16:55
a81d078

Choose a tag to compare

Release Notes

Fixed

  • Fixed a panic when parsing flatpak remotes and removed sudo from all
    flatpak commands as flatpak does its own privilege escalation
    (reported in #207, fixed in #208)

0.9.0 - 2026-01-25

25 Jan 14:06
0c3915d

Choose a tag to compare

Release Noes

‼️ This is a extremely breaking release. All users will need to fix their
group files to move to the new format. See the migration guide below. ‼️

This is big release, adding the (hopefully) final ingredient in a
declarative meta package manager, repo management. Because what good is
being able to declare a list of packages if the names of those packages are
ambiguous due to coming from a bunch of different unmentioned repos.

This release fixes that by introducing a second declaratively managed
entity, a repo. Lots of package managers support multiple and even
arbitrary repos, but for this release the driving backend was dnf and
specifically issue #176. Thanks to @komapro too for making the case so well
too. The flatpak backend also now supports repos.

Hopefully, in future releases metapac will support repo management for
more backends.

And just as luck would have it, toml v1.1.0 was released only a month
ago toml-lang/toml#928 which added support for
newlines and trailing commas in inline tables which makes group files a lot
more flexible.

Migration Guide

The array of packages gets moved under the packages property of the
backend and the package property of long-form packages is renamed to
name so it can be shared with the new repos.

Old group file format

arch = [
  "package1",
  { package = "package2" },
]

New group file format

arch = {
  packages = [
    "package1",
    { name = "package2" },
  ]
}

Added

  • metapac now supports .toml files using toml v1.1.0 (#188).
  • metapac now has a new completions subcommand for generating shell
    completions for the following shells: Bash, Elvish, Fish, PowerShell, Zsh, NuShell.
    These are now also automatically installed with the metapac AUR
    package. (#205)

Changed

  • ‼️ Breaking Change ‼️ The group file format has changed to allow both
    repos and packages to be added for the same backend (discussion in #176,
    implemented in #188).
  • ❗ Breaking Change ❗ Invalid properties at the top level of a group file
    are now no longer a soft warning but a hard error (#188).
  • ❗ Breaking Change ❗ The flatpak has been completely overhauled and a
    new installation:name format is used for package/repo names since each
    installation is independent. The flatpak.systemwide config has been
    removed in favor of the more explicit installation on each package (#200
    and #201)

Removed

  • ‼️ Breaking Change ‼️ The metapac add, metapac remove, metapac install, and metapac uninstall subcommands have been removed (#198).
    This is up for discussion though, #197 has been opened for this
    purpose and contains further reasoning.

0.8.0 - 2026-01-11

11 Jan 16:43
fd91cd5

Choose a tag to compare

Release Noes

Changed

  • ‼️ Breaking Change ‼️ All short-forms and single letter sub-command
    aliases have been removed. This is due to my preference for explicitness
    and that as the cli api surface has grown with more sub-commands it is no
    longer easy to remember which letter goes with which sub-command (#187).

    As an example metapac s is no longer valid, use the explicit metapac sync instead. The same goes for options so instead of metapac -n hostname use metapac --hostname hostname.

  • ❗ Breaking Change ❗ the dnf backend has been massively simplified and
    now has no package options. Previously there was a repo and user
    options which didn't make any sense. The backend now behaves much
    more similarly to the other backends (#185).

Fixed

  • A lot of the complicated group file parsing and validation has been moved
    into only those sub-commands that require that rather than being done for
    all sub-commands which should result is a gargantuan speedup for those
    sub-commands that didn't and don't need the group files such as metapac upgrade-all and metapac backends (#187).
  • Fixed running non-.exe executables on windows such as .ps1 and .cmd
    files which aren't normally executable by rust's Command by wrapping
    all commands executed on windows in cmd /C which enables them.
    (reported in #184, fixed in #186)

0.7.2 - 2026-01-03

03 Jan 14:36
baca124

Choose a tag to compare

Release Noes

Added

0.7.1 - 2025-12-29

29 Dec 17:36
aae13f3

Choose a tag to compare

Release Notes

Fixed

  • Issue with the pipx backend using a wrong command when updating all
    packages (#177), thanks @Deuchnord!
  • Issue with xbps backend managing all installed packages instead of only
    those that were installed manually by the user (#179), thanks @teoc98!

0.7.0 - 2025-12-13

13 Dec 14:46
7334606

Choose a tag to compare

Release Notes

Added

Changed

  • ❗ Breaking Change ❗ the hostname_enabled_backends_enabled config has
    been removed and now the enabled_backends will be merged with any
    matching entries in the hostname_enabled_backends table rather than being
    mutually exclusive. (#163)

Fixed

  • Issue with the cargo binstall option not tracking installed packages
    has been fixed by switching from using the .crates2.json file to using
    the .crates.toml file (#167), thanks @Mikel-Landa!

0.6.4 - 2025-11-10

10 Nov 16:28
97a79eb

Choose a tag to compare

Release Notes

Added

  • Added a binstall option to the cargo backend to allow using
    cargo-binstall to install packages instead of cargo install (#165),
    thanks @Mikel-Landa!