37 Audits
⏳

End of Life Auditor

Security Auditor

Flags a platform version that is near or past vendor end of life

SecurityResilience
50 credits
Per check
~30 seconds
Average runtime
Active
Status

How it works

  1. Select the platform — the first stack entry whose vendor is Liferay (any case) is audited. No stack, or no supported vendor in it, is INFORMATION (101): nothing is audited and the run is not charged.

  2. Read the declared version — an entry without a version is ERROR (502); the release list is not read.

  3. Find the installed release — https://releases-cdn.liferay.com/releases.json is fetched with a 10 second timeout (a network error, a status other than 200 or an unreadable body is ERROR 500) and the declared version is matched against the releases of the declared product (DXP or Portal) by any of its names, ignoring case and repeated spaces, exactly like the Latest Version Auditor: 2025.Q1.15 LTS, DXP 2025.Q1.15 LTS, 2025.q1.15, dxp-2025.q1.15-lts, 7.4.3.132 GA132, 7.4.13-u92. A version that names no release of that product is ERROR (503). The release line is the group Liferay publishes the release in (2025.Q1, 7.4).

  4. Liferay Portal — Liferay publishes no service life for Portal (the community edition): only its latest GA release receives fixes. A Portal release is a WARNING (302) with no dates.

  5. Service-life dates of the line — for DXP, the line is looked up in the table of the Liferay Service Life Policy bundled with the auditor (the policy page serves the table as an image behind a bot challenge, so it cannot be read at audit time). The bundled edition is the 2026 table, read on 2026-10-05, covering DXP 7.0 to 2026.Q4; the 100 check names the edition in every result.

    LineGeneral availabilityEnd of Premium SupportEnd of Limited Support
    2026.Q42026-11-112027-11-10—
    2026.Q32026-08-192027-08-18—
    2026.Q22026-05-132027-05-12—
    2026.Q1 (LTS)2026-03-182029-03-172031-03-17
    2025.Q42025-11-262026-11-25—
    2025.Q32025-09-032026-09-02—
    2025.Q22025-05-282026-05-27—
    2025.Q1 (LTS)2025-02-192028-02-182030-02-18
    2024.Q42024-12-112025-12-10—
    2024.Q32024-09-122025-09-11—
    2024.Q22024-06-122025-06-11—
    2024.Q1 (LTS)2024-03-132027-03-132029-03-12
    2023.Q42023-12-132024-12-12—
    2023.Q32023-10-202024-10-19—
    7.42023-09-01 (final release)2027-09-012030-09-01
    7.32020-10-132024-10-122027-10-12
    7.22019-06-042023-06-032026-06-03
    7.12018-07-102022-11-132025-11-13
    7.02016-06-152020-06-142023-06-14

    A quarterly line that is newer than the table gets its dates from the policy rules: the first release of the line (2026.q2.0) publishes its general availability date in release.properties (since 2026.Q1); a non-LTS quarterly line has one year of Premium Support and no Limited Support, and the Q1 line of each year is LTS with three years of Premium Support followed by two years of Limited Support, each phase ending the day before the anniversary. A DXP line that is in neither place is ERROR (504).

  6. End of life — the last day of Limited Support when the line has that phase (7.x and LTS lines), otherwise the last day of Premium Support. The day count is from the day the audit runs (UTC).

  7. Thresholds — end of life in the past is FAIL (400); end of life in at most failDays days (default 180) is FAIL (401); in at most warningDays days (default 365) is WARNING (300). A line past its Premium Support but still in Limited Support is WARNING (301), listed next to the end-of-life finding when both apply.

  8. Aggregate — ERROR wins, then FAIL, then WARNING. A line in Premium Support with more than warningDays days left is SUCCESS (200).

Preferences

Both are optional per-URL preferences; an unset, unreadable or non-positive value takes the default.

KeyTypeDefaultMeaning
failDaysinteger180FAIL (401) when end of life is this many days away or fewer
warningDaysinteger365WARNING (300) when end of life is this many days away or fewer (and more than failDays)

What this auditor validates

Every row maps to one checkRule* method and one CheckCode. CheckCode suffixes use status ranges: 100 information, 200 success, 300–399 warning, 400–499 fail, 500–599 error. The audited page is not fetched, so there is no 590 (site blocked) code.

