DEV Community

Ilya Beliaev
Ilya Beliaev

Posted on

Laravel WebDAV Server enters Beta - API is now stable

๐Ÿš€ Iโ€™ve just released the first beta version of my Laravel WebDAV server:

๐Ÿ‘‰ https://github.com/N3XT0R/laravel-webdav-server/releases/tag/1.0.0-beta.1

๐Ÿ“– Docs: https://laravel-webdav-server.readthedocs.io/en/1.0.0-beta.1/


โš ๏ธ Disclaimer

This is beta, not alpha anymore.

  • โœ… Public API is now stable
  • โš ๏ธ Still not production-ready
  • โ— Focus is now on:
    • stability
    • bug fixing
    • real-world compatibility

No more major breaking changes are planned before 1.0.0.


๐Ÿ’ฅ The real problem (if you've ever used WebDAVโ€ฆ)

WebDAV is one of those things that sounds simple โ€” until you actually use it.

Different clients behave differently:

  • WinSCP
  • macOS Finder
  • Windows Explorer
  • random third-party tools

And when something breaks?

๐Ÿ‘‰ You usually have no idea why

๐Ÿ‘‰ No visibility

๐Ÿ‘‰ No proper debugging


๐Ÿ”„ What changed since alpha?

Alpha was about figuring things out:

  • architecture
  • boundaries
  • abstractions

That phase is over.

Now it's about making the system:

  • predictable
  • reliable
  • usable in real scenarios

๐Ÿงฑ What โ€œstable APIโ€ means

You can now safely build on top of:

  • config structure (webdav-server.*)
  • route shape (/webdav/{space}/{path?})
  • extension points (interfaces, bindings)
  • request pipeline

This will not change anymore in breaking ways before 1.0.


๐Ÿ” New: Logging & Observability (this is the big one)

The biggest problem with WebDAV integrations is lack of visibility.

So I fixed that.

Config

'logging' => [
    'driver' => 'stack',
    'level' => 'debug',
],
Enter fullscreen mode Exit fullscreen mode

Disable completely:

'driver' => null
Enter fullscreen mode Exit fullscreen mode

What you can now actually see

  • authentication results
  • credential extraction
  • request context resolution
  • storage resolution
  • authorization decisions
  • server construction
  • SabreDAV runtime behavior

Real-world example

A WebDAV client fails to upload a file.

Before:

  • โŒ โ€œSomething didnโ€™t workโ€

Now:

  • โœ… You see:
    • credentials extracted
    • user resolved
    • storage space selected
    • authorization decision
    • exact failure point

This turns WebDAV from a black box into something you can actually debug.


๐ŸŽฏ Who this is for

This is useful if you want to:

  • expose Laravel storage via WebDAV
  • provide file access for external tools (e.g. WinSCP, Finder)
  • map S3 / local disks into a WebDAV endpoint
  • replace legacy file access workflows

๐Ÿง  What this project is now

This is no longer a prototype.

Itโ€™s a structured WebDAV layer for Laravel with:

  • explicit request pipeline
  • no hidden magic
  • clean separation (SabreDAV / Laravel / Storage)
  • contract-based architecture
  • policy-based authorization
  • dynamic storage mapping

Still evolving โ€” but no longer unstable.


๐ŸŽฏ What Iโ€™m looking for now

Not architecture feedback anymore.

I want:

  • real-world usage
  • weird client behavior
  • edge cases
  • integration scenarios
  • performance issues

โ“ Why not 1.0 yet?

Because API stability โ‰  production readiness.

Still missing:

  • battle-tested behavior across clients
  • edge case handling
  • production hardening

GitHub

๐Ÿ‘‰ https://github.com/N3XT0R/laravel-webdav-server/releases/tag/1.0.0-beta.1

๐Ÿ“– Docs: https://laravel-webdav-server.readthedocs.io/en/1.0.0-beta.1/


Tags

laravel #php #webdav #opensource #backend #api #flysystem

Top comments (0)