.. _omnigraph_versioning_behavior:

Code Behavior Versioning
########################

Modifying code behavior is a little trickier than modifying interfaces as the change is invisible to the user
writing code. They can only see it at runtime. One example of this is the deprecation of support for the global
implicit graph. The ABI does not change to remove support for it, just the behavior of the graph construction.

This follows the standard :ref:`omnigraph_deprecation_approach` to give users ample opportunity to modify their code
use. The key here is strategic identification of reliance on the old code behaviour so that the user can be properly
notified of the need to handle the deprecation.

.. hint::

    Using the deprecation process ensures that each step only involves a minor version bump to the extension as
    existing code will continue to work. In the final phase of removal of the original behavior a major version
    bump may be required. 

