## How to make a release

### Dev release

#### Prepare release
1. Set the project version that will be released in [pyproject.toml](https://github.com/topoteretes/cognee/blob/dev/pyproject.toml#L4)
2. Update `uv.lock` with `uv lock` lock command
3. Update `poetry.lock` by deleting the `poetry.lock` file first and then running the `poetry lock` command. This is required to update the `poetry.lock` file with the new version of the dependencies, otherwise it does not properly update and mostly uses the cached dependency versions in the existing `poetry.lock` file.
4. Create a PR with the changes mentioned above to `dev` and merge it.

#### Perform Release
1. Go to [Release action](https://github.com/topoteretes/cognee/actions/workflows/release.yml)
2. Select `dev` branch and run the workflow.
3. Watch the logs and make sure that everything goes well

### Main release

#### Prepare release
1. Set the project version that will be released in [pyproject.toml](https://github.com/topoteretes/cognee/blob/dev/pyproject.toml#L4)
2. Update `uv.lock` with `uv lock` lock command
3. Update `poetry.lock` by deleting the `poetry.lock` file first and then running the `poetry lock` command. This is required to update the `poetry.lock` file with the new version of the dependencies, otherwise it does not properly update and mostly uses the cached dependency versions in the existing `poetry.lock` file.
4. Create a PR with the changes mentioned above to `main` and merge it.

#### Perform Release
1. Go to [Release action](https://github.com/topoteretes/cognee/actions/workflows/release.yml)
2. Select `main` branch and run the workflow.
3. Watch the logs and make sure that everything goes well

### Release validation

1. Make sure that the correct image is published to [Docker Hub](https://hub.docker.com/r/cognee/cognee)
2. Python package is published to [PyPi](https://pypi.org/project/cognee/)
3. Find the created github release in [GitHub releases](https://github.com/topoteretes/cognee/releases). Edit/prettify the release notes if required.
