Releases: atlanhq/atlan-python
Releases Β· atlanhq/atlan-python
v9.6.0
New Features π
- Deprecated Phosphor icon enum values: Added 11 deprecated Phosphor icon names (
PhActivity,PhCircleWavy*,PhFileDotted,PhFileSearch,PhFolderDotted,PhFolderSimpleDotted,PhPedestrian,PhTextBolder) toAtlanIconso 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_metadatacalls 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) andpool=Nonetimeout meant threads waited forever. Fix addspool=30.0timeout,keepalive_expiry=30.0(< nginx 75s), andresponse.close()before retry sleep to release connection slots. Includesreset_http_session()for recovering degraded pools in long-running workflows.
QOL Improvements π₯
- Connection pool config extracted to constants:
_DEFAULT_POOL_LIMITSand_DEFAULT_POOL_TIMEOUT_SECONDSdefined 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
New Features π
- Data contract delete methods: Added
client.contracts.delete(guid)to hard-delete all versions of a data contract andclient.contracts.delete_latest_version(guid)to delete only the latest version and promote the previous one.
docs: https://developer.atlan.com/snippets/datacontract/manage-via-sdks
Bug Fixes π
showAsFeaturedsilent data loss on typedef update:AttributeDef.Optionswas missing theshow_as_featuredfield, causing Pydantic to silently discard it on parse. Any SDK operation that fetched and re-submitted a Custom Metadata typedef withshowAsFeaturedset was clearing that setting in the backend. Addedshow_as_featured: Optional[bool]so the field now round-trips correctly.
Experimental: pyatlan_v9 π§ͺ
- Data contract delete methods: Same
deleteanddelete_latest_versionmethods added to the v9 async/sync clients. show_as_featuredfield: Added to v9AttributeDef.Optionsas well.
Full Changelog: 9.4.1...9.5.0
v9.4.1
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. IncludesContextLifecycleStatusenum andFileType.YAML/FileType.SQLadditions. FileType.MDenum value: Addedmdfile type to theFileTypeenum.
QOL Improvements π₯
- Generator
--overrideflag: Added--overrideflag 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_ASSETSupdates: 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
v9.4.0
Experimental: pyatlan_v9 π§ͺ
BusinessPolicyException,BusinessPolicyIncident,BusinessPolicyLogstandalone classes: Added full standalone flat asset classes for these three business policy types. Previously onlyRelated*reference types existed, so users couldn't create, search, or deprecate these asset types viapyatlan_v9.
QOL Improvements π₯
- Generated latest typedef models.
Full Changelog: 9.3.2...9.4.0
v9.3.2
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.
AtlanTagdisplayNamefield: TheAtlanTagclassification model now accepts adisplayNamefield that was previously rejected during deserialization.
Experimental: pyatlan_v9 π§ͺ
- Sync
get/set_custom_metadataonAsset: Added synchronousget_custom_metadata()andset_custom_metadata()methods to the v9Assetclass, and fixed related custom metadata integration tests.
Full Changelog: 9.3.1...9.3.2
v9.3.1
Experimental: pyatlan_v9 π§ͺ
typedef typing corrections and serialization fixes:
- Corrected field types in
RelationshipDefand removed hardcoded defaults. - Optional typedef fields now use
msgspec.UNSETso they are omitted from serialization rather than emitted asnull.AttributeDef.default_valueandindex_type_es_fieldsrelaxed toAnyto accommodate varied server responses. is_rich_textandcustom_metadata_versionnow default toUNSETvia__post_init__and thecategoryfield is no longer silently dropped byomit_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
New Features π
ModeChart.to_atlas_dict()andmode_reportfield: Addedto_atlas_dict()method andmode_reportattribute to theModeChartmodel.
Bug Fixes π
DQConditionvalue type ordering: Reordered theUniontype forDQCondition.valueto prioritizeintoverstr, preventing integer values from being incorrectly coerced to strings during deserialization.RICH_TEXT/STRINGenum aliasing fix:AtlanCustomAttributePrimitiveType.RICH_TEXTnow has a distinct enum value ("rich_text") instead of sharing"string"withSTRING. Previously Python's Enum treated them as aliases, causingSTRINGattributes to incorrectly receiveis_rich_text=Trueand 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/STRINGenum aliasing fix: Same fix applied topyatlan_v9/model/typedef.pyβRICH_TEXTandSTRINGcustom 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
π₯ QOL Improvements
PackageHeadersmodel and backward-compatible header emission: Introduced a typedPackageHeadersmodel to manage package-related HTTP headers.set_package_headersnow accepts explicit header values, and the SDK emits bothpackage-nameandapp-nameheaders to maintain backward compatibility with older backends./releaseskill: 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
π§ͺ Experimental pyatlan_v9
- Restored
validate(),minimize(),relate()SDK methods: All generated asset types now includevalidate(for_creation=False)for dry-run field validation (checkstype_name,name,qualified_name, optional QN pattern matching, and hierarchy-specific fields whenfor_creation=True),minimize()to produce a minimal updater copy, andrelate()to create aRelated{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