Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[3.1.0] - 2025-05-07
Added
- Support for moving tasks, courtesy of @radiant-tangent
- Support for
backups:readscope - Re-add support for
X-Request-ID - Configurable via
request_id_fnAPI constructor argument - Defaults to random UUID v4
- Automatic testing across all supported Python versions
Fixed
- Compatibility with Python 3.9 and Python 3.10
[3.0.1] - 2025-04-15
Fixed
- Wheel and source distributions didn't include the package itself
- Project requiring Python 3.13 to be installed
[3.0.0] - 2025-04-11
Added
- Support for deadlines
- Support for archiving and unarchiving projects
- Support for fetching completed tasks by due date range and by completion date range
- Support for
note,reminder, andauto_reminderinadd_task_quick - Documentation for all SDK functions, arguments, and return objects
- Types, type hints for all SDK functions, arguments, and return objects
- Function to obtain project URLs
Changed
- Use
dataclass-wizardfor object mapping - Modernized SDK to use the Todoist API v1
- Remove deprecated
Task.sync_id,Task.comment_count, andProject.comment_count - Replace
Task.is_completedwithTask.completed_at - Add support for
calendarinProject.view_style - Rename
quick_add_tasktoadd_task_quick - Add
filter_tasks, extracting that workflow fromget_tasks - Paginate results via an
Iteratoringet_tasks,filter_task,get_projects,get_collaborators,get_sections,get_comments,get_labels,get_shared_labels - Receive
dateanddatetimearguments as objects, not strings - Remove support for
X-Request-Idheader, unused on the API level - "Hide" internal modules and functions
- Task URLs are now obtained on demand, improving performance when not needed
Fixed
- API requests configure appropriate timeouts to avoid connections hanging
[2.1.7] - 2024-08-13
Fixes
- Regression with some
Projectobject attributes
[2.1.6] - 2024-08-07
Fixes
TodoistAPIAsyncaccepts asessionparameter- State becomes optional in
AuthResult.from_dict() - Duration handling in
to_dict()and tests - Default value to
section_id - Properly close requests
Sessionobject
[2.1.5] - 2024-05-22
Fixes
- Key error on
can_assign_tasksinProjectmodel
[2.1.4] - 2024-05-07
Added
- Support
project.can_assign_tasks - Add
durationtoTaskobject - Pagination example
[2.1.3] - 2023-08-15
Added
- Support for getting completed items through the items archive
[2.1.2] - 2023-08-14
Fixes
- Restore Python 3.9 compatibility
[2.1.1] - 2023-08-09
Fixes
- Building environment updates
[2.1.0] - 2023-08-02
Changed
- Use built-in data classes instead of
attrs
[2.0.2] - 2022-11-02
Fixes
- Task property
date_addedshould beadded_at
[2.0.1] - 2022-10-06
Fixes
- Fixed a crash in
get_commentsif attachment is null.
[2.0.0] - 2022-09-08
Migrate to REST API v2.
[1.1.1] - 2022-02-15
Fixes
- Add missing
attrspackage dependency
Security
- Dependabot updates
[1.1.0] - 2021-11-23
Added
- Public release