AWS History and Timeline regarding AWS Elastic Beanstalk - Overview, Platforms, Features, Summary of Updates, and Introduction

First Published:
Last Updated:

On 2026-08-06, AWS Elastic Beanstalk completed the retirement of the remaining platform branches based on Amazon Linux 2. Docker, ECS, Go 1, three Corretto branches, two Corretto branches with Tomcat 9, and .NET Core all stopped on the same day.

42 days later, a new deployment mode was added to the service. Cluster Mode.

These two events are not contradictory. It was the platforms that were retired, not the service itself. Elastic Beanstalk appears in none of the three AWS Service Availability Updates announcements. Meanwhile its platform branches have been stopping one by one since 2020.

This article lays out what was added to Elastic Beanstalk and what stopped in it, separating them into the service lane and the platform lane. The structure itself, one service carrying two lifecycles, is the central theme of this article.

There is one question this article wants to answer. Does your environment have an expiration date, or does the service?

The answer is that only the environment has an expiration date. And the mode added in 2026 has no platform to retire in the first place.

Two Lifecycles Inside One Service
Two Lifecycles Inside One Service

Background and Method of Creating AWS Elastic Beanstalk Historical Timeline

The timeline is essentially complete once the scope of what it will cover is defined. This section will first outline the sources from which the dates were taken and explain what was included and excluded. All references were accessed on 2026-09-18.

Why This Timeline Is Divided Into Two Lanes

What has happened with Elastic Beanstalk can be divided into two distinct categories. Combining them into a single timeline obscures the very conclusion of this article, that only one of the two has an end.

  • The service lane — This holds what was added to Elastic Beanstalk itself. This includes deployment mechanisms, load balancer options, integration with continuous integration systems, observability features, and supported modes. There are no retired rows in this lane.
  • The platform lane — This holds the generational change in the combinations on which applications actually run. This includes the operating system, runtime language versions, application servers, and web servers. This lane holds both rows that were added and rows that stopped.

⚠ These lanes do not represent an official classification documented by AWS. AWS does not formally categorize Elastic Beanstalk updates into these two categories; this article put them there for readability. However, this division is not arbitrary. The two lanes differ in where their dates come from, and that difference is described below.

Three Terms to Separate First

⛔⛔ The terms most likely to be misunderstood in this article are platform, platform branch, and platform version. The Elastic Beanstalk platform support policy keeps the three strictly apart, and only one of them is ever retired. The definitions below are quoted from the Elastic Beanstalk platforms glossary.

Platform
A combination of an operating system (OS), runtime, web server, application
server, and Elastic Beanstalk components.

Platform Version
A combination of specific versions of an operating system (OS), runtime, web
server, application server, and Elastic Beanstalk components. You create an
Elastic Beanstalk environment based on a platform version and deploy your
application to it.

Platform Branch
A line of platform versions sharing specific (typically major) versions of some
of their components, such as the operating system (OS), runtime, or Elastic
Beanstalk components.

⇒ It is the platform branch that is being retired. Neither the platform nor the platform version will be retired. Only one of the three carries a lifecycle, and this article keeps the three apart throughout.

Primary Sources Used in This Article

There are two main sources of dates used in this article.

The first is the AWS Elastic Beanstalk release notes. These notes provide a chronological listing of monthly platform updates, security releases, fixes, and announcements regarding End of Life.

The second is the AWS What's New announcements. This article uses the Posted on: date that each announcement carries.

This article also used the Elastic Beanstalk Developer Guide, specifically the sections on Elastic Beanstalk platform support policy, Elastic Beanstalk platform release schedule, and Elastic Beanstalk platforms glossary, as well as the Elastic Beanstalk Platforms guide's section on Elastic Beanstalk platform versions scheduled for retirement, and the Developer Guide's introductory section, What is AWS Elastic Beanstalk?. These five carry no dates for individual rows, but they show how the current shape of the service is described.

For the state of the service itself, this article used three AWS Service Availability Updates announcements: the versions dated 2025-10-13, 2026-03-31, and 2026-06-30. ⛔ The full text of all three was retrieved and checked, rather than a search summary. The reasons for this are explained later.

The sources this article used are linked below.

The Second Source Starts Partway Through the Service

The reason for using two sources is that the release notes alone are not enough, and that is not an abstract caution. It falls out of the oldest rows of the release notes themselves.

⚠⚠ The earliest entry in these release notes dates back to 2018-07-19. And on 2018-10-15 there is a row that reads Attention: AWS Elastic Beanstalk release notes moved. The page itself states that release notes prior to that date were published in a different location on AWS.

⇒ There is not one entry in these release notes for the 2,738 days that follow the launch of the service on 2011-01-19. This represents approximately the first half of Elastic Beanstalk's existence.

⚠ It is not the record that is missing. The record simply started later. This distinction is important: any row this article takes from before 2018 rests only on information found on AWS What's New. ⇒ Therefore, the method of cross-referencing with the second source is only applicable from 2018 onwards. This article marks which rows those are.

Discrepancies Between Two Primary Sources

Each row in this timeline includes a column indicating which source material (or materials) the date originates from. This article takes 47 rows, and they break down like this:

Dated byRowsMeaning
Both3Present in both sources, with matching dates.
Both (differ)3Present in both sources, but with different dates.
Release notes only37Present only in the release notes.
What's New only4Present only in AWS What's New.

The majority, 37 rows (nearly 80%), are found only in the release notes. Platform updates and retirements are usually recorded only in the release notes, without a separate announcement.

The three rows with discrepancies all exhibit a consistent pattern.

EventRelease NotesWhat's NewDifferenceDate Used in this Article
Corretto 25 with Tomcat 11 on AL20232025-10-272025-10-292 days2025-10-29
Node.js 24 on AL20232025-11-202025-12-0515 days2025-12-05
Deployments tab2026-03-112026-03-121 day2026-03-12

⚠⚠ In all three cases, the dates in the release notes appear earlier. This article uses the announcement's Posted on: date.

