Skip to content

Latest commit

 

History

History
135 lines (78 loc) · 9.13 KB

File metadata and controls

135 lines (78 loc) · 9.13 KB

Changelog

This changelog tracks releases across the following workspace packages:

  • imednet (packages/core)
  • imednet-plugins-sinks (packages/plugins-sinks)
  • imednet-workflows (packages/plugins-workflows)
  • apache-airflow-providers-imednet (packages/providers-airflow)

[Unreleased]

Build & Tooling

  • Adopted PEP 621 project metadata as the single source of truth in all pyproject.toml files using the [project] schema.
  • Replaced Poetry with Hatchling (hatchling.build) and standard Python tools (pip, uv, build) for dependency management and building.
  • Removed [tool.poetry] configurations and poetry.lock files across the monorepo workspace.
  • Added automated semantic versioning and release PR generation via release-please.

Features

  • Define and enforce stable public SDK surface: all public namespaces now declare __all__; introduce FilterValue, FilterScalar, and ItemId type aliases for typed endpoint parameters; export new types from top-level imednet namespace.

Refactor

  • Replace Any in public endpoint method signatures (item_id: Any → ItemId, **filters: Any → **filters: FilterValue, records_data: List[Dict[str, Any]] → List[JsonDict]).
  • Add stability documentation to docs/contributing.rst with per-package stability table and deprecation policy.
  • Add mypy ignore_missing_imports overrides for optional extras (typer, rich, faker, sqlalchemy, boto3, moto, openpyxl) to eliminate spurious import errors.

Bug Fixes

  • require Airflow >=3.2.0 in the provider package, raise the optional Amazon provider floor to >=9.0.0, and harden Airflow connection/context compatibility helpers for Airflow 3.x environments.

Deprecated

  • Legacy Compatibility Namespace: The legacy imednet.compat.v1 namespace is deprecated. Please migrate to the modernized top-level exports exposed directly by the modern core APIs (such as standard clients inside imednet.sdk or types exported directly via the imednet package).
  • Endpoint Context Constructor Parameter: The ctx constructor argument in endpoints is deprecated and ignored. Please transition to passing the study_key parameter explicitly in individual endpoint method calls (e.g., sdk.forms.list(study_key="YOUR_STUDY_KEY")), or leverage the configuration context manager (e.g., with sdk.study_context("YOUR_STUDY_KEY"): ...).

Migration notes

The following changes affect code that imports from internal implementation packages:

  • imednet.core.endpoint.base.ItemId has been moved to imednet.utils.typing.ItemId (and re-exported from imednet). Update any direct imports.
  • imednet.core.endpoint.protocols.SupportsGet.get now accepts item_id: ItemId instead of item_id: Any. Callers passing non-str/int item IDs will need to cast.
  • imednet.core.endpoint.protocols.SupportsList.list now accepts **filters: FilterValue instead of **filters: Any. Callers passing filter values that are not FilterValue-compatible will need to cast.

0.6.0 (2026-05-12)

Build & Tooling

  • Adopted PEP 621 project metadata as the single source of truth in all pyproject.toml files using the [project] schema.
  • Replaced Poetry with Hatchling (hatchling.build) and standard Python tools (pip, uv, build) for dependency management and building.
  • Removed [tool.poetry] configurations and poetry.lock files across the monorepo workspace.
  • Added automated semantic versioning and release PR generation via release-please.

Features

  • add resilient Pydantic base model with extra=ignore for all SDK models (26b2aa6)

Bug Fixes

  • remove shared endpoint context dependency for study resolution (44b94ee)
  • rewrite ImednetBaseModel docstring to valid RST (no bullet list) (e38a3d0)
  • wrap long docstring in test to satisfy ruff E501 (0d66e6a)

Documentation

  • Replace dummy URLs in docs with grounded defaults (7cad35c)

0.5.6 (2026-05-11)

Bug Fixes

  • address PR review-thread follow-up issues (efdd101)
  • apply review feedback on respx mock and live-tests marker (0346164)
  • make ImednetSDK.aexit raise TypeError to fully poison async protocol (7416247)
  • poison async context manager protocol on ImednetSDK and add tests (f6917a6)
  • remove mutable study state from SDK client (d4fa361)
  • upgrade urllib3 to 2.7.0 to resolve CVE-2026-44432 and CVE-2026-44431 (d837e5a)

0.5.5 (2026-05-08)

Bug Fixes

  • enforce idempotency check in DefaultRetryPolicy to prevent unsafe retries (#898) (74c33cb)
  • remove test-only client request wrappers (#896) (7e5fa99)

0.5.4 (2026-05-08)

Documentation

  • fix docs warning failures from generated API toctrees (#895) (78a5707)
  • replace static API reference RST files with sphinx-apidoc automation (#889) (645918b)

0.5.3 (2026-05-07)

Bug Fixes

  • address code review - improve close() error message and add exit test coverage (deb45c7)
  • clarify close() error message, override close() in AsyncImednetSDK to raise TypeError, add test, fix black formatting (91c5f58)
  • enforce strict async/sync lifecycle separation in SDK (remove asyncio bridging anti-pattern) (38c93a7)

0.5.2 (2026-05-07)

Bug Fixes

  • address PR review thread issues for plugin loading and docs refs (2c841e0)
  • tighten workflow init errors and airflow s3 fallback messaging (b706b3c)

Documentation

  • fix sub-package path consistency in AGENTS.md (00c4847)
  • rewrite AGENTS.md per issue phases 1-5 (b242550)

0.5.1 (2026-05-07)

Bug Fixes

  • apply review-thread metadata and release workflow corrections (4ebd11b)

Documentation

  • add detailed docstring and doctest examples to parse_bool (81d868f)
  • add explicit release workflow guidance (6fe54ff)
  • ci: finalize release-please and conventional commit guidance (c8a8cf9)
  • document IMEDNET_BASE_URL in Quick Start (ca3c0bd)