v3.1.6
getStorageControllers() was looking at ROOT/storage-controllers but the actual files live at ROOT/src/storage-controllers — so all 3 storage backends (S3, FTP, alt-folder) silently failed to load at runtime. Also rename FTPStorage to FtpStorage to match the loader's ucfirst convention; the all-caps name never matched and would have caused a class-not-found error once discovery worked.