Releases: ucfopen/canvasapi
Releases · ucfopen/canvasapi
3.2.0 - 2023-05-25
New Endpoint Coverage
- New Quizzes
- Delete Page in Groups (Thanks, @Caitlin-Fabian)
General
- Added support for pagination with metadata when headers are missing (Thanks, @bennettscience)
- Added support for Python 3.11
Bugfixes
- Fixed an issue where
Course.create_discussion_topic
wouldn't accept attachment files.
3.1.0 - 2023-04-21
New Endpoint Coverage
- Account Calendars (Thanks, @dmols)
- List available account calendars
- Get a single account calendar
- Update a calendar's visibility
- Update many calendars' visibility
- List all account calendars
- Enrollments (Thanks, @svanderwulp)
- Accept Course Invitation
- Reject Course Invitation
- File (Thanks, @bennettscience)
- Update File
- JWTs (Thanks @dmols)
- Create JWTs
- Refresh JWTs
- Moderation Grading (Moderation Set)
- List students selected for moderation
- Select students for moderation
- Query Course Events (Thanks, @dmols)
- Query by course
- Query by account
- Rubrics (Thanks, @bennettscience)
- Create, Update, and Delete Rubric Assessments
- Create a Rubric Association
- Users
- Terminate all user sessions (Thanks, @lucas-salas)
General
- Updated Codecov action to v3
Bugfixes
- Fixed an issue where kwargs were not passed along to Canvas in
Course.get_module()
. (Thanks, @bennettscience) - Fixed an issue where not all functions allowed arbitrary keyword arguments. Added a test to detect and prevent this for the future.
- Fixed an issue with
Course.get_enabled_features()
where it would throw an error trying to paginate. It now returns a list of strings directly. (Thanks, @bennettscience) - Added missing docs for
AssignmentOverride
. (Thanks, @lafent) - Fixed a typo in
Canvas.create_calendar_event()
where an error message improperly listed the missing key as 'context_codes' instead of 'context_code'. (Thanks, @dmols and @mikesuhan)
3.0.0 - 2022-09-21
New Endpoint Coverage
- Delete a Rubric (Thanks, @ggarfink)
- Grade Change Log for Assignments, Courses, and Users (Thanks, @matthewf-ucsd)
- Content Migrations: List items for selective import (Thanks, @matthewf-ucsd)
- List observers of a User (Thanks, @bennettscience)
- ePortfolio endpoints (Thanks, @Birdmaaan4 and @bennettscience)
- Delete an Admin from an Account (Thanks, @shaneros)
General
- Added support for Python 3.10
- Smart DateTimes now support any ISO 8601 format, including time offsets. (Thanks, @kailukaitisBrendan)
Bugfixes
- Fixed an issue where kwargs were not passed along to Canvas in
User.get_profile()
. (Thanks, @breed)
Breaking Changes
- Dropped support for Python 3.6
- Update
QuizSubmission.get_submission_events
to return aPaginatedList
. (Thanks, @stevenbell) - Update
Course.get_course_level_student_summary_data
to return aPaginatedList
ofCourseStudentSummary
items instead of a dictionary. (Thanks, @craigdsthompson) - Update
Course.get_outcome_results
to return aPaginatedList
ofOutcomeResult
items instead of a dictionary. (Thanks, @bennettscience) - Remove unnecessary
id
parameter fromdelete
,reorder_question_group
, andupdate
methods inQuizGroup
class. (Thanks, @kailukaitisBrendan) - Update
Submission
to return attachments asFile
objects instead of dictionaries. (Thanks, @laitingsheng)
2.2.0 - 2021-03-25
New Endpoint Coverage
- Enroll a user in a section (Thanks, @damianfs)
- File quota for courses, groups, and users (Thanks, @deundrewilliams)
- Provisional Grades (Thanks, @zenith110)
General
- Added support for Python 3.9
- Added
RateLimitExceeded
exception to distinguish between being rate limited and being otherwise forbidden from accesing a resource. It is a subclass of theForbidden
exception. - File uploads now accept path-like objects (Thanks, @theunkn0wn1)
- Add list of CanvasAPI Projects to README (Thanks, @deundrewilliams)
- PyPI Package Description now uses README (Thanks, @bennettscience)
- Replaced Travis CI with GitHub Actions
Bugfixes
- Fixed an issue where
Canvas.create_poll()
did not work due to an incorrect parameter. - Canvas.get_todo_items() now correctly returns a
PaginatedList
ofTodo
items (Thanks, @bennettscience) - Fixed an issue where
Favorite.remove()
did not handle parameters properly. (Thanks, @deundrewilliams)
2.1.0 - 2020-12-04
New Endpoint Coverage
- Course TODO items (Thanks, @onomou)
- Create observer pairing code (Thanks, @bennettscience)
General
- Added missing documentation for the get_current_user method and clarifications to the
CurrentUser
class. (Thanks, @Xx-Ashutosh-xX) Canvas.get_announcement
now has a required parametercontext_codes
, which accepts a list of course IDs orCourse
objects.- Updated contributing guide
- Added missing documentation for the "Smart DateTimes" feature
- Added basic troubleshooting guide to documentation
Bugfixes
- Fixed an issue where an
Announcement
object sometimes didn't have an associated course ID. (Thanks, @bennettscience) - Fixed an issue where an encoding problem could lead to file downloads hanging indefinitely. (Thanks, @blepabyte)
Deprecation Warnings
- The
enrollment_type
argument onCourse.enroll_user
is now deprecated. Pass this information toenrollment[type]
as a keyword argument instead. e.g.enroll_user(enrollment={'type': 'StudentEnrollment'})
2.0.0 - 2020-08-14
General
- Added support for arbitrary keyword arguments across the entire library
New Endpoint Coverage
- Custom Gradebook Columns (Thanks,@aileenpongnon)
- Files
- Resolve Path (Thanks,@dsavransky)
Bugfixes
- Fixed an issue where
Quiz.get_quiz_group
incorrectly setcourse_id
to the quiz ID. (Thanks,@hcolclou) - Fixed an issue where
Course.create_external_tool
didn't acceptclient_id
(LTI 1.3 support). - Fixed an issue where
Module.create_module_item
didn't (Thanks,@aileenpongnon and @onomou) - Fixed an issue where
Page.revert_to_revision
would incorrectly always setgroup_id
to the page ID. Now correctly setsgroup_id
orcourse_id
appropriately.
Breaking Changes
Course.create_external_tool
no longer supports positional arguments for its required parameters. Use keyword arguments instead.
1.0.0 - 2020-07-09
General
- Added support for Python 3.8
- Dropped support for Python 3.4, 3.5, and 2.7
- Removed all previously deprecated methods and attributes.
- Upgraded Ubuntu version for Travis (Thanks, @jonespm)
- Set up automatic deployments to PyPI via Travis
- Set up nightly build
0.16.1 - 2020-07-06
Bugfixes
- Fixed an issue where the user-provided API_URL/base_url wasn't run through cleanup.
Deprecation Warnings
- Using
/api/v1/
in the API_URL has been deprecated since v0.8.0 and legacy support will be removed in the next release. Ensure your provided url doesn't containapi/v1/
. See deprecation warning in changelog for v0.8.0. ⚠️ This is the final release with support for Python 3.5⚠️
0.16.0 - 2020-06-26
New Endpoint Coverage
- Enrollment Terms
- Get a Single Enrollment Term (Thanks, @lcamacho)
- Files
- Resolve Path for Course (Thanks,@dsavransky)
- GraphQL (Thanks,@jonespm)
- Late Policy (Thanks, @kennygperez)
- Quiz Assignment Overrides (Thanks, @kennygperez)
- Quiz Statistics (Thanks, @andrew-gardener)
General
- Updated README to use updated parameters for getting a user's courses by enrollment state (Thanks,@Vishvak365)
Deprecation Warnings
⚠️ This is the final release with support for Python 2.7⚠️ - Python 2.7 is end-of-life as of January 2020
- Future releases of CanvasAPI will NOT support any version of Python 2
⚠️ This is the final release with support for Python 3.4⚠️ - Python 3.4 is end-of-life as of March 2019
- Future releases of CanvasAPI will NOT support Python 3.4 or below
- This is the final deprecation warning for all methods marked as deprecated in this changelog or in our documentation. They will be removed in the next release.
Bugfixes
- Fixed an issue where
Quiz.get_submission()
ignored data added from using theinclude
kwarg. (Thanks,@Mike-Nahmias) - Fixed the broken
__str__
method on theChangeRecord
class (Thanks,@Mike-Nahmias) - Fixed an issue where printing an
AccountReport
would fail due to not having an ID (Thanks,@Mike-Nahmias) - Fixed an issue where
"report_type"
was passed improperly (Thanks,@brucespang) - Fixed some new
flake8
issues (Thanks,@dsavransky and @jonespm) - Fixed an incorrect docstring for
Course.create_page()
(Thanks,@dsavransky) - Fixed an issue where extra whitespace in the user-supplied canvas URL would break
PaginatedList
(Thanks,@amorqiu)
0.15.0 - 2019-11-19
New Endpoint Coverage
- Assignment Extensions (Thanks, @ljoks)
- AssignmentGroup (Thanks, @ctcuff)
- List Assignments
- Authentications Log (Thanks, @weining-li)
- Brand Configs (Thanks, @bennettscience)
- Comm Messages (Thanks, @ljoks)
- File Usage Rights (Thanks, @atarisafari and @joonro)
- Gradebook History (Thanks, @gdijkhoffz)
- Quiz Reports (Thanks, @atarisafari
- Quiz Submission Events (Thanks, @Goff-Davis)
- Quiz Submission User List (Thanks, @gdijkhoffz)
- Rubric Associations (Thanks, @weining-li)
General
- Throw
IndexError
when using negative indexes onPaginatedList
objects (Thanks, @UniversalSuperBox) Assignment.overrides
now returns a list ofAssignmentOverride
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 aValueError
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