<commit_before>
# ChangeLog

  * Add Python modules for autograders: `numpy`, `scipy`, `matplotlib`,
    `sympy`, and `pandas` (<NAME>).

  * Use Python 3.5 for autograders in `exampleCourse` (<NAME>).

  * Fix docker build script usage help.

  * Fix base64 encoding of uploaded files.

* __2.9.0__ - 2017-05-14

  * Add support for Google OAuth2 authentication.

  * Shift documentation to Read the Docs.

  * Fix handling of Unicode characters in question data.

* __2.8.0__ - 2017-05-04

  * Add DB storage of exam mode networks.

  * Add `config` table to DB with system `display_timezone`.

  * Fix async handling in regrading unit tests.

* __2.7.0__ - 2017-04-28

  * Add `/pl/webhooks/ping` endpoint for automated health checks.<commit_msg>update ChangeLog<commit_after>
# ChangeLog

  * Add Python modules for autograders: `numpy`, `scipy`, `matplotlib`,
    `sympy`, and `pandas` (<NAME>).

  * Use Python 3.5 for autograders in `exampleCourse` (<NAME>).

  * Fix docker build script usage help.

  * Fix base64 encoding of uploaded files.

* __2.9.1__ - 2017-05-17

  * Fix handling of failed grading jobs (Nathan Walters).

* __2.9.0__ - 2017-05-14

  * Add support for Google OAuth2 authentication.

  * Shift documentation to Read the Docs.

  * Fix handling of Unicode characters in question data.

* __2.8.0__ - 2017-05-04

  * Add DB storage of exam mode networks.

  * Add `config` table to DB with system `display_timezone`.

  * Fix async handling in regrading unit tests.

* __2.7.0__ - 2017-04-28

  * Add `/pl/webhooks/ping` endpoint for automated health checks.
{'fraction_non_alphanumeric': 0.10592686002522068, 'fraction_numerical': 0.05485498108448928, 'mean_word_length': 3.2095490716180373, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '286875', 'n_tokens_mistral': 599, 'n_tokens_neox': 512, 'n_words': 188}