---
title: "Important: fgtclb/environment-state-manager 2 is required"
manual: "Academic Base"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-base:important-environment-state-manager-2@main"
source: "Changelog/3.0/Important-EnvironmentStateManager2IsRequired.rst"
rendered: "2026-10-17T08:47:46+00:00"
---

# Important: `fgtclb/environment-state-manager` 2 is required {#important-environment-state-manager-2}

## Description {#description}

The `3.x` version line of `EXT:academic_base` requires version 2 of
[`fgtclb/environment-state-manager`](https://packagist.org/packages/fgtclb/environment-state-manager). It is declared as `^2.0.1` in
`composer.json` and as `2.0.1-2.99.99` in `ext_emconf.php`.
Version 2.4 required 1.x, see [Important: New required dependency fgtclb/environment-state-manager](https://docs.typo3.org/permalink/fgtclb/academic-base:important-ace-254-academic-base@main).

Version 2 of that extension supports TYPO3 13.4 and 14.3. It removed the
namespace `\FGTCLB\EnvironmentStateManager\Core12`, which held the
implementation for TYPO3 v12, and added
`\FGTCLB\EnvironmentStateManager\Core14`. Its public API, the interfaces
`EnvironmentBuilderFactoryInterface`, `EnvironmentBuilderInterface`,
`StateManagerInterface` and `StateInterface`, is unchanged.

## Impact {#impact}

Composer updates the package to 2.x together with `EXT:academic_base`. A
project that requires 1.x in its own `composer.json`, as the upgrade to
2.4 asked of code that uses its classes, stops that update: Composer finds no
version that satisfies both requirements and installs nothing.

A classic installation cannot activate `EXT:academic_base` 3.0 while
**environment_state_manager** 1.x is installed.

Code that names a class of the `Core12` namespace raises a fatal error.

## Affected Installations {#affected-installations}

Every installation that updates to 3.0. A change is needed where a project
requires the package itself, or names a class of the `Core12` namespace.

## Migration {#migration}

1.  Raise the requirement in the project's own `composer.json` to
    `^2.0.1`, in the same `composer require -W` command that updates
    the academic extensions, and the dependency in an `ext_emconf.php`
    of the project to `2.0.1-2.99.99`. A classic installation updates
    **environment_state_manager** to 2.x before
    **academic_base**.
1.  Replace a class of the `Core12` namespace with the interface of the
    public API it implements. Dependency injection resolves the interface to
    the implementation of the running TYPO3 version. Where the code needs a
    version specific class, it names the one of `Core13` or
    `Core14`.
