Repository navigation
Release Notes
0.2.48 (2026-09-11)
Everything merged since 0.2.47. This is the first tag to use the v prefix (v0.2.48), which the release pipeline requires.
Critical fix
- packaging: a source build made outside a git checkout shipped 3 of 169 modules with no error and no warning.
[tool.setuptools.packages.find].includewas a bare"aixplain", which fnmatches the full dotted package name and so discarded all 26 subpackages; the missingsetuptools-scmfile-finder had been masking it. Now"aixplain*", with a CI check that installs the built wheel into a clean venv and imports it (ENG-3543, #1047).
Security
- v2-run: poll URLs returned by the backend are now host-validated, and
x-api-keyis dropped on a cross-host redirect, so a redirect can no longer walk the API key off-origin (BUG-937, SEV1, #1040) - v2-rlm:
TEAM_API_KEYis no longer baked into generated RLM sandbox source (BUG-936, #1042) - v2-http: every client request carries a default timeout (#1014), and the remaining unbounded calls on the upload/file path are bounded (#1041)
- SEV2 hardening across HTTP, load and control-effectiveness paths (BUG-942, BUG-1097, BUG-941, BUG-939, BUG-946, #1076), plus functional-test safety and run-metadata disclosure (BUG-947, BUG-1096, BUG-945, #1078)
Deprecation — SDK v1
- v1 now emits an import-time deprecation notice and ships MIGRATION.md. v1 is removed on 2027-02-01; migrate to
from aixplain import Aixplain. Silence the notice withAIXPLAIN_SUPPRESS_V1_DEPRECATION=1(#1044)
Features
- v2-file: unified
Fileassets and persistent agent files — attach files to an agent once and have them persist across runs (#1055) - v2-skill: update skill file content in place via
Skill.update()/ file listing (#1075) - v2-agent: run artifacts surfaced on the agent response (#1036)
- v2-run: the calling agent propagates as an
x-agentheader (ENG-3488, #1023) and the run session asx-session-id(ENG-3473, #1013) - v2: media-generation members on the
Functionenum (#1033) - plugins: aiXplain Marketplace and Agent Builder plugins (#1058)
Bug fixes
- v2-run: no more duplicate run submissions — POST retry, poll retry and failed-run classification all fixed (BUG-1090, #1045)
- v2: search filters, result shapes,
save()and run kwargs corrected (BUG-1092, BUG-1094, BUG-1093, BUG-1091, #1074) - v2-agent: updated skills now persist on
save()(#1065); the duplicated agent-files init block introduced by a merge is gone (#1072) - v2: the progress display thread no longer leaks on failed or concurrent runs (BUG-943, #1088)
- v2-trigger: flat schedule attributes (
timezone,time,run_at,days,schedule_type) hydrate instead of reading null (#1066) - v2-utility:
Utility.runis an instance method again, sosuper().run()bindsself(#1034) - tool:
DEFAULT_INTEGRATION_IDpoints at Python Sandbox rather than Slack (#1025); script tools send the requiredfunction_namewhen connecting (#1030) - model:
session_idrestored in_SDK_ONLY_PARAMSafter a merge dropped it (#1020); OpenRouter reasoning fields normalize intoreasoning_content(#1012) - v2-rlm:
max_iterationsdefault restored to 10 (#1050) - client:
supplierErrordetail surfaced inAPIErrormessages (#1032) - run: caller identifier propagates as
x-user-idwithout leaking into model/tool payloads (#1006) - generator: writes to
aixplain/v1paths and escapes backend values (ENG-3435, #1090)
Build, CI and release
- release pipeline: tag-push publishing to PyPI with least-privilege workflow permissions and Trusted Publishing; required CI contexts on
maindocumented indocs/ci/required-checks.md(ENG-3428, #1048) - test integrity: coverage gate, credential-free collection, and v2 effect assertions (#1043); conditional agent/team_agent functional skips with orphaned CI legs re-attached (ENG-3544, #1046)
- docs: README drops SDK v1 mentions and points at app.aixplain.com (#1060)