|
2 | 2 |
|
3 | 3 | ## [Unreleased] |
4 | 4 |
|
| 5 | +## [3.2.0] - 2023-05-25 |
| 6 | + |
| 7 | +### New Endpoint Coverage |
| 8 | + |
| 9 | +- New Quizzes |
| 10 | +- Delete Page in Groups (Thanks, [@Caitlin-Fabian](https://github.com/Caitlin-Fabian)) |
| 11 | + |
| 12 | +### General |
| 13 | + |
| 14 | +- Added support for pagination with metadata when headers are missing (Thanks, [@bennettscience](https://github.com/bennettscience)) |
| 15 | +- Added support for Python 3.11 |
| 16 | + |
| 17 | +### Bugfixes |
| 18 | + |
| 19 | +- Fixed an issue where `Course.create_discussion_topic` wouldn't accept attachment files. |
| 20 | + |
5 | 21 | ## [3.1.0] - 2023-04-21 |
6 | 22 |
|
7 | 23 | ### New Endpoint Coverage |
8 | 24 |
|
9 | 25 | - Account Calendars (Thanks, [@dmols](https://github.com/dmols)) |
10 | | - - List available account calendars |
11 | | - - Get a single account calendar |
12 | | - - Update a calendar's visibility |
13 | | - - Update many calendars' visibility |
14 | | - - List all account calendars |
| 26 | + - List available account calendars |
| 27 | + - Get a single account calendar |
| 28 | + - Update a calendar's visibility |
| 29 | + - Update many calendars' visibility |
| 30 | + - List all account calendars |
15 | 31 | - Enrollments (Thanks, [@svanderwulp](https://github.com/svanderwulp)) |
16 | | - - Accept Course Invitation |
17 | | - - Reject Course Invitation |
| 32 | + - Accept Course Invitation |
| 33 | + - Reject Course Invitation |
18 | 34 | - File (Thanks, [@bennettscience](https://github.com/bennettscience)) |
19 | | - - Update File |
| 35 | + - Update File |
20 | 36 | - JWTs (Thanks [@dmols](https://github.com/dmols)) |
21 | | - - Create JWTs |
22 | | - - Refresh JWTs |
| 37 | + - Create JWTs |
| 38 | + - Refresh JWTs |
23 | 39 | - Moderation Grading (Moderation Set) |
24 | | - - List students selected for moderation |
25 | | - - Select students for moderation |
| 40 | + - List students selected for moderation |
| 41 | + - Select students for moderation |
26 | 42 | - Query Course Events (Thanks, [@dmols](https://github.com/dmols)) |
27 | | - - Query by course |
28 | | - - Query by account |
| 43 | + - Query by course |
| 44 | + - Query by account |
29 | 45 | - Rubrics (Thanks, [@bennettscience](https://github.com/bennettscience)) |
30 | | - - Create, Update, and Delete Rubric Assessments |
31 | | - - Create a Rubric Association |
| 46 | + - Create, Update, and Delete Rubric Assessments |
| 47 | + - Create a Rubric Association |
32 | 48 | - Users |
33 | | - - Terminate all user sessions (Thanks, [@lucas-salas](https://github.com/lucas-salas)) |
| 49 | + - Terminate all user sessions (Thanks, [@lucas-salas](https://github.com/lucas-salas)) |
34 | 50 |
|
35 | 51 | ### General |
36 | 52 |
|
|
130 | 146 |
|
131 | 147 | - Custom Gradebook Columns (Thanks,[@aileenpongnon](https://github.com/aileenpongnon)) |
132 | 148 | - Files |
133 | | - - Resolve Path (Thanks,[@dsavransky](https://github.com/dsavransky)) |
| 149 | + - Resolve Path (Thanks,[@dsavransky](https://github.com/dsavransky)) |
134 | 150 |
|
135 | 151 | ### Bugfixes |
136 | 152 |
|
137 | | -- Fixed an issue where `Quiz.get_quiz_group` incorrectly set `course_id` to the quiz ID. (Thanks,[@hcolclou](https://github.com/hcolclou)) |
| 153 | +- Fixed an issue where `Quiz.get_quiz_group` incorrectly set `course_id` to the quiz ID. (Thanks,[@hcolclou](https://github.com/hcolclou)) |
138 | 154 | - Fixed an issue where `Course.create_external_tool` didn't accept `client_id` (LTI 1.3 support). |
139 | 155 | - Fixed an issue where `Module.create_module_item` didn't (Thanks,[@aileenpongnon](https://github.com/aileenpongnon) and [@onomou](https://github.com/onomou)) |
140 | 156 | - Fixed an issue where `Page.revert_to_revision` would incorrectly always set `group_id` to the page ID. Now correctly sets `group_id` or `course_id` appropriately. |
|
170 | 186 | ### New Endpoint Coverage |
171 | 187 |
|
172 | 188 | - Enrollment Terms |
173 | | - - Get a Single Enrollment Term (Thanks, [@lcamacho](https://github.com/lcamacho)) |
| 189 | + - Get a Single Enrollment Term (Thanks, [@lcamacho](https://github.com/lcamacho)) |
174 | 190 | - Files |
175 | | - - Resolve Path for Course (Thanks,[@dsavransky](https://github.com/dsavransky)) |
| 191 | + - Resolve Path for Course (Thanks,[@dsavransky](https://github.com/dsavransky)) |
176 | 192 | - GraphQL (Thanks,[@jonespm](https://github.com/jonespm)) |
177 | 193 | - Late Policy (Thanks, [@kennygperez](https://github.com/kennygperez)) |
178 | 194 | - Quiz Assignment Overrides (Thanks, [@kennygperez](https://github.com/kennygperez)) |
|
185 | 201 | ### Deprecation Warnings |
186 | 202 |
|
187 | 203 | - :warning: **_This is the final release with support for Python 2.7_** :warning: |
188 | | - - [Python 2.7 is end-of-life as of January 2020](https://www.python.org/doc/sunset-python-2/) |
189 | | - - Future releases of CanvasAPI will *NOT* support any version of Python 2 |
| 204 | + - [Python 2.7 is end-of-life as of January 2020](https://www.python.org/doc/sunset-python-2/) |
| 205 | + - Future releases of CanvasAPI will _NOT_ support any version of Python 2 |
190 | 206 | - :warning: **_This is the final release with support for Python 3.4_** :warning: |
191 | | - - [Python 3.4 is end-of-life as of March 2019](https://www.python.org/downloads/release/python-3410/) |
192 | | - - Future releases of CanvasAPI will *NOT* support Python 3.4 or below |
| 207 | + - [Python 3.4 is end-of-life as of March 2019](https://www.python.org/downloads/release/python-3410/) |
| 208 | + - Future releases of CanvasAPI will _NOT_ support Python 3.4 or below |
193 | 209 | - 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. |
194 | 210 |
|
195 | 211 | ### Bugfixes |
|
208 | 224 |
|
209 | 225 | - Assignment Extensions (Thanks, [@ljoks](https://github.com/ljoks)) |
210 | 226 | - AssignmentGroup (Thanks, [@ctcuff](https://github.com/ctcuff)) |
211 | | - - List Assignments |
| 227 | + - List Assignments |
212 | 228 | - Authentications Log (Thanks, [@weining-li](https://github.com/weining-li)) |
213 | 229 | - Brand Configs (Thanks, [@bennettscience](https://github.com/bennettscience)) |
214 | 230 | - Comm Messages (Thanks, [@ljoks](https://github.com/ljoks)) |
|
242 | 258 | ### New Endpoint Coverage |
243 | 259 |
|
244 | 260 | - API Token scopes (Thanks, [@jrsilveti](https://github.com/jrsilveti)) |
245 | | - - List scopes |
| 261 | + - List scopes |
246 | 262 | - Account Notifications (Thanks, [@jrsilveti](https://github.com/jrsilveti)) |
247 | | - - Show a global notification |
248 | | - - Update a global notification |
| 263 | + - Show a global notification |
| 264 | + - Update a global notification |
249 | 265 | - Account Reports (Thanks, [@jrsilveti](https://github.com/jrsilveti)) |
250 | | - - Start a report |
251 | | - - Status of a report |
252 | | - - Delete a report |
| 266 | + - Start a report |
| 267 | + - Status of a report |
| 268 | + - Delete a report |
253 | 269 | - Collaborations (Thanks, [@jrsilveti](https://github.com/jrsilveti)) |
254 | | - - List collaborations |
255 | | - - List members of a collaboration |
| 270 | + - List collaborations |
| 271 | + - List members of a collaboration |
256 | 272 | - Feature Flags (Thanks, [@cat0698](https://github.com/cat0698)) |
257 | | - - List features |
258 | | - - List enabled features |
259 | | - - Get feature flag |
260 | | - - Set feature flag |
261 | | - - Remove feature flag |
| 273 | + - List features |
| 274 | + - List enabled features |
| 275 | + - Get feature flag |
| 276 | + - Set feature flag |
| 277 | + - Remove feature flag |
262 | 278 | - Rubric (Thanks, [@cat0698](https://github.com/cat0698)) |
263 | | - - Create a single rubric |
| 279 | + - Create a single rubric |
264 | 280 |
|
265 | 281 | ### General |
266 | 282 |
|
267 | 283 | - Removed overzealous global enabling of `DeprecationWarning`. (Thanks, [@Screeeech](https://github.com/Screeeech)) |
268 | | - - *Note:* `DeprecationWarnings` are disabled by default, so you may need to run your code with `python -Wd` to see them. |
| 284 | + - _Note:_ `DeprecationWarnings` are disabled by default, so you may need to run your code with `python -Wd` to see them. |
269 | 285 |
|
270 | 286 | ## [0.13.0] - 2019-07-08 |
271 | 287 |
|
|
278 | 294 | - Outcome Import (Thanks, [@jrsilveti](https://github.com/jrsilveti)) |
279 | 295 | - Peer Reviews (Thanks, [@vutoan1245](https://github.com/vutoan1245)) |
280 | 296 | - Planner (Thanks, [@weining-li](https://github.com/weining-li)) |
281 | | - - Planner |
282 | | - - Planner Notes |
283 | | - - Planner Overrides |
| 297 | + - Planner |
| 298 | + - Planner Notes |
| 299 | + - Planner Overrides |
284 | 300 | - Polls (Thanks, [@Goff-Davis](https://github.com/Goff-Davis)) |
285 | | - - Poll |
286 | | - - PollChoice |
287 | | - - PollSession |
288 | | - - PollSubmission |
| 301 | + - Poll |
| 302 | + - PollChoice |
| 303 | + - PollSession |
| 304 | + - PollSubmission |
289 | 305 | - Quiz Submission Questions (Thanks, [@bradfordlynch](https://github.com/bradfordlynch)) |
290 | 306 |
|
291 | 307 | ### General |
|
391 | 407 | ### Deprecation Warnings |
392 | 408 |
|
393 | 409 | - :warning: **_Dropped support for Python 3.3_** :warning: |
394 | | - - [Python 3.3 is end-of-life as of September 2017](https://www.python.org/dev/peps/pep-0398/#lifespan) |
395 | | - - Should continue to function in 3.3, but compatibility cannot be guaranteed going forward. |
| 410 | + - [Python 3.3 is end-of-life as of September 2017](https://www.python.org/dev/peps/pep-0398/#lifespan) |
| 411 | + - Should continue to function in 3.3, but compatibility cannot be guaranteed going forward. |
396 | 412 | - Several methods in the `Course` and `Section` classes relating to assignments and submissions have been deprecated. |
397 | | - - Comparable methods have been implemented in the `Assignment` and `Submission` classes, as appropriate. |
398 | | - - The deprecated methods now include a warning in the documentation with reference to the replacement. Additionally, the deprecated methods will raise a `DeprecationWarning`. |
399 | | - - These methods will be removed in a future release. |
| 413 | + - Comparable methods have been implemented in the `Assignment` and `Submission` classes, as appropriate. |
| 414 | + - The deprecated methods now include a warning in the documentation with reference to the replacement. Additionally, the deprecated methods will raise a `DeprecationWarning`. |
| 415 | + - These methods will be removed in a future release. |
400 | 416 | - `Course.list_sections()` has been deprecated. Use `Course.get_sections()` instead. |
401 | 417 |
|
402 | 418 | ### Bugfixes |
|
427 | 443 | ### New Endpoint Coverage |
428 | 444 |
|
429 | 445 | - Account |
430 | | - - Delete a sub account |
| 446 | + - Delete a sub account |
431 | 447 | - Grading Standards (Thanks, [@JonGuilbe](https://github.com/JonGuilbe)) |
432 | 448 | - Notification Preferences (Thanks, [@a-goetz](https://github.com/a-goetz)) |
433 | | - - Update a preference |
434 | | - - Update preferences by category |
435 | | - - Update multiple preferences |
| 449 | + - Update a preference |
| 450 | + - Update preferences by category |
| 451 | + - Update multiple preferences |
436 | 452 | - Outcomes (Thanks, [@a-goetz](https://github.com/a-goetz)) |
437 | 453 | - Quiz Question Groups (Thanks, [@JonGuilbe](https://github.com/JonGuilbe)) |
438 | 454 | - Rubric (Thanks, [@sigurdurb](https://github.com/sigurdurb)) |
|
443 | 459 | - For many endpoints that accept an "object id", either a CanvasAPI Object or integer ID can now be passed. (Thanks, [@a-goetz](https://github.com/a-goetz)) |
444 | 460 | - Added a requester cache that remembers the last 5 requests to Canvas. It can be accessed as the attribute `_cache` of the `requester object`. (e.g. `course._requester._cache`) |
445 | 461 | - Files can now be downloaded directly from the `File` object in one of two ways: (Thanks, [@DanBrink91](https://github.com/DanBrink91)) |
446 | | - 1. `get_contents` will directly return the contents of the file. (e.g. `file.get_contents()`) |
447 | | - 2. `download` will download the file and save it to the provided path. (e.g. `file.download('example.txt')`) |
| 462 | + 1. `get_contents` will directly return the contents of the file. (e.g. `file.get_contents()`) |
| 463 | + 2. `download` will download the file and save it to the provided path. (e.g. `file.download('example.txt')`) |
448 | 464 | - 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](https://github.com/DanBrink91)) |
449 | 465 |
|
450 | 466 | ### Bugfixes |
@@ -595,17 +611,18 @@ Huge thanks to [@liblit](https://github.com/liblit) for lots of issues, suggesti |
595 | 611 | - Added contribution guide |
596 | 612 | - Added Docker container for testing (e.g. with Jenkins) |
597 | 613 | - Split requirements files into three: |
598 | | - - dev_requirements.txt |
599 | | - - tests_requirements.txt |
600 | | - - requirements.txt |
| 614 | + - dev_requirements.txt |
| 615 | + - tests_requirements.txt |
| 616 | + - requirements.txt |
601 | 617 |
|
602 | 618 | ### Bugfixes |
603 | 619 |
|
604 | 620 | - Added some missing parameters |
605 | 621 | - Fixed some incorrectly defined parameters |
606 | 622 | - Fixed an issue where tests would fail due to an improperly configured requires block |
607 | 623 |
|
608 | | -[Unreleased]: https://github.com/ucfopen/canvasapi/compare/v3.1.0...develop |
| 624 | +[Unreleased]: https://github.com/ucfopen/canvasapi/compare/v3.2.0...develop |
| 625 | +[3.2.0]: https://github.com/ucfopen/canvasapi/compare/v3.1.0...v3.2.0 |
609 | 626 | [3.1.0]: https://github.com/ucfopen/canvasapi/compare/v3.0.0...v3.1.0 |
610 | 627 | [3.0.0]: https://github.com/ucfopen/canvasapi/compare/v2.2.0...v3.0.0 |
611 | 628 | [2.2.0]: https://github.com/ucfopen/canvasapi/compare/v2.1.0...v2.2.0 |
|
0 commit comments