Skip to content

Prototype shiv changes <package> for update/release notes #135

Description

@c0da-ricon

Problem

When shiv users update a package, they need a quick way to answer: what changed between my installed version and the candidate version?

Today that requires manually opening GitHub releases, tags, commits, or PR history for the package repo. That slows down humans and agents deciding whether an update is safe.

Origin: https://github.com/ricon-family/or/issues/112

Proposed prototype

Add a small command, for example:

shiv changes <package> [from..to]

Possible behavior:

  • Resolve the package repo and installed version/ref.
  • If from..to is omitted, compare installed version to the latest available version/channel candidate.
  • Prefer GitHub release notes when both endpoints are tags/releases.
  • Fall back to git log --oneline <from>..<to> when release notes are missing.
  • Print a concise human-readable summary; JSON can come later if useful.

Changelog source options to evaluate

Start simple before adding changelog generation machinery:

  1. GitHub release bodies / generated release notes — likely best first source when packages have releases.
  2. Git log fallback — always available, noisy but useful.
  3. Generated changelog tools latergit-cliff, GitHub generated notes, or PR/label-based tools may be useful if package repos adopt release discipline.

Scope guardrail

This issue is about showing changes for an installed/updatable shiv package. It should not become a full release automation system. If changelog quality is poor, record that as package/release hygiene rather than blocking the basic command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions