---
title: Version
framework: packagedescription
role: symbol
role_heading: Structure
path: packagedescription/version
---

# Version

A version according to the semantic versioning specification.

## Declaration

```swift
struct Version
```

## Overview

Overview A package version consists of three integers separated by periods, for example 1.0.0. It must conform to the semantic versioning standard in order to ensure that your package behaves in a predictable manner once developers update their package dependency to a newer version. To achieve predictability, the semantic versioning specification proposes a set of rules and requirements that dictate how version numbers are assigned and incremented. To learn more about the semantic versioning specification, visit Semantic Versioning 2.0.0.

## Topics

### Creating a new version

- [init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)](packagedescription/version/init(_:_:_:prereleaseidentifiers:buildmetadataidentifiers:).md)

### Inspecting a version

- [major](packagedescription/version/major.md)
- [minor](packagedescription/version/minor.md)
- [patch](packagedescription/version/patch.md)
- [prereleaseIdentifiers](packagedescription/version/prereleaseidentifiers.md)
- [buildMetadataIdentifiers](packagedescription/version/buildmetadataidentifiers.md)

### Default Implementations

- [Comparable Implementations](packagedescription/version/comparable-implementations.md)
- [CustomStringConvertible Implementations](packagedescription/version/customstringconvertible-implementations.md)
- [Equatable Implementations](packagedescription/version/equatable-implementations.md)
- [ExpressibleByExtendedGraphemeClusterLiteral Implementations](packagedescription/version/expressiblebyextendedgraphemeclusterliteral-implementations.md)
- [ExpressibleByStringLiteral Implementations](packagedescription/version/expressiblebystringliteral-implementations.md)
- [ExpressibleByUnicodeScalarLiteral Implementations](packagedescription/version/expressiblebyunicodescalarliteral-implementations.md)
- [LosslessStringConvertible Implementations](packagedescription/version/losslessstringconvertible-implementations.md)

## Relationships

### Conforms To

- [Comparable](swift/comparable.md)
- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [ExpressibleByExtendedGraphemeClusterLiteral](swift/expressiblebyextendedgraphemeclusterliteral.md)
- [ExpressibleByStringLiteral](swift/expressiblebystringliteral.md)
- [ExpressibleByUnicodeScalarLiteral](swift/expressiblebyunicodescalarliteral.md)
- [LosslessStringConvertible](swift/losslessstringconvertible.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Describing a Package Dependency

- [kind](packagedescription/package/dependency/kind-swift.property.md)
- [Package.Dependency.Kind](packagedescription/package/dependency/kind-swift.enum.md)
- [name](packagedescription/package/dependency/name.md)
- [url](packagedescription/package/dependency/url.md)