This pattern is unlikely to be coincidental. A feature that reaches you on a platform version ships as a platform version first, and the announcement follows. Within the scope of this article, two of the three rows that appear in both sources with matching dates represent features that are not part of the platform version. The GitHub Actions update from 2026-02-11 is outside of Elastic Beanstalk, and the Cluster Mode update from 2026-09-17 has no corresponding platform. ⚠ The remaining row, Active Directory domain join on 2026-08-31, is the exception: the announcement itself limits it to platform versions released on or after 2026-08-18.

This observation applies to the six rows included in this article and does not represent a rule established by AWS. However, this observation does indicate that the two tracks used in this article are not entirely independent. Many features added to a service are not readily available until the corresponding platform updates are released.

There is one more caution on the source side. The announcement of TLS listener support for Network Load Balancers carries a URL whose path is /2026/04/, while its Posted on: line reads May 6, 2026. ⛔ Reading the month in the URL as the announcement date puts the row one month early. This article uses the Posted on: date.

⛔⛔ And there is one more case where a search result must not be treated as a primary source. While preparing this article, two cases were found where summaries returned by the AWS documentation search differed from the actual pages. The first instance involved an AWS Service Availability Updates announcement from 2026-06-30, where the summary listed three items in the End of Support list, while the actual page only contained two. The second instance concerned an announcement from 2026-09-17, regarding Cluster Mode. The summary returned the claim that all currently available platforms are supported as a description of Cluster Mode, whereas the actual page gives it as a description of Standard Mode. Therefore, all judgments made in this article are based solely on the actual pages.

The Dates and Numbers This Timeline Does Not Carry

⛔ This article does not state the date when general availability began. The announcement on 2011-01-19 was titled Introducing AWS Elastic Beanstalk (Beta) and that date was not a general availability release. ⚠ This article was unable to find primary sources indicating when it exited the beta phase. All that this article can state is that it attempted three times, using different search terms, without success. ⛔ The inability to find information does not constitute proof that something does not exist. This article does not claim a specific date for general availability.

⛔ This timeline does not carry the full retirement schedule. Retirement dates move. Any listing included here would only be accurate as of the retrieval date. What this article carries is what triggers a retirement, representative examples as of the retrieval date, and a referral to the official schedule. The whole schedule is held by Elastic Beanstalk platform release schedule.

⛔ This article does not include pricing information. While announcements regarding Cluster Mode and the beginning of the Developer Guide mention costs, the scope of this article is limited to dates, feature names, and supported environments.

⛔ This article does not provide migration steps. The Developer Guide holds the migration from Amazon Linux 2 to AL2023, how to write .ebextensions, and the practical side of configuring an environment.

⚠ There is one instance of terminology overlap. The term Beta has two meanings within this timeline. One refers to the state of the service in 2011, and the other refers to one of four possible states that a platform branch can have. The latter means a platform branch meant for evaluation, with no long-term support. ⇒ The same word, but not the same thing.

What This Article Leaves to Other Articles

This article focuses solely on dates and order. The following four articles each cover a specific topic:

  • The generations of Amazon Linux itself and their End of Life dates — That subject is held by Amazon Linux History and Timeline. What this article holds is only the relationship, that the retirement of a platform branch is subordinate to the End of Life of a component.
  • The vocabulary of the AWS service lifecycle — What Maintenance, Sunset, and Full Shutdown each take away is held by AWS Service Lifecycle States. This article writes only which service is in which state.
  • The list of retired services and services closed to new customers — That is held by AWS Retired Services History and Timeline.
  • The list of End of Support and End of Life dates — That is held by AWS End-of-Support and EOL Reference.

This article also contains only a single introductory line for the following three topics:


⛔ This article does not redefine the distinction between being closed to new customers and being shut down. The AWS History and Timeline regarding AWS Direct Connect establishes this distinction at the level of the connection model. This article applies that distinction to the service level.

AWS Elastic Beanstalk Historical Timeline (Updates from January 19, 2011)

The core of this article consists of the following four tables. Two tables detail service updates, while the other two detail platform updates, each divided into two sections (early and later). The Dated by column in each table indicates how the information in that row is reflected in two primary sources. Both signifies rows where both sources agree on the date, Both (differ) indicates rows present in both sources but with differing dates, and Release notes only and What's New only denote rows found in only one of the sources.

Index:


* You can sort the table by clicking on the column name.

The Service Lane — Modes, Deployment, Observability

This lane collects features added directly to Elastic Beanstalk itself. ⛔ This lane carries no retired rows.

The initial announcement described what this service does.

While the initial release of Elastic Beanstalk supports Java web application
developers using the familiar Apache Tomcat software stack, Elastic Beanstalk is
designed so that it can be extended to support multiple development stacks and
programming languages in the future.

⚠ This description initially distinguishes between two layers. These are the underlying mechanisms provided by the service, and the combinations that can be selected on top of them. The term platform branch for the latter is not formally introduced until 2020-04-08, which is 3,367 days after this announcement.

