All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Display overlay in
SkillMapper(§5.13) — both Python and TypeScript SDKs now readmetadata["display"]["a2a"]for skill name, description, tags, and guidance.- Skill name:
a2a.alias→display.alias→ humanizedmodule_id. - Description:
a2a.description→display.description→module.description. Guidance appended if present. - Tags:
display.tags→module.tags.
- Skill name:
- Cross-language sync — aligned Python and TypeScript SDKs on endpoint, env vars, CLI interface, and documentation.
- Well-known endpoint unified to
/.well-known/agent.jsonacross both SDKs (TypeScript was usingagent-card.json). - Environment variables renamed with
APCORE_prefix:JWT_SECRET→APCORE_JWT_SECRET,A2A_EXECUTION_TIMEOUT→APCORE_A2A_EXECUTION_TIMEOUT. - CLI
--execution-timeoutnow accepts seconds in both SDKs (TypeScript was using milliseconds). apcoredependency bumped from0.9.0+to0.14.0+in both SDKs.- Updated feature spec
docs/features/adapters.md— SkillMapper field mapping table corrected (id→module_id,name→alias chain).
_build_extensions()dead code (Python) —AgentSkillhas noextensionsfield in the A2A SDK; deleted along with 3 tests.
- Rebrand: aipartnerup → aiperceivable
- Updated Python requirement from 3.10+ to 3.11+ to match pyproject.toml.
- Updated apcore dependency requirement from 0.6.0+ to 0.9.0+.
- Delegated TaskStore and InMemoryTaskStore to a2a-sdk (replaces custom protocol).
- Replaced ExecutionRouter, TaskManager, and TransportManager with a2a-sdk components (ApCoreAgentExecutor, DefaultRequestHandler, A2AStarletteApplication).
- CLI
--hostdefault changed from0.0.0.0to127.0.0.1for safer defaults. - Default agent name fallback changed from
"apcore-agent"to"Apcore Agent". - Auth 401 response body now returns
{"error": "Unauthorized", "detail": "Missing or invalid Bearer token"}. - AgentCard
defaultOutputModesnow includes both"text/plain"and"application/json".
- Expanded public API exports: auth classes, adapter classes, and server factory now re-exported from top-level
__init__.py. - Documented that SkillMapper
_build_extensions()cannot wire annotations into AgentSkill (a2a-sdk lacksextensionsfield); annotations available via Explorer UI instead. - ErrorMapper
_sanitize_message()now strips traceback lines in addition to file paths. - Explorer
create_explorer_mount()accepts optionalregistryparameter to enrich agent card with input schemas. - Path-based registry resolution:
serve()andasync_serve()acceptstr/Pathfor auto-discovery.
- Feature specs updated to match actual implementation (F-01 through F-11).
- Documentation version references corrected (Python 3.11+, apcore 0.9.0+).
- Product Requirements Document (PRD), Software Requirements Specification (SRS), Technical Design Document, and Test Plan.
- 11 feature specifications: adapters, storage, server-core, streaming, push-notifications, auth, client, public-api, cli, explorer, ops.
- Getting Started guide with Python and TypeScript examples.
- README with project overview, quick start, and architecture summary.
- MkDocs Material documentation site with GitHub Pages deployment.
- Project logo (
apcore-a2a-logo.svg).