- What is mreduar/s3m used for in a Laravel application?
- S3M is a Laravel package that provides a web-based file manager for Amazon S3, built on top of Laravel's filesystem layer. It lets you browse buckets and folders and upload, download, rename, and delete files through a simple interface. It also covers multipart uploads for large files to S3. Because it is a leaf dependency, you can add or remove it without changing your application's architecture.
- Which Laravel and PHP versions does s3m v3.0.0 support?
- Version 3.0.0 requires PHP 8.3 or newer and illuminate/contracts ^12.0 or ^13.0, meaning Laravel 12.x and 13.x. Laravel 13 is tested only against 13.10.0 and 13.15.0, so treat that as a spot-check rather than a full matrix. Laravel 11 and PHP 8.2 are no longer supported in the 3.x line. The 2.x line remains for older stacks but carries an unpatched framework advisory.
- How do I install mreduar/s3m with Composer?
- Install it with composer require mreduar/s3m, then publish the package's config and any front-end assets with vendor:publish. Configure an S3 disk in config/filesystems.php using Laravel's standard S3 driver and point the package at that disk. Because credentials live in your application's filesystem config, you keep control of bucket policy, CDN, and lifecycle rules. Run the install on PHP 8.3+ and Laravel 12+ to avoid dependency resolution failures.
- How do I configure AWS S3 credentials and the bucket for s3m?
- S3M does not manage credentials itself; it uses disks you define in config/filesystems.php with Laravel's S3 driver. Set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, and AWS_BUCKET in .env, or define a custom disk with an endpoint for S3-compatible providers. Then select that disk in the package configuration. Keeping credentials in Laravel's filesystem config means the package stays replaceable and your IAM policy remains under your control.
- Why did s3m 3.0 drop Laravel 11 support?
- The maintainers dropped Laravel 11 because every 11.x release carries CVE-2026-48019 and no patched 11.x release is available. Rather than ship a package that depends on a framework branch with an unpatchable advisory, s3m 3.0 requires Laravel 12 or 13. The trade-off is that the 2.x branch inherits that advisory for its lifetime. Composer's security-advisory blocking may also cause composer install to hard-fail on 2.x once advisory databases are refreshed.
- What changes when upgrading s3m from 2.x to 3.0?
- The 3.0.0 release is described as a narrow breaking change focused on platform support and a test-toolchain refresh, with no reported changes to public APIs, config keys, routes, or storage-driver contracts. That means the upgrade is mostly gated on your Laravel and PHP versions rather than code changes. Still, treat that as unverified until you diff the published config and assets after upgrading. Bump to ^3.0.0, run vendor:publish again where needed, and check route names and view namespaces in staging.
- Does s3m add migrations, global middleware, or queue workers to my Laravel app?
- Based on the package's technical assessment, s3m is a leaf dependency that expects Laravel's filesystem, config, and HTTP layers and does not impose its own persistence or queue topology. No published migrations or global middleware interactions are reported, and no queue workload is required for basic browsing and uploads. You should still review the service provider and any publishable assets before rollout, especially if your app customizes storage disks or route middleware. For large multipart uploads, confirm whether the package uploads synchronously or expects queue workers.
- How do I test s3m file operations without hitting a real S3 bucket?
- Because s3m sits on top of Laravel's Storage/Filesystem abstraction, you can test it with Laravel's Storage::fake helper against a fake S3 disk. Feature tests can assert that files exist, were renamed, or were deleted without any network calls to AWS. Use Orchestra Testbench for package-level tests or your normal application test suite for integration tests. Keep a small staging check against a real bucket for multipart upload behavior, since fakes do not exercise S3's multipart API.
- Is mreduar/s3m production-ready and actively maintained?
- S3M is a single-maintainer package under the mreduar namespace, so evaluate bus factor before making it critical infrastructure. The 3.0.0 release shows active maintenance through a test-toolchain refresh, but the release cadence appears driven by CI capacity as much as application demand. Check the last 12 months of releases and issue response times, and pin versions in composer.json. If the file manager is admin-UI only, a failed upgrade blocks editors rather than end users, which lowers the risk considerably.
- What are the alternatives to mreduar/s3m for managing S3 files in Laravel?
- The closest alternative is to use Laravel's native Storage facade with the Flysystem S3 driver directly and build your own admin screens; you get full control but write the UI yourself. Other options include file-manager components bundled with admin panel frameworks or standalone S3 browser tools. S3M's value is the ready-made Laravel-integrated web UI for browsing, uploading, renaming, and deleting S3 objects. If you only need programmatic multipart uploads, a thin wrapper around the AWS SDK or Flysystem may be simpler than adopting a full UI package.