DateUpdateDated bySummary
2011-01-19Introducing AWS Elastic Beanstalk (Beta)What's New onlyAWS Elastic Beanstalk was announced. The announcement stated that developers could simply upload applications, and the service would automatically handle capacity provisioning, load balancing, auto-scaling, and application health monitoring. ⚠ This was a beta release. Initially, it only supported Java applications running on Apache Tomcat. ⇒ This is the starting point of this timeline, and the release notes carry no row for it. The earliest entry in the release notes is 2,738 days later, on 2018-07-19. See: Introducing AWS Elastic Beanstalk (Beta)
2012-11-01Ruby support and Amazon VPC integrationWhat's New onlySupport for Ruby and integration with existing Amazon VPCs were added on the same day. The announcement counts the supported languages as your Java, PHP, Python, .NET, and now Ruby applications. ⇒ This indicates that over the 652 days between the initial release and this update, three additional languages (besides Java) were added. ⚠ The document does not provide a breakdown of when each of those three languages was added. See: AWS Elastic Beanstalk Runs Ruby and Integrates with Amazon VPC
2018-10-10Network Load Balancer support and Application Load Balancer defaultRelease notes onlySupport for Network Load Balancers was introduced, and simultaneously, the Application Load Balancer became the default load balancer type. The release notes record that the default changed when load balancing was enabled in the console. ⇒ The update introducing a new option and the update changing the default occurred on the same day. See: AWS Elastic Beanstalk release notes
2018-12-20Tag-Based Access ControlRelease notes onlyAccess control based on tags became available. In the following year, on 2019-03-11 and again on 2019-04-04, tagging and tag-based access control were extended to every Elastic Beanstalk resource. ⇒ This shift allowed for a change in permission design, moving from an environment-based unit to a tag-based unit. See: AWS Elastic Beanstalk release notes
2019-04-18Maintenance service-linked roleRelease notes onlyA service-linked role for maintenance tasks was introduced. On June 10, 2020, a service-linked role for managed updates was also added. ⇒ This provided dedicated permissions for services to perform automated tasks within a user's account. See: AWS Elastic Beanstalk release notes
2019-11-25EC2 launch templates, managed updates by default, Spot Instance requestsRelease notes onlyAll three features were introduced on the same day. These included support for Amazon EC2 launch templates, the default enabling of managed updates in the console, and support for Spot Instance requests. ⇒ Managed updates becoming the default is the first mechanism that ties this lane to the platform lane. Managed updates became the default, allowing updates to be applied without user intervention. See: AWS Elastic Beanstalk release notes
2020-01-15EB CLI becomes open sourceRelease notes onlyThe source code for the EB CLI was released. ⚠ This article takes this row as a change in where a tool lives. ⇒ Even after platform branches were removed from the console, this tool allowed users to continue using them, a support policy that relied on the tool's availability. See: AWS Elastic Beanstalk release notes
2020-04-08Elastic Beanstalk formally supports platform branchesRelease notes only⭐⭐ The term platform branch was formally introduced. A new console design was also introduced on the same day. ⇒ This occurred 3,367 days after the service's initial launch. Everything this article says later about retirement is built on this term. ⚠ The term platform branch did not exist during Elastic Beanstalk's first nine years. See: AWS Elastic Beanstalk release notes
2020-05-18Traffic-splitting deploymentsRelease notes onlyUsers could now choose to deploy updates to only a subset of their users. ⇒ This expanded the deployment options beyond a complete or sequential replacement. See: AWS Elastic Beanstalk release notes
2020-06-10IMDSv2 supportRelease notes onlySupport for Instance Metadata Service version 2 (IMDSv2) was added. ⇒ This updated the way instances within an environment could retrieve credentials. See: AWS Elastic Beanstalk release notes
2020-09-10Shared Application Load BalancersRelease notes onlyMultiple environments could now share a single Application Load Balancer. On the same day, authorization for extended health information was also added. ⇒ This marked the first exception to the premise that each environment should have its own dedicated resources. This direction continued toward Cluster Mode, which was introduced in 2026. See: AWS Elastic Beanstalk release notes
2020-11-04Amazon EventBridge integrationRelease notes onlyEvents from environments could now be streamed to Amazon EventBridge. A console integration was also added on December 23, 2020. ⇒ This opened a pathway for external observation of an environment's state. See: AWS Elastic Beanstalk release notes
2021-01-07Change history for environmentsRelease notes onlyA history of changes made to environments became available. ⇒ This row foreshadows the Deployments tab, which was introduced on March 12, 2026. There were 1,890 days between these two events. See: AWS Elastic Beanstalk release notes
2021-10-13AWS Graviton instance typesRelease notes onlySupport for 64-bit ARM-based instance types was added. The release notes record this day as the first wave of a phased rollout, with support expanding on November 24, 2021. ⇒ This update added a new layer beneath the platform lane, rather than adding to the platform lane itself. See: AWS Elastic Beanstalk release notes

In the latter half, the connection between data recording and automation becomes stronger.

DateUpdateDated bySummary
2023-01-10New console design (beta)Release notes onlyA beta version of the new console design was released. It was rolled out region by region and publicly released as the standard design on April 25, 2023. It was also added to AWS China and AWS GovCloud (US) on May 8, 2023. This represents a 105-day transition from beta to the standard design. See: AWS Elastic Beanstalk release notes
2024-09-04IPv6 inbound trafficRelease notes onlySupport for IPv6 inbound traffic was added. On 2025-09-09, dual-stack support widened to both the Application Load Balancer and the Network Load Balancer, one year later. See: AWS Elastic Beanstalk release notes
2025-03-31Secrets Manager and Systems Manager retrievalRelease notes onlyThe ability to retrieve secrets and configurations from AWS Secrets Manager and AWS Systems Manager was introduced. This provides an alternative to directly placing values in environment variables, and this direction continues through to Cluster Mode on 2026-09-17. See: AWS Elastic Beanstalk release notes
2025-09-09IPv6 dualstack for Application and Network Load BalancersRelease notes onlyDual-stack configurations are now supported for both types of load balancers. The Network Load Balancer, which became available in 2018, now receives feature parity. See: AWS Elastic Beanstalk release notes
2026-02-11GitHub Actions for automated deploymentBothAutomated deployments are now possible through pushes to GitHub repositories. The announcement details that this feature handles the creation, uploading, versioning, and monitoring of deployment archives, and integrates with IAM using OpenID Connect. ⚠ Both documents share the same date. This feature exists outside of Elastic Beanstalk and therefore does not depend on the platform version. See: AWS Elastic Beanstalk now supports GitHub Actions for automated application deployment / AWS Elastic Beanstalk release notes
2026-02-26AI-powered environment analysisRelease notes onlyA feature utilizing generative AI for environment analysis was introduced. ⚠ This update lacks a separate announcement and is recorded at the end of the platform update description for Amazon Linux 2 and Amazon Linux 2023. It was expanded to Windows Server on April 22, 2026, and widened again on 2026-05-04 with the addition of a fallback model. This is a service-side feature, even though it appears within a platform update. See: AWS Elastic Beanstalk release notes
2026-03-12Deployments tab with in-progress deployment logsBoth (differ)A new "Deployments" tab consolidates deployment history and in-progress logs into a single view. The announcement notes that previously, users had to wait for deployments to complete and then piece together logs from multiple locations. The integrated logs now capture dependency installations, application builds, .ebextensions, platform hooks, and application startup output. ⚠ The release notes record deployment logs as part of a platform update one day earlier, on 2026-03-11. This article uses the date of the announcement. See: AWS Elastic Beanstalk launches Deployments tab with in-progress deployment logs / AWS Elastic Beanstalk release notes
2026-05-06TLS listeners for Network Load BalancersWhat's New onlySupport for configuring TLS listeners for Network Load Balancers was added. The announcement notes that this was previously an unsupported configuration option. ⚠ This update is not mentioned in the release notes. ⛔ Furthermore, the URL for this announcement has a /2026/04/ path, while the Posted on: date is May 6, 2026. This represents a 2,765-day interval since it became available in 2018. See: AWS Elastic Beanstalk now supports TLS listeners for Network Load Balancers
2026-08-31Active Directory domain join for Windows Server environmentsBothWindows Server instances can now automatically join Active Directory domains. The announcement notes that previously, users had to maintain their own join scripts, and that even newly scaled instances now join automatically upon startup. If the join fails, the deployment still completes. ⚠⚠ However, the announcement specifies that this feature is available on Windows Server platform versions released on or after August 18, 2026. This is the clearest example of a service-side feature depending on the platform version. See: AWS Elastic Beanstalk now supports Active Directory domain join for Windows Server environments / AWS Elastic Beanstalk release notes
2026-09-17Cluster ModeBoth⭐ A second deployment mode has been introduced. The announcement states Cluster Mode runs multiple applications on pooled infrastructure in your account, powered by Amazon EKS, instead of a dedicated environment per application. It offers event-driven autoscaling, observability based on OpenTelemetry, integration with AWS Secrets Manager, and default HTTPS via AWS Certificate Manager. ⛔⛔ The announcement states that Standard Mode continues to support all currently available platforms. The Developer Guide describes Cluster Mode as follows: With Beanstalk Cluster mode there is no platform involved; you provide a container image, or source that Elastic Beanstalk builds into one. ⭐ This represents a feature that does not depend on a platform version. See: AWS Elastic Beanstalk introduces Cluster Mode to run multiple applications on shared infrastructure / AWS Elastic Beanstalk release notes

