Deprecation Policy
This document outlines ngDiagram’s approach to deprecating and removing APIs, features, and functionality. Following a clear deprecation policy ensures you have time to migrate your code and understand when breaking changes will occur.
Deprecation Timeline
Section titled “Deprecation Timeline”When an API, feature, or functionality is marked as deprecated:
- Deprecation Notice: The item is marked with
@deprecatedin the code and announced in the release notes - Deprecation Period: The deprecated item remains functional for a minimum of:
- 1 major version, OR
- 6 months (whichever comes first)
- Removal: The deprecated item is removed only in a major version release (X.0.0)
Example Timeline
Section titled “Example Timeline”If a feature is deprecated in version 1.2.0:
- Deprecated in: v1.2.0 (December 2025)
- Still available in: v1.x.x
- Can be removed in: v2.0.0 (earliest removal - after 1 major version or 6 months)
Exceptions
Section titled “Exceptions”Deprecation timeline may be shortened or skipped for:
- Security Issues: Security vulnerabilities require immediate fixes
- Critical Bugs: Bugs that cause data loss or severe functionality issues
- Beta/Experimental APIs: APIs marked with
@betaor@experimental(see API Stability Policy) - Pre-1.0 Releases: During 0.x.x versions, breaking changes may occur more frequently
In these cases, the reason will be clearly communicated in release notes.
Communication Channels
Section titled “Communication Channels”Deprecations are announced through:
- Changelog: All deprecations listed under “Deprecated” section
- Release Notes: Highlighted in GitHub releases
- Documentation: Updated API reference and guides
- Console Warnings: Runtime warnings in development mode
- TypeScript: Type deprecation hints in IDEs
Migration Support
Section titled “Migration Support”For each deprecated API, we provide:
- Clear documentation of the replacement
- Migration guide for complex changes
- Timeline for removal
Questions?
Section titled “Questions?”If you have questions about a specific deprecation:
- Check the Changelog for details
- Open a GitHub Discussion