doctrine/common
59.6
Adequate · 19 September 2026
2.2k
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is the Doctrine Common library, a foundational PHP component that provides core utilities such as class loading, object comparison, and debugging helpers. It also manages legacy proxy generation mechanisms, which are currently deprecated in favor of the doctrine/persistence package. The codebase includes comprehensive test coverage and static analysis configurations to ensure stability across supported PHP versions.
Features
Initial project configuration and documentation files
This change introduces the foundational configuration and documentation files for the Doctrine Common project. It adds \.doctrine-project.json\ to define version metadata (current 3.5, maintained 3.4-3.0, unmaintained 2.13-2.11), \.gitattributes\ and \.gitignore\ to manage repository exports and local artifacts, and standard configuration files for testing and static analysis (\phpunit.xml.dist\, \phpstan.neon.dist\, \psalm.xml\, \phpcs.xml.dist\). It also includes the \LICENSE\ (MIT), \README.md\, \SECURITY.md\, and upgrade guides (\UPGRADE\_TO\_2\_1\, \UPGRADE\_TO\_2\_2\) to inform users of migration paths and security reporting procedures.
(repo-wide) · high confidence
Behavioural changes
Deprecation of the Doctrine\\Common\\Proxy namespace
The entire \Doctrine\\Common\\Proxy\ namespace, including \AbstractProxyFactory\, \ProxyGenerator\, \Autoloader\, and related exception classes, is now deprecated as of doctrine/common 3.5. Users relying on this legacy proxy generation mechanism will receive deprecation notices and should migrate to the proxy handling provided by \doctrine/persistence\.
src/Proxy · high confidence
Introduction of deprecated Doctrine Common utility classes
The src directory now includes several classes from the Doctrine Common package, including ClassLoader, CommonException, Comparable, and utility classes in src/Util (ClassUtils and Debug). These components are marked as deprecated and will be removed in version 4.0 of doctrine/common. ClassLoader provides autoloading functionality, CommonException serves as a base exception class, Comparable defines an interface for object comparison, and the Util classes offer reflection and debugging helpers, with Debug specifically recommending migration to symfony/var-dumper.
src, src/Util · high confidence
Test coverage
Add test infrastructure and ignore rules; Added tests for ClassLoader and Proxy subsystems.
Dependencies
Initial release of doctrine/common with PHP 7.1+ and Doctrine Persistence support
This change introduces the \doctrine/common\ package via a new \composer.json\, establishing it as a standalone library. It requires PHP 7.1 or 8.0 and depends on \doctrine/persistence\ versions 2.0, 3.0, or 4.0. The package includes development dependencies for testing and static analysis, specifically PHPUnit (7.5.20, 8.5, or 9.0), PHPStan (1.4.1+), Psalm (4.4+), and Doctrine Coding Standard (9.0 or 14.0).
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 60.
Lenses
- Code Health 97
- Architecture 100
- Maturity 36
- Readiness 72
- Security 82
Changes since last survey
- 300 commits — 265 feature/other, 35 fixes
By area
- (repo) — 115 commits
- (root) — 60 commits
- .github/workflows — 50 commits
- lib/Doctrine — 29 commits
- tests/Doctrine — 27 commits
- tests/Common — 9 commits
- src/Proxy — 7 commits
- .github/dependabot.yml — 2 commits
- docs/en — 1 commit
Notable commits
- fix: "Fix" phpstan errors
- fix: Add assertion to fix type check of phpstan
- fix: Automated fixes
- fix: Automated fixes
- fix: Bugfix: Enum default values require a use statement for correct serialization.
- fix: Cody style check fixes (tabs/spaces)
- fix: Fix "Equals sign not aligned correctly"
- fix: Fix #917, ProxyGenerator magic __set
- fix: Fix #922, ProxyGenerator missing assert
- fix: Fix 7.1 incompatibility, run phpstan on 8.0
- fix: Fix Documentation link
- fix: Fix PHPUnit deprecations (#969)
- fix: Fix build with slevomat/coding-standard 8 (#981)
- fix: Fix consts in default values
- fix: Fix deprecation about implicit null when generating proxies.
- fix: Fix nullable union types for PHP8
- fix: Fix proxies with return types in magic methods
- fix: Fix return type for union type with intersection
- fix: Fix unnecessary linebreak
- fix: Manual fixes
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
doctrine/common was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit da0faa474d4acf7a91e1e92cab6353c740e1c4ee — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.