Technology

When the Software Under Your System Stops Being Supported

SKIMBOX Team

Your website or app sits on layers of other people's software, and every layer has an expiry date. Here is what end of life actually means, which versions have already expired, which expire in the next twelve months, and what to do before an app store or an attacker decides for you.

When the Software Under Your System Stops Being Supported

Your website, app or internal system is built on other people's software. An operating system, a programming language, a database, a framework, a content system, dozens of smaller libraries. Each of those layers is maintained by somebody else, and each has a date after which its makers stop fixing it.

That date passes silently, and usually without anybody noticing. Nothing breaks. The system keeps working exactly as it did the day before. What changes is that every weakness discovered from then on stays open permanently.

This guide explains what end of life actually means, which widely used versions have already expired, which expire in the next twelve months, and what your options are. Every date here was checked against the vendor's own official page in September 2026.

What does end of life actually mean?

End of life means the makers of a piece of software have stopped fixing it, while the software itself carries on running exactly as before. Security fixes stop, bug fixes stop, and support stops. Any weakness discovered after that date is never repaired.

Microsoft states this directly about Windows 10. After its support ended on 14 October 2025, computers running it "will still function", but Microsoft no longer provides technical support, software updates, or security updates and fixes [1].

That is the trap. Because nothing visibly changes, the date is easy to ignore. But the risk is not static. Security researchers and attackers continue to find weaknesses in every widely used piece of software. For supported versions, those weaknesses get fixed. For unsupported ones, the list of known ways in simply grows.

The UK's National Cyber Security Centre puts it plainly: weaknesses found in unsupported products will remain unpatched and will be exploitable by relatively low-skilled attackers [2].

Why your system has several expiry dates, not one

A typical business system sits on five or six layers of other people's software, each with its own support schedule, and the system is only as current as its oldest layer.

Take a website built in 2021. It might run on:

An operating system on the server.

A programming language such as PHP, Node.js, Python or .NET.

A database such as MySQL.

A framework or content system such as WordPress, Laravel or Angular.

Dozens of smaller libraries that handle payments, images, email, forms and so on.

Each of those was current in 2021. Each has moved on since. And each follows a different clock:

PHP supports each version for two years of active development followed by two years of security fixes only, about four years in total [3].

Node.js long-term support versions are maintained for about 30 months, and the project states production applications should only use its active or maintenance long-term support releases [4].

Microsoft .NET long-term support releases get three years of free support and patches, and standard releases get two [5].

Python versions are supported for about five years [6].

Angular versions are supported for roughly 18 to 24 months [7].

WordPress officially supports only its latest version [8].

Put those together and the conclusion is uncomfortable: a system built four or five years ago and never upgraded is almost certainly running at least one layer past its support date, and quite possibly several.

A worked example: a website built in 2021

Here is how a perfectly reasonable system, built well at the time and left alone since, looks when you check each layer against today's dates. The details are illustrative, but the pattern is a common one.

A business commissioned a customer portal in mid-2021. The developer made sound choices for that moment: PHP 8.0 for the application, MySQL 8.0 for the database, Node.js 14 to build the front end, and a popular framework version that was current that summer. It launched, it worked, and the maintenance contract covered fixing bugs.

Five years later, checked against the official pages:

PHP 8.0 is past end of life. The oldest PHP branch still receiving security fixes is 8.2, and that stops at the end of 2026 [3].

MySQL 8.0 reached end of life in April 2026, according to its own release notes [11].

Node.js 14 is long past end of life. Even Node.js 20, three major versions later, reached end of life in April 2026 [4].

The framework is almost certainly several major versions behind, with its own support long expired.

Nothing has broken. Customers log in, orders go through, reports run. From the owner's point of view, the system is fine.

From an attacker's point of view, it is a publicly reachable system running several layers that no longer receive security fixes. Every weakness published in any of those layers since their support ended is still open.

And the upgrade is now four or five steps at once on several layers, rather than one small step each year. That is the practical cost of leaving it: not a breach, necessarily, but a much larger and more expensive piece of work when something finally forces the issue.

Which versions have already expired

