---
title: "Updates"
manual: "Environment State Manager"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/environment-state-manager:updates@main"
source: "Administration/Updates/Index.rst"
rendered: "2026-10-17T14:50:33+00:00"
---

# Updates {#updates}

This page documents update and migration steps between major versions.

## Version 1.x {#version-1-x}

This is the initial release of the standalone extension. There are no
migration steps required for a fresh installation.

### Migrating from `fgtclb/academic-base` {#migration-academic-base}

The environment builder and state manager were extracted from
`fgtclb/academic-base`, where they lived under the internal, `@internal`
flagged namespaces `FGTCLB\AcademicBase\Environment`,
`FGTCLB\AcademicBase\Core12\Environment` and
`FGTCLB\AcademicBase\Core13\Environment`.

As of **\`\`fgtclb/academic-base\`\` 2.4.0** those internal classes are
**deprecated** and will be **removed in \`\`fgtclb/academic-base\`\` 3.0.0**. Code
that consumed the feature through `fgtclb/academic-base` should switch to this
extension:

1.  Require the extension:

    ```bash
    composer require fgtclb/environment-state-manager
    ```
1.  Replace the namespace prefix. The class names, method signatures and
    behaviour are compatible; only the namespace changes (the `Environment`
    sub-namespace segment is dropped):

    | `fgtclb/academic-base` (deprecated) | `fgtclb/environment-state-manager` |
    | --- | --- |
    | `FGTCLB\AcademicBase\Environment\*` | `FGTCLB\EnvironmentStateManager\*` |
    | `FGTCLB\AcademicBase\Core12\Environment\*` | `FGTCLB\EnvironmentStateManager\Core12\*` |
    | `FGTCLB\AcademicBase\Core13\Environment\*` | `FGTCLB\EnvironmentStateManager\Core13\*` |

    For example `FGTCLB\AcademicBase\Environment\StateManagerInterface`
    becomes `FGTCLB\EnvironmentStateManager\StateManagerInterface`, and
    `FGTCLB\AcademicBase\Core13\Environment\StateManager` becomes
    `FGTCLB\EnvironmentStateManager\Core13\StateManager`.

> [!NOTE]
> In `fgtclb/academic-base` 2.4.0 the value object
> `StateBuildContext` was already removed and re-registered as a
> deprecated class alias onto
> `FGTCLBEnvironmentStateManagerStateBuildContext` (via the
> `typo3/class-alias-loader` composer plugin), because it is carried by type
> through a public PSR-14 event. The remaining classes stay as deprecated real
> classes until 3.0.0.

### API differences to be aware of {#api-differences-to-be-aware-of}

While migrating, note the following intentional differences from the former
`fgtclb/academic-base` implementation:

-   `StateBuildContext` gained two optional constructor arguments,
    `$backendUserId` and `$workspaceId`, used by the backend
    environment builder. Existing frontend call sites are unaffected.
-   The version-agnostic `StateInterface` no longer declares the
    `TypoScriptFrontendController` accessors. They moved to the TYPO3 core
    version specific `Core12ExtendedStateInterface` /
    `Core13ExtendedStateInterface`, because the
    `TypoScriptFrontendController` is deprecated in TYPO3 v13 and removed in
    TYPO3 v14. A `LanguageService` accessor pair was added instead.
