Get the code
There are a number of ways to get involved with Facepy:
- Report bugs. If you think you've found a bug in Facepy, please let me know by creating a ticket on the issue tracker.
- Submit patches or new features. Create a fork and send me a pull request on Github!
Please note that, although difficult, facepy tries to be as PEP8 compliant as possible. Thus, before contributing, please try to see if you have PEP8 warnings in your source by running:
$ make pep8
Facepy has an exhaustive test suite that runs under various Python versions:
$ make test
To generate a test coverage report:
$ make report
Major releases update the first number, e.g. going from 0.9 to 1.0, and indicate that the software has reached some very large milestone.
Minor releases, such as moving from 1.0 to 1.1, typically mean that one or more new, large features has been added.
The third and final part of version numbers, such as the ‘3’ in 1.0.3, generally indicate a release containing one or more bugfixes, although minor feature modifications may (rarely) occur.
This third number is sometimes omitted for the first major or minor release in a series, e.g. 1.2 or 2.0, and in these cases it can be considered an implicit zero (e.g. 2.0.0).
Support of older releases
Major and minor releases do not mark the end of the previous line or lines of development:
- The two most recent minor release branches will continue to receive critical bugfixes. For example, if 1.1 were the latest minor release, it and 1.0 would get bugfixes, but not 0.9 or earlier; and once 1.2 came out, this window would then only extend back to 1.1.
- Depending on the nature of bugs found and the difficulty in backporting them, older release lines may also continue to get bugfixes – but there’s no longer a guarantee of any kind. Thus, if a bug were found in 1.1 that affected 0.9 and could be easily applied, a new 0.9.x version might be released.