Most MEAN applications we are asked to look at are not failing because of a bug. They are failing because one layer quietly went out of support and nobody noticed until a security scanner, an auditor, or a cloud provider forced the issue. This post is the table we wish every client had on the wall. Dates are as published by each project as of August 2026; we refresh this post twice a year.
Angular and AngularJS
| Version | Released | Active support ends | LTS ends |
|---|---|---|---|
| AngularJS 1.x | 2010 | 2021-12-31 | End of life (commercial extended support only, e.g. HeroDevs) |
| Angular 19 | Nov 2024 | May 2025 | May 2026 (ended) |
| Angular 20 | May 2025 | Nov 2025 | Nov 2026 |
| Angular 21 | Nov 2025 | Jun 2026 | Jun 2027 |
| Angular 22 | Jun 2026 | Jun 2027 | Jun 2028 |
Angular ships a major every six months with six months of active support followed by twelve months of LTS. In practice this means an Angular app should be upgraded at least once a year, and an app on Angular 19 or earlier is already unsupported. The good news is that the Angular Update Guide and ng update make consecutive-version upgrades routine; the expensive migrations are the ones that skip three majors at once.
If you are still on AngularJS, there is no upgrade command. See our AngularJS to Angular migration page for how that engagement works.
Express
| Version | Released | Status |
|---|---|---|
| Express 4 | Apr 2014 | Latest 4.22.x; security-fix-only maintenance under the Express release policy |
| Express 5 | Sep 2024 (stable) | Current; default on npm since Mar 2025; latest 5.2.1 |
Express 4 is not dead, but it is no longer where the project's attention goes, and Express 5 requires Node.js 18 or later. The migration is mostly mechanical and is covered in our Express 4 to 5 migration guide.
Node.js
| Version | Status (Aug 2026) | End of life |
|---|---|---|
| Node 18 | End of life | Apr 2025 |
| Node 20 | End of life | Apr 2026 |
| Node 22 | Maintenance LTS | Apr 2027 |
| Node 24 | Active LTS | Apr 2028 |
| Node 26 | Current (enters LTS Oct 2026) | Apr 2029 |
Node 18 and Node 20 are both out of support as of this writing. Many MEAN deployments we audit are on one of them, often because a Dockerfile or a cloud runtime pinned it years ago. The release model is changing as well: starting with Node 27, the project moves to a single major release per year, which should make the upgrade rhythm simpler to plan around. Check nodejs.org's release schedule before committing to a version.
MongoDB
| Version | Released | End of life |
|---|---|---|
| MongoDB 5.0 | Jul 2021 | Oct 2024 (ended) |
| MongoDB 6.0 | Jul 2022 | Jul 2025 (ended) |
| MongoDB 7.0 | Aug 2023 | Aug 2027 |
| MongoDB 8.0 | Oct 2024 | Oct 2029 |
| MongoDB 8.3 (rapid release) | May 2026 | Superseded by the next rapid release |
MongoDB's long-term lines are the x.0 releases; the rapid releases in between are for Atlas and early adopters. Upgrades must go one major at a time (6.0 to 7.0 to 8.0), each with a feature-compatibility-version step, so a 6.0 cluster is two controlled upgrades away from support. We describe the procedure in Zero-downtime MongoDB 6.0 to 8.0 upgrades. Confirm dates against MongoDB's lifecycle page, which is the authority.
Reading the whole clock at once
Put the tables together and a typical "we built it in 2019 and it works fine" MEAN app looks like this: AngularJS or Angular 8 (unsupported), Express 4 (maintenance), Node 18 or 20 (unsupported), MongoDB 4.4 or 5.0 (unsupported). Three of four layers are out of support, and the one that is not is the one that least needs attention.
The order we recommend fixing that, and why:
- Node.js to 24 LTS. Fastest, unblocks everything else, and most applications need only dependency bumps.
- MongoDB to 8.0, one major at a time. Independent of the application code in most cases.
- Express 4 to 5. A day or two for most APIs once Node is current.
- Angular. The largest piece, and the one that benefits from all the others being done first, because the build tooling and test runners you adopt during the migration expect current Node.
Keep this in your calendar
The dates that will bite next are Angular 20's LTS end (November 2026), Node 22's end of life (April 2027), and MongoDB 7.0's end of life (August 2027). If any of those is your production version, you have a planning window now and a crisis later. We are happy to turn this table into a dated upgrade plan for your specific application; get in touch.