Skip to content

0.2.47

Choose a tag to compare

@aix-ahmet aix-ahmet released this 22 Jul 12:30
· 12 commits to main since this release
32f5a1d

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 the model field from the API response, so agent.llm fell back to DEFAULT_LLM and any subsequent save() 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().

Features

  • v2-skill: folder-based skill assets (SKILL.md + resources/scripts) created with aix.Skill(...) and attached to agents via skills=[...] — 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 per run() 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 via reasoning_effort (#922)
  • inspectors: pre-built inspector support (#913) and hallucination guardrail (#916) — discover with aix.Inspector.search(""), fetch with aix.Inspector.get("aws/sensitive-information-guardrail/aws"), override targets (e.g. ["output"]), and attach via inspectors=[...] 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 url from final result shape, parse-data error handling (#975, #977, #979)
  • v2-agent: V3-compat fixes — dict expected_output at run, json default, inspector deserialization (#943); governance fields on AgentResponseData (#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_dict and _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