CheckCodeStatusWhen it firesRecommendationWhy it matters
37A-EndOfLifeAuditor-100INFORMATIONAlways. Records the vendor policy and the edition of its table the dates come from (Service-life dates come from the Liferay Service Life Policy (2026 table, read 2026-10-05).).— (recommendation is null; nothing for the site to change)—
37A-EndOfLifeAuditor-101INFORMATIONThe project has no software stack, or the stack names no supported platform; nothing is audited and the run is not charged (the check carries notApplicable: true).Empty stack: add {supported} and its version to the project's software stack to audit its service life. Other platforms: if the site runs {supported}, add it and its version to the project's software stack to audit its service life.—
37A-EndOfLifeAuditor-500ERRORThe release list or a release's release.properties could not be fetched or parsed.Run the audit again; {dataSource} answered "{error}".—
37A-EndOfLifeAuditor-502ERRORThe stack entry of the platform has no version.Set the installed version of {platform} {product} in the project's software stack.—
37A-EndOfLifeAuditor-503ERRORThe declared version names no release of the declared product.Pick the installed {platform} {product} release in the project's software stack; "{declaredVersion}" names no {platform} {product} release.—
37A-EndOfLifeAuditor-504ERRORThe release is known but its DXP line is neither in the bundled service-life table nor publishes a general availability date.Run the audit again once the auditor's service-life table lists the {releaseLine} line; the stack declares {installed}.—
37A-EndOfLifeAuditor-400FAILThe installed release line is past its end of life.Upgrade {platform} {product} from {installed} to a line in Premium Support, such as the current LTS release; support for the {releaseLine} line ended on {endOfLife}.An end-of-life platform gets no security patches, so every new vulnerability stays open on the site and compliance audits flag it.
37A-EndOfLifeAuditor-401FAILEnd of life is at most failDays days away (not yet past).Start the upgrade of {platform} {product} {installed} now; the {releaseLine} line loses all support on {endOfLife}.A platform upgrade takes months; with so little support left the site will run unsupported before the work finishes.
37A-EndOfLifeAuditor-300WARNINGEnd of life is more than failDays and at most warningDays days away.Plan the upgrade of {platform} {product} {installed} off the {releaseLine} line before {endOfLife}.Scheduling the upgrade a year ahead keeps the site supported without an emergency migration once the vendor stops publishing fixes.
37A-EndOfLifeAuditor-301WARNINGPremium Support of the line ended and its Limited Support has not.Move {platform} {product} {installed} to a line in Premium Support, such as the current LTS release, to receive new hotfixes again.In Limited Support the vendor fixes only critical vulnerabilities, so ordinary bugs and lower-severity security issues stay in the site until it moves to a supported line.
37A-EndOfLifeAuditor-302WARNINGThe installed product has no vendor service life (Liferay Portal).Keep {platform} {product} on the latest GA release, or move to a commercial edition with a published support window; the stack declares {installed}.Without a support window there is no patch stream for the installed release, so security fixes arrive only by upgrading to the newest release.
37A-EndOfLifeAuditor-200SUCCESSAll rules passed. Message is {platform} {product} {installed} is in Premium Support until {endOfPremiumSupport}; the {releaseLine} line reaches end of life on {endOfLife} ({days} days left).——

Example messages for an audit run on 2026-10-05 with the default thresholds:

  • 400 — Liferay DXP 2025.Q3.5 reached end of life on 2026-09-02 (33 days ago): the 2025.Q3 line receives no fixes or security patches.

  • 401 — Liferay DXP 2025.Q4.3 reaches end of life on 2026-11-25, in 51 days (fail threshold: 180 days).

  • 301 — Liferay DXP 7.3 U36 left Premium Support on 2024-10-12; the 7.3 line is in Limited Support until 2027-10-12 (critical security fixes only).

  • 302 — Liferay Portal 7.4.3.132 GA132 (Community Edition) has no vendor service life: Liferay fixes only the latest GA release of Portal.

  • 200 — Liferay DXP 2026.Q1.13 LTS is in Premium Support until 2029-03-17; the 2026.Q1 line reaches end of life on 2031-03-17 (1624 days left).

Findings carry the same values in data: platform, product, declaredVersion, installedVersion, releaseLine, lts, communityEdition, generalAvailability, endOfPremiumSupport, endOfLimitedSupport, endOfLife, daysToEndOfLife, datesSource (table or release.properties rule), failDays and warningDays.

Output Documentation

StatusDescriptionTest logic
INFORMATIONThe auditor does not apply to the stackNo stack, or no supported platform in it (101); the run is not charged.
SUCCESSThe installed release line is in Premium Support and its end of life is more than warningDays days awayNo rule fired (200).
WARNINGEnd of life is within warningDays days, the line is in Limited Support, or the product has no vendor service lifeEnd of life in more than failDays and at most warningDays days (300); Premium Support ended and Limited Support has not (301); Liferay Portal (302).
FAILThe installed release line is past its end of life, or within failDays days of itEnd of life in the past (400) or in at most failDays days (401). The 301 warning is listed too when the line is in Limited Support.
ERRORThe auditor could not place the version in a service lifeRelease data unreadable (500); stack entry without a version (502); version that names no release (503); line without known dates (504).

Risks and Considerations

End of life is a security date

  • After its end of life a release line gets no patches of any kind. Every vulnerability Liferay publishes from then on is open on the site for good, which is why an end-of-life line is a FAIL and not a warning.

  • Limited Support only brings fixes for critical vulnerabilities. A site on 7.3 today still gets those until 2027-10-12, but no hotfix for anything else; the 301 warning marks that phase.

The table is a snapshot

  • The dates of the 7.x and quarterly lines come from the 2026 edition of Liferay's Service Life Policy table, read on 2026-10-05. Liferay can revise its policy; the 100 check names the edition the audit used.

  • A quarterly line newer than the table is dated from its general availability date with the policy rules, which may differ by one day from the date Liferay later publishes.

  • Liferay Portal (community edition) has no published service life, so no date is reported for it.

The software stack is declared, not detected

  • The verdict is only as good as the version in the project's software stack. Update the stack when the site is upgraded, or the audit keeps reporting the old line.

  • Only the first Liferay entry of the stack is audited.

What this auditor does not check

  • It does not fetch the monitored URL and does not detect the running version from the site.

  • It does not say whether a later fix release exists; the Latest Version Auditor does.

  • It does not look up vulnerabilities for the installed version; the CVE Auditor does.

This documentation is built and hosted on Mintlify, a developer documentation platform.

Source: docs.37audits.com

Ready to start auditing?

Add this auditor to your monitoring setup and start identifying issues on your websites today.

© 2026 37 Audits. All rights reserved. Audit your websites with confidence.

Supported by

Made with ❤️ in Floripa