As of September 2026, several very widely used versions are already past their end of support. If your system uses any of them, it is running without security fixes today.

Windows 10 reached end of support on 14 October 2025 [1][9].

PHP 8.1 and every earlier version, including all of PHP 7, are no longer supported. The oldest branch still receiving security fixes is PHP 8.2 [3].

Node.js 20 reached end of life on 30 April 2026, and Node.js 18 before it on 30 April 2025 [4][10].

Python 3.9 reached end of life on 31 October 2025, and Python 2.7 on 1 January 2020 [6].

MySQL 8.0: its official release notes state that as of April 2026, with version 8.0.46, MySQL 8.0 reaches end of life, and encourage users to upgrade to MySQL 8.4 or a newer release [11].

Microsoft .NET 6 has been out of support since 12 November 2024, and .NET 7 since 14 May 2024 [5].

Angular 19 and earlier are no longer supported [7].

These are not obscure products. PHP powers a very large share of websites, including every WordPress site. MySQL sits under a great many business systems. Node.js runs a large proportion of modern web applications. If your system was built between about 2019 and 2022 and nobody has upgraded it since, the odds are high that something on this list applies to you.

What expires in the next twelve months

Seven widely used versions leave support between October 2026 and October 2027, and the time to plan for them is before the date, not after it.

DateWhat reaches end of support
October 2026Python 3.10 [6]
10 November 2026Microsoft .NET 8 and .NET 9 [5]
28 November 2026Angular 20 [7]
31 December 2026PHP 8.2 security fixes end [3]
30 April 2027Node.js 22 [4][10]
12 October 2027Windows 10 consumer Extended Security Updates [1]

Two points about this list.

Microsoft's .NET 8 is a long-term support release, which many businesses chose specifically because it was supported for longer. It still ends in November 2026. Long-term support means longer, not permanent.

PHP 8.2 matters to a great many WordPress sites, because hosting companies often left sites on whatever version was current when they were set up. If your host control panel shows PHP 8.2 or lower, it is worth planning the move now.

Apps: the stores decide for you

Mobile apps face harder deadlines than websites because Apple and Google enforce minimum requirements, and an app that falls behind can quietly stop reaching new customers.

Google Play. From 31 August 2026, new apps and app updates must target Android 16, which is API level 36, to be submitted [12]. For apps already published, Google states that existing apps must target Android 15, API level 35 or higher, to remain available to new users on devices running newer Android versions. Apps targeting Android 14 or lower will only be available on devices running the same or an older version of Android [12][13].

In plain terms, an app that has not been updated in a couple of years may already be invisible to anybody buying a new phone. Existing users keep it. New customers cannot find it.

Google allows developers to request an extension to 1 November 2026 if they need more time [12]. Google has raised the requirement repeatedly, so expect it to rise again.

Apple. Since 28 April 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later, using the version 26 software development kits [14].

The consequence businesses discover too late is that you cannot ship any update, however small, unless it meets the current requirements. If your app was last built years ago, fixing a single typo means first upgrading the build tools, the target level and possibly several libraries that no longer work with them. The fix takes an hour. The upgrade underneath it takes weeks.

Our guide on app store rejections covers the review side, and our guide on app maintenance costs covers budgeting for this every year.

WordPress, plugins and PHP

For a WordPress site, three things need to stay current: WordPress itself, the PHP version your host runs, and every plugin and theme you use. Keeping only the first one current is not enough.

WordPress itself. WordPress states that only its latest version is officially supported, and that its security team backports fixes to older versions as a courtesy [8]. As of late September 2026, WordPress describes only the most recent release in its 7.1 series as safe to use and actively maintained [15]. In 2025 it announced it would stop sending security updates to versions 4.1 through 4.6 altogether [16].

PHP. WordPress recommends PHP 8.3 or greater. It notes WordPress still works with PHP 7.4, but that version has reached its official end of life and may expose your site to security vulnerabilities [17].

Plugins and themes. These are frequently the weakest layer, because WordPress core has a dedicated security team while each plugin is maintained by whoever wrote it. A plugin whose author has stopped updating it is effectively end of life, regardless of what WordPress does.

