A versioning Application Programming Interface (API) is provided for a
software platform based on an object-oriented platform-independent
programming language. The versioning API includes (a) main interfaces
defining versioning functionality, the main interfaces allowing access to
the versioning functionality, (b) a functional implementation of the main
interfaces, the functional implementation including classes and libraries
implementing the versioning functionality, the classes including a
reference to a program module to perform a requested versioning function,
and (c) a user interface for using the versioning functionality. The
versioning API may further include native programming interfaces allowing
code written in the object-oriented platform-independent language to
operate with code written in a native language other than the
object-oriented platform-independent language. The classes and some
libraries are written in an object-oriented platform-independent
programming language. Some libraries may include software routines
written in the native programming language, and implement the native
programming interfaces.