Skip to main content

API lifecycle stages

This reference guide outlines the different stages in the lifecycle of Dagster APIs, from preview to deprecation. Understanding these stages helps developers make informed decisions about which APIs to use in their projects.

Dagster's API lifecycle is designed to balance innovation with stability, ensuring that developers can rely on consistent behavior while also benefiting from new features and improvements. This approach allows Dagster to evolve and adapt to changing requirements in the data engineering landscape while maintaining a stable foundation for existing projects.

The lifecycle stages described below provide a clear framework for understanding the maturity and reliability of different Dagster APIs. This transparency helps developers make informed decisions about which APIs to adopt in their projects, based on their specific needs for stability, feature completeness, and long-term support.

API lifecycle stages

StageDescriptionLifetime
PreviewThis API may have breaking changes in patch version releases. This feature is not considered ready for production use.Until design is complete, or implementation cancelled
BetaThis API may have breaking changes in minor version releases, with behavior changes in patch releases.At most, two 1.x releases before it is either considered stable or returned to preview
Generally Available (GA)Ready for production use, with minimal risk of breaking changes.Supported until at least 2.0
SupersededThis API is still available, but is no longer the best practice. A better alternative is available.Supported until at least 2.0
DeprecatedAPI is still available but will be removed in the future; avoid new usage.Will be removed in a minor release, the DeprecationWarning will indicate the next release that will remove the API.

Understanding the stages

Preview

  • Purpose: For early testing and feedback
  • Stability: Highly unstable, expect frequent changes
  • Usage: Not recommended for production environments
  • Documentation: Minimal, typically just a README or unlisted documentation

Beta

  • Purpose: Feature testing with wider audience
  • Stability: More stable than Preview, but still subject to changes
  • Usage: Can be used in non-critical production environments
  • Documentation: How-to guides and API documentation available

GA (General Availability)

  • Purpose: Production-ready features
  • Stability: Stable with minimal risk of breaking changes
  • Usage: Recommended for all production environments
  • Documentation: Comprehensive documentation available

Superseded

  • Purpose: Maintains backwards compatibility while promoting newer alternatives
  • Stability: Stable but no longer recommended
  • Usage: Existing implementations can continue, but new projects should use the recommended alternative
  • Documentation: API docs remain, but usage is discouraged in favor of newer alternatives

Deprecated

  • Purpose: Signals upcoming removal of the API
  • Stability: Stable but scheduled for removal
  • Usage: Existing implementations should plan migration
  • Documentation: API docs remain, with clear warnings about deprecation. Arguments may be removed from function signature

Dead

  • Purpose: Removed APIs
  • Stability: N/A
  • Usage: No longer available for use
  • Documentation: Removed from all documentation