Making a release

If you are using NocoDB with version 0.90 onwards, please check out the latest documentation here instead. The documentation for previous versions is no longer maintained and will be completely removed on 30 Jun 2022. See v0.90 Important Announcement for more.
This is exclusive to NocoDB team members only.
The version 0.84.8 will be used as an example. Please change it during the release.

1. Merge develop to master

  • When several features are included in develop branch and they are ready to be released, make a PR with the title 0.84.8 Pre-Release from develop branch to master branch. At least one NocoDB team member approval is required.

2. Publish frontend

  • Navigate to packages/nc-gui and execute following command.
    npm run build:copy:jsdeliver
    

3. Install frontend

  • Install the latest published version of nc-lib-gui in packages/nocodb, package version can be extracted from result of step 1 or copy it from packages/nc-lib-gui/package.json. While installing, add -E to install exact version of the package.

  • Example: for latest published version 0.84.8

      npm i -E nc-lib-gui@0.84.8
    

4. Publish backend

  • Bump package version in packages/nocodb/package.json file.
  • Publish the npm package by running following npm command in packages/nocodb folder.
    npm run obfuscate:build:publish
    

5. Close all issues

  • Go to Issue page and close all issues with tags Fixed or Resolved.

6. Commit release changes

  • Commit those changes made by previous steps with the commit message chore(publish): v0.84.8.

7. Prepare release notes

  • Populate release note by running following github action (on master branch) - Release : Draft Notes. While running the action you have to provide 2 inputs:
    • Tag : Provide current package version
    • Previous Tag : Provide previously released tag version

8. Publish docker & release

  • Publish docker image by running Release : Docker action in github (on master branch), where you have to provide the package version/tag. It may take half an hour. Test it locally after it is done.

  • Update the populated release (remove issues which is not related to release) draft and publish. In release note you can use Auto-generate release notes button to populate release content from commits & PR.

9. Sync the changes back to develop branch

  • Pull the latest chagnes for both branches to your local
  • Switch to develop branch
  • Run git merge master
  • Push the diff to remote repository