The Platform Lane — Operating Systems, Runtimes, and Retirements

This lane aggregates the combinations on which applications actually run. ⛔ It holds both rows that were added and rows that stopped. That is the only difference from the service lane.

The conditions for termination are explicitly defined in the support policy.

When a component of a supported platform branch is marked End of Life (EOL) by
its supplier, Elastic Beanstalk marks the platform branch as retired. Components
of a platform branch include the following: operating system (OS), runtime
language version, application server, or web server.

⚠⚠ There are four kinds of trigger. The operating system is only one of them. This article returns to the point later.

The first part of this process covers the transition from Amazon Linux AMI to Amazon Linux 2.

DateUpdateDated bySummary
2011-01-19Java on Apache Tomcat, on Amazon Linux AMIWhat's New onlyThis was the initial combination: Java on Apache Tomcat. This lane begins here. The first instance where a component reaches its End of Life occurs 3,573 days later. See: Introducing AWS Elastic Beanstalk (Beta)
2019-11-25Corretto platform branches on Amazon Linux 2 (public beta)Release notes onlyThe first platform branches based on Amazon Linux 2 were released as a public beta, featuring Corretto 8 and Corretto 11. This marks the beginning of the transition to a second-generation operating system. See: AWS Elastic Beanstalk release notes
2020-04-08Amazon Linux 2 platform branches reach general availabilityRelease notes onlySeveral Amazon Linux 2 platform branches reached general availability. Additional components were added on April 30, 2020, followed by Tomcat on June 3, 2020, and .NET Core on Linux on June 23, 2020. ⚠ This was also the day the term platform branch was officially defined. This marks the simultaneous appearance of a vocabulary term and the generation to which it is initially applied. See: AWS Elastic Beanstalk release notes
2020-10-31First retirement wave on Amazon Linux AMIRelease notes only⭐ This is the first time a row in this lane stopped. Go 1.3 through 1.10, Java 6, Node.js 4.x through 8.x, PHP 5.4 through 5.6, PHP 7.0 through 7.1, Python 2.6 and 2.7, Python 3.4, Ruby 1.9.3, and Ruby 2.0 through 2.3 were all set to retired on the same day. ⇒ That is 3,573 days after the service started. ⚠ What stopped were runtime generations. The operating system was still running. See: Elastic Beanstalk platform release schedule
2020-11-20.NET 5 on Linux and Windows ServerRelease notes onlyThe same runtime became available on both Linux and Windows Server. This marks the beginning of a shared runtime generation across two operating system families. See: AWS Elastic Beanstalk release notes
2021-07-08Amazon Linux AMI platform branches deprecatedRelease notes only⭐⭐ The Amazon Linux AMI platform branches were marked deprecated. The glossary defines this state as one where one or more components are approaching or have reached their End of Life, and while new platform versions may still be released, components reaching their End of Life will no longer be updated. ⇒ This row shows that a state sits in front of retired. The row on which those branches are set to retired is 375 days away. See: AWS Elastic Beanstalk release notes
2022-03-25Amazon ECS running on Amazon Linux 2Release notes onlyA branch based on Amazon Linux 2 that uses Amazon ECS was added to the Docker platform. This is the first row in this lane that hands container orchestration to an external system. The direction indicated here extends to Cluster Mode in 2026. See: AWS Elastic Beanstalk release notes
2022-06-22Windows Server 2012 R1 platform branches retiredRelease notes onlyThe first retirement in the Windows Server family happened. This is the first row in this lane for which the operating system was a trigger. ⚠ The schedule page carries this same date in both its retired operating systems table (Windows Server 2012 R1) and its retired web servers table (IIS 8), so two components stopped together. See: Elastic Beanstalk platform release schedule
2022-06-29Amazon Linux 2 platform branches retired (first wave)Release notes onlyThe first retirement on the Amazon Linux 2 side happened. Two branches with Tomcat 7, Node.js 10, PHP 7.2 and 7.3, and Ruby 2.5. On the same day, Windows Server platform versions V0 and V1 stopped as well. ⚠⚠ At this point, Amazon Linux 2 itself has not yet reached its End of Life. ⚠ The trigger for these retirements was the runtime and application server components. See: Elastic Beanstalk platform release schedule
2022-07-18All Amazon Linux AMI platform branches retiredRelease notes only⭐⭐ Every Amazon Linux AMI platform branch was set to retired. The Platforms guide records On July 18, 2022 Elastic Beanstalk set the status of all platform branches based on Amazon Linux AMI (AL1) to retired. This marks the disappearance of the first-generation operating system from this lane. This is 375 days after the deprecated status on July 8, 2021. ⚠ The service lane of this article carries no row for this day. See: Elastic Beanstalk platform versions scheduled for retirement
2022-12-23Node.js 12 and Ruby 2.6 on Amazon Linux 2 retiredRelease notes onlyTwo branches on the Amazon Linux 2 side stopped. Even after a mass retirement is over, rows keep stopping one runtime at a time. See: Elastic Beanstalk platform release schedule