Three habits cover most of the risk: keep WordPress on its latest version, keep PHP on a supported version, and keep the plugin list short. Remove anything you do not use, and replace anything that has not been updated in a long time. Our comparison of WordPress, Webflow and Next.js covers the platform choice more broadly.

Windows 10 in the office

Windows 10 reached end of support on 14 October 2025, and computers still running it should be upgraded or replaced on a planned timeline.

Microsoft offers Extended Security Updates to bridge the gap. For businesses, it prices them through volume licensing at 61 US dollars per device for the first year, with the price doubling each following year, for a maximum of three years [18]. The programme covers security updates only: no new features, no non-security fixes and no technical support. Devices must be on Windows 10 version 22H2 to receive them [18]. For consumers, Microsoft states extended security updates run until 12 October 2027 [1].

Extended support is a bridge, not a destination. It is deliberately priced to rise and deliberately time-limited. The right use of it is to buy the time to upgrade properly. A business that pays for a third year has usually just postponed the same decision by three years at increasing cost.

The same applies to other office software. Microsoft notes, for example, that support for Office 2021 and Office LTSC 2021 ends in October 2026 [1].

What the security agencies say

Government security agencies are unusually direct on this subject: the recommended fix for unsupported software is to stop using it.

The UK National Cyber Security Centre states that the only fully effective way to mitigate the risk is to stop using the obsolete product [2]. It recommends upgrading rather than continuing at risk, while acknowledging that immediate upgrade is not always feasible.

The US Cybersecurity and Infrastructure Security Agency lists the use of unsupported or end-of-life software in critical infrastructure on its list of bad practices, calling it dangerous and especially egregious in technologies accessible from the internet [19].

That last point matters for most businesses reading this. A website, an online store, a customer portal or a mobile app is accessible from the internet by definition. These are the systems where running unsupported software carries the most risk, and they are also the ones most likely to have been built a few years ago and left alone.

We looked for equivalent published guidance from the UAE Cyber Security Council and could not reach an official page to confirm its wording, so we have not quoted it. Our guide on cybersecurity for small businesses covers the UAE framework more broadly.

How to find out what your system runs on

Ask whoever built or maintains your system for a list of every layer and its current version. Anybody competent can produce it in an hour, and it is the single most useful document in this whole subject.

The list should cover:

The server operating system and its version.

The web server software.

The programming language and its version: PHP 8.3, Node.js 22, Python 3.12, and so on.

The database and its version.

The framework or content system and its version.

Major libraries and plugins, particularly anything that handles payments, logins or customer data.

For apps: the target Android API level and the Xcode version it was last built with.

Then add one column: the end-of-support date for each version, taken from the vendor's official page.

If nobody can produce this list, that is itself a significant finding. A system nobody can describe is a system nobody is keeping current. It is also a system that will be hard to hand to another supplier, which is a risk in its own right. Our guide on getting your data out covers why documentation matters beyond this one problem.

Why postponed upgrades cost more

Upgrades are cheapest when done one step at a time, and every step you skip makes the eventual upgrade larger, because versions build on each other.

Moving from one version to the next is usually a contained piece of work. The makers publish what changed, the changes are manageable, and most of the system carries on as before.

Moving four versions at once is different. You cross every breaking change in between. Libraries you depend on may not support the new version, or may have been abandoned altogether and need replacing. Code that relied on older behaviour needs rewriting. Testing has to cover much more.

Postponing an upgrade does not avoid its cost. It compounds it. That is why regular small upgrades are dramatically cheaper than occasional large ones, and why a system left alone for five years can reach the point where the upgrade looks like a rebuild.

This is a specific form of technical debt, and our guide on technical debt covers the wider idea.

What an upgrade project actually involves

A proper upgrade follows the same five steps whatever the technology: list the layers, copy the system, upgrade one thing at a time on the copy, test, then release. Knowing the steps helps you read a quote and spot one that skips something.

1. Inventory. The list described above: every layer, its version and its support date. This determines the order of work, because some layers depend on others. A newer framework may need a newer language version, which may need a newer operating system.

