Skip to content

Releases: ucfopen/canvasapi

0.15.0 - 2019-11-19

19 Nov 17:04
v0.15.0
7d3527d
Compare
Choose a tag to compare

New Endpoint Coverage

General

  • Throw IndexError when using negative indexes on PaginatedList objects (Thanks, @UniversalSuperBox)
  • Assignment.overrides now returns a list of AssignmentOverride objects.

Deprecation Warnings

  • CanvasObject.attributes is now deprecated and will be removed in a future version.
  • CanvasObject.to_json() is now deprecated and will be removed in a future version. To view the original attributes sent by Canvas, enable logs from the requests library.

Bugfixes

  • Fixed an issue where util.clean_headers() would throw a ValueError if a user accidentally included a space in their API token. (Thanks, @keeeeeegan)
  • Fixed an issue where QuizSubmission objects sometimes wouldn't have a course_id, making some methods unusable. (Thanks, @bennettscience)
  • Fixed an issue where get_user() did not accept arbitrary keyword arguments (Thanks, @eriktews)
  • Fixed an issue where an import was triggering a DeprecationWarning (Thanks, @Screeeech)
  • Fixed an issue where a GroupedSubmission wasn't saving the submissions attribute properly

0.14.0 - 2019-08-20

20 Aug 16:01
v0.14.0
44cf6a6
Compare
Choose a tag to compare

New Endpoint Coverage

  • API Token scopes (Thanks, @jrsilveti)
    • List scopes
  • Account Notifications (Thanks, @jrsilveti)
    • Show a global notification
    • Update a global notification
  • Account Reports (Thanks, @jrsilveti)
    • Start a report
    • Status of a report
    • Delete a report
  • Collaborations (Thanks, @jrsilveti)
    • List collaborations
    • List members of a collaboration
  • Feature Flags (Thanks, @cat0698)
    • List features
    • List enabled features
    • Get feature flag
    • Set feature flag
    • Remove feature flag
  • Rubric (Thanks, @cat0698)
    • Create a single rubric

General

  • Removed overzealous global enabling of DeprecationWarning. (Thanks, @Screeeech)
    • Note: DeprecationWarnings are disabled by default, so you may need to run your code with python -Wd to see them.

0.13.0 - 2019-07-08

08 Jul 19:36
v0.13.0
a7d8ba6
Compare
Choose a tag to compare

New Endpoint Coverage

General

Deprecation Warnings

  • Quiz.get_all_quiz_submissions is now deprecated. Use Quiz.get_submissions instead.

Bugfixes

  • Fixed an issue where creating an external tool did not properly send parameters to Canvas. (Thanks, @altgilbers)
  • Fixed an issue where getting Quiz Submissions would only return up to the first 10 results (Thanks,@Mike-Nahmias)
  • Fixed an issue where unhandled 4XX and 5XX HTTP errors would cause a JSONDecodeError
  • Removed a limitation where the parameter grouped being passed to get_multiple_submissions would be ignored. These methods now return a GroupedSubmission object containing multiple Submission objects, instead of ignoring. (Thanks, @bennettscience)

0.12.0 - 2019-04-03

03 Apr 20:46
v0.12.0
94d269e
Compare
Choose a tag to compare

New Endpoint Coverage

General

Bugfixes

  • Fixed an issue where Section.edit() didn't accept keyword arguments (Thanks, @wjw27)

0.11.0 - 2018-09-17

17 Sep 18:46
v0.11.0
4fec3a0
Compare
Choose a tag to compare

New Endpoint Coverage

General

Bugfixes

  • Fixed an issue where Outcome.get_subgroups() didn't have sufficient context to call other methods.
  • Fixed improper passing of keyword arguments when editing a Module (Thanks, @phaustin)

0.10.0 - 2018-06-01

01 Jun 21:43
v0.10.0
fccee0b
Compare
Choose a tag to compare

New Endpoint Coverage

General

Deprecation Warnings

  • All methods starting with list_ have been deprecated. Each has been replaced with a corresponding method starting with get_. For example, Course.list_groups() is now Course.get_groups(). The list_ methods will be removed in a future release. (Thanks @qwertynerd97 for doing the bulk of the grunt work.)
  • Course.update_tab() is now deprecated. Use Tab.update() instead.

