Skip to content

Latest commit

 

History

History
180 lines (110 loc) · 4.65 KB

File metadata and controls

180 lines (110 loc) · 4.65 KB

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]

Added

  • TodoistAPIAsync now performs true async HTTP I/O with httpx.AsyncClient.
  • Support for Python 3.14.

Removed

  • Support for Python 3.9 (EOL).

Changed

  • Breaking: TodoistAPI now accepts an optional client: httpx.Client instead of session: requests.Session.
  • Breaking: TodoistAPIAsync now accepts an optional client: httpx.AsyncClient instead of session: requests.Session.
  • Breaking: Async paginated return types now use AsyncIterator[...] instead of AsyncGenerator[...].
  • Breaking: API errors now raise httpx.HTTPStatusError instead of requests.exceptions.HTTPError.
  • Breaking: Authentication helpers now accept optional httpx.Client / httpx.AsyncClient instances instead of session: requests.Session.
  • Breaking: update_section now accepts only keyword arguments after section_id; any one of name, order, or collapsed can be updated in the same call.

[3.2.1] - 2026-01-22

Fixed

  • Type hints for Meta class fields (project, section, assignee) now correctly indicate that tuple values can be None

[3.2.0] - 2026-01-16

Added

  • Support for searching projects
  • Support for searching sections
  • Support for searching labels

[3.1.0] - 2025-05-07

Added

  • Support for moving tasks, courtesy of @radiant-tangent
  • Support for backups:read scope
  • Re-add support for X-Request-ID
    • Configurable via request_id_fn API 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, and auto_reminder in add_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-wizard for object mapping
  • Modernized SDK to use the Todoist API v1
    • Remove deprecated Task.sync_id, Task.comment_count, and Project.comment_count
    • Replace Task.is_completed with Task.completed_at
    • Add support for calendar in Project.view_style
    • Rename quick_add_task to add_task_quick
    • Add filter_tasks, extracting that workflow from get_tasks
    • Paginate results via an Iterator in get_tasks, filter_task, get_projects, get_collaborators, get_sections, get_comments, get_labels, get_shared_labels
    • Receive date and datetime arguments as objects, not strings
    • Remove support for X-Request-Id header, 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 Project object attributes

[2.1.6] - 2024-08-07

Fixes

  • TodoistAPIAsync accepts a session parameter
  • State becomes optional in AuthResult.from_dict()
  • Duration handling in to_dict() and tests
  • Default value to section_id
  • Properly close requests Session object

[2.1.5] - 2024-05-22

Fixes

  • Key error on can_assign_tasks in Project model

[2.1.4] - 2024-05-07

Added

  • Support project.can_assign_tasks
  • Add duration to Task object
  • 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_added should be added_at

[2.0.1] - 2022-10-06

Fixes

  • Fixed a crash in get_comments if attachment is null.

[2.0.0] - 2022-09-08

Migrate to REST API v2.

[1.1.1] - 2022-02-15

Fixes

  • Add missing attrs package dependency

Security

  • Dependabot updates

[1.1.0] - 2021-11-23

Added

  • Public release