monicahq/laravel-sabre
Laravel Sabre integrates the SabreDAV server with Laravel, making it easy to add WebDAV, CalDAV, and CardDAV endpoints using Laravel routing, authentication, and configuration.
sabre/dav and owns the Laravel integration surface (routing, auth, middleware, exception handling), so the team writes node/back-end logic rather than protocol plumbing.LaravelSabre::getNodes(), LaravelSabre::getPlugins(), InvalidStateException, and any code extending Sabre\Server or Sabre\Sapi. Notably, there are no configuration, environment variable, or URL changes, so user-facing behavior and client setup instructions should be unaffected — which makes this a low-product-risk, engineering-effort-only decision.MIGRATION.md, the PM can decide whether to fund the migration now (staying on a supported line) or defer (accepting divergence from upstream). Staying current matters most if CalDAV/CardDAV is a marketed capability rather than a passive feature.Consider adoption when:
sabre/dav handles the protocol; this package handles the Laravel seam.Look elsewhere when:
Sabre\Server/Sabre\Sapi or relies on getNodes()/getPlugins(), you must migrate first — and if the replacements in MIGRATION.md don't cover your customization, that is a genuine adoption blocker.For executives: This package is what allows our Laravel product to speak the same calendar and contact sync standards as Apple Calendar, Outlook-adjacent clients, and Android — without us building or operating a separate sync service. It is a small, well-scoped dependency that converts a differentiating feature ("your data, in the apps you already use") into an integration task rather than a protocol engineering project.
For engineering: Version 2.0.0 rebuilds the adapter on a framework-native request pipeline, so DAV endpoints now flow through standard Laravel middleware and request handling. This is a breaking release with zero config, environment, or URL changes — user-facing setup and client compatibility should be unchanged. The work is contained to code that touches the removed public surface: LaravelSabre::getNodes(), LaravelSabre::getPlugins(), InvalidStateException, and any direct use of Sabre\Server / Sabre\Sapi, which are now internal. MIGRATION.md documents each removal and its replacement.
Recommendation: Treat 2.0.0 as a planned maintenance item for the next sprint rather than an emergency. First task is a short audit for the four removed elements; second is executing the documented replacements; third is a smoke test of a real CalDAV/CardDAV client against staging to confirm the pipeline rebuild is behavior-neutral. If the audit finds no direct usage, the upgrade is effectively a dependency bump.
How can I help you explore Laravel packages today?