# Changelog ## [5.20.0 (2024-11-23)](https://github.com/kdeldycke/meta-package-manager/compare/v5.19.0...v5.20.0) - [eopkg] Add support for new `eopkg` manager. Closes {issue}`1093`. - [fwupd] Add support for new `fwupd` manager. Closes {issue}`1289`. - [dnf5] Add support for new `dnf5` manager. Refs {pr}`1423`. - [mpm] Hide `--manager` and `--exclude` options from help output and silence deprecation warnings. Closes {issue}`1358`. - [mpm] Add detailed documentation on manager selection with configuration file. - [mpm] Fix mixing of manager selector lists and flags. ## [5.19.0 (2024-11-13)](https://github.com/kdeldycke/meta-package-manager/compare/v5.18.0...v5.19.0) - [vscodium] Add support for VSCodium plugins. - [dnf,mas,vscode,yum] Implement `remove` operation. - [dnf,yum] Use query template instead of regex parsing to retrieve package data. - [flatpak] Fix parsing of descriptions with spaces. - [uv] Implement `outdated` and `cleanup` operation. - [uv] Bump minimal requirement to `0.5.0`. - [uv] Always invoke `uv` with `--no-progress` parameter. - [mas] Bump minimal requirement to `1.8.7`. - [mas] Reactivate `mas` tests. - [mpm] Add official support for Python 3.13. - [mpm] Drop support for Python 3.9. - [mpm] Replace local platform utilities by `extra-platforms` dependency. - [mpm] Run tests on Python 3.14-dev. - [mpm] Run tests and actions on `ubuntu-24.04` instead of `ubuntu-22.04`. - [mpm] Run tests on `macos-15` instead of `macos-14`. - [mpm] Add a Sankey diagram of all supported package managers. ## [5.18.0 (2024-08-02)](https://github.com/kdeldycke/meta-package-manager/compare/v5.17.0...v5.18.0) - [mpm] Add new command to export installed packages to a SBOM file in SPDX or CycloneDX standard. Closes {issue}`936`. - [mpm] Add new dependencies on `spdx-tools` and `cyclonedex-python-lib`. - [mpm] Update list of recognized pURL scheme types. - [apt] Add architecture in package metadata. ## [5.17.0 (2024-07-07)](https://github.com/kdeldycke/meta-package-manager/compare/v5.16.0...v5.17.0) - [uv] Add support for `uv` package manager for Python. - [mpm] Add `--no-<manager-id>` negative selection flags for each single manager. Closes {issue}`882`. - [mpm] Deprecate `-m`/`--manager` and `-e`/`--exclude` options in favor of single `--<manager-id>`/`--no-<manager-id>` selectors. - [bar-plugin] Identify `uv`-based virtual envs to run `mpm` executable. - [mpm] Stop CLI execution if manager selection parameters ends up with no managers being retained. - [mpm] Switch from Poetry to `uv`. - [mpm] Drop support for Python 3.8. - [mpm] Add dependency on `more-itertools`. - [mpm] Add metadata and icon to binaries produced by Nuitka. - [mpm] Mark Python 3.13-dev tests as stable. - [bar-plugin] Reactivate login shells invocation tests. - [bar-plugin] Skip rendering tests on GitHub. - [mpm] Remove `sys.path` cleaning hack in `__main__` invocation. - [mpm] Reactivate config file test for `restore` subcommand. ## [5.16.0 (2024-05-24)](https://github.com/kdeldycke/meta-package-manager/compare/v5.15.0...v5.16.0) - [winget] Add support for WinGet on Windows. Closes {issue}`500` and {issue}`1241`. - [scoop] Add `mpm` installation instructions with `scoop`. - [bar-plugin] Dynamiccaly search for Python, virtual envs and `mpm` executable instead of relying on hard-coded `PATH` environment variable. - [bar-plugin] Replace `--check-mpm` parameter by `--search-mpm` with complete results reporting. - [mpm] Slim down package by moving unit tests out of the main package. - [mpm] Split `dev` dependency groups into optional `test`, `typing` and `docs` groups. - [mpm] Remove direct dependency on `click` and `mypy`. - [mpm] Make `typing-extensions` dependency optional. ## [5.15.0 (2024-02-25)](https://github.com/kdeldycke/meta-package-manager/compare/v5.14.2...v5.15.0) - [pkg] Add support for `pkg` on FreeBSD. - [choco] Bump minimal `choco` requirement to `2.0.0`. - [bar-plugin] Keep original indention of Python traceback. - [mpm] Build `arm64` binaries on `macos-14`. - [mpm] Run tests on `macos-14` instead of `macos-13`. - [mpm] Run tests on Python 3.13-dev branch. - [mas] Deactivate integration tests for `mas` on macOS, which always timeout. - [mpm] Reintroduce coloring of version. Refs {pr}`1152`. - [mpm] Use external workflow to manage issues and PRs content-based labelling. ## [5.14.2 (2024-01-17)](https://github.com/kdeldycke/meta-package-manager/compare/v5.14.1...v5.14.2) - [mpm] Fix installation from `pipx`. Closes {issue}`1154`. ## [5.14.1 (2024-01-16)](https://github.com/kdeldycke/meta-package-manager/compare/v5.14.0...v5.14.1) - [bar-plugin] Always call `mpm --version` without color. - [bar-plugin] Increase robustness of `mpm` version parsing, whether its colored or not. - [mpm] Temporary disable version output in color to fix already installed plugin/binary pairs. Closes {pr}`1152`. ## [5.14.0 (2024-01-12)](https://github.com/kdeldycke/meta-package-manager/compare/v5.13.1...v5.14.0) - [mpm] Add a `-t`/`--timeout` option to set the maximum duration of each CLI call. Defaults to 10 minutes. - [mpm] Drop support of Python 3.7. - [scoop] Fix parsing of Scoop version. - [mpm] Group platforms by family in the `managers` subcommand. - [mpm] Run tests and actions on released Python 3.12 version. - [mpm] Run tests on `macos-13`. Remove tests on `macos-12`, `macos-11`, `ubuntu-20.04` and `windows-2019`. - [mpm] Run bar plugin unittests in their independent, non-parallel step. - [mpm] Skip testing on intermediate Python versions to speed up CI. Only the oldest and latest supported. - [mpm] Skip configuration-related tests while we investigate test isolation. - [mpm] Fix fetching of full local copy of cask tap in tests to allow for checkout of past formula. - [mpm] Replace unmaintained `bump2version` by `bump-my-version`. ## [5.13.1 (2023-05-04)](https://github.com/kdeldycke/meta-package-manager/compare/v5.13.0...v5.13.1) - [apt] Fix omission of the final result in an `apt` (non-mint) search. - [mpm] Defaults to case-insensitive, lexicographical sort of package IDs in `backup` subcommand. - [mpm] Update `brew` installation instructions now that `mpm` is available in official Homebrew repository. ## [5.13.0 (2023-03-31)](https://github.com/kdeldycke/meta-package-manager/compare/v5.12.0...v5.13.0) - [mpm] Add new `which`/`locate` subcommand to search for CLIs in user's environment. - [mpm] Allow usage of `sudo` for CLI invocation on all UNIXes, not Linux only. Closes {issue}`976`. - [apt] Fix parsing of search results for `apt` and `apt-mint`. Closes {issue}`881` and {issue}`966`. - [mpm] Adds `--run-destructive`, `--skip-destructive`, `--run-non-destructive` and `--skip-non-destructive` custom options to Pytest. - [mpm] Run non-destructive tests in parallel and destructive ones in sequential order. - [mpm] Move all documentation assets to `assets` subfolder. ## [5.12.0 (2023-02-25)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.7...v5.12.0) - [mpm] Refactor CLI search to allow all matching to be reported. This will open the way to future support of multiple versions of the same package manager. Refs {issue}`629`. - [mpm] Exclude empty files for our CLI search results to skip Microsoft's dummy placeholders on Windows. Closes {issue}`927`. - [mpm] Fix composition of CLI search path on Windows. - [mpm] Deduplicate entries in the list of composed CLI search path. - [mpm] Do not search for CLI in current directory on Windows. - [mpm] Fix case-insensitive highlighting of CLI names in path on Windows. - [yarn] Do not test `yarn` on Linux and Windows. - [mpm] Do not force test order on Windows. ## [5.11.7 (2023-02-20)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.6...v5.11.7) - [mpm] Fix overlapping detection of `linux` and `wsl2` platforms. Closes {issue}`944`. - [pip] Print Python's own version in debug logs before checking for Pip's version. - [mpm] Code, comments and documentation style change to conform to new QA workflows based on `ruff`. - [mpm] Produce dependency graph in Mermaid instead of Graphviz. Add new dev dependency on `sphinxcontrib-mermaid`. ## [5.11.6 (2023-02-12)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.5...v5.11.6) - [mpm] Fix collection of artifact files from their folder. ## [5.11.5 (2023-02-12)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.4...v5.11.5) - [mpm] Fix collection of artifact files from their folder. ## [5.11.4 (2023-02-12)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.3...v5.11.4) - [mpm] Fix attachment of binaries to GitHub release. ## [5.11.3 (2023-02-12)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.2...v5.11.3) - [mpm] Fix attachment of binaries to GitHub release. ## [5.11.2 (2023-02-11)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.1...v5.11.2) - [mpm] Refine bug report template. - [mpm] Fix attachment of binaries to GitHub release. ## [5.11.1 (2023-02-10)](https://github.com/kdeldycke/meta-package-manager/compare/v5.11.0...v5.11.1) - [mpm] Remove temporary direct dependency on `charset-normalizer`, fix has been pushed upstream to Nuitka. - [mpm] Rename artifacts attached to releases to benefits from stable URLs pointing to latest downloads. - [mpm] Fix some Windows unittests. ## [5.11.0 (2023-01-29)](https://github.com/kdeldycke/meta-package-manager/compare/v5.10.2...v5.11.0) - [mpm] Unlock run on any Unix-like platform. Closes {issue}`872`. - [brew] Activate `brew` on Windows Subsystem for Linux v2. - [choco] Bump minimal `choco` requirement to `0.10.4`. - [mpm] Depends on `charset-normalizer < 3` to fix Nuitka compilation. - [mpm] Run tests on Python `3.12-dev`. - [mpm] Reduce verbosity of pre-install steps in GitHub actions. - [mpm] Test `mpm` binaries. - [mpm] Force upgrade of Ruby on Windows test runners. - [mpm] Fix installation of old formulae in brew unittests. - [mpm] Force re-detection of `npm` CLI location on macOS subcommand unittests. - [mpm] Add new GitHub labels for newly supported platforms. - [mpm] Generates dependency graph in Graphviz format. ## [5.10.2 (2022-12-19)](https://github.com/kdeldycke/meta-package-manager/compare/v5.10.1...v5.10.2) - [mpm] Fix uploading of artifacts to GitHub release. ## [5.10.1 (2022-12-19)](https://github.com/kdeldycke/meta-package-manager/compare/v5.10.0...v5.10.1) - [mpm] Fix uploading of Nuitka binaries to GitHub release. ## [5.10.0 (2022-12-19)](https://github.com/kdeldycke/meta-package-manager/compare/v5.9.0...v5.10.0) - [mpm] Build standalone executable for macOS, Linux and Windows. Closes {issue}`725`. - [mpm] Force default output encoding of Windows executable to fix issue on Windows CI agents. - [bar-plugin] Disable `--bar-plugin-path` option if CLI not installed from sources. - [bar-plugin] Rename and move `meta_package_manager.7h.py` bar plugin script to eliminate dynamic module loading. - [mpm] Replace dynamic loading of package manager definition by static code. - [mpm] Highlight package manager's executable name when printing their path in logs. - [mpm] Hint at deprecation of manager in the support matrix. - [mpm] Execute all workflows with Python 3.11. ## [5.9.0 (2022-11-17)](https://github.com/kdeldycke/meta-package-manager/compare/v5.8.0...v5.9.0) - [pacaur] Implement `pacaur` support. Closes {issue}`816`. - [mpm] Allow managers to be flagged as deprecated. - [apm] Flag `apm` as deprecated. - [mpm] Remove Atom integration tests. - [mpm] Fix propagation of user selection of managers in `upgrade` and `remove` subcommands. - [mpm] Fix production of specifiers in `restore` subcommand. - [mpm] Fix installation of Scoop on Windows in unittests. - [mpm] Fix installation of brew on Ubuntu in unittests. - [mpm] Use form-based issue templates for bug reports and new package manager support requests. - [mpm] Remove use of deprecated `::set-output` directives and replace them by environment files. ## [5.8.0 (2022-10-05)](https://github.com/kdeldycke/meta-package-manager/compare/v5.7.0...v5.8.0) - [gem] Implement `remove` operation. - [mpm] Allow multiple packages to be fed to `install`, `upgrade` and `remove` subcommands. - [mpm] Allow for a mix of plain, `@`-based and `pkg:`-prefixed purl specifiers on `install`, `upgrade` and `remove` subcommands. Closes {issue}`669`. - [mpm] Pass version specifier to `install` operation in `restore` subcommand. - [mpm] Output warning for `install` and `upgrade_one_cli` operations not implementing version parameter. - [mpm] Remove GitHub edit link workaround in documentation. ## [5.7.0 (2022-09-27)](https://github.com/kdeldycke/meta-package-manager/compare/v5.6.2...v5.7.0) - [scoop] Add support for Scoop on Windows. Closes {issue}`546`. - [mpm] Fix imports from `click.extra`. Closes {issue}`783`. ## [5.6.2 (2022-09-27)](https://github.com/kdeldycke/meta-package-manager/compare/v5.6.1...v5.6.2) - [mpm] Fix imports from `click.extra`. ## [5.6.1 (2022-09-26)](https://github.com/kdeldycke/meta-package-manager/compare/v5.6.0...v5.6.1) - [mpm] Fix import from private `click.extra` submodule. ## [5.6.0 (2022-09-26)](https://github.com/kdeldycke/meta-package-manager/compare/v5.5.1...v5.6.0) - [brew,cask] Add support for `remove` operation in homebrew. - [pacman] Fix `pacman` install operation. Closes {pr}`766`. - [bar-plugin] Check for minimal Python version. - [mpm] Run tests on `ubuntu-22.04` and `macos-12`. - [mpm] Remove tests on `macos-10.15` and `ubuntu-18.04`, they're deprecated by GitHub. - [mpm] Fix plugin rendering tests. - [mpm] Always run plugin rendering tests in Poetry venv. - [bar-plugin] Add a `--check-mpm` option to tests the mpm binary search phase without running a full outdated package listing. - [mpm] Tests Python and plugin invocation in lots of shell configuration. - [mpm] Deactivate login shell tests. - [mpm] Force Homebrew tap repair in tests. - [mpm] Dynamiccaly get location of Homebrew Cask formulas in tests. - [mpm] Install `dnf` in tests as of `ubuntu-22.04`. Closes {issue}`563`. - [mpm] Add `upgrade_all` operation in support matrix. - [mpm] Rely on external workflow to set Python version parameters for `mypy`, `black` and `pyupgrade` jobs. ## [5.5.1 (2022-07-08)](https://github.com/kdeldycke/meta-package-manager/compare/v5.5.0...v5.5.1) - [mpm] Eliminate rendering of `None` cells to `<null>` in tables. - [mpm] Add a `--refilter`/`--no-refilter` option to `search` to allow bypassing of `mpm` default refiltering. - [npm] Implements `remove` operation. - [npm] Use canonical commands for operations. - [npm] Reduce output verbosity with `--no-fund` and `--no-audit` options. - [yarn] Implements `remove` operation. - [yarn] Fix, document and cleanup all global commands. - [yarn] Set minimal `yarn` version to `1.20.0`, as it should have been. - [bar-plugin] Silence all errors but critical ones on `outdated` invocation to prevent a failing manager to block rendering of the plugin output. ## [5.5.0 (2022-07-08)](https://github.com/kdeldycke/meta-package-manager/compare/v5.4.0...v5.5.0) - [mpm] Restore behavior of having `upgrade` assuming `--all` option on a bare call. Closes {issue}`715`. - [cask] Fix parsing of multiple reported installed versions. - [emerge] Locate and validate `qlist` and `eclean` CLI availability. - [snap] Fix parsing of empty search results. - [mpm] Allow package name to be empty instead of duplicating it to package ID. - [mpm] Keep the operation matrix on the `readme.md` in sync with current code by inspecting implementation. - [mpm] Add type hints. Closes {issue}`655`. - [mpm] Auto-check type hinting in CI. - [mpm] Render type hints in documentation. - [mpm] Add metadata for easy citation in academic content. - [mpm] Deactivate Atom install in macOS tests as it seems broken. ## [5.4.0 (2022-06-28)](https://github.com/kdeldycke/meta-package-manager/compare/v5.3.0...v5.4.0) - [mpm] Allow global `upgrade` of a subset of packages from the command line if no ambiguity is identified. - [mpm] Add a `-A`/`--all` option to `upgrade` operation. - [mpm] Add a `-d`/`--duplicates` option to `installed` operation to only show packages sharing the same ID across multiple managers. - [mpm] Add a global `--description` option but only implement it for `search` operation. - [mpm] Always show description for `--extended` search. Closes {issue}`503`. - [mpm] Rename `--package-name` search option to `--id-name-only`. - [mpm] Add operation aliases: - `list` → `installed` - `uninstall` → `remove` - `update` → `upgrade` - `lock`/`freeze`/`snapshot` → `backup` - [mpm] Add a `--merge` option on `backup` operation to update target TOML file with new installed packages. - [mpm] Add an `--update-version` option on `backup` operation to only update version in the target TOML file. - [mpm] Add a `--overwrite`/`--force`/`--replace` option on `backup` operation to force TOML overwrite if destination file exists. - [pipx] Implement `outdated` operation. - [pip] Do not wait for user confirmation on `remove` operation. - [mpm] Switch package ID and name columns in table rendering. - [mpm] Rename all `*-like` labels to `*-based` to help finer identification of families. ## [5.3.0 (2022-06-25)](https://github.com/kdeldycke/meta-package-manager/compare/v5.2.0...v5.3.0) - [paru] Add `paru` support. - [pacman,paru,yay] Run `install`, `upgrade`, `remove` and `cleanup` operations with `sudo`. - [brew,cask] Implement extended search on description. - [cargo] Implement `remove` operation. - [mas] Fix parsing of variable-length output in `installed` and `outdated` operations. - [npm] Apply global variables to all operations. - [bar-plugin] Fix rendering of package managers without outdated packages. Closes {issue}`631`. - [mpm] Colorize version differences in `outdated` operation output. - [mpm] Add manager homepage URL metadata. - [mpm] Keep results matching description in `--extended` search mode. - [mpm] Simplify `installed`, `outdated` and `search` operation by relying on generators and a `package` dataclass. - [mpm] Disable workflow grouping and concurrency management. ## [5.2.0 (2022-06-16)](https://github.com/kdeldycke/meta-package-manager/compare/v5.1.0...v5.2.0) - [yay] Add `yay` support. Refs {issue}`527`. - [mpm,pacman,pip,pipx] Add `remove` operation. - [mpm] Add description in search results. Refs {issue}`503`. - [mpm] Always refilters search results manually to refine gross matchings. - [mpm] Document `brew` and Arch Linux installation. Refs {issue}`527`. - [mpm] Benchmark distribution of all `mpm` alternatives. - [mpm] Group workflow jobs so new commits cancels in-progress execution triggered by previous commits. - [mpm] Run tests on early Python 3.11 releases. ## [5.1.0 (2022-05-15)](https://github.com/kdeldycke/meta-package-manager/compare/v5.0.1...v5.1.0) - [pipx] Add `pipx` support. Closes {issue}`468`. - [cargo] Add `cargo` support. Closes {issue}`633`. - [mpm] Factorize search result refiltering code. - [mpm] Regroup `dnf` and `yum` labels. ## [5.0.1 (2022-04-28)](https://github.com/kdeldycke/meta-package-manager/compare/v5.0.0...v5.0.1) - [apt] Fix commands incompatible with `--yes` option. Closes {issue}`625`. - [mpm] Add `topgrade` and `pacaptr` in the list of benchmarked alternatives. - [mpm] Rename `alternative` page to `benchmark`. - [mpm] Fix label unittests. ## [5.0.0 (2022-04-25)](https://github.com/kdeldycke/meta-package-manager/compare/v4.13.1...v5.0.0) - [zypper] Add `zypper` support for Suse and OpenSuse. Closes {issue}`566`. - [emerge] Add `emerge` support. - [steamcmd] Add `steamcmd` support. Refs {issue}`10`. - [yum] Add dedicated `yum` package manager. Refs {issue}`415`. - [bar-plugin] Add new `DEFAULT_FONT` and `MONOSPACE_FONT` variable. - [bar-plugin] Rename all reference of `xbar` to the generic `bar-plugin` label. - [bar-plugin] Improve search for Python and `mpm` executable. - [bar-plugin] Restructure the plugin ↔ mpm relationship to delegate all plugin layout and rendering logic to `mpm`. - [bar-plugin] Prevent leaks when modifying environment variables. - [mpm] Allow `installed` and `outdated` commands to be optionally implemented by package managers. - [mpm] Add new `--plugin-output` option to `outdated` command. - [mpm] Add `tabulate` as direct dependency and refactor table alignment in plugin around it. - [mpm] Rename `--xbar-plugin-path` option to `--bar-plugin-path`. - [mpm] Remove `-c`/`--cli-format` option. - [mpm] Use short-form selection option and fully-qualified path in `mpm`-based upgrade-all CLIs produced by `outdated` command. - [mpm] Add dedicated execution path for running sudo-prefixed commands. - [mpm] Fix local overriding of CLI parameters leading to missing `sudo` pre-command. Closes {issue}`579`. - [mpm] Use string highlighting code from `click-extra >= 2.1.0`. - [mpm] Add edit links to documentation. ## [4.13.1 (2022-04-17)](https://github.com/kdeldycke/meta-package-manager/compare/v4.13.0...v4.13.1) - [apt] Add missing `sudo` pre-commands for `apt` calls that requires it. Closes {issue}`496` and {issue}`579`. - [snap] Fix command argument order. Address {issue}`579`. - [bar-plugin] Fix location of `mpm` binary on Apple Silicon machines. - [mpm] Replace `sphinx_tabs` by `sphinx-design`. - [mpm] Add SwiftBar plugin screenshots. - [mpm] Remove date-based shallowing of Homebrew git repository in unittests and considers the local runner copy to already be unshallowed. ## [4.13.0 (2022-04-16)](https://github.com/kdeldycke/meta-package-manager/compare/v4.12.1...v4.13.0) - [pacman] Add support for `pacman`. Closes {issue}`416`. - [apt-mint] Fix search. Closes {issue}`572` and {pr}`573`. - [apt-mint] Fix `--apt-mint` shortcut option. - [bar-plugin] Add support for SwiftBar. - [bar-plugin] Add new `TABLE_RENDERING` option to plugin. - [bar-plugin] Improve alignment of labels in monospaced font rendering. - [bar-plugin] Tweak icons. - [mpm] Allow the `meta_package_manager` module to be directly executed. - [mpm] Add `--xbar-plugin-path` option. - [mpm] Fix normalization of CLI arguments. - [mpm] Fix file not found error on non-Windows platform during version checking. ## [4.12.1 (2022-04-05)](https://github.com/kdeldycke/meta-package-manager/compare/v4.12.0...v4.12.1) - [mpm] Make CLI path evaluation more robust on Windows. Closes {issue}`542`. ## [4.12.0 (2022-04-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.11.0...v4.12.0) - [dnf] Add support for `dnf`. Closes {issue}`516`, refs {issue}`415`. - [yum] Allow `yum` to act as `dnf`. Closes {issue}`415`. - [brew,cask] Fix execution of `sync` command. - [mpm] Fix extraction of version. Closes {issue}`536`. ## [4.11.0 (2022-04-03)](https://github.com/kdeldycke/meta-package-manager/compare/v4.10.0...v4.11.0) - [brew,cask] Do not let homebrew auto-update on other commands. Refs {issue}`36`. - [brew,cask] Disable analytics and env hints in logs. - [bar-plugin] Fix log verbosity and unittests for xbar plugin. - [mpm] Show in debug logs the extra environment variable used for CLIs. - [mpm] Enforce code structure in package manager definition files. - [mpm] Fix documentation generation. ## [4.10.0 (2022-03-31)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.10...v4.10.0) - [mpm] Allow for package managers to simultaneously set a list of pre-commands and environment variables, as well as global arguments before and after the custom ones. - [mpm] Always run unittest in parallel. Adds development dependency on `pytest-xdist` and `psutil`. - [mpm] Use the `tomllib` from the standard library starting with Python 3.11. - [mpm] Cap `click-extra` requirement to `<1.7.0` to fix regression. Closes {issue}`518`. ## [4.9.10 (2022-03-09)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.9...v4.9.10) - [mpm] Fix execution error on Python 3.10 by updating `click-extra`. Closes {issue}`467`. - [mpm] Reactivate all unittests on Python 3.10. - [mpm] Remove artificial capping of Python 3.9 to some workflows. - [mpm] Use external workflow for dependency graph generation and Python code modernization. - [mpm] Remove direct dependency on `cloup`, `simplejson` and `pipdeptree`. ## [4.9.9 (2022-01-15)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.8...v4.9.9) - [mpm] Fix upload of build artifacts in GitHub release. ## [4.9.8 (2022-01-15)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.7...v4.9.8) - [mpm] Fix propagation of build artifacts to GitHub release and PyPi. - [mpm] Fix test of labelling rules. - [mpm] Remove local dependency on `graphviz` now that fixes were pushed upstream. ## [4.9.7 (2022-01-11)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.6...v4.9.7) - [mpm] Add release version in artifacts produced by Poetry builds. - [mpm] Pass local PyPi token to reused workflow to fix publishing. ## [4.9.6 (2022-01-11)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.5...v4.9.6) - [mpm] Fix detection of Poetry in build workflow. ## [4.9.5 (2022-01-11)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.4...v4.9.5) - [mpm] Use external workflow for package building and publishing via Poetry. - [mpm] Reused external label maintenance workflows and definitions. - [mpm] Add our custom labels to external syncing workflow. - [mpm] Auto-label sponsors. - [mpm] Remove changelog code left-overs. - [mpm] Aligns content of all PRs locally produced by workflows. ## [4.9.4 (2022-01-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.3...v4.9.4) - [mpm] Re-integrate artifacts in GitHub release on tagging. ## [4.9.3 (2022-01-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.2...v4.9.3) - [mpm] Fix GitHub release's content update. ## [4.9.2 (2022-01-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.1...v4.9.2) - [mpm] Regenerate GitHub release content body dynamiccaly on tagging. ## [4.9.1 (2022-01-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.9.0...v4.9.1) - [mpm] Automate minor and major version bump. - [mpm] Automate release preparation workflow. - [mpm] Trigger tagging, build and version bump on release event. - [mpm] Add a debug workflow for troubleshooting. ## [4.9.0 (2022-01-03)](https://github.com/kdeldycke/meta-package-manager/compare/v4.8.0...v4.9.0) - [mpm] Add single manager selector aliases: `--apm`, `--apt`, `--apt-mint`, `--brew`, `--cask`. `--choco`, `--composer`, `--flatpak`, `--gem`, `--mas`, `--npm`, `--opkg`, `--pip`, `--snap`, `--vscode` and `--yarn`. - [brew,cask] Thorough cleanup: call `autoremove` commands to remove unused dependencies and use `--prune=all` to scrub the whole cache. - [mpm] Switch default table rendering to `rounded_outline`. - [mpm] Rely on `click-extra` for table rendering and tests. - [mpm] Remove direct dependencies on `click-log` and `cli-helpers`. - [mpm] Automate post-release version bump. - [mpm] Outsource some workflow definition to external repository. - [mpm] Fix generation of dependency graph. ## [4.8.0 (2021-11-01)](https://github.com/kdeldycke/meta-package-manager/compare/v4.7.0...v4.8.0) - [mpm] Add `--color`/`--no-color` (aliased to `--ansi`/`--no-ansi`) flags. - [mpm] Forces no color on JSON output. - [mpm] Group commands and options in help screen. - [mpm] Colorize options, choices, metavars and default values in help screens. - [mpm] Reintroduce coloring of `--version` option. - [mpm] Add dependency on `click-extra`. - [mpm] Use `sphinx-click` to auto-generate CLI documentation. - [mpm] Autofix Markdown content with `mdformat`. - [mpm] Simplify project management by abandoning the dual use of `main`/`develop` branches. ## [4.7.0 (2021-10-13)](https://github.com/kdeldycke/meta-package-manager/compare/v4.6.0...v4.7.0) - [mpm] Add help screen coloring. - [mpm] Change documentation theme from classic RTD to furo. - [mpm] Move documentation from `readthedocs.org` to `github.io`. - [mpm] Rewrite documentation from rST to MyST. - [mpm] Add dependency on `cloup`. - [mpm] Removes `click-help-colors` dependency. - [mpm] Run tests on Python 3.10. - [mpm] Add a contribution guide stub in documentation. Closes {issue}`276`. ## [4.6.0 (2021-10-04)](https://github.com/kdeldycke/meta-package-manager/compare/v4.5.0...v4.6.0) - [mpm] Implements XKCD 1654. Closes {issue}`10`. - [mpm] Add `-x`/`--xkcd` option to forces manager selection. - [mpm] Let `-m`/`--manager` multi-option keep order. ## [4.5.0 (2021-09-30)](https://github.com/kdeldycke/meta-package-manager/compare/v4.4.0...v4.5.0) - [choco] Add Chocolatey package manager. - [mpm] Skip by default the evaluation of package managers not supported on the user's platform. Closes {issue}`278`. - [mpm] Add a `-a`/`--all-managers` option to force the evaluation of all managers. - [mpm] Fix highlighting of substrings in search results. ## [4.4.0 (2021-09-27)](https://github.com/kdeldycke/meta-package-manager/compare/v4.3.0...v4.4.0) - [mpm] Add a global `-d`/`--dry-run` option. - [apt] Add dedicated `apt-mint` manager to handle the special case of `apt` on Linux Mint. - [bar-plugin] Let xbar plugin check minimal mpm version requirement. - [mpm] Use regexpes to extract package manager versions. - [mpm] Add beta `windows-2022` CI/CD build target. - [mpm] Remove all the unused utilities to discard some table rendering on Windows. ## [4.3.0 (2021-09-25)](https://github.com/kdeldycke/meta-package-manager/compare/v4.2.0...v4.3.0) - [mpm] Add new `install` command. Closes {issue}`21`. - [vscode] Add support for Visual Studio Code plugins. - [mpm] Finish complete `restore` command implementation. Closes {issue}`38`. - [mpm] Remove un-enforced poetry-like caret-based version specification from TOML backup files. - [mpm] Forces logger state reset before each CLI call in unittests. ## [4.2.0 (2021-09-21)](https://github.com/kdeldycke/meta-package-manager/compare/v4.1.0...v4.2.0) - [mpm] Add support for TOML configuration file. Closes {issue}`66`. - [mpm] Add `-C`/`--config` option to point to specific configuration file. - [mpm] Upgrade to Click 8.x. - [mpm] Add support for `psql_unicode` and `minimal` table format. - [mpm] Set default table format to `psql_unicode` instead of `fancy_grid` to reduce visual noise. - [mpm] Add support for environment variables for all parameters, prefixed with `MPM_`. - [mpm] Let Click produce default values in help screen. - [mpm] Replace `tomlkit` dependency by `tomli` and `tomli_w`. - [bar-plugin] Fix xbar plugin output format. - [bar-plugin] Rename `VAR_SUBMENU_lAYOUT` environment variable to `VAR_SUBMENU_LAYOUT`. - [mpm] Remove support for `--cli-format bitbar` option. Use `xbar` value instead. ## [4.1.0 (2021-05-01)](https://github.com/kdeldycke/meta-package-manager/compare/v4.0.0...v4.1.0) - [bar-plugin] Add new `Submenu layout` boolean option in xbar plugin UI. - [bar-plugin] Rename `XBAR_MPM_SUBMENU` environment variable to `VAR_SUBMENU_lAYOUT`. - [mpm] Allow search of multiple CLI names for a package manager. - [pip] Fix search of `python3` binary on macOS. Closes {issue}`247`. ## [4.0.0 (2021-04-27)](https://github.com/kdeldycke/meta-package-manager/compare/v3.6.0...v4.0.0) - [bar-plugin] Upgrade BitBar plugin to new xbar format. - [bar-plugin] Drop xbar plugin requirement on Python 2.x and bump it up to Python 3.7.3. - [bar-plugin] Update references of BitBar to xbar. - [bar-plugin] Rename `BITBAR_MPM_SUBMENU` environment variable to `XBAR_MPM_SUBMENU`. - [mpm] Rename `--cli-format bitbar` option to `--cli-format xbar`. - [mpm] Auto-generate API documentation via a GitHub action workflow. - [mpm] Only trigger dependency graph update on tagging to reduce noise. - [mpm] Re-introduce `isort`. ## [3.6.0 (2021-01-03)](https://github.com/kdeldycke/meta-package-manager/compare/v3.5.2...v3.6.0) - [brew] Add support for `brew` on Linux. - [brew,cask] Bump minimal requirement of `brew` to `2.7.0`. - [cask] Address deprecation of `cask` CLI subcommands. - [pip] `pip search` has been disabled by maintainers because of server-side high-load. - [mpm] Add test runs against new OSes and distributions: `ubuntu-18.04` and `macos-11.0`. - [mpm] Remove `pycodestyle` now that we rely on `black`. - [mpm] Add emoji to issue labels. ## [3.5.2 (2020-10-29)](https://github.com/kdeldycke/meta-package-manager/compare/v3.5.1...v3.5.2) - [mpm] Run tests on Python 3.9. - [mpm] Upgrade to `Poetry 1.1.0`. - [mpm] Colorize version screen and add debug data. - [mpm] Test publishing to PyPi in dry-run mode by the way of Poetry. - [mpm] Make all keyword-based choice parameters (`--manager`, `--exclude`, `--output-format`, `--sort-by` and `--cli-format`) case-insensitive. - [mpm] Pin versions of OSes and distributions in CI workflows to `ubuntu-20.04`, `macos-10.15` and `windows-2019`. - [mpm] Always print errors in unittest's CLI calls. - [mpm] Slow-down tests to prevent PyPi rate-limiting on live API. - [mpm] Fix `brew` setup on macOS CI runners. - [mpm] Fix `npm` setup in Ubuntu 18.04 and 20.04 CI runners. - [mpm] Use latest `Atom` version in Ubuntu CI runners. ## [3.5.1 (2020-10-03)](https://github.com/kdeldycke/meta-package-manager/compare/v3.5.0...v3.5.1) - [mpm] Defaults to `--continue-on-error` instead of stopping. - [mpm] Force checking of CLI being a file. - [mpm] Auto-optimize images. - [mpm] Auto-lock closed issues and PRs after a moment of inactivity. ## [3.5.0 (2020-09-20)](https://github.com/kdeldycke/meta-package-manager/compare/v3.4.2...v3.5.0) - [mpm] Fix `--stop-on-error` parameter: it was never taken into account. - [brew,cask] Bump minimal requirement of `brew` to `2.5.0`. - [brew,cask] Fix warning to deprecated options. - [npm] Always fix JSON parsing on error for any npm subcommand. ## [3.4.2 (2020-09-13)](https://github.com/kdeldycke/meta-package-manager/compare/v3.4.1...v3.4.2) - [brew,cask] Do not mix-up brew and cask upgrades. - [npm] Skip parsing of JSON results on error. ## [3.4.1 (2020-09-02)](https://github.com/kdeldycke/meta-package-manager/compare/v3.4.0...v3.4.1) - [mpm] Rename `master` branch to `main`. ## [3.4.0 (2020-08-18)](https://github.com/kdeldycke/meta-package-manager/compare/v3.3.0...v3.4.0) - [yarn] Set minimal requirement to `1.20.0`. - [yarn] Fix deprecated global arguments. - [bar-plugin] Force refresh of local package databases before fetching outdated ones. - [mpm] Add utilities to read a config TOML file. Refs {issue}`66`. - [mpm] Auto-format Python code with Black. - [mpm] Move `pytest` config from `setup.py` to `pyproject.toml`. - [mpm] Removes `isort`. - [mpm] Auto-update Python's dependencies. - [mpm] Auto-update GitHub actions. - [mpm] Auto-update `.gitignore` file. - [mpm] Auto-update `.mailmap` file. - [mpm] Lint all YAML files. Add dependency on `yamllint` package. - [mpm] Removes `requires.io` and Scrutinizer badges. - [mpm] Revert to `pipdeptree` to produce package dependency graph. ## [3.3.0 (2020-06-23)](https://github.com/kdeldycke/meta-package-manager/compare/v3.2.0...v3.3.0) - [bar-plugin] Each entry in the drop-down menu can now be called into a terminal to track the execution by holding the `Option` key. - [bar-plugin] Fix rendering of upgrade CLI in Bitbar dialect. - [mpm] Hint for lack of `sync` and `cleanup` support by managers. - [mpm] Do not print table headers if there is no row to print. - [mpm] Always print non-fatal `<stderr>` output as warning mode. - [mpm] Skip table rendering tests if no table is printed to stdout. Fixes flacky tests. - [mpm] Replace internal helpers with upstreamed `boltons 20.2.0` utils. - [mpm] Force test marked as `xfail` count as failure if they succeed. - [mpm] Always check wheel content. - [mpm] Automate creation of GitHub release. - [mpm] Automate publishing of package to PyPi on tagging. - [mpm] Save build artifacts on each CI runs. - [mpm] Auto-sort module imports. - [mpm] Auto-fix common typos. - [mpm] Lint JSON files. - [mpm] Automate GitHub label generation and synchronization. - [mpm] Automatically applies labels on PRs and issues depending on their changed files and content. - [mpm] Check label rules against manager definitions. Adds development dependency on `PyYAML`. ## [3.2.0 (2020-05-31)](https://github.com/kdeldycke/meta-package-manager/compare/v3.1.0...v3.2.0) - [snap] Add support for `snap` on Linux. - [cask] Rely on JSON output to fetch outdated packages. - [brew,cask] Bump minimal requirement to 2.2.15. - [pip] Remove `pip2`/`pip3` distinctions, use system's python and call `pip` module. - [windows] Allow discarding of some table rendering on Windows. - [mpm] Add `--time`/`--no-time` flag to show elapsed execution time. Closes {issue}`9`. - [mpm] Print table rendering, stats and timing in console output instead of logger to allow them to be greppable. - [bar-plugin] Test plugin with Python 2.7. - [mpm] Allow for manager-specific search path to help hunting down CLIs. - [mpm] Highlight CLI and indent results in debug output. - [mpm] Bump dependency to `pylint 2.5` and `cli-helpers 2.0`. - [mpm] Use local copy of `boltons` utils while we wait for upstream release. - [mpm] Move pylint config from `setup.cfg` to `pyproject.toml`. - [mpm] Fail CI and QA checks if pylint score lower than 9. - [mpm] Add more platform definition unittests. - [mpm] Unittests all rendering modes in all subcommands. - [mpm] Randomize unittests. - [mpm] Drop support of Python 3.6. - [mpm] Use group-tabs in Sphinx docs. ## [3.1.0 (2020-04-02)](https://github.com/kdeldycke/meta-package-manager/compare/v3.0.0...v3.1.0) - [mpm] Add new `cleanup` command. Closes {issue}`5`. - [mpm] Improve table sorting with new version-aware tokenizer. - [mpm] Highlight manager IDs depending on their availability in `managers` command. - [gem] Ignore `default:` prefix on package version parsing. - [mpm] Remove `packaging` dependency. Rely on internal version parsing. - [mpm] Add new `--exact` and `--extended` parameters to `search` command. - [mpm] Highlight search matches in console output. - [mas] Retrieve version in search results. - [mas] Bump minimal version to `1.6.1`. - [mpm] Allow stats to be printed for `backup` command. - [gem] Bump minimal requirement to `2.5.0`. ## [3.0.0 (2020-03-25)](https://github.com/kdeldycke/meta-package-manager/compare/v2.9.0...v3.0.0) - [mpm] Add new `backup` and dummy `restore` commands to respectively dump and load up list of installed packages to/from a TOML file. Refs {issue}`38`. - [mpm] Add dependency on `tomlkit`. - [yarn] Add support for `yarn` package manager for Linux, macOS and Windows. - [yarn] Install yarn on all unittest platforms. - [mpm] Allow exclusion of a subset of package managers. Closes {issue}`45`. - [pip] Collect installer metadata on listing. - [pip] Bump minimal requirement of `pip` to `10.0.*`. - [mpm] Prepend `/usr/local/bin` to cli search path. - [npm] `install package@version` instead of `update package`. - [npm] Skip update notifier. - [brew,cask] Allow independent search for each manager. - [brew,cask] Bump minimal requirement of to `2.2.9`. - [mpm] Allow sorting restuls by packages, managers or version. Closes {issue}`35` and {pr}`37`. - [mpm] Add shell completion for Bash, Zsh and Fish. - [mpm] Do not force sync when calling outdated. Closes {issue}`36`. - [apt] Fallback on `apt version apt` when looking for version. Closes {pr}`57` and {issue}`52`. - [mpm] Removes all copyright dates. - [mpm] Replace unmaintained `bumpversion` by `bump2version`. - [mpm] Raise requirement to `click 7.1`. - [mpm] Raise requirement to `boltons >= 20.0`. ## [2.9.0 (2020-03-18)](https://github.com/kdeldycke/meta-package-manager/compare/v2.8.0...v2.9.0) - [mpm] Drop support of Python 2.7, 3.4 and 3.5. Add support for Python 3.8. - [windows] Add support for `apm`, `composer`, `gem`, `npm` and `pip2` on Windows. - [linux] Add support for `Flatpak` and `opkg` package managers on Linux. - [gem] Force Ruby `gem` to install packages to user-install by default. Refs {issue}`58`. - [pip] Force Python `pip` upgrade to user-installed packages. Refs {pr}`58`. - [brew] Fix call to `brew upgrade --cleanup`. Refs {issue}`50`. - [brew] Fix parsing of `brew` version. Closes {issue}`49` and {pr}`51`. - [mpm] Switch from Travis to GitHub actions. - [composer] Install `composer` in all platforms CI runners. - [linux] Install `flatpak` in Linux CI runner. - [windows] Install `apm` in Windows CI runner. - [mpm] Bump requirement to `click-log >= 0.3`. - [mpm] Add non-blocking Pylint code quality checks in CI. - [mpm] Check for conflicting dependencies in CI. - [mpm] Use Poetry for package and virtualenv management. - [mpm] Replace `pipdeptree` by Poetry CLI output. - [mpm] Remove `backports.shutil_which` dependency. - [mpm] Update `.gitignore`. - [mpm] Drop all Python 3.0 `__future__` imports. - [mpm] Add detailed usage CLI page in documentation. ## [2.8.0 (2019-01-03)](https://github.com/kdeldycke/meta-package-manager/compare/v2.7.0...v2.8.0) - [composer] Add support for PHP `composer`. - [cask] Remove `cask`-specific `version`, `sync` and `search` command. Closes {issue}`47`. - [brew] Vanilla brew and cask CLIs now shares the same version requirements. - [brew] Bump minimal requirement of `brew` and `cask` to `1.7.4`. - [mpm] Activate unittests in Python 3.7. - [mpm] Drop Travis unittests on deprecated Ubuntu Precise targets and vintage Mac OS X 10.10 and 10.11. - [mpm] Use latest macOS 10.12 and 10.13 Travis images. ## [2.7.0 (2018-04-02)](https://github.com/kdeldycke/meta-package-manager/compare/v2.6.1...v2.7.0) - [mpm] Add new `--ignore-auto-updates` and `--include-auto-updates` boolean flags. - [mpm] Support even fancier table output rendering, including `csv` and `html`. - [mpm] Depends on `cli-helpers` package to render tables. - [mpm] Removes direct dependency on `tabulate`. - [cask] Fix minimal version check for `cask`. Closes {issue}`41` and {pr}`44`. - [bar-plugin] Do not run BitBar plugin unittests but on macOS. ## [2.6.1 (2017-11-05)](https://github.com/kdeldycke/meta-package-manager/compare/v2.6.0...v2.6.1) - [mpm] Fix Travis unittests. ## [2.6.0 (2017-09-11)](https://github.com/kdeldycke/meta-package-manager/compare/v2.5.0...v2.6.0) - [apt] Add support for `apt` on Linux systems. - [pip] Use pip 9.0 JSON output. Closes {issue}`18`. - [pip] Bump minimal requirement of `pip` to `9.0.*`. - [cask] Use new `brew cask outdated` command. - [cask] Remove usage of deprecated `brew cask update` command. - [cask] Bump minimal requirement of `cask` to `1.1.12`. - [mpm] Add dependency on `simplejson`. - [mpm] Bump requirement to `click_log >= 0.2.0`. Closes {issue}`39`. - [mpm] Replace `nose` by `pytest`. - [mpm] Only notify by mail of test failures. ## [2.5.0 (2017-03-01)](https://github.com/kdeldycke/meta-package-manager/compare/v2.4.0...v2.5.0) - [mpm] Auto-detect location of manager CLI on the system. - [mpm] Add new `search` operation. Closes {issue}`22`. - [npm] Bump minimal requirement of `npm` to `4.0.*`. - [mpm] Rename `list` operation to `installed`. - [apm,gem,linux,npm] Allow use of `apm`, `gem` and `npm` managers on Linux. - [mpm] Add new `--stats`/`--no-stats` boolean flags. Closes {issue}`8`. - [mpm] Add new `--stop-on-error`/`--continue-on-error` parameters to make CLI errors either blocking or non-blocking. - [mpm] Allow reporting of several CLI errors by managers. - [mpm] Allow selection of a subset of managers. - [mpm] Do not force a `sync` before listing installed packages in CLI. - [mpm] Rework API documentation. - [cask] Add unittest to cover unicode names for Cask packages. Closes {issue}`16`. - [cask] Add unittest to cover Cask packages with multiple names. Refs {issue}`26`. - [mpm] Drop support of Python 3.3. ## [2.4.0 (2017-01-28)](https://github.com/kdeldycke/meta-package-manager/compare/v2.3.0...v2.4.0) - [mpm] Add new `list` operation. Closes {issue}`20`. - [mas] Fix upgrade of `mas` packages. Closes {issue}`32`. - [bar-plugin] Document BitBar plugin release process. - [mpm] Colorize check-marks in CLI output. - [mpm] Decouple `sync` and `outdated` actions in all managers. - [mpm] Cache output of `outdated` command. - [mpm] Add global todo list in documentation. - [mpm] Bump requirement to `boltons >= 17.0.0` for Python 3.3 compatibility. ## [2.3.0 (2017-01-15)](https://github.com/kdeldycke/meta-package-manager/compare/v2.2.0...v2.3.0) - [mpm] Add Sphinx documentation. Closes {issue}`24`. - [mpm] Add installation instructions. Closes {issue}`19`. - [mpm] Add a list of *Falsehoods Programmers Believe About Package Managers*. - [mpm] Add a `.mailmap` config file to consolidate contributor's identity. - [bar-plugin] Make it easier to change the font, size and color of text in BitBar plugin. - [bar-plugin] Move error icon in BitBar plugin to the front of manager name. - [cask] Fix parsing of `cask` packages with multiple names. Closes {issue}`26`. - [bar-plugin] Move BitBar plugin documentation to dedicated page. - [mpm] Fix exceptions when commands gives no output. Closes {issue}`29` and {pr}`31`. - [cask] Fix `cask update` deprecation warning. Closes {issue}`28`. - [mpm] Activate unittests in Python 3.6. - [mpm] Replace double by single-width characters in `mpm` output to fix table misalignment. Closes {issue}`30`. ## [2.2.0 (2016-12-25)](https://github.com/kdeldycke/meta-package-manager/compare/v2.1.1...v2.2.0) - [mpm] Rename `supported` property of managers to `fresh`. - [mpm] Allow restriction of package managers to a platform. Closes {issue}`7`. - [mpm] Include `supported` property in `mpm managers` sub-command. - [bar-plugin] Add optional submenu rendering for BitBar plugin. Closes {pr}`23`. - [bar-plugin] Move `Upgrade all` menu entry to the bottom of each section in BitBar plugin. - [pip] Allow destructive unittests in Travis CI jobs. - [pip] Allow usage of `pip2` and `pip3` managers on Linux. - [mpm] Print current platform in debug messages. - [mpm] Unittest detection of managers on each platform. ## [2.1.1 (2016-12-17)](https://github.com/kdeldycke/meta-package-manager/compare/v2.1.0...v2.1.1) - [brew,cask] Fix parsing of non-point releases of `brew` and `cask` versions. Closes {issue}`15`. - [bar-plugin] Do not render emoji in BitBar plugin menu entries. - [bar-plugin] Do not trim error messages rendered in BitBar plugin. - [mpm] Do not strip CLI output. Keep original format. - [mpm] Fix full changelog link. ## [2.1.0 (2016-12-14)](https://github.com/kdeldycke/meta-package-manager/compare/v2.0.0...v2.1.0) - [bar-plugin] Adjust rendering of BitBar plugin errors. - [mpm] Fix fetching of log level names in Python 3.4+. - [mpm] Print CLI output in unittests. - [mpm] Print more debug info in unittests when CLI produce tracebacks. - [macos] Drop support and unittests on Mac OS X 10.9. - [macos] Add new macOS 10.12 target for Travis CI builds. - [bar-plugin] Move BitBar plugin within the Python module. - [mpm] Show unmet version requirements in table output for `mpm managers` sub-command. - [mpm] Fix duplicates in outdated packages by indexing them by ID. - [bar-plugin] Unittest simple call of BitBar plugin. - [mpm] Always print the raw, un-normalized version of managers, as reported by themselves. - [mpm] Fetch version of all managers. - [mpm] Make manager version mandatory. - [mpm] Bump requirement to `readme_renderer >= 16.0`. - [mpm] Always remove ANSI codes from CLI output. - [mpm] Fix rendering of unicode logs. - [mpm] Bump requirement to `click_log >= 0.1.5`. - [bar-plugin] Force `LANG` environment variable to `en_US.UTF-8`. - [bar-plugin,mpm] Share same code path for CLI execution between `mpm` and BitBar plugin. - [mpm] Add a `-d`/`--dry-run` option to `mpm upgrade` sub-command. - [macos] Remove hard-requirement on `macOS` platform. Refs {issue}`7`. - [macos,mpm] Fix upgrade of `setuptools` in `macOS` and Python 3.3 Travis jobs. ## [2.0.0 (2016-12-04)](https://github.com/kdeldycke/meta-package-manager/compare/v1.12.0...v2.0.0) - [bar-plugin] Rewrite BitBar plugin based on `mpm`. Closes {issue}`13`. - [bar-plugin] Render errors with a monospaced font in BitBar plugin. - [mpm] Add missing `CHANGES.rst` in `MANIFEST.in`. - [mpm] Make wheels generated under Python 2 environnment available for Python 3 too. - [mpm] Only show latest changes in the long description of the package instead of the full changelog. - [mpm] Add link to full changelog in package's long description. - [mpm] Bump trove classifiers status out of beta. - [mpm] Fix package keywords. - [mpm] Bump minimal `pycodestyle` requirement to 2.1.0. - [mpm] Always check for package metadata in Travis CI jobs. - [mpm] Add `upgrade_all_cli` field for each package manager in JSON output of `mpm outdated` command. ## [1.12.0 (2016-12-03)](https://github.com/kdeldycke/meta-package-manager/compare/v1.11.0...v1.12.0) - [mpm] Rename `mpm update` command to `mpm upgrade`. - [mpm] Allow restriction to only one package manager for each sub-command. Closes {issue}`12`. - [mpm] Differentiate packages names and IDs. Closes {issue}`11`. - [mpm] Sort list of outdated packages by lower-cased package names first. - [mpm] Add `upgrade_cli` field for each outdated packages in JSON output. - [bar-plugin,mpm] Allow user to choose rendering of `upgrade_cli` field to either one-liner, fragments or BitBar format. Closes {issue}`14`. - [mpm] Include errors reported by each manager in JSON output of `mpm outdated` command. - [cask] Fix parsing of multiple versions of `cask` installed packages. - [brew,cask] Fix lexicographical sorting of `brew` and `cask` package versions. - [mpm] Fix fall-back to iterative full upgrade command. - [mpm] Fix computation of outdated packages statistics. ## [1.11.0 (2016-11-30)](https://github.com/kdeldycke/meta-package-manager/compare/v1.10.0...v1.11.0) - [mpm] Allow rendering of output data into `json`. - [mpm] Sort list of outdated packages by lower-cased package IDs. - [brew,cask] Bump minimal requirement of `brew` to 1.0.0 and `cask` to 1.1.0. - [cask] Fix fetching of outdated `cask` packages. - [cask] Fix upgrade of `cask` packages. ## [1.10.0 (2016-10-04)](https://github.com/kdeldycke/meta-package-manager/compare/v1.9.0...v1.10.0) - [mpm] Add optional `version` property on package manager definitions. - [mpm] Allow each package manager to set requirement on its own version. - [mas] Let `mas` report its own version. - [mas] Bump minimal requirement of `mas` to 1.3.1. - [mas] Fetch currently installed version from `mas`. Closes {issue}`4`. - [mas] Fix parsing of `mas` package versions after the 1.3.1 release. - [mpm] Cache lazy properties to speed metadata computation. - [mpm] Shows detailed state of package managers in CLI. ## [1.9.0 (2016-09-23)](https://github.com/kdeldycke/meta-package-manager/compare/v1.8.0...v1.9.0) - [mpm] Fix `bumpversion` configuration to target `CHANGES.rst` instead of `README.rst`. - [mpm] Render list of detected managers in a table. - [macos] Use `conda` in Travis tests to install specific versions of Python across the range of macOS workers. - [macos] Drop support for PyPy while we search a way to install it on macOS with Travis. - [mpm] Let `mpm` auto-detect package manager definitions. - [mpm] Show package manager IDs in `mpm managers` CLI output. - [mpm] Rename `package_manager.7h.py` BitBar plugin to `meta_package_manager.7h.py`. - [mpm] Give each package manager its own dedicated short string ID. - [mpm] Keep a cache of instantiated package manager. - [mpm] Add unittests around package manager definitions. - [mpm] Do not display location of inactive managers, even if hard-coded. - [mpm] Split-up CLI-producing methods and CLI running methods in `PackageManager` base class. - [mpm] Add a new `update` CLI sub-command. - [mpm] Add a new `sync` CLI sub-command. - [mpm] Rename managers' `active` property to `available`. - [mpm] Move all package manager definitions in a dedicated folder. - [mpm] Add simple CLI unittests. Closes {issue}`2`. - [mpm] Implement `outdated` CLI sub-command. - [mpm] Allow selection of table rendering. - [cask] Fix parsing of unversioned cask packages. Closes {pr}`6`. ## [1.8.0 (2016-08-22)](https://github.com/kdeldycke/meta-package-manager/compare/v1.7.0...v1.8.0) - [mpm] Move the plugin to its own repository. - [mpm] Rename `package-manager` project to `meta-package-manager`. - [mpm] Add a `README.rst` file. - [mpm] License under GPLv2+. - [mpm] Add `.gitignore` config. - [mpm] Add Python package skeleton. Closes {issue}`1`. - [mpm] Split `CHANGES.rst` out of `README.rst`. - [mpm] Add Travis CI configuration. - [mpm] Use semver-like 3-components version number. - [bar-plugin] Copy all BitBar plugin code to Python module. - [mpm] Give each supported package manager its own module file. - [mpm] Add minimal `mpm` meta CLI to list supported package managers. - [mpm] Add default `bumpversion`, `isort`, `nosetests`, `coverage`, `pep8` and `pylint` default configuration. ## [1.7.0 (2016-08-16)](https://github.com/kdeldycke/meta-package-manager/compare/v1.6.0...v1.7.0) - [brew] Fix issues with `$PATH` not having Homebrew/Macports. - [pip] New workaround for full `pip` upgrade command. - [cask] Workaround for Homebrew Cask full upgrade command. - [mpm] Grammar fix when 0 packages need to be upgraded. ## [1.6.0 (2016-08-10)](https://github.com/kdeldycke/meta-package-manager/compare/v1.5.0...v1.6.0) - [pip] Work around the lacks of full `pip` upgrade command. - [mpm] Fix `UnicodeDecodeError` on parsing CLI output. ## [1.5.0 (2016-07-25)](https://github.com/kdeldycke/meta-package-manager/compare/v1.4.0...v1.5.0) - [mas] Add support for `mas`. - [mpm] Don't show all `stderr` as `err` (check return code for error state). ## [1.4.0 (2016-07-10)](https://github.com/kdeldycke/meta-package-manager/compare/v1.3.0...v1.4.0) - [mpm] Don't attempt to parse empty lines. - [npm] Check for linked `npm` packages. - [gem] Support system or Homebrew Ruby Gems (with proper `sudo` setup). ## [1.3.0 (2016-07-09)](https://github.com/kdeldycke/meta-package-manager/compare/v1.2.0...v1.3.0) - [mpm] Add changelog. - [mpm] Add reference to package manager's issues. - [cask] Force Cask update before evaluating available packages. - [mpm] Add sample of command output as version parsing can be tricky. ## [1.2.0 (2016-07-08)](https://github.com/kdeldycke/meta-package-manager/compare/v1.1.0...v1.2.0) - [apm,gem,npm,pip] Add support for both `pip2` and `pip3`, Node's `npm`, Atom's `apm`, Ruby's `gem`. - [cask] Fixup `brew cask` checking. - [mpm] Don't die on errors. ## [1.1.0 (2016-07-07)](https://github.com/kdeldycke/meta-package-manager/compare/v1.0.0...v1.1.0) - [pip] Add support for Python's `pip`. ## [1.0.0 (2016-07-05)](https://github.com/kdeldycke/meta-package-manager/commit/170ce9) - [mpm] Initial public release. - [brew,cask] Add support for Homebrew and Cask.