<feed xmlns='http://www.w3.org/2005/Atom'>
<title>prometheus-pacman-exporter, branch v1.1.1</title>
<subtitle>Collect pacman package metrics and export them for Prometheus.</subtitle>
<id>https://git.dennisfink.me/prometheus-pacman-exporter/atom/?h=v1.1.1</id>
<link rel='self' href='https://git.dennisfink.me/prometheus-pacman-exporter/atom/?h=v1.1.1'/>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/'/>
<updated>2026-09-27T19:43:00Z</updated>
<entry>
<title>chore(release): prepare v1.1.1</title>
<updated>2026-09-27T19:43:00Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T19:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=ccb0316f4158e4e4047102a3a23f842891d82b8b'/>
<id>urn:sha1:ccb0316f4158e4e4047102a3a23f842891d82b8b</id>
<content type='text'>
Bump the package version to 1.1.1 for the patch release.
</content>
</entry>
<entry>
<title>fix(commands): distinguish empty query results</title>
<updated>2026-09-27T19:37:45Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T19:37:45Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=c7403b5870aed4baaf5253d21761619d8607efb7'/>
<id>urn:sha1:c7403b5870aed4baaf5253d21761619d8607efb7</id>
<content type='text'>
Track exit codes that indicate an empty package query separately from
accepted success codes.

Treat pacman exit status 1 as an empty result only when both stdout and
stderr are empty, while preserving genuine command failures as errors.

Apply the empty-result handling to pacman queries that may legitimately
return no packages, including update checks.
</content>
</entry>
<entry>
<title>fix(commands): quote command arguments in diagnostics</title>
<updated>2026-09-27T19:13:54Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T19:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=731a25e096cf9af3c0c5b3303796df7b3e91df36'/>
<id>urn:sha1:731a25e096cf9af3c0c5b3303796df7b3e91df36</id>
<content type='text'>
Format executed commands with shlex.join() so debug and error messages
preserve argument boundaries and shell quoting.

Reuse the formatted command string for both command logging and failure
reporting.
</content>
</entry>
<entry>
<title>docs(cli): refine help and docstrings</title>
<updated>2026-09-27T19:12:51Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T19:12:51Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=742c5f38a9a9ede62102d692bf0591843ae9dea6'/>
<id>urn:sha1:742c5f38a9a9ede62102d692bf0591843ae9dea6</id>
<content type='text'>
Clarify that quiet mode also suppresses verbose output and simplify the
run_command docstring wording.

Add the missing None return annotation to the main CLI callback.
</content>
</entry>
<entry>
<title>chore(release): prepare v1.1.0</title>
<updated>2026-09-27T15:40:57Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T15:40:57Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=90151225e197e7121f6b97766cbf380fea4a2790'/>
<id>urn:sha1:90151225e197e7121f6b97766cbf380fea4a2790</id>
<content type='text'>
Bump the package version to 1.1.0 and update the revision date for the
release.
</content>
</entry>
<entry>
<title>build(packaging): expand project metadata</title>
<updated>2026-09-27T15:36:57Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T15:36:57Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=c94b0f6c858a178845ab2190b9169b37d75bcb59'/>
<id>urn:sha1:c94b0f6c858a178845ab2190b9169b37d75bcb59</id>
<content type='text'>
Add package keywords, classifiers, import metadata, and Pyright settings
to better describe the supported platform and intended audience.

Declare cloup as a direct dependency, require a recent Hatchling
version, and refresh the lockfile with cloup 4.0.0.
</content>
</entry>
<entry>
<title>docs(cli): clarify checkupdates option</title>
<updated>2026-09-27T15:30:54Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T15:30:54Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=c26564ff159e8c7db1d844f417b03eb354024966'/>
<id>urn:sha1:c26564ff159e8c7db1d844f417b03eb354024966</id>
<content type='text'>
Clarify that --use-checkupdates replaces pacman when checking for
available package updates.

Update the README usage output to match the revised CLI help text.
</content>
</entry>
<entry>
<title>refactor(commands): model package queries explicitly</title>
<updated>2026-09-27T13:21:53Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T13:19:59Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=a9934b8a44ccd6f482e7399f931412e8b43033f4'/>
<id>urn:sha1:a9934b8a44ccd6f482e7399f931412e8b43033f4</id>
<content type='text'>
Introduce a PackageQuery type to group each command with its
description, metric, and accepted exit codes.

Move the static pacman queries into module-level constants and construct
only the update and optional AUR queries at runtime.

Use immutable command tuples throughout and rename success_codes to
accepted_exit_codes to better describe the command execution contract.
</content>
</entry>
<entry>
<title>docs(cli): clarify checkupdates behavior</title>
<updated>2026-09-27T11:25:46Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T11:25:46Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=f898ed214f19155b842a537756a22c6dcc64b379'/>
<id>urn:sha1:f898ed214f19155b842a537756a22c6dcc64b379</id>
<content type='text'>
Add help text for --use-checkupdates and clarify that checkupdates is
provided by pacman-contrib and checks for available updates without
modifying the system package databases.

Separate the AUR update documentation into its own paragraph for
readability.
</content>
</entry>
<entry>
<title>fix(commands): classify command failures for retries</title>
<updated>2026-09-27T11:20:47Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-27T11:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/prometheus-pacman-exporter/commit/?id=555d50bfd10b1ac983aec17cf5b3cdf3a9cb99d7'/>
<id>urn:sha1:555d50bfd10b1ac983aec17cf5b3cdf3a9cb99d7</id>
<content type='text'>
Allow command invocations to define which child exit codes are
considered successful, including checkupdates exit status 2 when no
updates are available.

Classify unexpected child command failures as exporter exit status 1 so
systemd treats them as runtime failures eligible for retry. Keep exit
status 2 for CLI usage errors, which are configuration problems and
should not be retried.

Update the systemd service with RestartPreventExitStatus=2 so only
retryable runtime failures trigger the configured restart policy.
</content>
</entry>
</feed>
