Releases: ripytide/metapac
0.9.4 - 2026-04-05
0.9.3 - 2026-01-28
0.9.2 - 2026-01-26
0.9.1 - 2026-01-26
0.9.0 - 2026-01-25
Release Noes
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
metapacnow supports.tomlfiles usingtoml v1.1.0(#188).metapacnow has a newcompletionssubcommand for generating shell
completions for the following shells:Bash, Elvish, Fish, PowerShell, Zsh, NuShell.
These are now also automatically installed with themetapacAUR
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
flatpakhas been completely overhauled and a
newinstallation:nameformat is used for package/repo names since each
installation is independent. Theflatpak.systemwideconfig has been
removed in favor of the more explicit installation on each package (#200
and #201)
Removed
0.8.0 - 2026-01-11
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 sis no longer valid, use the explicitmetapac syncinstead. The same goes for options so instead ofmetapac -n hostnameusemetapac --hostname hostname. -
❗ Breaking Change ❗ the
dnfbackend has been massively simplified and
now has no package options. Previously there was arepoanduser
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 asmetapac upgrade-allandmetapac backends(#187). - Fixed running non-
.exeexecutables on windows such as.ps1and.cmd
files which aren't normally executable by rust'sCommandby wrapping
all commands executed on windows incmd /Cwhich enables them.
(reported in #184, fixed in #186)
0.7.2 - 2026-01-03
0.7.1 - 2025-12-29
Release Notes
Fixed
- Issue with the
pipxbackend using a wrong command when updating all
packages (#177), thanks @Deuchnord! - Issue with
xbpsbackend managing all installed packages instead of only
those that were installed manually by the user (#179), thanks @teoc98!
0.7.0 - 2025-12-13
Release Notes
Added
- New backend:
mise(requested in #127, implemented in #166), thanks
@Mikel-Landa! - New backend:
mas(Mac App Store) (#166), thanks @jtbrough!
Changed
- ❗ Breaking Change ❗ the
hostname_enabled_backends_enabledconfig has
been removed and now theenabled_backendswill be merged with any
matching entries in thehostname_enabled_backendstable rather than being
mutually exclusive. (#163)
Fixed
- Issue with the
cargobinstalloption not tracking installed packages
has been fixed by switching from using the.crates2.jsonfile to using
the.crates.tomlfile (#167), thanks @Mikel-Landa!
0.6.4 - 2025-11-10
Release Notes
Added
- Added a
binstalloption to thecargobackend to allow using
cargo-binstallto install packages instead ofcargo install(#165),
thanks @Mikel-Landa!