NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2328 most downloaded on PyPI
Asana
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 42 of the last 60 stable releases
12 versions withdrawn
withdrawn after publishing
14 years old
76 releases · first in 2012
Added task and project subtask date rollup operations, with task mismatch status and job progress.
html_custom_fields input for rich text in text custom fields, plus custom_type and custom_type_status_option task inputs.opt_fields documentation.workspace, role creation rejects super_admin, and project status creation requires color. These are spec corrections, not new server restrictions.Custom types: asana_created_type_identifier field, custom_type filter on tasks/projects/portfolios , workspace-level GET /custom_types listing
New:
asana_created_type_identifier field, custom_type filter on tasks/projects/portfolios, workspace-level GET /custom_types listingproject/custom-field inheritancecreate_goal, create_project, create_portfolio, etc.)Fixed docs (no behavior change):
GET /portfolios/{gid}/items response documented as Project|Portfolio union (was Project only)402 errors documented per access tierOne column per quarter.
Team parameter removed from duplicate project endpoint
Added time tracking categories endpoints
New endpoints: portfolio duplication, rates, budgets
Added reactions endpoint
Added Initiate a resource export endpoint
Added new export endpoints: https://developers.asana.com/reference/creategraphexport
Added new export endpoints: https://developers.asana.com/reference/creategraphexport
Add auto retry on failed requests: https://github.com/Asana/python-asana/tree/v5.1.0?tab=readme-ov-file#retries
Add get events in workspace endpoint
Updated GitHub Action publishing workflow
Add archived property to portfolios
Added `privacy_setting` property to portfolios
privacy_setting property to portfoliosdefault_access_level property to portfoliosPortfolioMembershipCompactResponsedelivery_retry_count property to webhook responseteam_content_management_access_level to teams opt_field descriptionteam_content_management_access_level
New `is_custom_weight` property on goals
chore: fixes repsonse type to response #197
Fixed: urlib3 deprecation warning: HTTPResponse.getheaders() is deprecated and will be removed in urllib3 v2.1.0. Instead access HTTPResponse.headers…
Add a custom field to a project endpoint now takes in opts argument
opts argumentBEFORE:
api_response = projects_api_instance.add_custom_field_setting_for_project(body, project_gid)
AFTER:
api_response = projects_api_instance.add_custom_field_setting_for_project(body, project_gid, opts)
Fix call_api not working when no query_params are provided (Adding a custom field to a project raises exception #188)
call_api not working when no query_params are provided (Adding a custom field to a project raises exception #188)- Query params are now passed in through opts dictionary instead of method params
opts dictionary instead of method paramsGET /task_templates/{task_template_gid}
complete color option to current_status.color value -> for endpoints that return current_status.color EX: Projectscustom_fields updates -> gives example of date and date-time valuesFix search_tasks_for_workspace custom fields query not working for is_set, value, starts_with, ends_with, less_than, greater_than
Fix not being able to search using custom fields query for searchTasksForWorkspace method
Added minimum_access_level_for_customization and minimum_access_level_for_sharing to the project schema
minimum_access_level_for_customization and minimum_access_level_for_sharing to the project schemacompleted_since as a query param to GET /sections/{section_gid}/tasksHandle multiprocessing.pool init
text and color from ProjectStatusBase which caused problems in developer docs -> Update a Project endpointFix IndentationError: Updated api.mustache template file to generate api classes with out indentation errors. (issue)
README.md + Sample code changes
README.md + Sample code changes
Sync with API/Developer Docs: Added created_by property to task response
created_by property to task responseFix indentation on code samples template
Update Github Action: add tags to update pushes and update gh-action-pypi-publish release version
Completely new python client library. Code generated through Swagger Codegen.
v4.0.0
v4.0.1
Nothing published for this version
Add important message to README.md
Rollback from v4 to v3 -> update README.md to mention v4 = BETA
Nothing published for this version
Nothing published for this version
Nothing published for this version
removed delete_status_message method
delete_status_message methodDrop support for python 3.6 and below
Removed goals methods: add_subgoal, add_supporting_work_for_goal, get_subgoals_for_goal, remove_subgoal, remove_supporting_work_for_goal, supporting_w
add_subgoal, add_supporting_work_for_goal, get_subgoals_for_goal, remove_subgoal, remove_supporting_work_for_goal, supporting_workAdds support for /attachment endpoints. Note: Attachments are no longer tied to a task
/attachment endpoints. Note: Attachments are no longer tied to a task
POST /tasks/:task/attachments -> POST /attachments?parent=GET /tasks/:task/attachments -> GET /attachments?parent=goal_id request parameter for Goals-related endpointsGET /workspaces/{workspace_gid}/teams. Note: Removes support for getting teams in an organizationRemoved Travis CI and added GitHub Actions
Added create_attachment_for_task to the attachments resource.
Added create_attachment_for_task to the attachments resource.
Fixes BatchAPI being ignored on the client.
Fixes BatchAPI being ignored on the client.
Added team_memberships to resources
Added team_memberships to resources
This version converts our client libraries to use the OpenAPI spec. We also switched to a more consistent naming convention. This version keeps the ol
This version converts our client libraries to use the OpenAPI spec. We also switched to a more consistent naming convention. This version keeps the old methods and adds the new method names.
Fixes an incorrectly strict requirement.
Fixes an incorrectly strict requirement.
This release contains one change, to fix some string templating when uploading attachments that was broken with string IDs.
This release contains one change, to fix some string templating when uploading attachments that was broken with string IDs.
These warnings pop up every time a request is made and the response contains a deprecation header. You can find out how to work with these here.
This adds api functionality the the client libraries have been missing:
This update also includes Asana-Change warnings. These warnings pop up every time a request is made and the response contains a deprecation header. You can find out how to work with these here.
In Python 3.7, it's bad form to raise StopIteration at the end of a loop - and it yells at you for it by turning the exception into a Runtime Exceptio
In Python 3.7, it's bad form to raise StopIteration at the end of a loop - and it yells at you for it by turning the exception into a Runtime Exception.
This simply removes throwing this, since it should be safe to just return.
Tested with pipenv on 2.7 and 3.7. We don't officially support 3.7 yet due to https://bugs.python.org/issue34226, but we should be close - support for everything except attachments.
This fixes a bug with setting custom headers and fixes #80.
This fixes a bug with setting custom headers and fixes #80.
This release contains many of the API updates that have accumulated since the last release, including:
This release contains many of the API updates that have accumulated since the last release, including:
Our API can accept a client_name option for apps who wish to identify themselves, but we weren't properly pulling this out into the payload and query
Our API can accept a client_name option for apps who wish to identify themselves, but we weren't properly pulling this out into the payload and query params.
Add support for Sections and Organization Exports
Add Timeout To Request Options (#54) - Add simple timeouts via requests that throw an exception on any timeout specified, including the middle of a pa
Nothing published for this version
Using the deploy.py script as a source of versioning in setup.py, which was introduced in 0.6.0, caused problems, as deploy.py is not included in the
Using the deploy.py script as a source of versioning in setup.py, which was introduced in 0.6.0, caused problems, as deploy.py is not included in the python egg. Removing that dependency in setup.py
Nothing published for this version
Asana has added Custom Fields to its tasks and projects!
Asana has added Custom Fields to its tasks and projects!
To read more information about Custom Fields, please head to https://asana.com/developers/documentation/getting-started/custom-fields
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →