Analysis / Development and agents
Choosing a web stack you can maintain
A website can work well at handover and need a migration sooner than expected. Support schedules help you plan that work from the beginning.
Choosing a web stack means deciding how a project will be built and maintained. A fast demo or benchmark can provide evidence, but it does not describe the upgrades an application will need over several years.
Start with a version inventory. “It uses Node” or “it runs on PHP” is not enough to establish its support status.
Active support, security maintenance and end of life
Active support commonly includes fixes and improvements according to the project's policy. Maintenance may be limited to security and critical defects. After end of life, do not rely on ordinary upstream patches.
These labels differ between products. Check the actual policy and release branch, distinguishing official support from any additional commercial service.
Dates worth checking
The official Node.js schedule identifies each branch's end of life:
| Branch | Published end of life |
|---|---|
| Node.js 20 | 30 April 2026 |
| Node.js 22 | 30 April 2027 |
| Node.js 24 | 30 April 2028 |
PHP 8.2 security support ends on 31 December 2026; PHP 8.3 ends on 31 December 2027. Branches 8.4 and 8.5 have their own active and security support windows.
These dates were checked on 20 September 2026. Verify the official schedule when planning a migration, including the framework, packages and hosting environment.
Next.js does publish a support policy
Next.js distinguishes Active LTS from Maintenance LTS. A major release stays active until the next major arrives; the previous version enters maintenance, with a two-year window from its initial release.
The policy also notes that maintenance updates may contain breaking changes. “Still supported” does not mean “safe to upgrade without testing”.
Keep a link to each tool's actual policy. Do not infer that support is absent because an upgrade guide omits the full timetable.
Questions to ask before choosing
| Question | Decision it informs |
|---|---|
| What must the application do? | Justified technical complexity |
| What can the maintenance team support? | Ability to resolve incidents |
| When do components reach end of life? | Migration schedule |
| How are upgrades tested? | Change risk |
| How can a release be rolled back? | Recovery |
| Which external services are required? | Service continuity |
Performance matters too. Measure representative pages, data and devices. Comparisons are not inherently useless, but a number without context cannot predict your application's experience.
Make maintenance executable
Record each component, version, owner, support source and next review. Schedule upgrades before support expires and test critical journeys: login, forms, payments, search and important integrations.
Static sites reduce some runtime dependencies but still require maintenance of build tools, servers, libraries and external services. Avoiding a browser framework does not eliminate that work. The same inventory helps determine whether a web feature needs a polyfill.
To assess an existing site, tell us how it is hosted and which functions it needs.
Sources
Reviewed on 20 September 2026.
- Node.js: releases and policy.
- Node.js: official schedule.
- PHP: supported versions.
- Next.js: Support Policy.
Checked on September 20, 2026