Changelog
All notable changes to genro-storage will be documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
In development for next release.
0.4.2 - October 2025
Added
Git backend support for Git repositories
GitHub backend support for GitHub repositories
WebDAV backend support (Nextcloud, ownCloud, SharePoint)
LibArchive backend support (RAR, 7z, ISO, and 20+ formats)
Native permission control for all backends (readonly, readwrite, delete)
Comprehensive permission tests for all backend types
Validation of permissions against backend capabilities at configuration time
Test coverage improvements: 79% → 85% (411 tests, 401 passing)
Complete test coverage for RelativeMountBackend (75% → 96%)
Complete test coverage for BackendCapabilities (88% → 100%)
Docker services for integration testing (Azurite, fake-gcs-server, SFTP, SMB, WebDAV)
Changed
Improved CI workflow with all Docker services for integration tests
Enhanced test infrastructure with service emulators
0.4.1 - October 2025
Added
SMB/CIFS backend support for Windows and Samba shares
SFTP backend support for SSH File Transfer Protocol
ZIP archive backend support (read and write)
TAR archive backend support (with gzip, bzip2, xz compression)
Configuration tests for new backends
Backend capability tests
0.4.0 - October 2025
Added
Relative mounts with permissions
Unified read/write API
RelativeMountBackend for path prefixing and permission enforcement
Changed
Improved permission handling architecture
Enhanced backend configuration system
0.3.0 - October 2025
Added
Async/await support via AsyncStorageManager
AsyncStorageNode for async file operations
Integration with asyncer for automatic sync→async conversion
FastAPI compatibility examples
Async tests and documentation
0.2.0 - October 2025
Added
Virtual nodes (iternode, diffnode)
Interactive Jupyter notebooks tutorials
Binder support for online tutorials
Enhanced testing infrastructure
Copy strategy improvements
0.1.0-beta - October 2025
Beta Release - Ready for production testing
Added
Complete API implementation with stable interface
Support for 7 storage backends: Local, S3, GCS, Azure, HTTP, Memory, Base64
Comprehensive test suite with 195 tests (79% coverage)
CI/CD testing on Python 3.9, 3.10, 3.11, 3.12
Full ReadTheDocs documentation
Mount point configuration system
StorageManager for managing mount points
StorageNode for file/directory operations
Configuration from YAML and JSON files
Cross-storage copy and move operations
Intelligent copy skip strategies (exists, size, hash, custom)
MD5 hashing and content-based equality
Base64 backend with writable mutable paths
call() method for external tool integration (ffmpeg, imagemagick, etc.)
serve() method for WSGI file serving (Flask, Django, Pyramid)
mimetype property for automatic content-type detection
local_path() context manager for external tools
Callable path support for dynamic directories
Cloud metadata get/set (S3, GCS, Azure)
URL generation (presigned URLs, data URIs)
S3 versioning support
MinIO integration testing
Technical
Battle-tested code extracted from Genropy (Python web framework since 2006)
Storage abstraction layer refined over 6+ years of production use (since 2018)
Full type hints with Python 3.9+ compatibility
Powered by fsspec for backend abstraction