2. A copy of the system. Upgrades should never be done directly on the live system. A separate copy, usually called a staging environment, lets the work happen without customers seeing anything go wrong. If your system has no such copy, creating one is part of the job.

3. One layer at a time. Upgrading everything at once makes it impossible to tell which change caused which problem. Each layer is moved forward, the system is checked, and only then does the next layer move.

4. Testing. Every important thing the system does gets tried on the upgraded copy: logging in, taking a payment, sending an email, generating a report. Automated tests make this faster and more reliable where they exist, and our guide on software testing covers what they are. Where they do not exist, testing is manual and takes longer.

5. Release and watch. The upgraded version replaces the live one, ideally at a quiet time, with a way to roll back if something unexpected appears. The first few days afterwards deserve closer monitoring than usual.

What to look for in a quote: that it names which layers are being upgraded and to which versions, includes a staging copy, includes testing, and includes a rollback plan. A quote that says only "upgrade the system" leaves every one of those open to interpretation, and our guide on writing a software brief covers closing those gaps before work starts.

Your four options when something is past its date

When a layer of your system is past end of support, you can upgrade it, isolate it, pay for extended support, or replace the system, and upgrading is usually the right answer.

Upgrade. Move to a supported version. For most systems, most of the time, this is the correct and cheapest option, especially if it is done before the gap becomes large and before an outside deadline removes your choice of timing.

Isolate. If you genuinely cannot upgrade yet, reduce the exposure. The UK NCSC suggests keeping obsolete systems away from untrusted content, blocking them from sensitive data and services, segregating them from the rest of the network, and monitoring them [2]. This lowers the risk. It does not remove it, and it is not possible for a public website.

Pay for extended support. Some vendors sell time, as Microsoft does for Windows 10. Use it as a bridge with a fixed end, not as a plan.

Replace. When the gap is so large that the system would need rewriting anyway, or when the framework it was built on has no supported successor, replacement can be the honest answer. That is the exception rather than the rule. A supplier who proposes a full rebuild for version reasons should be able to explain why stepping forward is not possible. Our guide on whether to rebuild or fix covers that decision.

Accepting the risk is technically a fifth option. For a system that is completely isolated, holds nothing sensitive and cannot be reached from the internet, it can be reasonable for a time, provided somebody decides it deliberately and writes it down. For anything internet-facing or holding customer data, the agencies are clear.

Who is responsible: you, your supplier or your host?

Unless your contract says otherwise, keeping versions current is usually nobody's explicit job, which is exactly why it does not happen.

Your hosting company typically manages only what it runs. A managed host may patch the operating system and make newer PHP versions available, but it rarely switches your site to a newer version without permission, because doing so can break it. Check what your plan actually includes.

Your developer or agency may be contracted only to fix what breaks. Many maintenance agreements do not include routine version upgrades, which means versions age quietly until something forces a large project.

You own the decision to budget and schedule the work, even when somebody else does it.

Fix this in the contract. Ask for it to state who monitors support dates for each layer, how much notice you receive before a date passes, and whether routine upgrades are included in the monthly fee or quoted separately. Our guides on website maintenance and who to call when something breaks cover the wider agreement.

And name an owner inside the business. Whoever owns the system commercially should own the list, even if a supplier does the work. Without a named owner, each party assumes the other is watching, and the first reminder anybody receives is a rejected app update or a security incident.

Beyond security: the other costs of running old software

Security is the main reason to stay current, but not the only one: old versions also affect insurance, customer contracts, audits, hiring and performance.

Insurance and questionnaires. Cyber insurance applications and security questionnaires from larger customers commonly ask whether your systems are supported and patched. An honest answer that critical systems are end of life can affect cover or a contract.

Due diligence. Investors and buyers look at this directly. Our guide on technical due diligence covers what they examine.

Finding people to work on it. Developers are generally less keen to work on old versions, and the tools and help available for them shrink over time. A system on very old versions can become harder and more expensive to staff.

Features you cannot add. Newer libraries, payment integrations and services often require newer versions underneath. An old stack can quietly block improvements the business wants.

Performance. Newer versions of languages and databases are frequently faster. Upgrading can sometimes improve speed as a side effect, which our guide on why websites are slow touches on.