Bugfixes

  • Fixed a bug where taking a slice of a PaginatedList where the start was larger than the list caused an infinite loop.
  • Fixed a typo that prevented Assignment.submit() from working properly. (Thanks, @Tobiaqs)

0.9.0 - 2018-03-01

01 Mar 15:26
v0.9.0
1903e21
Compare
Choose a tag to compare

New Endpoint Coverage

  • Quiz Questions

General

  • Added example usage for several common endpoints to our documentation.
  • Updated PaginatedList to allow specification of the root element to build the list from when given an atypical JSON response (see #146). (thanks @dfwarden)
  • Improved keyword argument support for course.get_section() (thanks @andrew-gardener)
  • When uploading a file to a submission with Submission.upload_comment, it will automatically attached to a new comment.

Deprecation Warnings

  • ⚠️ Dropped support for Python 3.3 ⚠️
  • Several methods in the Course and Section classes relating to assignments and submissions have been deprecated.
    • Comparable methods have been implemented in the Assignment and Submission classes, as appropriate.
    • The deprecated methods now include a warning in the documentation with reference to the replacement. Additionally, the deprecated methods will raise a DeprecationWarning.
    • These methods will be removed in a future release.
  • Course.list_sections() has been deprecated. Use Course.get_sections() instead.

Bugfixes

  • Fixed an issue where booleans would be capitalized when sent to Canvas, causing Canvas to misinterpret them and set default values.
  • Fixed an issue where unexpected JSON responses from Canvas would cause PaginatedList objects to fail.

0.8.2 - 2018-01-24

24 Jan 17:41
v0.8.2
4a9c328
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue where editing and deleting user logins would use incorrect IDs.

0.8.1 - 2018-01-23

23 Jan 20:06
v0.8.1
8fcd0c8
Compare
Choose a tag to compare

General

  • Fixed several incorrect and missing docstrings

Bugfixes

  • Fixed an issue where Canvas returning while(1); at the beginning of a response to uploading a file prevented uploads from completing.
  • Fixed an issue where a trailing slash in the provided BASE_URL would cause PaginatedList objects to fail.
  • Fixed an issue where combine_kwargs was transposing empty brackets and keys when a dictionary had a list as a value.

0.8.0 - 2018-01-04

04 Jan 19:37
v0.8.0
2c4016c
Compare
Choose a tag to compare

New Endpoint Coverage

  • Account
    • Delete a sub account
  • Grading Standards (Thanks, @JonGuilbe)
  • Notification Preferences (Thanks, @a-goetz)
    • Update a preference
    • Update preferences by category
    • Update multiple preferences
  • Outcomes (Thanks, @a-goetz)
  • Quiz Question Groups (Thanks, @JonGuilbe)
  • Rubric (Thanks, @sigurdurb)

General

  • Added support for other iterables as parameter values. (Thanks, @liblit)
  • For many endpoints that accept an "object id", either a CanvasAPI Object or integer ID can now be passed. (Thanks, @a-goetz)
  • Added a requester cache that rememebers the last 5 requests to Canvas. It can be accessed as the attribute _cache of the requester object. (e.g. course._requester._cache)
  • Files can now be downloaded directly from the File object in one of two ways: (Thanks, @DanBrink91)
    1. get_contents will directly return the contents of the file. (e.g. file.get_contents())
    2. download will download the file and save it to the provided path. (e.g. file.download('example.txt'))
  • Moved several methods exclusive to the API Key owner's user from the User class to a new class called CurrentUser. There is a new method in the Canvas class called get_current_user to access this object. (e.g. canvas.get_current_user()) (Thanks, @DanBrink91)

Bugfixes

  • Fixed a bug where creating conversations wouldn't work until the user iterated over the response.
  • Lots of formatting fixes and spelling corrections.

Deprecation Warning

Including /api/v1/ at the end of the API URL passed to a new Canvas object is now deprecated. Users should now only pass the root URL into the Canvas object (e.g. "https://example.com/api/v1/" should now be "https://example.com").

For now, users including /api/v1/ will see a DeprecationWarning, but things will otherwise operate normally. The ability to continue using /api/v1/ will be removed in a future release.