The latter half focuses on the generation of Amazon Linux 2023, continuing until a stopping line is reached within that generation.

DateUpdateDated bySummary
2023-05-04First Amazon Linux 2023 platform branches (Python)Release notes only⭐ The first platform branches based on Amazon Linux 2023 are now available, starting with Python. Additional branches followed: Corretto 17 and Tomcat on 2023-07-13, PHP and Node.js, Corretto, and Docker on 2023-08-04, ECS, Go, .NET Core, and Ruby on 2023-10-19, and Corretto and Node.js on 2024-01-25. ⇒ It took 266 days from the initial branch to the fourth update. See: AWS Elastic Beanstalk release notes
2023-06-09PHP 7.4 on Amazon Linux 2 retiredRelease notes onlyOne runtime generation stopped. ⇒ Older generations keep stopping while a new generation is still being added. The two movements run in parallel. See: Elastic Beanstalk platform release schedule
2023-12-04Windows Server 2012 R2 platform branches retiredRelease notes onlyThe Windows Server 2012 R2 branch has been retired. ⇒ The Windows Server side operates on a different schedule than the Linux side. See: Elastic Beanstalk platform release schedule
2024-10-10Eight Amazon Linux 2 platform branches retiredRelease notes onlyEight branches were retired on the same day: Node.js 14 and 16, Ruby 2.7 and 3.0, PHP 8.0, Corretto 8 and Corretto 11 (both with Tomcat 8.5), and Python 3.7. ⚠ Tomcat 8.5 is an application server, not a runtime or operating system. ⇒ This row shows that there are four distinct triggers. See: Elastic Beanstalk platform release schedule
2025-04-08.NET 6 on AL2023 retiredRelease notes only⭐⭐ This is the first time a branch has been retired on the Amazon Linux 2023 generation. On the same day, Amazon Linux 2's Python 3.8 was also retired. ⚠ Amazon Linux 2023 itself has not reached its End of Life. The reason for the retirement is related to the runtime. ⇒ Moving to a new operating system does not mean that the branch will not be retired. This is the row that matters most to a reader. See: Elastic Beanstalk platform release schedule
2025-08-11Node.js 18 on AL2023 and AL2 retiredRelease notes onlyThe same runtime generation was retired on two different operating systems on the same day. ⇒ When the trigger is related to the runtime, whether the underlying platform is new does not affect the retirement date. See: AWS Elastic Beanstalk release notes
2025-10-29Corretto 25 with Tomcat 11 on AL2023Both (differ)The combination of Java 25 and Jakarta EE 11 has been added. ⚠ The release notes record this as a new platform branch on 2025-10-27, two days earlier. This article uses the announcement date. See: AWS Elastic Beanstalk adds support for Amazon Corretto 25 and Tomcat 11 / AWS Elastic Beanstalk release notes
2025-12-05Node.js 24 on AL2023Both (differ)A new generation of Node.js has been added. ⚠ The release notes record this, along with Python 3.14, as a new platform branch on 2025-11-20, fifteen days earlier. ⇒ This row carries the largest discrepancy this article found, clearly demonstrating that the platform version is released before the announcement. See: AWS Elastic Beanstalk now supports Node.js 24 on Amazon Linux 2023 / AWS Elastic Beanstalk release notes
2026-04-16PHP 8.1 on AL2023 and AL2 retiredRelease notes onlyThis row has the same shape as the one from 2025-08-11. The same runtime generation was retired on two different platforms on the same day. See: AWS Elastic Beanstalk release notes
2026-05-19Windows Server 2016 platform branches enter retiring statusRelease notes onlyThe Windows Server 2016 platform branches have entered a retiring status. ⚠ The Platforms guide warns that the Amazon Machine Images for this branch will become unavailable on 2027-01-15, in addition to the retirement date of 2026-09-30. After this date, attempts to replace auto-scaling instances or deploy new instances will fail. ⇒ This branch has an additional consequence beyond the standard policy regarding retirement. See: Elastic Beanstalk platform versions scheduled for retirement
2026-08-06All remaining Amazon Linux 2 platform branches retiredRelease notes only⭐⭐ All remaining platform branches based on Amazon Linux 2 have now been retired. The release notes list: .NET Core, Corretto 8, Corretto 8 with Tomcat 9, Corretto 11, Corretto 11 with Tomcat 9, Corretto 17, Docker, and ECS, as well as Go 1. The reason stated is: "Elastic Beanstalk is retiring these platform branches because Amazon Linux 2 has reached its End of Life (EOL) on June 30, 2026." ⇒ This is 37 days after the operating system's End of Life. That is 1,480 days after the mass retirement of the first generation on 2022-07-18. ⚠⚠ Nothing stopped on the service side on this day. See: Release: Elastic Beanstalk Amazon Linux 2 platform branches retired on August 6, 2026
2026-08-13Node.js 20, Python 3.9, and Ruby 3.2 on AL2023 retiredRelease notes onlyThree branches were retired on the Amazon Linux 2023 generation. ⇒ This follows a previous action where the second generation was removed, and now branches within the third generation are being retired. ⚠ Comparing these two actions reveals that the end of migration does not coincide with the end of retirement. See: Elastic Beanstalk platform release schedule