Making it routine

The businesses that handle this well are not doing anything clever; they keep a list of support dates, review it twice a year, and budget for upgrades as normal maintenance.

Keep the list. Every layer, its version and its end-of-support date, for every system you run, including the software staff use on their own machines.

Review it every six months, without fail. Check for anything that has passed its date and anything due in the next twelve months, and note any vendor that has changed or extended its schedule since the last review.

Put dates in the calendar, with a planning reminder three to six months ahead of each one.

Budget for it every year. Routine upgrades folded into a maintenance plan are a predictable monthly cost. Our maintenance guides give starting figures of around AED 150 per month for a small website and around AED 500 per month for an app. A large overdue upgrade is a project quoted by scope, and it is almost always the more expensive route.

For apps, treat the store update as a fixed yearly cost. Google has raised its target level repeatedly and Apple moves its build requirements regularly. Budget for at least one compatibility update per year regardless of whether you plan new features.

What to do this week

  1. Ask for the list. Every layer of your website, app or internal system, with its version.
  2. Compare it with the dates in this article, and with each vendor's official page for anything not covered here.
  3. Anything already past its date: ask for a plan and a quote.
  4. Anything due in the next twelve months: put it in the calendar now, with a reminder three months ahead.
  5. Check your maintenance contract for who is responsible for version upgrades.
  6. Name an owner inside the business for the list.

That is an hour of effort, and it replaces an unknown risk with a known one. It also gives you something concrete to take to a supplier, which turns a vague worry about old software into a specific, priced piece of work with a date attached.

If you would like somebody to do the first part for you, a codebase and dependency review that lists every layer of your system, its version, its support date and what upgrading involves starts from around AED 4,000 with us. No official body publishes rates for this kind of review, so these are our own figures. Upgrade work is quoted separately by scope. Final pricing depends on scope.

References

  1. Microsoft, Windows 10 support has ended on October 14, 2025
  2. UK National Cyber Security Centre, obsolete products
  3. PHP, supported versions
  4. Node.js, previous releases
  5. Microsoft, .NET and .NET Core support policy
  6. Python Developer's Guide, status of Python versions
  7. Angular, versioning and releases
  8. WordPress, security
  9. Microsoft, Windows 10 Home and Pro lifecycle
  10. Node.js Release Working Group, release schedule
  11. MySQL, MySQL 8.0 release notes
  12. Android Developers, meet Google Play's target API level requirement
  13. Google Play Console Help, target API level requirements
  14. Apple Developer, upcoming requirements
  15. WordPress, releases
  16. WordPress, security updates will cease for WordPress versions 4.1 through 4.6
  17. WordPress, requirements
  18. Microsoft, Extended Security Updates for Windows 10
  19. CISA, bad practices
  20. SKIMBOX, technical debt explained
  21. SKIMBOX, rebuild or fix a legacy system
  22. SKIMBOX, mobile app maintenance cost in Dubai
  23. SKIMBOX, website maintenance and AMC in Dubai
  24. SKIMBOX, app store rejections and review guidelines

Support dates were checked against each vendor's official page on 29 September 2026. Vendors occasionally extend or change their schedules, so confirm the current date on the official page before making a decision that depends on it.

