[Release Note] ERPNext Version 12

Congrats Frappe…
I have question, what is the new develop branch name is it version 13 or develop, thx?

1 Like

@nmami It’s version-12

1 Like

For production - v11 master is the still the recommended choice?

1 Like

@zerodiscount yes still it is…also fixes do come for V11 too…


Im getting

“Branch version-12 does not exist in Upstream for erpnext”

when I tried bench switch-to-branch version-12

kind regards

1 Like

This should help


GitHub was down for a bit. Please try now.

@nmami develop is now version-13

@zerodiscount master will be version-11 and is deprecated. We won’t be using the term anymore. New benches will now be created in version-12


@rmehta - I updated production container briefly to v12 - but it messed up everything - modules were not visible (as identified in another thread), and webstore / website looked entirely different with product images being resized smaller and text not fitting in current box… Seems migration from V11 to V12 may not be seamless. Had to revert back quickly to v11 using a prior snapshot of container. For non-tech users like me, I would urge clarification on whether v12 is meant for cutting-edge development or is production ready?..Should one expect migration to be seamless for customer facing end? Thanks.

Will also appreciate clarification if V11 deprecated means no more updates or fixes?

V11 is not deprecated (master branch is)!

V12 is ready for production use.

1 Like

Hello. The V12 looks sleek and more into business type ERP, altough I still love the iconic ERP Next icon, as long as the functionality is the same, that’s fine… Add some nice dashboard with graphics will makes it nicer… just my two cents…

keep up the great works coming…


@hpema108 and @DrTrills

Follow instructions for git to fetch all branches in the /apps/erpnext directory. then follow instructions above to bench update and bench switch-to-version11 (or 12)…

1 Like


I am trying to update to V12, and when I run bench update, I get following error:
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/regional/india/setup.py”, line 483, in make_custom_fields
create_custom_fields(custom_fields, update=update)
File “/home/frappe/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 147, in create_custom_fields
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 271, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 324, in save
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 917, in run_post_save_methods
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 786, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1055, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1038, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 780, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 61, in on_update
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 562, in validate_fields_for_doctype
validate_fields(frappe.get_meta(doctype, cached=False))
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 823, in validate_fields
check_link_table_options(meta.get(“name”), d)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 607, in check_link_table_options
(“{0}: Options must be a valid DocType for field {1} in row {2}”).format(docname, d.label, d.idx), WrongOptionsDoctypeLinkError)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 360, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 346, in msgprint
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 315, in _raise_exception
raise raise_exception(msg)
frappe.core.doctype.doctype.doctype.WrongOptionsDoctypeLinkError: Item: Options must be a valid DocType for field Manufacturers in row 130

Please help! Thanks.

i am getting following error
bench.app.MajorVersionUpgradeException: Switching to version-12 will cause upgrade from 11 to 12. Pass --upgrade to confirm

I confirm, there is an error getting Version 12 of ERPNEXT. (seemingly there is no Branch Version-12 for ERPNext)
Frappe does successfully switch-to-branch Version-12 but ERPNext does not.


Here is how I did it (though I am now working with a bunch of new errors)

  1. first go to: cd / home/frappe/frappe-bench/apps/frappe

and run:

git config remote.upstream.fetch "+refs/heads/*:refs/remotes/upstream/*"
git fetch upstream to fetch staging branch

  1. cd / home/frappe/frappe-bench/apps/erpnext

and run:

git config remote.upstream.fetch "+refs/heads/*:refs/remotes/upstream/*"
git fetch upstream to fetch staging branch

After this go to
cd /home/frappe/frappe-bench/
and you should be good to switch!


Great news.

For the purposes of everyone’s sanity, I feel the upgrade instructions should include notes, or links, to backup and restore tasks. This will just complete my confidence to take the plunge.

1 Like

May I ask what kind of new errors?

I am trying to stay on Ver 11. But I get the following message:

Branch version-11 does not exist in Upstream for erpnext

So is version-11 branch not ready for ERPNext yet?

Complete trail below.



frappe@ip-172-31-27-24:~/frappe-bench$ bench --site sspl migrate
Migrating sspl
Updating DocTypes for frappe : [========================================]
Updating DocTypes for erpnext : [========================================]
Updating DocTypes for nhance : [========================================]
frappe@ip-172-31-27-24:~/frappe-bench$ bench update
INFO:bench.utils:updating bench
INFO:bench.utils:git pull
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 3), reused 2 (delta 1), pack-reused 0
Unpacking objects: 100% (5/5), done.
From GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps
6d4df81…0859e55 master → origin/master
Updating 6d4df81…0859e55
playbooks/install.py | 12 +++++±-----
1 file changed, 6 insertions(+), 6 deletions(-)
master branch is renamed to version-11 and develop to version-12. Please switch to new branches to get future updates.

To switch to version 11, run the following commands: bench switch-to-branch version-11
frappe@ip-172-31-27-24:~/frappe-bench$ bench switch-to-branch version-11
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 4), reused 8 (delta 4), pack-reused 0
Unpacking objects: 100% (8/8), done.
From GitHub - umaepoch/nhance
ac39858…1775523 master → upstream/master
Branch version-11 does not exist in Upstream for nhance
From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
42bbca5…93022be version-12-hotfix → upstream/version-12-hotfix
Switching for frappe
INFO:bench.utils:git config --unset-all remote.upstream.fetch
INFO:bench.utils:git config --add remote.upstream.fetch ‘+refs/heads/:refs/remotes/upstream/
INFO:bench.utils:git fetch upstream
INFO:bench.utils:git checkout version-11
Already on ‘version-11’
Your branch is up-to-date with ‘upstream/version-11’.
INFO:bench.utils:git merge upstream/version-11
Already up-to-date.
Branch version-11 does not exist in Upstream for erpnext
Successfully switched branches for:
Switched to version-11
Please run bench update --patch to be safe from any differences in database schema

INFO:bench.utils:yarn install
yarn install v1.17.3
[1/4] Resolving packages…
[2/4] Fetching packages…
error cypress-file-upload@3.1.0: The engine “node” is incompatible with this module. Expected version “>=8.2.1”. Got “6.17.1”
error Found incompatible module.
info Visit yarn install | Yarn for documentation about this command.
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/home/frappe/.bench/bench/cli.py”, line 40, in cli
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 716, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 696, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 534, in invoke
return callback(*args, **kwargs)
File “/home/frappe/.bench/bench/commands/update.py”, line 61, in update
_update(pull, patch, build, bench, auto, restart_supervisor, restart_systemd, requirements, no_backup, force=force, reset=reset)
File “/home/frappe/.bench/bench/commands/update.py”, line 85, in _update
File “/home/frappe/.bench/bench/utils.py”, line 452, in update_node_packages
File “/home/frappe/.bench/bench/utils.py”, line 465, in update_yarn_packages
exec_cmd(‘yarn install’, cwd=app_path)
File “/home/frappe/.bench/bench/utils.py”, line 159, in exec_cmd
raise CommandFailedError(cmd)
bench.utils.CommandFailedError: yarn install

Have you tried this?

Updating Nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs