Skip to content

Releases: atlanhq/atlan-python

v9.6.0

27 Apr 08:43
2c08e90

Choose a tag to compare

New Features πŸŽ‰

  • Deprecated Phosphor icon enum values: Added 11 deprecated Phosphor icon names (PhActivity, PhCircleWavy*, PhFileDotted, PhFileSearch, PhFolderDotted, PhFolderSimpleDotted, PhPedestrian, PhTextBolder) to AtlanIcon so the SDK can deserialize tag definitions that reference old icon names without failing.

Bug Fixes 🐞

  • httpcore connection pool deadlock fix: Fixed a production deadlock where concurrent replace_custom_metadata calls could hang indefinitely. Root cause: httpcore's connection pool filled with CLOSE_WAIT zombie sockets (nginx closed idle connections at 75s, httpcore didn't detect this) and pool=None timeout meant threads waited forever. Fix adds pool=30.0 timeout, keepalive_expiry=30.0 (< nginx 75s), and response.close() before retry sleep to release connection slots. Includes reset_http_session() for recovering degraded pools in long-running workflows.

QOL Improvements πŸ₯—

  • Connection pool config extracted to constants: _DEFAULT_POOL_LIMITS and _DEFAULT_POOL_TIMEOUT_SECONDS defined once at module level instead of repeated 4 times across init, reset, max_retries, and timeout.
  • Trivy CI fix: Bumped Trivy from v0.69.0 (broken download) to v0.70.0.

Full Changelog: 9.5.0...9.6.0

v9.5.0

21 Apr 07:30
d32c766

Choose a tag to compare

New Features πŸŽ‰

Bug Fixes 🐞

  • showAsFeatured silent data loss on typedef update: AttributeDef.Options was missing the show_as_featured field, causing Pydantic to silently discard it on parse. Any SDK operation that fetched and re-submitted a Custom Metadata typedef with showAsFeatured set was clearing that setting in the backend. Added show_as_featured: Optional[bool] so the field now round-trips correctly.

Experimental: pyatlan_v9 πŸ§ͺ

  • Data contract delete methods: Same delete and delete_latest_version methods added to the v9 async/sync clients.
  • show_as_featured field: Added to v9 AttributeDef.Options as well.

Full Changelog: 9.4.1...9.5.0

v9.4.1

20 Apr 12:50
dbbddb0

Choose a tag to compare

New Features πŸŽ‰

  • Agentic type hierarchy: Added Python SDK support for the new Agentic hierarchy (Agentic, Artifact, Skill, SkillArtifact, Context, ContextRepository, ContextArtifact) with NanoID-based qualifiedName patterns and auto-populated parent refs on creators. Includes ContextLifecycleStatus enum and FileType.YAML/FileType.SQL additions.
  • FileType.MD enum value: Added md file type to the FileType enum.

QOL Improvements πŸ₯—

  • Generator --override flag: Added --override flag to the generator script to force re-download of typedefs, bypassing the daily cache check.
  • Generator template coverage: Added Jinja2 asset, attribute, and import templates for all Agentic types so the code generator can reproduce creator methods.
  • _CORE_ASSETS updates: Added Agentic types, Dremio, Cloud, Google, and GCPDataplex to the core assets list to stabilize code generation layout.
  • Regenerated models from latest typedefs.

Full Changelog: 9.4.0...9.4.1

v8.5.4

16 Apr 08:45

Choose a tag to compare

πŸŽ‰ New Features

  • Added md file type to enums.

Full Changelog: 8.5.3...8.5.4

v9.4.0

10 Apr 08:11
9ee6ff0

Choose a tag to compare

Experimental: pyatlan_v9 πŸ§ͺ

  • BusinessPolicyException, BusinessPolicyIncident, BusinessPolicyLog standalone classes: Added full standalone flat asset classes for these three business policy types. Previously only Related* reference types existed, so users couldn't create, search, or deprecate these asset types via pyatlan_v9.

QOL Improvements πŸ₯—

  • Generated latest typedef models.

Full Changelog: 9.3.2...9.4.0

v9.3.2

25 Mar 06:45
b14863b

Choose a tag to compare

Bug Fixes 🐞

  • Policy duplicate detection - allow updates to proceed: Revised the duplicate-detection logic (introduced in 9.2.0) so that legitimate policy updates are no longer blocked. The duplication check now only intercepts retried creations, not update requests.
  • AtlanTag displayName field: The AtlanTag classification model now accepts a displayName field that was previously rejected during deserialization.

Experimental: pyatlan_v9 πŸ§ͺ

  • Sync get/set_custom_metadata on Asset: Added synchronous get_custom_metadata() and set_custom_metadata() methods to the v9 Asset class, and fixed related custom metadata integration tests.

Full Changelog: 9.3.1...9.3.2

v9.3.1

23 Mar 08:07
2b48e48

Choose a tag to compare

Experimental: pyatlan_v9 πŸ§ͺ

typedef typing corrections and serialization fixes:

  • Corrected field types in RelationshipDef and removed hardcoded defaults.
  • Optional typedef fields now use msgspec.UNSET so they are omitted from serialization rather than emitted as null. AttributeDef.default_value and index_type_es_fields relaxed to Any to accommodate varied server responses.
  • is_rich_text and custom_metadata_version now default to UNSET via __post_init__ and the category field is no longer silently dropped by omit_defaults.

QOL Improvements πŸ₯—

  • Trivy action updated to 0.35.0: Keeps the security scanning workflow on a stable release.

Full Changelog: 9.3.0...9.3.1

v9.3.0

16 Mar 11:59
896d3ac

Choose a tag to compare

New Features πŸŽ‰

  • ModeChart.to_atlas_dict() and mode_report field: Added to_atlas_dict() method and mode_report attribute to the ModeChart model.

Bug Fixes 🐞

  • DQCondition value type ordering: Reordered the Union type for DQCondition.value to prioritize int over str, preventing integer values from being incorrectly coerced to strings during deserialization.
  • RICH_TEXT / STRING enum aliasing fix: AtlanCustomAttributePrimitiveType.RICH_TEXT now has a distinct enum value ("rich_text") instead of sharing "string" with STRING. Previously Python's Enum treated them as aliases, causing STRING attributes to incorrectly receive is_rich_text=True and RICH_TEXT multi-value restrictions to bleed into STRING attribute creation. The API-level primitive type sent in requests remains "string" for both (fixes PART-548).

Experimental: pyatlan_v9 πŸ§ͺ

  • RICH_TEXT / STRING enum aliasing fix: Same fix applied to pyatlan_v9/model/typedef.py β€” RICH_TEXT and STRING custom metadata attributes are now correctly distinguished in the v9 code path.

QOL Improvements πŸ₯—

  • Security guidelines for agents: Added security guidelines documentation for agents interacting with the atlan-python SDK.

Full Changelog: 9.2.2...9.3.0

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