readthedocs/commonmark.py

Treat AST node names as a public interface when bumping package version number

irskep opened this issue · 1 comments

I work on a project that integrates closely with the CommonMark library. Specifically, I need to read Markdown as an AST instead of dumping it right to HTML.

I got a working implementation without too much trouble based on 0.6.3, but in 0.6.4, you renamed all your AST nodes, breaking my code! This is not something I would expect in an 0.0.x release.

You've probably been thinking of the AST as an internal interface, but it's so incredibly useful to people like me who want to use all that information. If you make changes on the same level in a future release, please bump at least the 0.x version so I can write a setup.py rule that makes sense.

Yeah, I renamed the AST nodes to keep them consistent with the upstream commonmark.js. Sorry for releasing this change in a minor version release! I'm still getting used to semantic versioning.

And yeah, the AST is an internal interface that goes through pretty constant change (all decided by commonmark.js's author), but it's fine to use yourself, as long as you stay up to date with any changes.