PyPIPublisher@0 is retired: replace it with TwineAuthenticate@1
The short answer
- Retirement date
- Removal date
- . Pipelines that still use it fail after removal.
- Replacement
TwineAuthenticate@1- Kind of migration
- manual migration
- Automatic rewrite
- No. This task needs a manual migration. trasloco modernize --check still finds the step.
- Recommended action
- Migrate this step manually to TwineAuthenticate@1, followed by a script step that runs twine upload.
Official sources
- Official task retirement announcement
- Task definition: PyPIPublisherV0 (task.json)
- Task definition: TwineAuthenticateV1 (task.json)
Last verified:
Why does my pipeline show a retirement error for PyPIPublisher@0?
On , Azure Pipelines shows a retirement error for PyPIPublisher@0, but the run does not fail. On , pipelines that still use PyPIPublisher@0 fail.
Find it in your pipelines
With trasloco:
trasloco modernize --check
Install trasloco from the latest release.
With plain grep, nothing to install:
grep -rniwF 'PyPIPublisher@0' --include='*.yml' --include='*.yaml' .
How to migrate
Migrate this step manually to TwineAuthenticate@1, followed by a script step that runs twine upload.
The task definition of the replacement is linked under official sources above.
PyPIPublisher@0 retirement FAQ
Is PyPIPublisher@0 deprecated?
Yes. PyPIPublisher@0 is retired on 2026-10-15. Azure Pipelines shows a retirement error, but the run does not fail until removal.
When does PyPIPublisher@0 stop working?
PyPIPublisher@0 is removed on 2027-03-15. Pipelines that still use it fail after removal.
What should I use instead of PyPIPublisher@0?
Replace PyPIPublisher@0 with TwineAuthenticate@1.
Related retired tasks
- AndroidBuild@1 — manual migration
- AndroidSigning@1 — manual migration
- AndroidSigning@2 — manual migration
- AzureCLI@0 — manual migration
- AzureMonitor@0 — manual migration