8000 Releases · atlanhq/atlan-python · GitHub
[go: up one dir, main page]

Skip to content

Releases: atlanhq/atlan-python

v9.2.2

11 Mar 08:07

Choose a tag to compare

🥗 QOL Improvements

  • PackageHeaders model and backward-compatible header emission: Introduced a typed PackageHeaders model to manage package-related HTTP headers. set_package_headers now accepts explicit header values, and the SDK emits both package-name and app-name headers to maintain backward compatibility with older backends.
  • /release skill: Added a Claude Code skill to automate SDK releases — bumps version, drafts release notes, commits, and tags.

Full Changelog: 9.2.1...9.2.2

v9.2.1

10 Mar 08:26
70a085d

Choose a tag to compare

🧪 Experimental pyatlan_v9

  • Restored validate(), minimize(), relate() SDK methods: All generated asset types now include validate(for_creation=False) for dry-run field validation (checks type_name, name, qualified_name, optional QN pattern matching, and hierarchy-specific fields when for_creation=True), minimize() to produce a minimal updater copy, and relate() to create a Related{Type} reference. These are purely opt-in — not called by any serde path. Overlay files can override any of these methods.

Full Changelog: 9.2.0...9.2.1

v9.2.0

09 Mar 14:25
a5bcbe7

Choose a tag to compare

🧪 Experimental pyatlan_v9

  • IDE autocompletion: Replaced custom AST-based lazy loading with lazy_loader + Pkl-generated .pyi stub file. All 860+ asset classes now have full IDE type hints and autocompletion while keeping lazy import performance.
  • Pkl-generated __init__.py and __init__.pyi: The Pkl renderer now aggregates all typedefs (via import* glob) to generate __init__.py (with lazy_loader.attach() mapping) and __init__.pyi (with explicit re-exports for IDEs) directly — no post-sync Python script needed. Hand-written types from _init_manual.py are included by reading the file at generation time.
  • Model updates: Regenerated all v9 models — GTC anchor regularization, entity lineage fields (depth, immediate_upstream, immediate_downstream), QuickSight useLocalTypeAsPrefix, fully Pkl-generated DataQualityRule, and referenceable field descriptors via overlays.
  • type_name serialization fix: type_name field default changed to UNSET so omit_defaults=True never omits typeName from API requests.
  • Simplified transform.py: Removed _normalize_camel_key() and related camelCase abbreviation handling — msgspec structs use explicit field(name=...) mappings. Asset registration now uses cls.__name__ directly.

🥗 QOL Improvements

  • Regenerated latest typedef models.
  • Improved Claude Code review skill and added auto-review trigger on PR open.

⛑️ Breaking Changes

  • Policy duplicate detection during retries: When a policy creation request times out but actually succeeds on the backend, the SDK now detects the existing policy instead of blindly retrying and creating a duplicate. On retry, the transport layer searches for an existing AuthPolicy with the same name and persona GUID — if found, it returns a mock response containing the existing policy. Code that relied on retries always creating new policies will now receive the existing policy instead.

Full Changelog: 9.1.0...9.2.0

v9.1.0

06 Mar 11:51
fae3714

Choose a tag to compare

🥗 QOL Improvements

  • Regenerated latest typedef models.
  • Upgraded Python dependencies (pydantic, ruff, mypy, pytz, and others) and GitHub Actions to latest versions.
  • Replaced Sphinx with MkDocs + mkdocstrings for SDK documentation.
  • Fixed circular import chains in core/__init__.py generator (SQL → DbtTest, atlan_app priority ordering).
  • Moved AtlanApp, AtlanAppTool, AtlanAppWorkflow, and AppWorkflowRun into core/.
  • Added Claude Code skill (/upgrade-deps) for automated SDK dependency maintenance.

⛑️ Breaking Changes

  • DynamoDBTable.creator() now raises NotImplementedError. DynamoDB tables have a fundamentally different creation model and cannot reuse the inherited Table.creator(). Submit an enhancement request if you need this implemented.
  • FileClient.upload_file() now blocks uploads of sensitive files (system paths, credential directories, hidden config files) to prevent accidental secret exposure. Users can extend the blocklist via the PYATLAN_UPLOAD_FILE_BLOCKED_PATHS environment variable (comma-separated substrings matched against the resolved path):
    # .env
    export PYATLAN_UPLOAD_FILE_BLOCKED_PATHS="/custom/secrets/,.vault,.credentials"