Frequently asked questions

  • What does end of life mean for software?

    It means the people who make the software have stopped fixing it. The software keeps running exactly as before, which is why the change is easy to miss. What stops is the flow of security fixes and bug fixes. From that date, every new weakness that anybody discovers stays open permanently, and the list of known ways to attack that software only ever grows while the list of fixes stays frozen.

  • If it still works, why does it matter?

    Because working and safe are different things. Microsoft makes the point directly about Windows 10: computers running it will still function, but they no longer receive technical support, software updates or security fixes. The UK National Cyber Security Centre warns that weaknesses found in unsupported products remain unpatched and can be exploited by relatively low-skilled attackers. The risk grows every month, even though nothing visibly changes.

  • What is a software stack?

    The layers of software your system is built on. A typical website sits on an operating system, a web server, a programming language such as PHP or Node.js, a database such as MySQL, a framework or content system such as WordPress, and dozens of smaller libraries. Each layer is made by somebody else and each has its own support schedule. Your system is only as current as its oldest layer.

  • How long is each layer usually supported?

    It varies widely. PHP supports each version for about four years in total. Node.js long-term support versions get about 30 months. Microsoft's .NET long-term support releases get three years and its standard releases two. Python versions are supported for about five years. Angular versions for roughly 18 to 24 months. WordPress officially supports only its latest version. A system built four or five years ago and never upgraded is almost certainly past at least one date.

  • Which versions have already reached end of life?

    As of September 2026, Windows 10 reached end of support on 14 October 2025. PHP 8.1 and every earlier version are no longer supported. Node.js 20 reached end of life on 30 April 2026. Python 3.9 reached end of life on 31 October 2025. MySQL's release notes state that MySQL 8.0 reached end of life in April 2026. Microsoft's .NET 6 and .NET 7 are out of support. Angular 19 and earlier are no longer supported.

  • What expires in the next twelve months?

    Python 3.10 reaches end of life in October 2026. Microsoft's .NET 8 and .NET 9 both reach end of support on 10 November 2026. Angular 20 leaves support on 28 November 2026. PHP 8.2 stops receiving security fixes on 31 December 2026. Node.js 22 reaches end of life on 30 April 2027. If any of these is in your system, the time to plan the upgrade is now rather than after the date.

  • How do we find out what our system runs on?

    Ask whoever built or maintains it for a list of every layer and its version: operating system, web server, language, database, framework or content system, and major libraries. Anybody competent can produce this in an hour. If nobody can produce it, that is itself an important finding, because a system nobody can describe is a system nobody is keeping current. Write the answer down and date it.

  • What happens to our app if we do not update it?

    The app stores enforce their own deadlines. From 31 August 2026, Google Play requires new apps and app updates to target Android 16, API level 36. Existing apps targeting Android 14 or lower become unavailable to new users on devices running newer Android versions. Apple has required uploads to be built with Xcode 26 and the version 26 SDKs since 28 April 2026. An old app can quietly disappear from new customers without anybody touching it.

  • Can we get more time from Google Play?

    Google states you can request an extension to 1 November 2026 if you need more time to meet the current target API requirement. An extension is a short bridge, not a solution. Google has raised the requirement repeatedly and you should expect it to rise again, so an app that only just meets this year's deadline will face the same problem next year. Treat the target level update as a regular, fixed part of the maintenance budget.

  • Why would a small bug fix force a large upgrade?

    Because you cannot submit any update to the stores unless it meets the current build requirements. If your app was last built years ago, fixing one typo means first upgrading the tools, the target level and possibly several libraries that no longer work with the new tools. The fix takes an hour; the upgrade underneath it takes weeks. This is the most common way businesses discover their app has fallen behind.

  • Is WordPress safe if we keep it updated?

    Keeping WordPress itself on the latest version is the most important step, because WordPress states only its latest version is officially supported, with fixes backported to older versions as a courtesy rather than a commitment. The other two things that matter are the PHP version your host runs, where WordPress recommends 8.3 or higher, and your plugins and theme, which each have their own authors and their own update habits.

  • What PHP version should our WordPress site run on?

    WordPress recommends PHP 8.3 or greater. It notes that WordPress still works with PHP 7.4, but that version has reached its official end of life and may expose your site to security vulnerabilities. Your hosting control panel usually shows the current version. Before upgrading, check that your theme and plugins support the newer version, ideally by testing on a copy of the site first. Your host or developer can usually make the change quickly once compatibility is confirmed.

  • Are plugins a bigger risk than WordPress itself?

    Often, yes, because WordPress core is maintained by a large security team and plugins are maintained by whoever wrote them. A plugin whose author has stopped updating it is effectively end of life, whatever WordPress does. Remove plugins you do not use, replace any that have not been updated in a long time, and keep the list short. Every plugin is another piece of somebody else's software you are relying on.

  • We still have Windows 10 computers in the office. What should we do?

    Plan to replace or upgrade them. Microsoft ended Windows 10 support on 14 October 2025. Businesses can buy Extended Security Updates through volume licensing, which Microsoft prices at 61 US dollars per device for the first year, doubling each following year, for a maximum of three years. It covers security updates only, with no new features and no technical support, and it only works on Windows 10 version 22H2.

  • Is paying for extended support a good idea?

    As a bridge while you plan a proper upgrade, it can be sensible. As a strategy, it is expensive and temporary. Extended support programmes are deliberately priced to rise, cover only security fixes, and end on a fixed date. Use the time they buy to do the upgrade, not to postpone the decision. A business that pays for a third year of extended support has usually just delayed the same project by three years.

  • What do government security agencies say?

    The UK National Cyber Security Centre says the only fully effective way to mitigate the risk is to stop using the obsolete product. The US Cybersecurity and Infrastructure Security Agency lists the use of unsupported or end-of-life software among its bad practices and calls it especially egregious in technologies accessible from the internet. A website or customer app is accessible from the internet by definition.

  • What if we genuinely cannot upgrade yet?

    Reduce the exposure while you plan. The UK NCSC suggests keeping obsolete systems away from untrusted content and blocking them from sensitive data and services, segregating them from the rest of the network, and monitoring them. That lowers the risk; it does not remove it. Set a date for the real fix, because temporary measures have a way of becoming permanent when nobody is holding them to account.

  • Why do postponed upgrades get so expensive?

    Because versions build on each other. Moving one step forward is usually a contained piece of work. Moving four steps forward at once means crossing every breaking change in between, and often discovering that libraries you depend on have been abandoned and need replacing. Postponing an upgrade does not save its cost; it compounds it, which is why regular small upgrades are much cheaper than occasional large ones.

  • Should upgrades be part of our maintenance contract?

    Yes, explicitly. Many maintenance contracts cover fixing what breaks and nothing more, which means versions quietly age until something forces a large project. Ask for the contract to state who monitors support dates for each layer, how much notice you get before one expires, and whether routine version upgrades are included or quoted separately. Our guides on website and app maintenance cover the wider contract.

  • When does an upgrade become a rebuild?

    When the gap is so large that the system would need rewriting anyway, or when the framework it was built on has no supported successor. That is the exception, not the rule. Most systems can be upgraded in steps, and a supplier who proposes a full rebuild for version reasons should be able to explain why stepping forward is not possible. Our guide on whether to rebuild or fix covers that decision in detail.

  • Does the hosting company keep our software up to date?

    Usually only the parts it manages. A managed host may update the operating system and offer newer PHP versions, but it rarely changes the version your site actually uses without your permission, because doing so can break it. The framework, the content system, the plugins and your own code remain your responsibility or your developer's. Check exactly what your host's plan includes rather than assuming it covers everything.

  • What about the database?

    Databases have support schedules too, and they are easy to forget because nobody interacts with them directly. MySQL's official release notes state that MySQL 8.0 reached end of life in April 2026 and encourage users to move to MySQL 8.4 or a newer release. If your system runs on a managed cloud database, check the provider's own support dates, which can differ from the open source project's.

  • Can an end-of-life system affect insurance or audits?

    It can. Cyber insurance applications and security questionnaires from larger customers commonly ask whether systems are supported and patched, and an honest answer that critical systems are end of life may affect cover or a contract. Technical due diligence during an investment or sale also looks at this directly. Our guide on technical due diligence covers what buyers examine, including how current the underlying software is.

  • How often should we check support dates?

    Twice a year is enough for most businesses, provided somebody owns it. Keep a simple list of every layer, its version and its end-of-support date, and review it every six months. Put the dates for the next twelve months in the calendar with a planning reminder three to six months ahead. That turns every upgrade from an emergency into a scheduled piece of work. Treat every date as a planning deadline rather than a moment to react, because nothing visible happens on the day.

  • Who should own this inside the business?

    Whoever owns the system commercially should own the list, even if a supplier does the work. The supplier can monitor dates and advise, but the decision to budget and schedule an upgrade belongs to the business. Without a named owner, support dates pass unnoticed because each party assumes the other is watching, and the first reminder anybody receives is a rejected app update or a security incident.

  • Are mobile apps affected by operating system changes as well?

    Yes. New versions of iOS and Android change how apps behave, restrict older ways of doing things, and add new permission rules. An app that has not been updated for a couple of years may still install but behave badly on the newest phones. Combined with the store build requirements, this makes a mobile app one of the hardest things to leave untouched. Budget for at least one compatibility update a year.

  • What about software our team uses rather than builds?

    The same principle applies. Desktop operating systems, office software, accounting packages and anything installed on staff machines all have support dates. Microsoft notes, for example, that support for Office 2021 and Office LTSC 2021 ends in October 2026. Keep one list covering both the systems you have built and the software your staff use, because an attacker does not care which kind of software lets them in.

  • Is cloud software immune to this?

    Software you rent as a service, where the provider runs it for you, is kept current by the provider, which is one of its genuine advantages. But anything you run yourself in the cloud, such as servers, databases or containers, still has versions you are responsible for. Moving to the cloud moves the hardware problem to somebody else; it does not move the software version problem unless you choose fully managed services.

  • How much does staying current cost?

    Much less when done regularly than when postponed. Routine upgrades folded into a maintenance plan are a predictable monthly cost. Our guides on website maintenance and app maintenance give starting figures from around AED 150 per month for a small website and from around AED 500 per month for an app. A large overdue upgrade, by contrast, is a project quoted by scope, and it is almost always the more expensive route.

  • What does an upgrade project involve?

    Five steps. List every layer and its version. Make a separate copy of the system so the work does not affect customers. Upgrade one layer at a time on that copy, because changing everything at once makes problems impossible to trace. Test every important function, such as logging in, paying and reporting. Then release the upgraded version at a quiet time with a way to roll back. A quote should name each of those steps.

  • What does a review of our system cost?

    A codebase and dependency review that lists every layer of your system, its version, its support date and what upgrading involves starts from around AED 4,000 with us. It is the same review we describe in our guides on technical debt and on whether to rebuild or fix. Upgrade work itself is quoted separately by scope. Final pricing depends on scope, and these are our own figures rather than a market survey.

  • What is the most common mistake here?

    Treating upgrades as optional work that can wait until something breaks. Nothing breaks when support ends, so the work keeps being postponed until an outside deadline forces it: a rejected app update, a customer's security questionnaire, an auditor, or an attacker. At that point it has to be done quickly and expensively. The businesses that handle this well are simply the ones that put the dates in a calendar.

  • What should we do this week?

    Ask whoever maintains your website, app or internal system for a list of every layer and its version. Compare it against the support dates in this article. If anything is already past its date, ask for a plan and a quote. If anything expires in the next twelve months, put it in the calendar now. That is an hour of effort, and it replaces an unknown risk with a known one.

  • Do these dates change?

    Sometimes. Vendors occasionally extend or change their support schedules and policies. The dates in this article were checked against each vendor's official page in September 2026. Check the official lifecycle page for each product you use before making a decision that depends on a specific date. Record the date you checked alongside each entry so you know how fresh it is. A schedule that changes in your favour buys time; one that changes against you is a reason to review the list sooner than planned.

  • Where can we check support dates ourselves?

    Each product publishes its own. PHP has a supported versions page on php.net, Node.js publishes a release schedule, Python publishes version status in its developer guide, Microsoft has lifecycle pages for Windows and .NET, WordPress lists its releases and requirements, and Google and Apple publish their store requirements on their developer sites. We link to each of them in the references below. Keep the list somewhere the whole business can find it, not only in a supplier's inbox.

  • Is using old software ever acceptable?

    For a system that is completely isolated, handles nothing sensitive and cannot be reached from the internet, the risk can be manageable for a time, provided somebody has made that decision deliberately and written it down. For anything connected to the internet or holding customer data, the security agencies are clear that the answer is to upgrade. The key word is deliberately: a known risk accepted on purpose is very different from an unknown one.

SKIMBOX Team

Tech Consultancy

Get fresh writing in your inbox

One email a fortnight. No filler.

By subscribing, you agree to our privacy policy.

Want us to build something?

We work with teams across MENA, UK, USA, and India to build products, run programs, and grow.

Get in touch

Continue reading