# Releases¶

Documentation for all versions of cfdm.

## Versioning¶

### Finding versions¶

The version of the CF conventions and the CF data model being used may be found with the cfdm.CF function:

Retrieve the version of the CF conventions.
>>> import cfdm
>>> cfdm.CF()
'1.10'


This indicates which version of the CF conventions are represented by this release of the cfdm package, and therefore the version can not be changed.

The version identifier of the cfdm package is based on the version of the CF conventions to which it applies, with the addition of extra integer values for updates that apply to the same version of CF:

Retrieve the version of the cfdm package.
>>> cfdm.__version__
'1.10.0.0'


The next section outlines the scheme used to set version identifiers.

### Versioning strategy¶

A CF.major.minor numeric version scheme is used, where CF is the version of the CF conventions (e.g. 1.10) to which a particular version of cfdm applies.

Major changes comprise:

• changes to the API, such as:

• changing the name of an existing function or method;

• changing the behaviour of an existing function or method;

• changing the name of an existing keyword parameter;

• changing the default value of an existing keyword parameter;

• changing the meaning of a value of an existing keyword parameter.

• introducing a new function or method;

• introducing a new keyword parameter;

• introducing a new permitted value of a keyword parameter;

• changes to required versions of the dependencies.

Minor changes comprise:

• bug fixes that do not change the API;

• changes to the documentation;

• code tidying.