<!--
SPDX-FileCopyrightText: Copyright 2026 Daniel Hast

SPDX-License-Identifier: Apache-2.0 OR MIT
-->

# Changelog

## [v0.2.7] - 2026-06-11

- Make `brew services` run as the user who invoked it, not as the `linuxbrew`
  user. This is because `brew services` is basically a wrapper around
  `systemctl --user`; in terms of the user/linuxbrew security boundary, it acts
  much more like running a program installed by Homebrew than installing a
  Homebrew package. Also add a warning that brew-proxy only has limited support
  for `brew services`, and some service units may require manual modification.
- Also make some trivial commands like `brew --prefix` and `brew shellenv` run
  as the invoking user since they just print fixed strings. This also fixes an
  issue where piping these commands would sometimes run into problems due to
  extra carriage returns coming from the PTY output.

## [v0.2.6] - 2026-06-07

- Reduce default log level for daemon to `info` (instead of `debug`).

## [v0.2.5] - 2026-06-06

- Add support for `brew trust`/`brew untrust` commands.
- Add systemd sandboxing to `brew-proxy-daemon.service` and
  `brew-proxy-setup.service`.

## [v0.2.4] - 2026-04-25

- Print brew-proxy info to stderr before running selected commands. In
  particular, `brew --version` and `brew config` display a line showing the
  brew-proxy version number, and `brew doctor` displays a message noting that
  brew-proxy is in use and directing the user to report issues to the right
  place.

## [v0.2.3] - 2026-04-22

- Improved Polkit action logic so `brew <COMMAND> --help` is treated the same as
  `brew --help <COMMAND>`, that is, it can be run by all users without
  authentication.
- Removed obsolete `sh.brew.BrewProxy.Client` interface from DBus policy config.
  (This was a leftover from an earlier design and doesn't do anything anymore.)

## [v0.2.2] - 2026-04-19

- Refactored Polkit action logic so that the action type can depend on the
  arguments passed to the brew command, not just the main command. This is now
  used for `brew upgrade` to classify it as an admin command (requiring
  authentication for non-`linuxbrew` users) if it has arguments outside a
  hard-coded list.
- Removed some unused code, including the DBus method for calling brew with no
  arguments. (Just call `brew help` instead if you want it to produce the same
  text.)
- Improved handling of I/O errors when copying PTY output. This means that
  unexpected I/O errors will no longer be ignored.

## [v0.2.1] - 2026-04-14

- Added non-interactive mode: If `BREW_PROXY_NONINTERACTIVE=1` is set in the
  environment, Polkit is instructed to deny access if authentication would be
  required, rather than prompting the user for authentication.

## [v0.2.0] - 2026-04-14

- First version after major redesign. Earlier tagged versions (v0.1.\*) were
  early prototypes and I didn't keep a changelog.

[v0.2.7]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.6...v0.2.7
[v0.2.6]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.5...v0.2.6
[v0.2.5]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.4...v0.2.5
[v0.2.4]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.3...v0.2.4
[v0.2.3]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.2...v0.2.3
[v0.2.2]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.1...v0.2.2
[v0.2.1]: https://codeberg.org/HastD/brew-proxy/compare/v0.2.0...v0.2.1
[v0.2.0]: https://codeberg.org/HastD/brew-proxy/src/tag/v0.2.0
