Release Notes¶
v1.2.0 — 2026-05-21¶
Highlights¶
- Pure library architecture —
dataenginexis now a pure Python library with no bundled HTTP server. Applications (dex-studio, your own FastAPI/Flask app) own the server layer entirely.DexEngineis the single entry point; it loadsdex.yaml, initsDexStore, and wires all backends. DexEngineas application entry point — single object instantiation hides all wiring complexity. Replaces the olddex servepattern.DexStorepersistence — single DuckDB file at.dex/store.duckdbnext todex.yaml. Self-contained per project.authextras removed —pyjwt,ldap3, andcryptographyremoved from the package. Auth/RBAC lives in application layers (dex-studio) only.- Module clarification —
ml/is classical ML (training, registry, serving, drift);ai/is LLM/agents/RAG/vectorstore;orchestration/is background scheduling. *.duckdbexcluded from git — generated store files are project-local and should not be committed.
Breaking changes¶
dex serveCLI command removed. Start your own ASGI app withuvicorninstead.dataenginex[auth]extra removed. Installpyjwt/ldap3directly in your application if needed.dataenginex.apino longer contains auth/RBAC/SCIM/LDAP. It now provides HTTP error types and response models only.
Migration¶
# Before (old server pattern)
# dex serve --config dex.yaml
# After — own the server layer
from dataenginex.engine import DexEngine
from fastapi import FastAPI
import uvicorn
engine = DexEngine("dex.yaml")
app = FastAPI()
@app.get("/health")
def health():
return engine.health()
uvicorn.run(app, host="0.0.0.0", port=8000)
Verification checklist¶
uv run poe lint— Ruff checks cleanuv run poe typecheck— mypy strict, 0 errorsuv run poe test— all tests passuv run --with fastapi --with uvicorn python examples/02_api_quickstart.py— server starts,/healthreturns{"status":"healthy"}
v1.1.1 — 2026-05-07¶
Highlights¶
- Reflex compatibility —
richfully removed from CLI layer (cli/main.py,cli/run.py,cli/train.py). Output now uses plainclick.echo. FixesImportErrorwhen running alongside Reflex (which pinsrich<14).
Breaking changes¶
None. CLI output is functionally identical.
Verification checklist¶
uv run poe lint— Ruff checks cleanuv run poe typecheck— mypy strict, 0 errorsuv run poe test— 790 passed, 20 skipped
v1.1.0 — 2026-05-06¶
Highlights¶
- Enterprise auth & RBAC — SCIM provisioning, role-based access, enterprise SSO integration
- LiteLLM / vLLM routing — unified LLM gateway with cost tracking and load balancing
- Langfuse observability — LLM trace logging, evals, and prompt management
- LightRAG integration — graph-based retrieval for hybrid RAG pipelines
- AI agent memory — persistent agent memory subsystem with configurable backends
- Domain metadata layer — structured domain extraction and plugin system
- rich removed — CLI output now uses
click.echo; rich is no longer a framework dependency
Breaking changes¶
None. All new features are additive.
Verification checklist¶
uv run poe lint— Ruff checks cleanuv run poe typecheck— mypy strict (125 source files, 0 errors)uv run poe test— 790 passed, 20 skippedcurl http://localhost:17000/health— returns{"status":"healthy"}
v0.5.0 — 2026-03-01¶
Highlights¶
- Storage abstraction layer —
list_objects(prefix)andexists(path)onStorageBackendABC with implementations across all 6 backends (Local, BigQuery, JSON, Parquet, S3, GCS). Newget_storage(uri)factory resolvess3://,gs://, and local paths automatically (#89) - ML serving endpoints —
POST /api/v1/predict,GET /api/v1/models,GET /api/v1/models/{name}with Pydantic request/response models and ML-specific Prometheus metrics for latency, throughput, and in-flight predictions (#92) - Drift monitoring scheduler —
DriftSchedulerruns background drift checks on registered models, publishes PSI scores to Prometheus gauges, and fires alert counters when drift exceeds thresholds. Includes Prometheus alert rules for moderate, severe, spike, and stale drift conditions (#93) - Comprehensive docstrings — Google-style docstrings added across 55+ methods and 9 Pydantic models covering all public APIs (#88)
- Cloud emulator testing — Docker Compose stack with LocalStack (S3) and fake-gcs-server (GCS) plus 25 integration tests with auto-detection
- Infrastructure fixes — Dockerfile runtime stage now copies the core package; docs workflow uses
--frozensync
Breaking changes¶
None. All new features are additive.
Verification checklist¶
uv run poe lint— Ruff checks cleanuv run poe typecheck— mypy strict (40 files, 0 errors)uv run poe test— 299 passed, 28 skippeddocker compose build— multi-stage Dockerfile builds successfullydocker compose -f docker-compose.test.yml up -d— emulators start healthy
v0.4.11 — 2026-02-27¶
Highlights¶
- Environment-labeled metrics — Added
environmentlabel support across HTTP metrics counters/histograms/gauges and middleware emission - Aligned alert rules — Histogram quantile expressions use explicit bucket aggregation by
leandenvironment - CSV-canonical roadmap — Standardized docs and release prep metadata
v1.0.0 — 2026-02-11¶
Highlights¶
- SLO-aware monitoring: Alerting rules now track latency, error rates, and saturation per environment, routed through Alertmanager runbooks aligned with the SLO definitions documented in
monitoring/alerts/dataenginex-alerts.ymlandmonitoring/alertmanager.yml. - Environment-labeled metrics: The Prometheus client now exports all HTTP counters, histograms, and gauges with an
environmentlabel so dashboards & alerts can differentiatedev/stage/prodworkloads without duplicating services. - Pyconcepts-facing API: Added
/api/external-data(wrapspyconcepts.external_data.fetch_external_data) and/api/insights(text/event-stream) so downstream runners can consume the helper data + streaming insights frompyconcepts. - Docs/tests:
tests/test_main.pyandtests/test_metrics.pycover the new endpoints and metrics labels, and the documentation now explains how to validate the new alerts and APIs.
Verification checklist¶
uv run poe lint— Ruff/mypy checks greenuv run pytest -v— 31 tests including the new endpoints passdocker compose build— multi-stage Dockerfile builds