Skip to content

Commit 9a4af37

Browse files
authored
Merge pull request #261682 from cephalin/distros
add java runtime versions
2 parents fdb2019 + e760144 commit 9a4af37

File tree

3 files changed

+109
-68
lines changed

3 files changed

+109
-68
lines changed

articles/app-service/configure-language-java.md

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ az webapp list-runtimes --os linux | grep "JAVA\|TOMCAT\|JBOSSEAP"
5252

5353
::: zone-end
5454

55+
For more information on version support, see [App Service language runtime support policy](language-support-policy.md).
56+
5557
## Deploying your app
5658

5759
### Build Tools
@@ -1107,49 +1109,6 @@ JBoss EAP is only available on the Premium v3 and Isolated v2 App Service Plan t
11071109
11081110
::: zone-end
11091111
1110-
## Java runtime statement of support
1111-
1112-
### JDK versions and maintenance
1113-
1114-
Microsoft and Adoptium builds of OpenJDK are provided and supported on App Service for Java 8, 11, and 17. These binaries are provided as a no-cost, multi-platform, production-ready distribution of the OpenJDK for Azure. They contain all the components for building and running Java SE applications. For local development or testing, you can install the Microsoft build of OpenJDK from the [downloads page](/java/openjdk/download). The table below describes the new Java versions included in the January 2022 App Service platform release:
1115-
1116-
| Java Version | Linux | Windows |
1117-
|--------------|------------------|----------------------|
1118-
| Java 8 | 1.8.0_312 (Adoptium) * | 1.8.0_312 (Adoptium) |
1119-
| Java 11 | 11.0.13 (Microsoft) | 11.0.13 (Microsoft) |
1120-
| Java 17 | 17.0.1 (Microsoft) | 17.0.1 (Microsoft) |
1121-
1122-
\* In following releases, Java 8 on Linux will be distributed from Adoptium builds of the OpenJDK.
1123-
1124-
If you're [pinned](#choosing-a-java-runtime-version) to an older minor version of Java, your site may be using the deprecated [Azul Zulu for Azure](https://devblogs.microsoft.com/java/end-of-updates-support-and-availability-of-zulu-for-azure/) binaries provided through [Azul Systems](https://www.azul.com/). You can continue to use these binaries for your site, but any security patches or improvements will only be available in new versions of the OpenJDK, so we recommend that you periodically update your Web Apps to a later version of Java.
1125-
1126-
Major version updates will be provided through new runtime options in Azure App Service. Customers update to these newer versions of Java by configuring their App Service deployment and are responsible for testing and ensuring the major update meets their needs.
1127-
1128-
Supported JDKs are automatically patched on a quarterly basis in January, April, July, and October of each year. For more information on Java on Azure, see [this support document](/azure/developer/java/fundamentals/java-support-on-azure).
1129-
1130-
### Security updates
1131-
1132-
Patches and fixes for major security vulnerabilities will be released as soon as they become available in Microsoft builds of the OpenJDK. A "major" vulnerability is defined by a base score of 9.0 or higher on the [NIST Common Vulnerability Scoring System, version 2](https://nvd.nist.gov/vuln-metrics/cvss).
1133-
1134-
Tomcat 8.0 has reached [End of Life (EOL) as of September 30, 2018](https://tomcat.apache.org/tomcat-80-eol.html). While the runtime is still available on Azure App Service, Azure will not apply security updates to Tomcat 8.0. If possible, migrate your applications to Tomcat 8.5 or 9.0. Both Tomcat 8.5 and 9.0 are available on Azure App Service. For more information, see the [official Tomcat site](https://tomcat.apache.org/whichversion.html).
1135-
1136-
Community support for Java 7 will terminate on July 29, 2022 and [Java 7 will be retired from App Service](https://azure.microsoft.com/updates/transition-to-java-11-or-8-by-29-july-2022/) at that time. If you have a web app running on Java 7, please upgrade to Java 8 or 11 before July 29.
1137-
1138-
### Deprecation and retirement
1139-
1140-
If a supported Java runtime will be retired, Azure developers using the affected runtime will be given a deprecation notice at least six months before the runtime is retired.
1141-
1142-
- [Reasons to move to Java 11](/java/openjdk/reasons-to-move-to-java-11?bc=/azure/developer/breadcrumb/toc.json&toc=/azure/developer/java/fundamentals/toc.json)
1143-
- [Java 7 migration guide](/java/openjdk/transition-from-java-7-to-java-8?bc=/azure/developer/breadcrumb/toc.json&toc=/azure/developer/java/fundamentals/toc.json)
1144-
1145-
### Local development
1146-
1147-
Developers can download the Microsoft Build of OpenJDK for local development from [our download site](/java/openjdk/download).
1148-
1149-
### Development support
1150-
1151-
Product support for the [Microsoft Build of OpenJDK](/java/openjdk/download) is available through Microsoft when developing for Azure or [Azure Stack](https://azure.microsoft.com/overview/azure-stack/) with a [qualified Azure support plan](https://azure.microsoft.com/support/plans/).
1152-
11531112
## Next steps
11541113
11551114
Visit the [Azure for Java Developers](/java/azure/) center to find Azure quickstarts, tutorials, and Java reference documentation.

articles/app-service/language-support-policy.md

Lines changed: 105 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Language runtime support policy
33
description: Learn about the language runtime support policy for Azure App Service.
44
author: jeffwmartinez
55
ms.topic: article
6-
ms.date: 01/23/2023
6+
ms.date: 12/23/2023
77
ms.author: jefmarti
88
ms.custom: seodec18
99

@@ -28,7 +28,7 @@ App Service follows community support timelines for the lifecycle of the runtime
2828

2929
End-of-support dates for runtime versions are determined independently by their respective stacks and are outside the control of App Service. App Service sends reminder notifications to subscription owners for upcoming end-of-support runtime versions when they become available for each language.
3030

31-
People who receive notifications include account administrators, service administrators, and co-administrators. Contributors, readers, or other roles don't directly receive notifications, unless they opt in to receive notification emails through [service health alerts](../service-health/alerts-activity-log-service-notifications-portal.md).
31+
Those who receive notifications include account administrators, service administrators, and coadministrators. Contributors, readers, or other roles won't directly receive notifications, unless they opt in to receive notification emails, using [Service Health Alerts](../service-health/alerts-activity-log-service-notifications-portal.md).
3232

3333
## Timelines for language runtime version support
3434

@@ -51,3 +51,106 @@ To learn more about how to update language versions for your App Service applica
5151
- [Java](https://github.com/Azure/app-service-linux-docs/blob/master/Runtime_Support/java_support.md#java-on-app-service)
5252
- [Python](https://github.com/Azure/app-service-linux-docs/blob/master/Runtime_Support/python_support.md#how-to-update-your-app-to-target-a-different-version-of-python)
5353
- [PHP](https://github.com/Azure/app-service-linux-docs/blob/master/Runtime_Support/php_support.md#how-to-update-your-app-to-target-a-different-version-of-php)
54+
55+
## Java-specific runtime statement of support
56+
57+
- [JDK versions and maintenance](#jdk-versions-and-maintenance)
58+
- [Security updates](#security-updates)
59+
- [Deprecation and retirement](#deprecation-and-retirement)
60+
- [Local development](#local-development)
61+
62+
### JDK versions and maintenance
63+
64+
Microsoft and Adoptium builds of OpenJDK are provided and supported on App Service for Java 8, 11, and 17. These binaries are provided as a no-cost, multi-platform, production-ready distribution of the OpenJDK for Azure. They contain all the components for building and running Java SE applications. For local development or testing, you can install the Microsoft build of OpenJDK from the [downloads page](/java/openjdk/download).
65+
66+
# [Linux](#tab/linux)
67+
68+
| **Java stack name** | **Linux distribution** | **Java distribution** |
69+
| ----------------------- | ------------- | ------------------------- |
70+
| Java 8, Java SE | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
71+
| Java 11, Java SE | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
72+
| Java 17, Java SE | Ubuntu | MSFT OpenJDK 17 |
73+
| Java 8, Tomcat 8.5 | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
74+
| Java 11, Tomcat 8.5 | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
75+
| Java 8, Tomcat 9.0 | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
76+
| Java 11, Tomcat 9.0 | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
77+
| Java 17, Tomcat 9.0 | Ubuntu | MSFT OpenJDK 17 |
78+
| Java 8, Tomcat 10.0 | Ubuntu | Adoptium Temurin 8 |
79+
| Java 11, Tomcat 10.0 | Ubuntu | MSFT OpenJDK 11 |
80+
| Java 17, Tomcat 10.0 | Ubuntu | MSFT OpenJDK 17 |
81+
| Java 11, Tomcat 10.1 | Ubuntu | MSFT OpenJDK 11 |
82+
| Java 17, Tomcat 10.1 | Ubuntu | MSFT OpenJDK 17 |
83+
| Java 8, JBoss 7.3 | Ubuntu | Adoptium Temurin 8 |
84+
| Java 11, JBoss 7.3 | Ubuntu | MSFT OpenJDK 11 |
85+
| Java 8, JBoss 7.4 | Ubuntu | Adoptium Temurin 8 |
86+
| Java 11, JBoss 7.4 | Ubuntu | MSFT OpenJDK 11 |
87+
| Java 17, JBoss 7.4 | Ubuntu | MSFT OpenJDK 17 |
88+
89+
<!-- | **Java stack name** | **Linux distribution** | **Java distribution** |
90+
| ----------------------- | ------------- | ------------------------- |
91+
| Java 8 | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
92+
| Java 11 | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
93+
| Java 17 | Ubuntu | MSFT OpenJDK 17 |
94+
| Java 21\*\* | Ubuntu | MSFT OpenJDK 21 |
95+
| Tomcat 8.5 Java 8 | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
96+
| Tomcat 8.5 Java 11 | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
97+
| Tomcat 9.0 Java 8 | Alpine 3.16\* | Adoptium Temurin 8 (MUSL) |
98+
| Tomcat 9.0 Java 11 | Alpine 3.16\* | MSFT OpenJDK 11 (MUSL) |
99+
| Tomcat 9.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
100+
| Tomcat 9.0 Java 21\*\* | Ubuntu | MSFT OpenJDK 21 |
101+
| Tomcat 10.0 Java 8 | Ubuntu | Adoptium Temurin 8 |
102+
| Tomcat 10.0 Java 11 | Ubuntu | MSFT OpenJDK 11 |
103+
| Tomcat 10.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
104+
| Tomcat 10.1 Java 11 | Ubuntu | MSFT OpenJDK 11 |
105+
| Tomcat 10.1 Java 17 | Ubuntu | MSFT OpenJDK 17 |
106+
| Tomcat 10.1 Java 21\*\* | Ubuntu | MSFT OpenJDK 21 |
107+
| Tomcat 11 Java 21 \*\* | Ubuntu | MSFT OpenJDK 21 |
108+
| JBoss 7.3 Java 8 | Ubuntu | Adoptium Temurin 8 |
109+
| JBoss 7.3 Java 11 | Ubuntu | MSFT OpenJDK 11 |
110+
| JBoss 7.4 Java 8 | Ubuntu | Adoptium Temurin 8 |
111+
| JBoss 7.4 Java 11 | Ubuntu | MSFT OpenJDK 11 |
112+
| JBoss 7.4 Java 17 | Ubuntu | MSFT OpenJDK 17 |
113+
| JBoss 8 Java 17\*\* | Ubuntu | MSFT OpenJDK 17 |
114+
| JBoss 8 Java 21\*\* | Ubuntu | MSFT OpenJDK 21 |
115+
116+
\*\* Upcoming versions
117+
118+
\* Alpine 3.16 is the last supported Alpine distribution in App Service. It's recommended to pin to a version to avoid switching over to Ubuntu automatically. Make sure you test and switch to Java offering supported by Ubuntu based distributions when possible. -->
119+
120+
# [Windows](#tab/windows)
121+
122+
| **Java stack name** | **Windows version** | **Java distribution** |
123+
|--------------|------------------|----------------------|
124+
| Java 8 | Windows Server 2016 | 1.8.0_312 (Adoptium) |
125+
| Java 11 | Windows Server 2016 | 11.0.13 (Microsoft) |
126+
| Java 17 | Windows Server 2016 | 17.0.1 (Microsoft) |
127+
128+
-----
129+
130+
If you're [pinned](configure-language-java.md#choosing-a-java-runtime-version) to an older minor version of Java, your site may be using the deprecated [Azul Zulu for Azure](https://devblogs.microsoft.com/java/end-of-updates-support-and-availability-of-zulu-for-azure/) binaries provided through [Azul Systems](https://www.azul.com/). You can continue to use these binaries for your site, but any security patches or improvements will only be available in new versions of the OpenJDK, so we recommend that you periodically update your Web Apps to a later version of Java.
131+
132+
Major version updates will be provided through new runtime options in Azure App Service. Customers update to these newer versions of Java by configuring their App Service deployment and are responsible for testing and ensuring the major update meets their needs.
133+
134+
Supported JDKs are automatically patched on a quarterly basis in January, April, July, and October of each year. For more information on Java on Azure, see [this support document](/azure/developer/java/fundamentals/java-support-on-azure).
135+
136+
### Security updates
137+
138+
Patches and fixes for major security vulnerabilities will be released as soon as they become available in Microsoft builds of the OpenJDK. A "major" vulnerability is defined by a base score of 9.0 or higher on the [NIST Common Vulnerability Scoring System, version 2](https://nvd.nist.gov/vuln-metrics/cvss).
139+
140+
Tomcat 8.0 has reached [End of Life as of September 30, 2018](https://tomcat.apache.org/tomcat-80-eol.html). While the runtime is still available on Azure App Service, Azure won't apply security updates to Tomcat 8.0. If possible, migrate your applications to Tomcat 8.5 or 9.0. Both Tomcat 8.5 and 9.0 are available on Azure App Service. For more information, see the [official Tomcat site](https://tomcat.apache.org/whichversion.html).
141+
142+
Community support for Java 7 ended on July 29, 2022 and [Java 7 was retired from App Service](https://azure.microsoft.com/updates/transition-to-java-11-or-8-by-29-july-2022/). If you have a web app running on Java 7, upgrade to Java 8 or 11 immediately.
143+
144+
### Deprecation and retirement
145+
146+
If a supported Java runtime will be retired, Azure developers using the affected runtime will be given a deprecation notice at least six months before the runtime is retired.
147+
148+
- [Reasons to move to Java 11](/java/openjdk/reasons-to-move-to-java-11?bc=/azure/developer/breadcrumb/toc.json&toc=/azure/developer/java/fundamentals/toc.json)
149+
- [Java 7 migration guide](/java/openjdk/transition-from-java-7-to-java-8?bc=/azure/developer/breadcrumb/toc.json&toc=/azure/developer/java/fundamentals/toc.json)
150+
151+
### Local development
152+
153+
Developers can download the Microsoft Build of OpenJDK for local development from [our download site](/java/openjdk/download).
154+
155+
Product support for the [Microsoft Build of OpenJDK](/java/openjdk/download) is available through Microsoft when developing for Azure or [Azure Stack](https://azure.microsoft.com/overview/azure-stack/) with a [qualified Azure support plan](https://azure.microsoft.com/support/plans/).
156+

articles/app-service/tutorial-send-email.md

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ Deploy an app with the language framework of your choice to App Service. To foll
4444

4545
[Tutorial: Run a Python (Django) web app with PostgreSQL in Azure App Service](tutorial-python-postgresql-app.md)
4646

47-
### [Ruby](#tab/ruby)
48-
49-
[Build a Ruby and Postgres app in Azure App Service on Linux](tutorial-ruby-postgres-app.md)
50-
5147
---
5248

5349
## Create the logic app
@@ -151,7 +147,7 @@ In your code, make a standard HTTP post to the URL using any HTTP client languag
151147
- The request contains the heading `Content-Type: application/json`.
152148
- To optimize performance, send the request asynchronously if possible.
153149

154-
Click on the preferred language/framework tab below to see an example.
150+
Select the preferred language/framework tab below to see an example.
155151

156152
### [ASP.NET](#tab/dotnet)
157153

@@ -297,28 +293,11 @@ async with aiohttp.post('http://httpbin.org/post', data=json.dump(payload)) as r
297293

298294
If you're testing this code on the sample app for [Tutorial: Run a Python (Django) web app with PostgreSQL in Azure App Service](tutorial-python-postgresql-app.md), you could use it to send an email confirmation in the [Route::post function](https://github.com/Azure-Samples/laravel-tasks/blob/master/routes/web.php#L30-L48), just before the return statement.
299295

300-
### [Ruby](#tab/ruby)
301-
302-
In Ruby, you can send the HTTP post easily with JSONClient. For example:
303-
304-
```ruby
305-
clnt = JSONClient.new
306-
body = {
307-
'email' => '[email protected]',
308-
'due' => '4/1/2020',
309-
'task' => "My new task!"
310-
}
311-
312-
connection = clnt.post_async(ENV['LOGIC_APP_URL'], body)
313-
```
314-
315-
If you're testing this code on the sample app for [Build a Ruby and Postgres app in Azure App Service on Linux](tutorial-ruby-postgres-app.md), you could use it to send an email confirmation in the [create](https://github.com/Azure-Samples/rubyrails-tasks/blob/master/app/controllers/tasks_controller.rb#L26-L38) action, [when @task.save succeeds](https://github.com/Azure-Samples/rubyrails-tasks/blob/master/app/controllers/tasks_controller.rb#L30).
316-
317296
---
318297

319298
## Next steps
320299

321300
- [Tutorial: Host a RESTful API with CORS in Azure App Service](app-service-web-tutorial-rest-api.md)
322301
- [HTTP request/response reference for Logic Apps](../connectors/connectors-native-reqres.md)
323-
- [Quickstart: Create an example Consumption workflow in multi-tenant Azure Logic Apps - Azure portal](../logic-apps/quickstart-create-example-consumption-workflow.md)
302+
- [Quickstart: Create an example Consumption workflow in multitenant Azure Logic Apps - Azure portal](../logic-apps/quickstart-create-example-consumption-workflow.md)
324303
- [Environment variables and app settings reference](reference-app-settings.md)

0 commit comments

Comments
 (0)