Repository navigation
0.2.47
Release Notes
0.2.47 (2026-07-22)
Combined changelog for everything since 0.2.44. This release includes and supersedes the 0.2.45rc1 pre-release and more.
Critical fix
- v2-agent:
Agent.get()+save()no longer silently overwrites the agent's LLM with the default (GPT-5.4). On 0.2.43/0.2.44 the fetched agent never decoded themodelfield from the API response, soagent.llmfell back toDEFAULT_LLMand any subsequentsave()persisted it — resetting the agent's configured LLM (#922).- If you used
save()on 0.2.43/0.2.44, verify your agents' LLM and re-pin once if needed:agent.llm = "<model_id>"; agent.save().
- If you used
Features
- v2-skill: folder-based skill assets (
SKILL.md+ resources/scripts) created withaix.Skill(...)and attached to agents viaskills=[...]— Skill objects or id strings both work (#962) - v2-session: backend-managed session CRUD, messages, reactions, and file uploads (#863)
- v2-agent (multimodal v1): run agents with
attachments=[...]— image/audio files, paths, or URLs — against vision/audio-capable LLMs (#863) - v2-agent (budget): per-agent execution budgets —
agent.budget = Budget(max_cost=..., max_duration_seconds=..., max_iterations=...), with reduced responses when limits are hit (issue #953) - v2-trigger: fire agents on a time schedule (once / daily / weekly / monthly / interval) or on external events (e.g. Composio integration events such as a new Gmail email), managed via
/v1/triggers - v2-agent: tool parameter overwrite — persist per-tool parameter values at create time (
tool.actions.X.inputs.Y = value) and override them perrun()call, run-time winning over the persisted value (#967) - v2-agent: per-role model refs with parameters for
llm/supervisor/planner/response_generator, persisted on save and overridable per run; reasoning-agent support viareasoning_effort(#922) - inspectors: pre-built inspector support (#913) and hallucination guardrail (#916) — discover with
aix.Inspector.search(""), fetch withaix.Inspector.get("aws/sensitive-information-guardrail/aws"), overridetargets(e.g.["output"]), and attach viainspectors=[...]on agents/teams - rlm: parallel and RAG modes for Recursive Language Models (#928)
- agent benchmarking v0.1, silent release (#946)
Bug fixes
- v2-run: poll-URL robustness — resolve poll URL before polling, exclude
urlfrom final result shape, parse-data error handling (#975, #977, #979) - v2-agent: V3-compat fixes — dict
expected_outputat run, json default, inspector deserialization (#943); governance fields onAgentResponseData(#957) - model: exempt required text/prompt inputs when a multimodal payload is provided; force UTF-8 on SSE streaming responses (#923)
- pipeline: fix polling status handling (#955); remove incorrect object attribute access for dict responses (#951)
- api_key: handle string model ids in
to_dictand_set_limit - sdk: harden against deleted models, dict polling responses, and best-effort ipinfo lookups
- improved error codes and real error propagation for failed agent runs (#934)
- user id included in request headers (#969); warning when saving an agent with integrations (#965)
Docs & tooling
- Arabic localization for READMEs and docs (#941); regenerated API docs (#947); root-canonical
llms-full.txt(#937) - aiXplain Agent Builder skill added and iterated (#907, #912, #936, #980)
On the roadmap
- Real-time audio agents; streaming; long-term memory; skills with tools; human-in-the-loop; cancel/resume/stop execution; better context engineering; multimodal agents v2