Full Changelog: 9.0.0...9.1.0

v9.0.0

05 Mar 14:09
192c20f

Choose a tag to compare

🎉 New Features

  • Added DynamoDBAttribute.creator() methods.
  • Added support for new connector type AtlanConnectorType.ALLOYDB_POSTGRES.

🧪 Experimental

pyatlan_v9 — Next-generation Pyatlan SDK powered bymsgspec 💪

Introduced pyatlan_v9, a ground-up rebuild of the SDK's data layer replacing Pydantic v1 with msgspec. Ships with full functional parity — models, clients, caches, and serde — while delivering 35-50x faster serialization performance. No implicit validators, fully typed, and extensible by design.

Key design changes:

  • All models use msgspec.Struct instead of Pydantic BaseModel
  • Explicit UNSET sentinel replaces Pydantic's implicit unset tracking
  • omit_defaults=True and rename="camel" handle JSON wire format natively
  • Zero runtime validation overhead — type safety enforced at decode time

Benchmark results (Python 3.11, msgspec 0.20.0, macOS):

Operation msgspec (v9) Pydantic v1 Speedup
Object creation 1.6–2.3 us 75–102 us ~40-50x
Serialization 0.37–0.42 us 14–17 us ~35-46x
Deserialization 1.7–1.8 us 59–65 us ~35-36x
Round-trip (ser + deser) 2.1–2.2 us 79–85 us ~37-41x

pyatlan_v9 is experimental and ships alongside the stable pyatlan package. APIs may change in future releases.

🥗 QOL Improvements

  • Regenerated latest SDK models.
  • Switched Claude Code review model to Opus.
  • Fixed flaky integration test failures across PR runs.
  • Added Claude Code skill (/generate-v9-models) to generate and sync msgspec models for pyatlan_v9.

⛑️ Breaking Changes

  • SSOClient.update_group_mapping() now requires group_map_name as a mandatory parameter.
  • Atlan tag task response no longer returns classification_id.

Full Changelog: 8.5.3...9.0.0

v8.5.3

17 Feb 10:17
f0ca3e8

Choose a tag to compare

🥗 QOL Improvements

  • Added scheduled Trivy scan with Linear ticket creation.
  • Added Claude Code workflow with /review skill for PR reviews.

Full Changelog: 8.5.2...8.5.3

v8.5.2

13 Feb 08:22
d4d4f1a

Choose a tag to compare

🥗 QOL Improvements

  • Added Harbor as an additional container registry alongside GHCR and updated Docker docs to reference Harbor pulls.
  • Added Snyk dependency scanning via requirements.txt, pre-commit sync, and local scan instructions.
  • Added Trivy image and uv.lock scans on PRs and main branch.
  • Limited uv dependency resolution to CPython and bumped urllib3 to fix CVEs.
  • Used constraint-dependencies for cryptography.
    Full Changelog: 8.5.1...8.5.2

v8.5.1

29 Jan 12:30
1a06403

Choose a tag to compare

🐞 Bug Fixes

  • Fixed iterative pagination in User and Group caches that prevented all records from being properly populated during cache refresh operations.

🥗 QOL Improvements

  • Enhanced SDK client retry mechanism to automatically retry HTTP 302 redirect responses, improving reliability when handling temporary redirects.
  • Updated admin integration tests to align with latest backend API changes.

Full Changelog: 8.5.0...8.5.1

v8.5.0

14 Jan 11:18
99f6be9

Choose a tag to compare

🎉 New Features

  • Added support for new DQ rule templates.

Docs: https://developer.atlan.com/patterns/create/dq_rules

⛑️ Breaking Changes

  • DataQualityRule.table_level_rule_creator() and DataQualityRule.column_level_rule_creator() now accept rule_type as a DataQualityRuleTemplateType enum instead of str.
  • threshold_compare_operator is now an optional parameter for DataQualityRule.table_level_rule_creator().

Full Changelog: 8.4.6...8.5.0

v8.4.6

13 Jan 11:48
32abd94

Choose a tag to compare

🎉 New Features

🥗 QOL Improvements

  • Regenerated models with latest typedef definitions.
  • Published pyatlan with Chainguard golden image for each new release.

Full Changelog: 8.4.5...8.4.6

0