---
title: "Deprecation: #94313 - AbstractService class"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-94313"
source: "Changelog/11.3/Deprecation-94313-ClassAbstractService.rst"
typo3-version: "11.3"
typo3-major: 11
type: "deprecation"
issue: 94313
forge: "https://forge.typo3.org/issues/94313"
tags: ["PHP-API", "FullyScanned", "ext:core"]
rendered: "2026-09-17T21:17:42+00:00"
---

# Deprecation: #94313 - AbstractService class {#deprecation-94313-abstractservice-class}

See [forge#94313](https://forge.typo3.org/issues/94313)

## Description {#description}

The `\TYPO3\CMS\Core\Service\AbstractService` class is part of the ancient
[Service API](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Services/Developer/ServiceApi.html#services-developer-service-api).
This API did not really prevail, except it's usage for the authentication process.

Since the authentication service related functionality was already
decoupled over the last years, the `AbstractService` got finally
unused in Core since [forge#88646](https://forge.typo3.org/issues/88646). Therefore it has now been marked
as deprecated.

## Impact {#impact}

Extending this class does *not* raise a deprecation error level log entry.
The class contains only a `@deprecated` class annotation. Extension classes
can still extend this class in v11 without impact, it will raise a PHP fatal
error in v12, when the class is dropped.

## Affected Installations {#affected-installations}

As mentioned, the Service API never found many usages in casual extensions.
It is therefore pretty unlikely that well maintained projects are affected.
The extension scanner will find any class usages as a strong match.

## Migration {#migration}

Remove any usage of this class in your extension. In case you currently
extend `AbstractService` for use in an authentication service, which
might be the most common scenario, you have to change your service class
to extend from `AbstractAuthenticationService` instead.

In case you currently extend `AbstractService` for another kind of
service, which is rather unlikely, you have to implement the necessary
methods in your service class yourself. Please see [Service Implementation](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Services/Developer/ServiceApi.html#service-implementation)
for more details about the required methods. However, even better would be to
completely migrate away from the Service API (look for `GeneralUtility::makeInstanceService()`),
since the Core will deprecate these related methods as well.
