Highlights
Going stable
`handsdown` is still in alpha, but it already has all planned features and plenty of supported Python versions. This is the first production-ready release.
Python 3.5 and 3.6 support
Yes, the source code became uglier, but it works on all popular Python versions now! Thanks to developers of [Future f-strings](https://pypi.org/project/future-fstrings/) package, `f-strings` are still there in exchange for one extra dependency. Data classes are gone though and I will miss them. `py36` delivers full-featured `handsdown` experience while `py35` does not render complex type annotations, e.g. `List[Text]` becomes `List`.
Python 2.7 support
This was huge. It started with comment-style type annotations and ended up with a full object signature rewrite as `py27` does not have many useful functions from `inspect` module.
Comment-style type annotations
Of course, this comes with `py27` support. Say hello to ` type: (Text, Text) -> None` comments under your functions. Do you use them? Well, they are fully supported and have no disadvantages compared to `py37`-style annotations.
Thanks to developers of [pytypes](https://github.com/Stewori/pytypes), I got an idea of how type hints should really be implemented in Python. However, I did not add this project to dependencies, I just used it for inspiration.
Features
- [x] Python 2.7 support
- [x] Python 3.5 support
- [x] Python 3.6 support
- [x] Python 3.8 support
- [x] PyPy 7.2.0 support
- [x] Support comment-style type annotations
Bugfixes
- [x] Render dynamic default values correctly
- [x] Do not render `args` and `kwargs` inherited from `object`
- [x] Fix anchor links for GitHub Pages
- [x] Fix duplicate auto-generated subtitles
- [x] Fix crash on nameless function (hello Django `operator.attrgetter`)