Skip to content

Release v0.3.3#220

Merged
placerda merged 4 commits into
mainfrom
release/v0.3.3
May 31, 2026
Merged

Release v0.3.3#220
placerda merged 4 commits into
mainfrom
release/v0.3.3

Conversation

@placerda
Copy link
Copy Markdown
Contributor

Release v0.3.3

Automated release branch created from develop.

What happened

  • Branch release/v0.3.3 created from develop
  • CHANGELOG.md updated: versioned section [0.3.3] added
  • Plugin versions synced to 0.3.3 (package.json, plugin.json, marketplace.json)
  • Staging pipeline triggered automatically (build → TestPyPI + VSIX pre-release → verify)

Next steps

  1. Wait for the Staging pipeline to pass
  2. Review and approve this PR
  3. Merge to main
  4. Tag and push: git tag v0.3.3 && git push origin v0.3.3
  5. Approve the PyPI publish and VSIX stable publish in the Release workflow
  6. Sync develop: git checkout develop && git merge main && git push origin develop

Checklist

  • Staging pipeline passes (build + TestPyPI + VSIX pre-release + verify)
  • CHANGELOG entries reviewed
  • PR approved and merged to main
  • Tag v0.3.3 pushed
  • PyPI publish approved
  • VSIX stable publish approved
  • develop synced from main

placerda and others added 3 commits May 31, 2026 09:19
…erated workflows (#218)

* chore(deps): pin Azure SDK majors and stamp AgentOps version into generated workflows

Two complementary changes that make CI runs reproducible and prevent the class
of failure that produced the v0.3.2 stage regression (azure-ai-projects 1.x ->
2.x silently broke prompt-agent staging during a live tutorial recording).

pyproject.toml
- Add <X.0 upper bounds to every Azure SDK dependency (azure-ai-projects,
  azure-ai-evaluation, azure-identity, azure-monitor-*, azure-mgmt-*) plus
  pandas, fastapi, uvicorn, httpx, markdown. cryptography is intentionally
  left unbounded so security patches flow through.

services/cicd.py + 20 template files
- New helper _agentops_install_spec() maps the installed agentops version to a
  pip spec: clean public release -> "==X.Y.Z"; editable/dev install -> the
  existing " @ git+...@main" fallback. PEP 440 aware via packaging.Version.
- New __AGENTOPS_INSTALL_SPEC__ template substitution wired into
  generate_cicd_workflows.
- All 10 GitHub Actions workflow templates AND all 10 Azure DevOps pipeline
  templates rewritten to use __AGENTOPS_INSTALL_SPEC__ in place of the
  hardcoded "@ git+https://github.com/Azure/agentops.git@main" suffix.
- Stale "NOTE: pinned to GitHub main until the next package release" comments
  removed from 5 templates (the note no longer applies once the install line
  carries a real version pin).

tests/unit/test_cicd.py
- 5 new tests cover: clean release -> ==X.Y.Z; PEP 440 post/rc releases -> pin;
  dev/local segments -> @main fallback; rendered workflows pin to the
  substituted version end-to-end; dev installs still write the @main fallback
  into the rendered template.

Net effect: a user who runs `agentops workflow generate` against AgentOps 0.3.3
gets workflow files that always install `agentops-accelerator==0.3.3` on every
CI run, and `agentops-accelerator` pins the right Azure SDK majors via the new
upper bounds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(cicd): satisfy mypy str|None narrowing in _agentops_install_spec

Use an explicit 
esolved: str local instead of shadowing the parameter via rom agentops import __version__ as version. mypy 1.x couldn't narrow str | None -> str through the import-rebind, producing 'Argument 1 to `Version` has incompatible type `str | None`'.

No behavior change; tests/unit/test_cicd.py still 66/66 green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(cli): satisfy mypy type-narrowing in run_wizard on_answer callback

mypy 1.x cannot narrow the type of a kwargs spread built from a single-field dict literal — it eagerly assumes the value matches the *first* WizardAnswers field's type (Path | None), producing 'Argument 1 to `WizardAnswers` has incompatible type `**dict[str, str]`'.

Materialize the partial dict as `dict[str, Any]` so the spread satisfies every field type. Pre-existing failure on develop — unblocking lint for this PR.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… regression false-positive) (#219)

Three coordinated schema-alignment fixes to agent/sources/results_history.py:

1. _summarize reads top-level aggregate_metrics (the field core/results.py actually writes), falling back to legacy metrics/run_metrics.

2. _summarize prefers summary.overall_passed for run_pass, falling back to legacy shapes.

3. _summarize orders runs by finished_at/started_at (the fields results.json actually contains), not just the legacy timestamp list.

4. _collect_local_runs now includes .agentops/results/latest/ when it is the only local results directory. In CI, generated workflows write only to that path (per services/cicd.py:28 _CI_EVAL_OUTPUT), so excluding it left local_runs empty and the regression check fell back on the stale Foundry cloud listing - flagging the previous PR's run as if it were current.

Adds 4 unit tests covering CI mode, dev-mode dedup, the metrics field, and finished_at ordering. Full suite: 817 passed, 1 skipped.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@placerda placerda merged commit 665b4b6 into main May 31, 2026
5 checks passed
@placerda placerda deleted the release/v0.3.3 branch May 31, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant