Content
Updated by Christophe Bliard over 1 year ago
**Prerequisites**
* Clone and install [https://github.com/opf/openproject-devkit](https://github.com/opf/openproject-devkit)
**Releasing**
Creating a new release boils down to running `bin/opdev release X.Y.Z`, which combines releasing:
* Release core stable/X from release/X.Y
* Tag stable/X with vX.Y.Z
* Bump release/X.Y to X.Y.(Z+1)
* Create a release-api entry
* Creating and publishing release notes (if not already present)
So, to actually run this command to release OpenProject@vX.Y.Z you use:
`./bin/opdev release X.Y.Z`
Once that command has completed, you can inspect your local workspace to make sure the release is complete and then redo it with push enabled:
`./bin/opdev release --push X.Y.Z`
**Release Checklist**
* [x] [ ] Release notes copied over/added to [https://github.com/opf/openproject/releases](https://github.com/opf/openproject/releases)
* [x] [ ] Release added as news to https://community.openproject.org/projects/openproject/news/new
* [x] [ ] Confirmed release API up to date [https://releases.openproject.com/v1/check.svg?version=X.Y.Z&type=packager](https://releases.openproject.com/v1/check.svg?version=10.4.0&type=packager)
* [ ] Confirmed packages completed at [https://packager.io/gh/opf/openproject/refs/stable/X](https://packager.io/gh/opf/openproject/refs/stable/X) (in progress) https://packager.io/gh/opf/openproject/refs/stable/X
* [ ] Confirmed docker tags built at [https://hub.docker.com/r/openproject/community/](https://hub.docker.com/r/openproject/community/) (in progress) https://hub.docker.com/r/openproject/community/
* [x] [ ] MAJOR VERSIONS ONLY: Updated tag in docker-compose.yml [https://github.com/opf/openproject-deploy/blob/stable/11/compose/docker-compose.yml#L14](https://github.com/opf/openproject-deploy/blob/stable/11/compose/docker-compose.yml#L14)
**Priorities**
* oD 24.02
* Progress
* Gantt
* AMG
* Sharing
* CoC
* Project lists
* Project attributes
* DB
* Managed project folders
* Clone and install [https://github.com/opf/openproject-devkit](https://github.com/opf/openproject-devkit)
**Releasing**
Creating a new release boils down to running `bin/opdev release X.Y.Z`, which combines releasing:
* Release core stable/X from release/X.Y
* Tag stable/X with vX.Y.Z
* Bump release/X.Y to X.Y.(Z+1)
* Create a release-api entry
* Creating and publishing release notes (if not already present)
So, to actually run this command to release OpenProject@vX.Y.Z you use:
`./bin/opdev release X.Y.Z`
Once that command has completed, you can inspect your local workspace to make sure the release is complete and then redo it with push enabled:
`./bin/opdev release --push X.Y.Z`
**Release Checklist**
* [x]
* [x]
* [x]
* [ ] Confirmed packages completed at [https://packager.io/gh/opf/openproject/refs/stable/X](https://packager.io/gh/opf/openproject/refs/stable/X) (in progress)
* [ ] Confirmed docker tags built at [https://hub.docker.com/r/openproject/community/](https://hub.docker.com/r/openproject/community/) (in progress)
* [x]
**Priorities**
* oD 24.02
* Progress
* Gantt
* AMG
* Sharing
* CoC
* Project lists
* Project attributes
* DB
* Managed project folders