Skip to content

Releases

Leaner, typed, and review-ready

Choose a tag to compare

@burcusipahioglu burcusipahioglu released this 07 Jun 20:27
Immutable release. Only release title and notes can be modified.

v1.5.0 — Leaner, typed, and review-ready

📦 Note: v1.4.0 was never published to npm — this release includes its full
scope. Coming from 1.3.0, everything below is new to you.

✨ Highlights

  • 🔎 PR review flow, end to end — /review_pull_request produces a
    structured advisory review; on request it publishes the findings to the PR
    as file-anchored comments, each one confirmed before posting. New tools:
    get_pull_request_comments + add_pull_request_comment (general,
    file-anchored, or thread reply).
  • 💬 8 advisory prompts — lessons_learned_git / lessons_learned_tfvc,
    summarize_pull_request, review_pull_request, analyze_commit_range,
    my_review_queue, changeset_summary, and the template-driven
    risk_impact_analysis. All evidence-grounded: read tools only, claims cite
    concrete IDs, "evidence insufficient" over speculation.
  • 📐 Typed results (first wave) — 8 most-chained read tools declare an MCP
    outputSchema and return validated structuredContent alongside the usual
    JSON text. Text shape is unchanged — existing clients see no difference.
  • 🛡️ Dry-run on every write — all 8 write tools accept dryRun: true;
    update_work_item returns current values next to the intended changes.
    The audit log now opens each process with a session_start header
    (version, mode, domains, rate limit) so log files are self-describing.
  • 🧰 Leaner tool list: 51 → 48 — every domain audited tool by tool;
    redundant wrappers removed, outputs cleaned of _links/raw-object noise,
    one misleading name fixed. Fewer, sharper tools = better tool selection.

🧪 TFVC: review before check-in

  • tfvc_get_shelveset_file reads the shelved (pending) content of a file
    in a shelveset — AI code review before check-in, a workflow TFVC never had.
  • risk_impact_analysis takes an optional shelvesetName to weigh the actual
    pending change against the work item's stated intent.

🔁 Enhancements

  • query_work_items: new fields param — project exactly the fields you
    need per item (the WIQL SELECT clause never controlled output; now
    documented). @Me / @CurrentIteration / @Today macros documented.
  • list_pull_requests: omit repositoryId to search project-wide; new
    reviewer filter accepting @me.
  • get_test_plan, get_pull_request, tfvc_get_changeset: outputs now
    cleanly mapped (no more _links / nested raw objects).
  • add_test_cases_to_suite: link existing Test Case work items into a suite.
  • get_work_item_commits: Git commits & PRs linked to a work item.
  • Progress notifications on large work-item fetches; server instructions
    field for MCP client discovery.

⚠️ Breaking changes

Change Migration
convenience domain removed Remove it from AZURE_DEVOPS_ENABLED_DOMAINS (startup now errors on it). get_work_item_statistics lives in work_items; get_current_user is always registered
get_my_sprint_items, search_work_items_by_tag removed One-line WIQL via query_work_items — see the README @me section
wiki_browse, get_wiki_page_stats removed get_wiki_page (includeChildren) / list_wiki_pages cover both
search_wiki_pages → renamed list_wiki_pages Update tool-name allowlists
tfvc_get_changeset_work_items removed tfvc_get_changeset embeds work items (includeWorkItems defaults true)
bulk_update_work_items removed Loop update_work_item — keeps every write inside the rate limit
PAT scope: Wiki needs read only Was documented read & write; all wiki tools are reads

v1.3.0

Choose a tag to compare

@burcusipahioglu burcusipahioglu released this 21 May 20:59
Immutable release. Only release title and notes can be modified.

What's new in 1.3.0

📋 Tools

  • 💬 get_work_item_comments — Paginated comment retrieval with asc/desc ordering, continuation tokens, and optional rendered HTML. Replaces the workaround of fetching
    the whole work item with expand=all just to read comments back.

🛡️ Write safety

Closes the remaining gaps from 1.2.0's dry-run + audit log + MCP annotations:

  • 🔒 Readonly mode — AZURE_DEVOPS_MODE=readonly short-circuits all 7 write tools server-side; reads unaffected. Enforced in the audit wrapper, so the LLM cannot bypass.
    Use for CI, sandboxes, emergency stops. Naming chose MODE over READONLY=1 so a future admin tier (destructive ops like delete) can land without a new env var or breaking
    change.
  • 🚦 Global write rate limit — AZURE_DEVOPS_RATE_LIMIT_WRITES_PER_MIN (default 10, 0 disables). Sliding 60s window across all write tools — not per-tool — so an
    LLM looping across multiple writes can't escape by spreading its calls. Blocked attempts logged with blocked: "rate_limit", limit, and retryAfterMs for forensics.

📖 Docs

  • 📚 README restructured — Setup moved to the end, capabilities front and center. New "Profile-based secrets" framing makes the AZURE_DEVOPS_PROFILE → .env.<profile>
    convention explicit (keeps PATs out of cloud-synced mcp.json). TFVC support and 6-layer write safety promoted to own sections. Tool count drift fixed across 5 stale README
    references.

✅ Compatibility

No breaking changes. All new env vars are opt-in with safe defaults. Tested on Azure DevOps Server 2022.2.

v1.2.0

Choose a tag to compare

@burcusipahioglu burcusipahioglu released this 09 May 23:52
Immutable release. Only release title and notes can be modified.

⚠️ Dry-run preview for high-impact write tools → dryRun: true
🛡️ Optional audit log with privacy redact mode
🧩 MCP annotations on all 48 tools

v1.1.1

Choose a tag to compare

@burcusipahioglu burcusipahioglu released this 28 Apr 23:43
Immutable release. Only release title and notes can be modified.

What's new in 1.1.1

  • AZURE_DEVOPS_ENABLED_DOMAINS for selective tool loading
  • Move TFVC-specific changeset tool to TFVC domain
  • README clarity improvements
  • Fix dotenv stdout banner corrupting MCP stdio channel

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@burcusipahioglu burcusipahioglu released this 28 Apr 23:49
Immutable release. Only release title and notes can be modified.

What's new in 1.1.0

  • TFVC tools (shelvesets, changesets, labels)
  • Multi-instance support via AZURE_DEVOPS_PROFILE
  • @me token resolution