Breaking change in 0.8.0 - "ImportError: No module named CommonMark"
edmorley opened this issue · 4 comments
Hi!
There was a breaking change in commonmark v0.8.0 (and also present in v0.8.1), that causes our sphinx+recommonmark build to fail:
Traceback (most recent call last):
File "/home/travis/venv/lib/python2.7/site-packages/sphinx/config.py", line 161, in __init__
execfile_(filename, config)
File "/home/travis/venv/lib/python2.7/site-packages/sphinx/util/pycompat.py", line 150, in execfile_
exec_(code, _globals)
File "/home/travis/venv/lib/python2.7/site-packages/six.py", line 709, in exec_
exec("""exec _code_ in _globs_, _locs_""")
File "<string>", line 1, in <module>
File "conf.py", line 2, in <module>
from recommonmark.parser import CommonMarkParser
File "/home/travis/venv/src/recommonmark/recommonmark/parser.py", line 9, in <module>
from CommonMark import Parser
ImportError: No module named CommonMark
See:
https://travis-ci.org/mozilla/treeherder/jobs/425655351#L641
Our requirements file (that has now been pinned to commonmark 0.7.5, the last release that works with recommonmark master) is here:
https://github.com/mozilla/treeherder/blob/817ac227f3cd6b2dfeb049f853b68269552a2964/requirements/docs.txt
I believe this was due to #131.
Would it be possible to revert that PR, release a 0.8.2 that supports the old module name, and then remove the symlink in 1.0.0 instead? (I'll also file an issue against recommonmark for adding an upper bound on their range of <1 and/or adjusting their import)
As of version 0.8.1, you need to replace all instances of CommonMark with commonmark.
Hi! That's a breaking change - hence filing this issue.
Please could you take another look?
Or to be extra clear:
Making breaking changes in minor version releases is not ideal. This issue was requesting that a new 0.8.x be released with the breaking change reverted, and then the breaking change be re-released afterwards in v1.0.
I recommend staying at version 0.7.x if you're using the CommonMark package name, see: #134 (comment)
As far as releasing new version to revert changes - if someone else wants to handle it that's cool, but personally I just don't put much importance in versioning schemes.