javer/influxdb-odm
An InfluxDB ODM for Laravel/PHP that provides an Eloquent-style model layer for defining measurements, querying time-series data, and persisting points with less boilerplate.
Architecture fit: This release tightens the package's architectural posture around modern PHP. Requiring PHP 8.1 and decoupling AttributeDriver from AnnotationDriver signals a deliberate move toward attribute-based metadata and away from docblock annotations. For a Laravel codebase already on PHP 8.1+ (Laravel 10 requires 8.1, Laravel 11 requires 8.2), this aligns cleanly with the framework's own baseline and reduces the conceptual mismatch between Laravel's attribute-heavy idioms (routes, validation, Eloquent casts) and Doctrine metadata.
Integration feasibility: Moderately high, but conditional. The doctrine/persistence 3 requirement is the dominant constraint — it is a major-version jump and will ripple into any sibling Doctrine packages (ORM, DBAL, migrations, fixtures) that still pin v2. doctrine/annotations no longer being required is a net simplification for greenfield work but a migration task for brownfield apps that still use annotation mapping. The AttributeDriver/AnnotationDriver decoupling is an internal architectural improvement that mostly benefits maintainers, though it also means consumers can no longer rely on transitive inclusion of annotation-reading machinery.
Technical risk: Medium. Three risk vectors stand out: (1) PHP floor bump — any service still on PHP 8.0 is hard-blocked and cannot receive this release or subsequent patches, creating a version fork in multi-service estates; (2) persistence v3 transitive conflict — Composer resolution failures are likely where other Doctrine-ecosystem packages lag; (3) annotation removal — applications with docblock-mapped entities will fail at metadata-driver resolution, often at runtime rather than at build time, which is a poor failure mode. The upside risk is low: dropping doctrine/annotations shrinks the dependency and attack surface and removes a package Doctrine itself has been deprecating.
Key questions:
doctrine/persistence ^2 — ORM, migrations, fixtures, admin tooling?Stack fit: Strong for Laravel 10/11 estates on PHP 8.1+, where PHP version, attribute usage, and Doctrine's modern direction all converge. Weak for estates mid-migration off PHP 8.0 or still standardized on annotation mapping — for those, this release should be deferred, not forced.
Migration path: Treat this as a two-phase upgrade, not a single Composer bump. Phase one is environmental: raise the PHP runtime floor and confirm CI images, container bases, and local tooling match. Phase two is dependency and code: resolve doctrine/persistence to v3 across the whole Doctrine cluster simultaneously, then convert any remaining annotation-based entity metadata to attributes. Annotation conversion is mechanical but not automatable without review — mapping types, @ORM\ vs #[ORM\], and nested association annotations all need eyeballing.
Compatibility: Verify the full Doctrine cluster (ORM, DBAL, migrations, data-fixtures) supports persistence v3 before touching this package. Check Laravel version support explicitly — the package's Laravel constraint should be read alongside its PHP constraint; a PHP 8.1 floor with an older Laravel ceiling is a trap. Also audit any custom metadata drivers or Doctrine extensions in-house, since the AttributeDriver/AnnotationDriver decoupling may change constructor or configuration expectations.
Sequencing:
doctrine/annotations from composer.json where no longer needed.Maintenance: Net positive. Dropping doctrine/annotations removes a dependency that upstream has been sunsetting, which reduces the steady drip of deprecation notices and eventual end-of-life firefighting. The cost is a one-time migration sprint; the steady state is a smaller, better-supported dependency graph.
Support: Aligns the package with Doctrine's own trajectory, so future upstream changes should land more predictably. The risk is timing: if we adopt v1.6.0 early and the persistence v3 ecosystem is still settling, we may absorb integration pain that later adopters avoid. A short soak period on v1.5.x is a reasonable hedge.
Scaling: Neutral to slightly positive. No runtime performance claim in the release notes, but a leaner dependency graph means faster container builds and cold starts — marginal, but real at fleet scale. The attribute-based path is also marginally cheaper than annotation parsing at bootstrap, though this is unlikely to be measurable outside of metadata-heavy applications.
Failure modes:
Ramp-up: Low for engineers already fluent in PHP attributes; modest for teams still writing docblock annotations, who need to learn attribute syntax and the differences in how Doctrine resolves them. The critical enablement item is not the package itself but the migration playbook: a documented annotation-to-attribute conversion pattern, a checklist for the Doctrine cluster upgrade, and a clear rollback procedure. Allocate one senior engineer as owner for the cluster upgrade, and budget a short spike to determine whether the annotation conversion is a day or a quarter before committing to a date.
How can I help you explore Laravel packages today?