Current Overview, Functions, Features of AWS Elastic Beanstalk

The Two Lanes Are Not Moving in the Same Direction

Counting the 47 rows this article takes, lane by lane, gives this:

LaneRowsRows addedRows that moved to a lower stateRows that stoppedDays since the last row
The service lane2424001 day (2026-09-17)
The platform lane23821336 days (2026-08-13)

⇒ There are 13 rows that stopped, and all 13 sit in the same lane. Of the 24 rows this article takes in the service lane, not one stopped.

⚠ A row that moved to a lower state is one that moved into a state short of retired. There are two: Amazon Linux AMI, marked deprecated on 2021-07-08, and Windows Server 2016, which entered retiring status on 2026-05-19.

⚠ And the service lane is the one moving fastest right now. In 2026 alone it carries six rows: GitHub Actions, environment analysis using generative AI, the Deployments tab, the Network Load Balancer's TLS listener, Active Directory domain joining, and Cluster Mode.

Two Lifecycle Vocabularies Sit Inside One Service

This article split the timeline into two lanes not only for readability. The vocabulary AWS uses is different on each side.

The terminology related to the service follows AWS's overall lifecycle. Terms like Maintenance, Sunset, and End of Support are used, and announcements are consolidated in the AWS Service Availability Updates. This article does not define what each of these terms specifically entails. That is held by AWS Service Lifecycle States.

The terminology specific to the platform branch applies only to Elastic Beanstalk. The glossary defines four states:

StateDefinition according to the glossary
SupportedNo component has reached End of Life. The platform branch keeps receiving platform updates.
BetaA pre-release branch for evaluation purposes. Updates may be received for a limited time, but long-term support is not provided.
DeprecatedOne or more components are approaching or have reached End of Life. While new platform versions may continue to be released until the retirement date, components that have reached End of Life will not receive updates.
RetiredNo updates are received.

⇒ These four states are a separate system from the vocabulary AWS uses for a service. The four come from the glossary, and the service-level terms come from the AWS Service Availability Updates. Reading a state from one of them into the other gets the subject wrong.

⚠⚠ Deprecated has no direct equivalent in AWS's overall terminology. This represents a partial state where operating system updates may still be received, but runtime updates are not. The Amazon Linux AMI platform branches sat in exactly that state between 2021-07-08 and 2022-07-18.

⛔⛔ And Elastic Beanstalk itself sits at the end of neither system. This article retrieved the full text of all three AWS Service Availability Updates announcements, the 2025-10-13, the 2026-03-31, and the 2026-06-30 editions. AWS Elastic Beanstalk appears in none of them.

What Retires Is a Platform Branch, Not the Service

The support policy outlines the following three points regarding platform branches that have been retired:

Elastic Beanstalk stops providing maintenance updates, including security updates.
Elastic Beanstalk no longer provides technical support for retired platform branches.
Elastic Beanstalk no longer makes the platform branch available to new Elastic
Beanstalk customers for deployments to new environments. There is a 90 day grace
period from the published retirement date for existing customers with active
environments that are running on retired platform branches.

⇒ The subject of each sentence is the platform branch. None of the three says that environments disappear or that resources are deleted. The policy clarifies this in a separate section.

Our policy for retired platform branches does not remove access to environments
nor delete resources.

And after a retired branch is gone from the console, it is still reachable from the tools.

A retired platform branch will not be available in the Elastic Beanstalk console.
However, it will be available through the AWS CLI, EB CLI and EB API for customers
that have existing environments based on the retired platform branch.

⇒ Regarding the nine branches that were retired on 2026-08-06, the 90 day grace period expires on 2026-11-04. Even after expiration, the environment will continue to function. What will cease are updates to maintenance, technical support, and provisioning of new environments.

⛔ However, the support policy does not recommend continuing to operate environments on retired platform branches. In the Beyond the 90 day grace period section on the same page, it states that continuing to run environments on retired platform branches can lead to unpredictable situations. This is because the supplier has marked the components End of Life, meaning they no longer provide security updates, technical support, or corrections. ⇒ That an environment keeps running does not mean that leaving it alone is fine.

What Retires a Platform Branch
What Retires a Platform Branch

The Trigger Is a Component, Not Necessarily the Operating System

⛔⛔ This is the correction this article most wants to make.

Twice, on 2022-07-18 and on 2026-08-06, a whole generation was retired because the operating system reached End of Life. Reading only those two rows, it looks as though a branch is safe once the base generation changes. It is not.

The support policy lists four components. If any one of these components reaches its End of Life, the corresponding branch is set to retired.

  • Operating System — Amazon Linux AMI (2022-07-18), Amazon Linux 2 (2026-08-06)
  • Runtime Language Version — .NET 6 on AL2023 (2025-04-08), Node.js 18 (2025-08-11), Node.js 20 and Python 3.9 and Ruby 3.2 (2026-08-13)
  • Application Server — Two branches with Tomcat 8.5 (2024-10-10), and two branches with Tomcat 7 (2022-06-29)
  • Web Server — IIS 8 on Windows Server 2012 R1 (2022-06-22)

⇒ Amazon Linux 2023 has not reached End of Life, and yet branches on top of it have been stopping since 2025-04-08. Four dates, 2025-04-08, 2025-08-11, 2026-04-16, and 2026-08-13, each stop a runtime that sits on Amazon Linux 2023.

⚠ This article does not carry the generations of Amazon Linux itself, nor their End of Life dates. That is the subject of Amazon Linux History and Timeline. Instead, this article only describes the relationship where the retirement of Elastic Beanstalk platform branches is dependent on those dates.

The Mode That Has No Platform to Retire

Cluster Mode, added on 2026-09-17, sits outside the structure described so far.

The beginning of the Developer Guide divides the modes into two categories:

