{
  "slug": "azure-functions-python-3-15-end-of-support",
  "title": "Azure Functions: Python 3.15 end of support",
  "summary": "End of support date for Python 3.15 on Azure Functions: Apr 2030. After that date, function apps on this version continue to run but aren't eligible for new features, security patches, and performance optimizations.",
  "cloud": "azure",
  "service": "Azure Functions",
  "service_slug": "functions",
  "category": "runtime",
  "type": "end_of_support",
  "announced_date": null,
  "effective_date": "2030-04-01",
  "effective_precision": "month",
  "impact": "Azure Functions reduces support in phases as language versions reach their end-of-life dates. Support ends on the earlier of the community end-of-support date or the end-of-support date of the underlying base operating system.\n\n- Notification phase: the Functions team emails you about retirements that affect your function apps.\n- Retirement phase, after the end-of-life date: apps on Python 3.15 can still be created and deployed, and they continue to run.\n- They get no new features, security patches, or performance optimizations until upgraded.\n- If required, in certain cases Microsoft can limit the instances allocated to these apps, including limiting scaling to 1 instance.\n- Apps on an unsupported version must upgrade before receiving support.",
  "migration_path": "1. Follow [Update language stack versions in Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/update-language-versions). The steps depend on the language, the operating system and the hosting plan. For .NET, the article covers the isolated worker model only. An app on the in-process model must [migrate to the isolated worker model](https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-to-isolated-model).\n2. Review dependencies before the update (extension bundles, binding extensions, package dependencies and local tools). Then test and verify the function app code locally on the new target version.\n3. Make sure the function app runs on the latest version of the Functions runtime (version 4.x). If it does not, follow the runtime migration articles that the update article links rather than just changing the FUNCTIONS_EXTENSION_VERSION setting.\n4. If the app runs on Linux in a Consumption plan, check that the target version is offered there. The Linux Consumption plan isn't getting any new language versions. See [Migrate your apps to the Flex Consumption plan](https://learn.microsoft.com/en-us/azure/azure-functions/migration/migrate-plan-consumption-to-flex). The update article also states that you can't change the Python version when the function app runs in a Consumption plan.\n5. Publish the function app updates, then update the stack configuration. The method depends on whether the app runs on Windows or on Linux. The function app restarts after the version update and is unavailable for a brief period, typically 30-60 seconds. The article describes publishing to a staging slot to limit downtime, and notes that the Flex Consumption plan does not support slots.\n6. After the function app restarts, verify that the language version update was successful and that the functions work as expected.",
  "replacement": null,
  "affected_versions": [
    "3.15"
  ],
  "source_url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-versions",
  "extra_source_urls": [
    "https://learn.microsoft.com/en-us/azure/azure-functions/language-support-policy"
  ],
  "vendor_ref": "functions@python:3.15",
  "last_checked_at": "2026-11-12T09:56:07.301Z",
  "created_at": "2026-11-13T13:36:44.208Z",
  "updated_at": "2026-11-13T13:36:44.208Z",
  "url": "https://eolwatch.dev/items/azure-functions-python-3-15-end-of-support",
  "short_url": "https://eolwatch.dev/i/d9",
  "markdown_url": "https://eolwatch.dev/items/azure-functions-python-3-15-end-of-support.md",
  "json_url": "https://eolwatch.dev/items/azure-functions-python-3-15-end-of-support.json",
  "estate_check": {
    "resource_types": [
      "microsoft.web/sites",
      "azurerm_linux_function_app"
    ],
    "fields": [
      "linuxfxversion",
      "kind",
      "site_config.application_stack.python_version"
    ],
    "inputs": [
      "Azure Resource Graph export (CSV or JSON)",
      "Terraform state or plan (JSON)",
      "ARM template"
    ]
  }
}
