Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 11:51
· 677 commits to main since this release
e9fb521

Features

Agentic & MCP

  • feat(filter): add agentic_loop controller for Responses API by @leseb in #623
  • feat(mcp): route stateless tools/call through static broker catalog by @nerdalert in #340
  • feat(mcp_tool_resolve): resolve MCP servers concurrently by @leseb in #575
  • feat(openai): resolve connector_id through configured MCP connectors by @leseb in #704
  • feat(web_search): wire openai_web_search into IRR agentic loop by @leseb in #635

OpenAI API

Anthropic API

Inference & Routing

Guardrails & Observability

Store

  • feat(store): add schema validation and version tracking at init by @leseb in #631
  • feat(store): expose connection pool tuning options by @leseb in #632
  • feat(store): validate query params on GET /v1/responses/{id} by @leseb in #687

Server & Internals

  • feat(server): wire SubRequestClient into pipeline resolution by @leseb in #622
  • feat(filters): export AI filter registration API by @aslakknutsen in #612
  • feat(file_resolve): resolve file_url references with SSRF protection by @leseb in #460

Bug Fixes

OpenAI / Responses

  • fix(openai_responses): enforce max_body_bytes after MCP tool expansion by @leseb in #690
  • fix(openai_responses): place web-search sources inside action object by @leseb in #686
  • fix(openai_responses): avoid double-encoding MCP approval arguments by @leseb in #688
  • fix(openai_responses): make input_items pagination usable for ID-less input arrays by @mkoushni in #619
  • fix(openai_mcp_tool_resolve): rewrite type:mcp tools to type:function by @leseb in #488
  • fix(classifier): treat POST /v1/responses as authoritative for no-discriminator bodies by @cdoern in #594
  • fix(openai_conversations): stream by default, buffer only matched routes by @leseb in #615
  • fix: reject invalid query params in conversation item listing by @leseb in #689
  • fix(validate): remove obsolete background parameter rejections by @leseb in #535
  • fix: oversized model values by @harrisonstropkay in #645

MCP

  • fix(mcp): align stateless profile with final 2026 spec by @nerdalert in #614
  • fix(mcp_tool_resolve): reject duplicate server_label before callout by @leseb in #580
  • fix(mcp_dispatch): match tool calls by encoded function name by @leseb in #579
  • fix(mcp_client): redact credentials from CallTool error messages by @leseb in #578

Store & Security

  • fix(store): default PostgreSQL connections to verify-full TLS by @leseb in #576
  • fix(store): fail closed when response store is unavailable by @leseb in #588
  • fix(store): reject invalid input_items query parameters by @leseb in #616
  • fix(postgres_url): unify SSRF validation with shared is_non_public_ip policy by @leseb in #617

Other

  • fix(server): use AI-branded default config instead of core's by @leseb in #537
  • fix(server): thread shared SubRequestClient into filter construction by @leseb in #634
  • fix(file_resolve): reject file_url failures regardless of on_missing by @mkoushni in #620
  • fix(filters): remove redundant Content-Length updates from body-mutating filters by @leseb in #609
  • fix(filter): reject unknown fields in no-config filters by @eoinfennessy in #602
  • fix: emit schema-complete Anthropic responses by @franciscojavierarceo in #618
  • fix(conversations): honor include projections by @leseb in #574
  • Fix/external filter discovery 478 by @mkoushni in #592

Refactors

  • refactor(apis): replace CalloutClient with Pingora-native SubRequest by @leseb in #599
  • refactor(subrequest): delegate execution to praxis-core SubRequestClient by @leseb in #610
  • refactor(token_usage): move token usage module from apis to filters by @leseb in #536
  • refactor(validate): make openai_responses_validate request-only by @leseb in #621
  • Json body mutation helper by @usize in #624

Testing & CI

  • test(inference): add Rust-native recording and replay fixtures by @franciscojavierarceo in #653
  • test(mcp_dispatch): add resolve-to-dispatch roundtrip tests by @leseb in #589
  • feat(ci): add OGX file_id integration tests to vLLM workflow by @leseb in #491
  • ci: migrate workflows to conventions shared actions
  • ci: validate GitHub Actions workflows by @leseb in #563
  • build: enforce dependency hygiene by @leseb in #571

Dependencies

  • chore(deps): update Praxis crates to v0.5.2 by @leseb in #701

New Contributors

Full Changelog: v0.1.0...v0.2.0