Elastic Beanstalk offers two modes: Standard and Cluster. Beanstalk Standard runs
applications directly on Amazon EC2, ... and supports Windows applications.
Beanstalk Cluster runs applications on Amazon EKS and enables faster deployments,
faster autoscaling, improved resource utilization when running multiple
environments, and managed OpenTelemetry integration.

⚠ The ellipsis marks a clause about the cost of Standard Mode that this article left out of the quotation. What this article quotes is limited to dates, feature names, and supported ranges.

On the same page, the document describes the relationship with the platform:

With Beanstalk Cluster mode there is no platform involved; you provide a container
image, or source that Elastic Beanstalk builds into one.

⇒ Cluster Mode has no platform branch. So the four states that run from Supported through Deprecated to Retired, and the 90 day grace period, do not apply to it. ⚠ There is nothing here to retire. That is not the same as being exempted from retirement. Keeping the underlying infrastructure current stays with the user, in a different form.

⛔ This article has not found any documentation stating that Cluster Mode will replace Standard Mode. The announcement refers to Standard Mode as the existing Elastic Beanstalk experience and states that it continues to support all currently available platforms. The Developer Guide also specifies that Standard Mode is responsible for supporting Windows applications. ⇒ The two modes coexist.

⚠ The name is split across the two sources. AWS What's New uses Standard Mode and Cluster Mode, while the Developer Guide uses Beanstalk Standard and Beanstalk Cluster. This article uses the wording from the announcements throughout.

⚠ A relation of the same shape, where something new is built on top of an existing layer, is handled on the storage side by AWS History and Timeline regarding Amazon EFS. What that article holds stays there. This one writes only the Elastic Beanstalk side.

Standard Mode and Cluster Mode
Standard Mode and Cluster Mode

What Closed Around Elastic Beanstalk — AWS App Runner

Of the layers built as a newer and simpler entry point than Elastic Beanstalk, one is already closed to new customers.

The AWS Service Availability Updates of 2026-03-31 put AWS App Runner on the Services moving to Maintenance list. The preamble to that list reads Services moving to maintenance will no longer be accessible to new customers starting April 30, 2026. The App Runner Developer Guide states:

AWS App Runner is no longer open to new customers. Existing customers can continue
to use the service as normal.

The End of support notice on the App Runner product page adds:

AWS continues to invest in security and availability, but we do not plan to
introduce new features.

⛔⛔ This is not a shutdown. It is a state that is closed to new customers. Existing customers can keep using it, and AWS keeps operating and supporting it. ⇒ What Maintenance takes away is held by AWS Service Lifecycle States, and the list of services that reached retirement or closed to new customers is held by AWS Retired Services History and Timeline. This article redefines neither.

⚠ There is one reason this article carries this row. Put the dates in sequence and the order runs against the common account.

DateEvent
2026-03-31AWS App Runner is announced to be moving to Maintenance
2026-04-30AWS App Runner is closed to new customers
2026-08-06The Amazon Linux 2 platform branches of Elastic Beanstalk are set to retired
2026-09-17Cluster Mode is added to Elastic Beanstalk

⇒ A new mode arrives in the older layer 140 days after the newer layer closed to new customers.

⛔ This article does not read this as Elastic Beanstalk having won. The two are distinct products with different designs, and the status of one does not reflect on the evaluation of the other. All this article can say is that the split between the layer said to have been replaced and the layer said to have replaced it does not match the order of these dates.

Where to Place Your Own Environment on This Timeline

⛔ This article does not carry the whole retirement schedule. Retirement dates move. What it carries instead is the order in which to decide, and representative examples as of the retrieval date.

The order in which to decide has three steps.

  1. Determine the mode in which your environment is operating. If operating in Cluster Mode, the platform branch is not applicable, and the following two steps do not apply.
  2. Check the status of your platform branch. The glossary states that a platform branch can be in one of four states: Supported, Beta, Deprecated, or Retired, and that the status can be verified using the AWS CLI command describe-platform-version under the PlatformBranchLifecycleState field. ⛔ The glossary does not say which strings this field returns. That the name of the state and the value of the field share a spelling is not written in the sources this article checked.
  3. If not Supported, identify which of the four components is closest to its End of Life. This may or may not be the operating system.

Below are three representative examples, as of the retrieval date (2026-09-18):

Planned Retirement DateRepresentative ExampleTriggering Factor
2026-09-30IIS 10.0 on Windows Server 2016 and Windows Server Core 2016Operating System
2027-03-31PHP 8.2, .NET 9, .NET 8 (all on AL2023)Runtime Language Version
2027-07-31Ruby 3.3, Node.js 22 (both on AL2023)Runtime Language Version

⚠ These three rows are not a full list. They were picked from the rows on the schedule at the retrieval date because the difference in trigger shows in them. ⇒ The current schedule can be found at Elastic Beanstalk platform release schedule and Elastic Beanstalk platform versions scheduled for retirement.

⚠⚠ The Windows Server 2016 family carries one more deadline on top of the standard consequences of the support policy. The Platforms guide warns that the Amazon Machine Images for this branch become inaccessible on 2027-01-15, and that any activity that launches a new instance fails after that. ⇒ The general rule that an environment keeps running after retirement has an exception here, and the exception has a date.

New Platform Branches Are Still Being Scheduled

⚠ There is an additional schedule on the same page as the retirement schedule. As of the retrieval date, the following five are planned:

Target DateNew Platform Branch
November 2026Python 3.15, Node.js 26 (both AL2023)
December 2026.NET 11 (AL2023)
January 2027PHP 8.6 (AL2023)
February 2027Ruby 4.1 (AL2023)

⚠ The page itself states, These dates are tentative and subject to change. This article will treat these as planned dates.

⇒ The platform lane still carries rows that stop and rows that are added at the same time. Look only at the retirements and it seems to be shrinking. Look only at the additions and it seems to be growing. Look at one of them alone and you will read the shape of this lane wrong.

What Was Added in 2026

In 2026, up to the retrieval date, this article takes ten rows.

Six sit in the service lane: GitHub Actions on 2026-02-11, environment analysis by generative AI on 2026-02-26, the Deployments tab on 2026-03-12, the TLS listener for the Network Load Balancer on 2026-05-06, Active Directory domain join on 2026-08-31, and Cluster Mode on 2026-09-17.

