Release Notes: v2.3.0 — Solo Mode, Agent Workflows & Security Hardening

Major release adding solo annotation mode, agentic workflow evaluation, comprehensive security fixes, and significant infrastructure improvements. 50+ commits since v2.2.0.

Solo Mode

  • Cascaded confidence escalation for LLM-assisted labeling with multi-signal instance prioritization
  • 6 solo mode phases: initial annotation, confusion analysis, refinement loop, labeling functions, disagreement explorer, and interactive agent testing
  • Cartography tracking for instance difficulty estimation
  • 85 integration and end-to-end tests
  • Developer guide with architecture and extension documentation
  • Example projects: examples/advanced/solo-mode/, examples/advanced/simple-solo-mode/

Agent Workflow Annotation

  • Trace converters for 6 formats: OpenAI, Anthropic, SWE-bench, OTEL, multi-agent, MCP
  • Agent trace display with interactive visualization
  • Comparison mode for side-by-side agent evaluation
  • Best-Worst Scaling annotation type and agent chat proxy
  • Multi-dimension per-turn ratings for dialogue display
  • Selenium tests for agent trace annotation interactions

Security Hardening

  • Fixed 12 critical security vulnerabilities across 8 modules
  • Fixed XSS, robustness, and data integrity issues across 25 files
  • Fixed data integrity and security hardening issues across 11 files
  • Span-delete cascade fix: iterate dict values not keys, with link cleanup

New Features

  • SSO/OAuth authentication: Google, GitHub, and OIDC provider support
  • Parquet export format for columnar annotation output
  • Semantic CSS classes and design-system variable migration
  • Keybinding conflict resolution across multi-schema annotations
  • Radio/multiselect annotation persistence fix

Documentation

  • Solo Mode user docs with developer guide
  • 15 demo projects showcasing annotation types and workflows
  • Decision graph web viewer for GitHub Pages
  • Expanded documentation: release notes, keybinding allocator, Parquet export

Bug Fixes

  • All-phases navigation loop and has_free_response boolean crash (#111)
  • Phase rendering, schema annotation_id safety, and media serving
  • Dynamic multirate quote handling

Upgrade

pip install --upgrade potato-annotation==2.3.0