---
title: "doctrine/orm Breaking Changes on Packagist | Since.dev"
description: "What each doctrine/orm release removed, renamed or changed: 2,480 breaking changes in 4 versions on Packagist, each with its source."
canonical_url: https://since.dev/packages/packagist/doctrine/orm
last_updated: 2024-02-03
---

# doctrine/orm breaking changes

Every breaking API change we have recorded in doctrine/orm on Packagist: 2,480 breaking changes in 4 versions. Below are its newest 4 versions, removals and renames first, each with its source.

Newest change February 3, 2024

## 3.0.0

2,421 breaking changes, first published February 3, 2024.

- **Removed**  

Drops support for Doctrine DBAL 2 in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes support for entity namespace aliases in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Doctrine Cache support is removed from the ORM. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes the TABLE and UUID id generation strategies in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes the deprecated named (native) queries in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes the ability to merge detached entities in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes the Notify change tracking policy in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed**  

Removes the doctrine binary in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed** `Annotation`  

Removes the Annotation interface in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)
- **Removed** `ClassMetadataInfo`  

Removes ClassMetadataInfo in doctrine/orm 3.0.0 [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0)

And 2,411 more in this version.

## 3.0.0-RC1

2 breaking changes, first published February 3, 2024.

- **Behavior changed**  

Field type and enumType mappings are checked against the entity property type, so mismatched mappings may now be reported as errors. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0-RC1)
- **Behavior changed**  

Mapping a non-backed enum type now raises an exception, so mappings using such enums must be changed to backed enums. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0-RC1)

## 3.0.0-beta2

1 breaking change, first published February 3, 2024.

- **Behavior changed**  

Data serialized in old formats is no longer read; reserialize affected data with the current version. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0-beta2)

## 3.0.0-beta1

56 breaking changes, first published February 3, 2024.

- **Removed**  

Bootstrap console tools for standalone use as documented instead. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0-beta1)
- **Removed**  

All APIs related to named queries have been removed. [github.com](https://github.com/doctrine/orm/releases/tag/3.0.0-beta1)
- **Removed** `Doctrine\ORM\AbstractQuery::setResultCacheDriver`  

Result and query cache driver methods were removed from AbstractQuery and Query. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\Cache\MultiGetRegion`  

Its methods are merged into Region. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\Cache\Persister\Collection\AbstractCollectionPersister::evictCollectionCache`  

Protected eviction helpers were removed from AbstractCollectionPersister. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\Configuration::addEntityNamespace`  

EntityManager::getRepository no longer accepts alias notation. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\Configuration::getQueryCacheImpl`  

Use the PSR-6 counterparts, which drop the Impl suffix. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\EntityManager::merge`  

EntityManager::merge now throws an exception on every call. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\EntityManagerInterface::getPartialReference`  

Calls to getPartialReference must be removed from code. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)
- **Removed** `Doctrine\ORM\Event\LifecycleEventArgs`  

Use the dedicated event argument classes for each lifecycle event. [packagist.org](https://packagist.org/packages/doctrine/orm#3.0.0)

And 46 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. A fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous maintenance.

Scan a public repository now, or give your agent one line.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

[Get an API key](https://app.since.dev/login?mode=signup)

Codex, Cursor and any MCP client use https://api.since.dev/mcp.

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