Three sit in the platform lane. They fall on 2026-04-16, 2026-08-06, and 2026-08-13, and all three are rows that stopped. Count the row for Windows Server 2016 entering retiring status on 2026-05-19 and the lane has four.

⇒ In 2026 alone, the service lane carries only rows that were added, and the platform lane only rows that stopped. This is the year in which the structure of this article shows most plainly.

Frequently Asked Questions about AWS Elastic Beanstalk History

When did AWS Elastic Beanstalk launch?

It was announced on 2011-01-19. The announcement was titled Introducing AWS Elastic Beanstalk (Beta), and what it supported was Java on Apache Tomcat and nothing else.

Has AWS Elastic Beanstalk been discontinued or moved to maintenance?

No. AWS Elastic Beanstalk does not appear in any of the three AWS Service Availability Updates announcements (dated 2025-10-13; 2026-03-31; and 2026-06-30). This article retrieved and checked the full text of all three. The last row this article takes is 2026-09-17, one day before the retrieval date.

Then what is retiring?

A platform branch. When any one of the four, the operating system, the runtime language version, the application server, or the web server, is marked End of Life by its supplier, Elastic Beanstalk marks that platform branch as retired. It is not the service itself that ends, but rather the combination of components that your application runs on.

What happens to my environment when its platform branch retires?

Maintenance updates, including security updates, stop. Technical support stops. The branch is no longer offered for new environments. Existing active environments get a 90 day grace period from the published retirement date, and the support policy does not recommend staying past it. The support policy states that it does not remove access to environments and does not delete resources. While the retired branch will disappear from the console, it will remain accessible through the AWS CLI, EB CLI, and EB API.

Does moving to Amazon Linux 2023 mean my platform branch will not retire?

No. Branches on Amazon Linux 2023 have been stopping since .NET 6 on 2025-04-08, and again on 2025-08-11, 2026-04-16, and 2026-08-13. Amazon Linux 2023 itself has not reached its End of Life. The trigger sits on the runtime side.

Does Cluster Mode replace Standard Mode?

This article has not found any documentation stating that Cluster Mode replaces Standard Mode. The announcement refers to Standard Mode as the existing Elastic Beanstalk experience and states that it continues to support all currently available platforms. The Developer Guide adds that Standard Mode is the side that supports Windows applications.

Does Cluster Mode have platform branches that can retire?

No. The Developer Guide states, With Beanstalk Cluster mode there is no platform involved; you provide a container image, or source that Elastic Beanstalk builds into one. With no platform branch, the four states from Supported through Deprecated to Retired, and the 90 day grace period, do not apply to it.

Has AWS App Runner been shut down?

No. The AWS Service Availability Updates of 2026-03-31 announced the move to Maintenance, and it has been closed to new customers since 2026-04-30. Existing customers can keep using it, and AWS keeps operating and supporting it. What each state takes away is held by AWS Service Lifecycle States.

Why does this timeline use two different primary sources?

Neither source is enough on its own. The earliest row in the release notes is 2018-07-19, which is 2,738 days after the service started. On the other hand, many platform updates and retirements were not announced publicly and are only documented in the release notes. Of the 47 rows this article takes, 37 are found only in the release notes.

Which date does this timeline use when the two sources disagree?

It uses the Posted on: date from AWS What's New. There are three instances where the dates differ, with discrepancies of 1 day, 2 days, and 15 days. In all three cases, the release notes indicate an earlier date.

Why does this timeline not give a general availability date?

Because this article could not find a primary source that states the date the beta ended. All it can say is that it tried three times with different search terms and did not find one. ⛔ Not finding something is not proof that it does not exist, so this article claims no general availability date.

Why does this timeline carry only three examples of scheduled retirements?

Because retirement dates move. This article carries the order in which to decide, and three representative examples as of the retrieval date. The current schedule is available on the Elastic Beanstalk platform release schedule.

Why is the TLS listener entry dated May when its URL says April?

The discrepancy arises because the URL's structure is /2026/04/, while the page displays a Posted on: date of May 6, 2026. This article uses the Posted on: date.

Where can I find the Amazon Linux generations and their End of Life dates?

That subject is held by Amazon Linux History and Timeline. What this article holds is only the relationship, that the retirement of an Elastic Beanstalk platform branch is subordinate to those dates.

Summary

AWS Elastic Beanstalk was announced as a beta on 2011-01-19. By the retrieval date of 2026-09-18, 5,721 days had passed.

Measured across the two lanes, the direction of movement differs. The service lane carries 24 rows, and not one of them stopped. Its last row is one day before the retrieval date. The platform lane carries 23 rows, and 13 of them stopped.

⇒ Only the component side carries an end. Elastic Beanstalk appears in none of the three AWS Service Availability Updates announcements. Meanwhile every Amazon Linux AMI branch stopped on 2022-07-18, and every remaining Amazon Linux 2 branch stopped on 2026-08-06.

⚠ And a new base does not stop it stopping. There are four kinds of trigger for a retirement, and the operating system is only one of them. While Amazon Linux 2023 has not reached its End of Life, branches on top of it have stopped four times since 2025-04-08. ⇒ Readers should verify their environment based on which of the four components reaches its End of Life first, rather than the generation of the base.

The two events of 2026 happen in the order opposite to the common account. AWS App Runner, created as a newer, simpler entry point, is no longer open to new customers as of 2026-04-30. 140 days later, Elastic Beanstalk added Cluster Mode. ⛔ This article does not read either date as a verdict on either service. All that can be stated is that the split between the layer said to have been replaced and the layer said to have replaced it does not match the order of these dates.

And Cluster Mode has no platform to retire. The Developer Guide writes there is no platform involved. After fifteen years of stopping one component at a time, the service added, in 2026, a mode that has no component to retire.

⚠ This article holds only dates and order. The lineage of Amazon Linux itself, the vocabulary of the lifecycle states, the list of retired services, and the migration steps are left to the existing articles. All of it is as of 2026-09-18, and retirement dates move.


References:
Tech Blog with curated related content

Written by Hidekazu Konishi