India Compliance: Changes to Branching and Versioning

Dear Community,

Due to a breaking change in Frappe Framework’s develop branch, we’re no longer able to maintain a single branch (develop) for India Compliance that is compatible with both ERPNext version-14 and develop.

Consequently, we’ve made the following changes:

  • The develop branch has been renamed to version-14. For users who are currently on the develop branch of India Compliance, a bit of manual intervention will be required to continue receiving periodic updates (steps mentioned below).

  • A new branch called version-14-hotfix will serve as the staging area for code that is pending to be released into version-14 (similar to ERPNext). All pull requests intended for version-14 need to be made to this branch.

  • A new branch called next has been created. This will be compatible with ERPNext’s develop branch (we’re currently working on making this compatible).

    next will also be the default branch for all new clones (bench get-app ...). If you want to clone and install a stable version of India Compliance, you will need to use the --branch flag like so:

    bench get-app india-compliance --branch version-14

    This is similar to how you would specify branches when fetching the ERPNext app.

  • We’ve also started versioning for India Compliance. To keep the versioning consistent with Frappe and ERPNext, we’ve decided to start with the version 14.0.0.

Steps to switch to desired branch from the develop branch

Execute the following commands from your bench directory (e.g. frappe-bench):

cd apps/india_compliance/
git remote set-branches upstream [branch-name]
git fetch upstream [branch-name]
git checkout -b [branch-name] --track upstream/[branch-name]
cd ../..
bench update # to fetch requirements, build assets, and migrate database.

Replace [branch-name] with your desired branch (version-14 / version-14-hotfix / next). For instance, following commands will be applicable for version-14:

cd apps/india_compliance/
git remote set-branches upstream version-14
git fetch upstream version-14
git checkout -b version-14 --track upstream/version-14
cd ../..
bench update

Please feel free to post any queries here. And star us on GitHub if you like what we’ve built so far!


Renaming develop to next was a bad idea. develop branch is not expected to be stable.

I think you should rename this back to develop.


This had to be done, unfortunately. A lot of users had originally cloned the develop branch for stable v14 use. We erred on the side of breaking instead of risking these users downloading code applicable to an incorrect version.

Perhaps we can bring back the develop branch after giving these users due time to migrate to the version-14 branch.

Sorry for the inconvenience. Ideally, we should’ve started with the version-14 branch from day 1.


Breaking semantics is a bad idea. You could have still asked people to move to version-14 branch without renaming develop