<p>
A common example of when a change
to <var>minimal-version</var> is required is a function that
takes an enum or struct argument that controls what the
function does. For example:
<example>
enum library_op { OP_FOO, OP_BAR };
int library_do_operation(enum library_op);
</example>
If a new operation, <tt>OP_BAZ</tt>, is added,
the <var>minimal-version</var>
of <tt>library_do_operation</tt> must be increased to the
version at which <tt>OP_BAZ</tt> was introduced. Otherwise, a
binary built against the new version of the library (having
detected at compile-time that the library
supports <tt>OP_BAZ</tt>) may be installed with a shared
library that doesn't support <tt>OP_BAZ</tt> and will fail at
runtime when it tries to pass <tt>OP_BAZ</tt> into this
function.
</p>