Skip to content

v0.2.3 — OpenCode 2.1.4 compatibility

Choose a tag to compare

@WTLAIB WTLAIB released this 23 Oct 18:33
· 39 commits to main since this release
e186496

Azure DevOps PR Review for OpenCode — 0.2.3

This release moves the tested host to OpenCode CLI 2.1.4 and fixes three
behaviors that OpenCode 2.1.3 and later expose: how a refused proxy tunnel is
reported, how long a silent Azure DevOps call may wait, and how a refused
background summary affects a failed stage. Prompts, settings and installation
are unchanged.

What changed

  • Proxy refusals are explained again. OpenCode 2.1.3 and later embed Bun
    1.4.4, which rejects a request with ERR_PROXY_TUNNEL when a proxy refuses
    the CONNECT tunnel, where Bun 1.4.2 returned the proxy's answer. AZPR treated
    the rejection as a network error and retried it. It now gives the earlier
    messages and retry rules: a missing proxy password is explained as HTTP 407
    without retries, a blocked destination names the proxy, and a refused tunnel
    never leaves a comment write uncertain.
  • Azure DevOps calls keep their configured timeout. The runtime's fetch
    ended a request that received nothing for about six minutes by itself, while
    azure.callTimeoutSeconds accepts up to 1,800 seconds. AZPR now switches that
    limit off for its requests, so the configured timeout decides.
  • Background compaction no longer splits a failed stage. With OpenCode's
    opt-in experimental.background_compaction, the host asks for a summary
    before a reviewer's context is full. AZPR refuses it as before, but the
    refusal also marked the stage as overflowing: a later permanent failure,
    such as an expired provider key, split the shard into new sessions that
    failed the same way, and a failed follow-up discarded the answer it
    followed. Overflow is now read from the failed turn itself.
  • The README states that AZPR is an independent community project, not built
    by or affiliated with the OpenCode team.

Installation

opencode plugin add opencode-azure-devops-pr-review@0.2.3

Alternatively, install the same release from Git:

opencode plugin add 'github:WTLAIB/opencode-azure-devops-pr-review-v2#v0.2.3'

Add only one of them. Follow the
quickstart
for a private PAT file, /pr-setup, a service restart and the first review.

Upgrading

Upgrade OpenCode to 2.1.4 first if you can: the receipts of other versions add
a host notice, and those versions are not validated. Stop the OpenCode service
and copy its database before upgrading OpenCode, so that you can go back.

To update a native installation, edit its existing entry in the OpenCode
configuration's plugins list:

  • For npm, change the package specification to
    opencode-azure-devops-pr-review@0.2.3.
  • For Git, change the tag suffix to #v0.2.3.

If the entry is an object, change only package; preserve options.settingsFile
and any other options. Keep one AZPR entry and restart the OpenCode service.
External settings, the PAT file and review records remain in place; a working
configuration needs no new /pr-setup. Exact version pins are not advanced by
opencode plugin update.

For a source installation, extract the new archive and run its installer with
--replace to retain settings:

sh install.sh --config-dir /absolute/path/to/v2-opencode-config --replace

Coming from 0.1.0, see the
0.2.0 upgrade notes
for automatic comments, which remain disabled unless configured or requested.

Compatibility and release assets

The tested target is OpenCode CLI 2.1.4 (V2 plugin API), Node.js
22.23.3, Ubuntu 22.04.5 under WSL2, and Azure DevOps Services REST API
7.1. OpenCode 1.x and Azure DevOps Server are not supported; other operating
systems remain unvalidated. See the
validation record,
including live reviews on OpenCode 2.1.4.

The npm package comes from this tag and has no dependencies or install scripts.
Release assets are opencode-azure-devops-pr-review-v2-0.2.3.tar.gz and
SHA256SUMS; verify the source archive with sha256sum -c SHA256SUMS. The
existing demonstration remains attached to
v0.2.0,
with its original recording context documented in the
demo guide.