Skip to content

Releases: pseudosavant/azwi

v1.1.0

Choose a tag to compare

@pseudosavant pseudosavant released this 13 Jul 21:50

azwi 1.1.0

This backward-compatible feature release adds project metadata, an about command, and managed installation of the new $azure-workitem agent skill.

What's new

  • Added azwi --about with version, project URL, summary, and license.
  • Added the project URL and MIT license to root and fetch help.
  • Added azwi install-skill and azwi remove-skill.
  • Added the managed $azure-workitem skill under ~/.agents/skills by default.
  • Added --skills-dir for custom skill installation locations.
  • Added guarded skill removal with --force support for unmanaged content.

$azure-workitem

The new skill can:

  • Fetch work items by numeric ID.
  • Extract the organization and work item ID from Azure DevOps Cloud URLs.
  • Parse azwi's JSON output and summarize relevant work item context.
  • Fetch work item comments and linked pull request metadata.
  • Include PR review comments when explicitly requested.
  • Download all or selected attachments.
  • Use ./azwi-<id>-attachments when no attachment destination is provided.
  • Download rendered images when explicitly requested.

v1.0.0

Choose a tag to compare

@pseudosavant pseudosavant released this 13 Jul 21:50

azwi 1.0.0 is the first production-stable release of the agent-first Azure DevOps work item fetcher.

This release adds first-class attachment support, opt-in pull request review comments, and expanded deterministic JSON and Markdown output.

Attachments

  • Added attachments as a standard output section.
  • Added --download-attachments DIR for explicit attachment downloads.
  • Added repeatable --attachment-name NAME and --attachment-url URL exact-match selectors.
  • Attachment download and selector options automatically include the attachment section.
  • Selector mismatches fail clearly instead of silently returning partial results.
  • Downloaded attachment paths are rendered relative to the output file or current working directory when possible.
  • Requesting attachment metadata alone does not download files.

Pull request comments

  • Added --include-pr-comments for linked Azure DevOps PR review threads.
  • PR comments remain opt-in to control API usage and context volume.
  • Added --pr-comment-status active|all.
  • Active threads are returned by default.
  • all includes active and resolved review threads.
  • Added --include-pr-system-comments for explicitly requesting system-generated comments.
  • PR comments include useful thread context such as file paths and line numbers.

Output and CLI behavior

  • Added attachment data to both JSON and Markdown output.
  • Preserved deterministic section ordering and stable output contracts.
  • Updated root and fetch help with attachment and PR-comment options.
  • Added directly copyable examples for attachment downloads and PR review comments.
  • Continued to keep stdout payload-only and diagnostics on stderr.

v0.9.3

Choose a tag to compare

@pseudosavant pseudosavant released this 25 Mar 00:23

Improved the CLI help to make the primary azwi <work_item_id> happy path more obvious for agents.

Changed

  • Reworked azwi --help to highlight the default fetch flow first
  • Reworked azwi <id> --help to make it clearer that the work item ID is usually the only required argument
  • Grouped fetch options into a more agent-readable layout with concise sections, env vars, section names, and exit codes near the top

v0.9.2

Choose a tag to compare

@pseudosavant pseudosavant released this 11 Mar 01:23

azwi 0.9.2

This release improves interactive CLI behavior and completes the release pipeline setup for PyPI publishing.

Highlights

  • Added simple interactive progress updates on stderr during fetch operations
  • Kept non-interactive runs quiet so agent and piped usage still get deterministic output only on stdout
  • Added test coverage for interactive progress behavior

Release pipeline

  • Configured the GitHub release workflow to use the pypi environment for Trusted Publishing
  • Disabled setup-uv caching in the release workflow to remove the cache invalidation warning during publish runs

Verification

  • python -m unittest discover -s tests -v
  • uv build --no-sources

v0.9.1

Choose a tag to compare

@pseudosavant pseudosavant released this 11 Mar 00:21

azwi 0.9.1

This release changes azwi to default to JSON output for direct agent and tool consumption.

Highlights

  • Changed the default --format from markdown to json
  • Kept Markdown output available explicitly with --format markdown
  • Updated CLI help, tests, README, and spec to match the new default
  • Added .venv/ to .gitignore

Upgrade note

If you want the previous default behavior, pass:

azwi <work_item_id> --format markdown

0.9.0

Choose a tag to compare

@pseudosavant pseudosavant released this 10 Mar 23:52

This is the first tagged azwi release: an agent-first Azure DevOps work item CLI focused on deterministic Markdown and JSON output.

Highlights

  • Added the primary fetch interface: azwi <work_item_id> [options]
  • Added structured section selection with repeatable --section
  • Added both Markdown and JSON output via --format
  • Added explicit context controls with --comment-limit and --pr-status
  • Added field override flags and repeatable --extra-field
  • Added explicit image localization with --download-images DIR

Configuration

  • Added ~/.azwi/config.toml support for non-secret defaults
  • Added azwi config show
  • Added azwi config set-defaults --org ... --project ...
  • Added azwi config set-field for global and project-specific field mappings
  • Added azwi config add-extra-field
  • Added layered config resolution for defaults, org-specific overrides, project overrides, and CLI overrides
  • Kept PAT handling out of config files; authentication uses AZWI_PAT

Azure DevOps behavior

  • Direct work item fetch is organization-scoped with --org
  • Follow-up project-scoped behavior resolves from the fetched work item’s System.TeamProject
  • Added azwi fields --type ... for work item field discovery
  • Added retry handling for throttling and transient Azure DevOps failures
  • Added mention resolution in comments where comment metadata provides identity mappings

Packaging and release

  • Added a standard pyproject.toml package layout under src/azwi
  • Added a thin root azwi.py wrapper with PEP 723 metadata for uv run ./azwi.py ...
  • Added console-script packaging for azwi
  • Added a GitHub Actions release workflow for build-and-publish automation

Quality

  • Added automated tests for CLI behavior, config resolution, rendering, PR parsing, mention handling, and image rewriting
  • Verified uv run ./azwi.py --help
  • Verified uv build --no-sources

Notes

  • Success-path stdout is reserved for output only; logs go to stderr
  • PyPI/uvx azwi support is packaged and ready once the project is published