# XO1311: the release cannot be made

Publishing a module version is creating its git tag; `xo publish` validates first and prints the tag command, it never pushes. It needs the module in a git repository (at its root, or in a subdirectory whose name ends the module path, tagged `<dir>/vX.Y.Z`), no uncommitted changes (without --check), a version tag that does not exist yet and is above the last release, a major version that matches the module path (/vN from v2 on), and an xo.mod and xo.lock that load. See decision 0086.

## Example

```xo
xo publish --version v1.4.0   # v1.4.0 is already a tag
```

## Fix

```xo
xo publish --version v1.4.1
```

Run `xo explain XO1311` for this text in a terminal, or see
[section 10.6 of the specification](../../spec/core/#106-diagnostic-codes).

