When a public API element needs to change, simulacat follows a three-phase deprecation lifecycle:
-
Introduce replacement alongside old API. The new symbol or fixture is added and documented while the old one continues to work unchanged.
-
Emit warnings with migration guidance. The old symbol emits a
SimulacatDeprecationWarning(a subclass ofDeprecationWarning) that names the replacement and provides migration instructions. Consumers can filter these warnings independently:
import warnings
from simulacat import SimulacatDeprecationWarning
# Turn simulacat deprecation warnings into errors during CI.
warnings.filterwarnings("error", category=SimulacatDeprecationWarning)
- Remove after a documented transition period. The deprecated symbol is
removed only after the transition period stated in the warning message. The
removal version is recorded in
DEPRECATED_APISinsimulacat/api_stability.pyand announced in the changelog.
No symbols are currently deprecated.