Skip to content

v9.0.0

Choose a tag to compare

@Aryamanz29 Aryamanz29 released this 05 Mar 14:09
· 74 commits to main since this release
192c20f

πŸŽ‰ 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