> For the complete documentation index, see [llms.txt](https://docs.chassy.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chassy.io/user-guides/workflow-user-guide/packages-and-releases.md).

# Packages and Releases

## Packages

In Chassy, a package is an immutable reference to any application artifact imported/published to our storage platform (Chassy Index). These artifacts may be executables like binaries or containers, arbitrary files, archives, and much more. When packages are available in Chassy, they can then be used within a workflow as part of a Release intended for deployments to machines or executed directly on machines as a way to issue commands.

{% hint style="info" %}
A package cannot be deployed without being included in a release.
{% endhint %}

{% hint style="info" %}
Packages of up to 50 GB are imported during the execution of a workflow using the [Import Package Step](/reference/workflow-components/steps.md#import-package).
{% endhint %}

While Chassy does not impose any versioning philosophy, we generally recommend following [semantic versioning](https://semver.org) for packages when possible. Packages may be associated with arbitrary version strings which can be queried and used to filter available packages in the Chassy Index.

## Releases

A release is a versioned bundling of one or more versioned packages intended to be deployed to machines belonging to a particular [Chip](/user-guides/platform-user-guide/creating-chips.md#what-are-chips) in a [Fleet](/user-guides/fleet-user-guide.md#what-is-a-fleet). Releases can be created using the [Release step](/reference/workflow-components/steps.md#release) in the workflow engine. A release can then be deployed to a fleet using the [Deploy step](/reference/workflow-components/steps.md#deploy).

All releases in Chassy must follow the [semantic versioning (semver)](https://semver.org) scheme. Manual versions can be specified directly or Chassy can generate compliant version numbers based on certain constraints you specify automatically.
