Statocles::Help::Policy - Development and deprecation policies


This document describes development and deprecation policies.


Major versions are the only time when APIs can break. Major versions must be at least 6 months apart.


Features will be deprecated for an entire major version before they are removed.

Deprecation will start in the current major version, but only in testing (when the HARNESS_ACTIVE environment variable set by the Test::Harness module is true). All deprecations will be accompanied with the new feature when possible so users can switch immediately.

When the next major version happens, the deprecation will warn always. When the major version after that happens, the deprecation will be fatal. Finally, after the next major version, the warning/exception will be removed (and so, things will probably fail in unexpected ways).

So, for something deprecated in v1.28:

  • Warning only when testing from v1.28 to v2.00

  • Warning in normal operation from v2.00 to v3.00

  • Fatal exception from v3.00 to v4.00

  • Exception removed in v4.00

All deprecations will be recorded in the upgrading guide along with instructions on how to work through it.