feat(versioning): remove Stale tag when a new feature version is published

TE
1d ago
+43-0

Contributes to #8705.

Changes

  • Connect a remove_stale_tag receiver to environment_feature_version_published in api/features/versioning/receivers.py so publishing a new EnvironmentFeatureVersion (direct saves, scheduled changes, and change requests) removes any TagType.STALE tag from the feature while keeping user tags and other system tags (UNHEALTHY, etc.) intact.
  • Add unit coverage in api/tests/unit/features/versioning/test_unit_versioning_receivers.py.

(Note: the background staleness tagging task itself lives outside the OSS repository, so this PR covers the tag-removal side on feature modification.)