[3.1.1] - 2020-02-24 * Remove unnecessary constraint for edx-drf-extensions<3.0.0
- Upgrades packages, drops support for Python 2.
- Fix the package long description to be valid rST, check this in CI.
- Support tracking completion of XBlocks in any "learning context", such as in a content library, and not just in courses. To keep the code clean, this has been done as a breaking change to the python API. (The API has been simplified so that it's generally only necessary to pass in a block key / usage key rather than block key + course key.) The REST API is unchanged.
- Updated credentials for PyPI deployment via token.
- Switch blocks_to_mark_complete_on_view() to return a list of XBlocks instead of a set. Many XBlocks aren't hashable; the old implementation allowed subtle bugs under Python 2.7 but triggers an immediate error under 3.5.
- Unpin django-rest-framework requirements. This is a potentially breaking change if people were relying on this package to ensure the correct version of djangorestframework was being installed.
- Remove the AUTHORS file and references to it.
- Fix the 403 error occurring for completion-batch API for requests coming from the iOS devices
- Updated edx-drf-extensions imports. Completion will no longer work with outdated versions of edx-drf-extensions.
- Added submit_completion and submit_group_completion methods on CompletionService.
- Added can_mark_block_complete_on_view() and blocks_to_mark_complete_on_view() methods on CompletionService and renamed get_completion_by_viewing_delay_ms() to get_complete_on_view_delay_ms().
- Remove usage of deprecated CourseStructure api.
- Delete enable_visual_progress methods and checks. Deprecate ENABLE_VISUAL_PROGRESS, ENABLE_COURSE_VISUAL_PROGRESS, and ENABLE_SITE_VISUAL_PROGRESS waffle flags
- Site configurations must now explicitly disable visual progress for the enable_visual_progress() feature gating function to return False early.
- Added some documentation.
- Fix management of dependency versions
- Fixes wildly inefficient raw query in BlockCompletion.latest_blocks_completed_all_courses()
- Updates freezegun version, makes tests that use it somewhat faster.
- Added "subsection-completion/{username}/{course_key}/{subsection_id}" API endpoint, to be used with the completion milestones experiment.
- Added "utilities.py", which houses methods for working with BlockCompletion data.
- Add model method for superlative “last completed block” - for site awareness include every last completed block by course, for later sorting in business layer.
- Add settings and service method for determining completion-by-viewing delay.
- Add the additional completion logic into the service and models from edx-platform
- Fix up edx-lint requirements shenanigans.
- Initial release