---
title: Releasing and publishing a Swift package
framework: swift-package-manager
role: article
role_heading: Article
path: swift-package-manager/documentation/packagemanagerdocs/releasingpublishingapackage
---

# Releasing and publishing a Swift package

Share a specific version of your package.

## Overview

Overview Swift Package Manager expects a package to be remotely shared as a single Git repository, with a tag that conforms to a full semantic version, and a Package.swift manifest in the root of the repository. To publish a package that is hosted in a Git repository, create and push a semantic version tag. Swift package manager expects the tag to be a full semantic version, that includes major, minor, and patch versions in the tag. The following commands illustrate adding a tag 1.0.0 and pushing those tags to the remote repository: $ git tag 1.0.0 $ git push origin --tags warning: A tag in the form of 1.0 isn’t recognized by Swift Package Manager as a complete semantic version. Include all three integers reflecting the major, minor, and patch version information. With the tag in place, other packages can depend on the package you tagged through your source repository. An example of a published package can be found at github.com/apple/example-package-playingcard with multiple releases available. To read more about adding a dependency to your package, read Adding dependencies to a Swift package.

## See Also

### Guides

- [Creating a Swift package](swift-package-manager/documentation/packagemanagerdocs/creatingswiftpackage.md)
- [Setting the Swift tools version](swift-package-manager/documentation/packagemanagerdocs/settingswifttoolsversion.md)
- [Adding dependencies to a Swift package](swift-package-manager/documentation/packagemanagerdocs/addingdependencies.md)
- [Resolving and updating dependencies](swift-package-manager/documentation/packagemanagerdocs/resolvingpackageversions.md)
- [Creating C language targets](swift-package-manager/documentation/packagemanagerdocs/creatingclanguagetargets.md)
- [Using build configurations](swift-package-manager/documentation/packagemanagerdocs/usingbuildconfigurations.md)
- [Packaging based on the version of Swift](swift-package-manager/documentation/packagemanagerdocs/swiftversionspecificpackaging.md)
- [Bundling resources with a Swift package](swift-package-manager/documentation/packagemanagerdocs/bundlingresources.md)
- [Generating Software Bill of Materials (SBOM)](swift-package-manager/documentation/packagemanagerdocs/generatingsboms.md)
- [Continuous Integration Workflows](swift-package-manager/documentation/packagemanagerdocs/continuousintegration.md)
- [Plugins](swift-package-manager/documentation/packagemanagerdocs/plugins.md)
- [Module Aliasing](swift-package-manager/documentation/packagemanagerdocs/modulealiasing.md)
- [Using a package registry](swift-package-manager/documentation/packagemanagerdocs/usingswiftpackageregistry.md)
- [Package Collections](swift-package-manager/documentation/packagemanagerdocs/packagecollections.md)
- [Using shell completion scripts](swift-package-manager/documentation/packagemanagerdocs/usingshellcompletion.md)
