-
MyFSIO v0.2.2 Beta Pre-Release
released this
2026-01-19 09:50:57 +00:00 | 0 commits to main since this releaseBreaking Changes
- Removed
/presignendpoint - Changed bucket policy endpoint from
/bucket-policyto/bucket?policy - Moved health check endpoint from
/healthzto/myfsio/health
New Features
- Added bucket policy Condition support with proper request context evaluation
- Added operation metrics with logging integration in metrics UI
- Added metrics history with interactive charts
- Added file type icons with color coding:
- Images and spreadsheets (green)
- Documents and video (red)
- Code and audio (blue)
- Archives (gray)
- Generic file icon as fallback
- Added new file type preview support
- Enhanced bucket creation date format to "Created Jan 16, 2026 14:30 (UTC)"
- Enhanced date formats throughout UI to reflect timezone consistently
Bug Fixes
- Fixed missing lifecycle configurations
- Fixed bucket policy Condition evaluation by passing request context
- Fixed timezone not reflecting correctly in UI
- Fixed timezone display in object browser and object details
- Fixed
last_modifiedfield returning incorrect timezone - Fixed metadata not being displayed in object list
- Fixed datetime format inconsistencies with fallback for empty
archived_atfield - Fixed empty
archived_atsorting by using epoch timestamp instead of empty string - Fixed percentage formatting to display 2 decimal places
- Fixed missing "Abort Incomplete MPU" column in lifecycle panel
Security
- Added defusedxml library for XXE protection on all XML parsing endpoints
- Implemented
hmac.compare_digestfor timing-safe secret key comparison - Fixed SigV4 query-string header casing inconsistency
- Added Content-Type validation for all XML endpoints
- Added rate limit format validation
- Removed version information from health check endpoint
- Reduced DEBUG_SigV4 log verbosity to prevent information leaks
- Replaced XML namespace wildcards with explicit S3 namespace
- Changed Unicode key handling to normalize instead of reject non-NFC characters
UI Improvements
- Removed "Load more" button
- Removed batch dropdown
- Removed metadata from bucket streaming operations
Documentation
- Updated bucket policy documentation with new examples
- Enhanced general documentation
Testing
- Improved pytest test coverage and reliability
Downloads
- Removed
-
MyFSIO v0.2.1 Beta Pre-Release
released this
2026-01-12 08:14:27 +00:00 | 18 commits to main since this releaseAdded
- New dynamic UI loading.
- Gzip compression middleware (10–20x smaller responses).
- Streaming NDJSON endpoint for progressive loading.
- Background cache warming on server startup.
- UI: Upload cancellation toggle.
Changed
- Metrics page now auto-updates every 5 seconds.
- Reduce object cache TTL from 30s to 5s (configurable via
OBJECT_CACHE_TTL). - Update JavaScript with ReadableStream-based progressive rendering.
- Optimize object listing for 100K+ objects with streaming and compression.
Fixed
- UI/UX issues:
- Lifecycle warnings.
- CORS tooltip.
- IAM overflow.
- Config validation.
- JavaScript maintenance.
- Fix multipart upload listing API.
- Remove duplicate upload notification
MyFSIO v0.2.1 and later is now licensed under AGPLv3.
[i] Note for Traefik users: https://gitea.jzwsite.com/kqjy/MyFSIO/releases/tag/v0.1.8
Downloads
-
MyFSIO v0.2.0 Beta Pre-Release
released this
2026-01-05 15:53:46 +00:00 | 25 commits to main since this releaseUI/UX Improvements
Dashboard & Navigation
- Replace server rack icons with proper bucket icons across dashboard and detail pages
- Update connection icons to cloud symbols for better visual context
- Make Metrics page dynamic with real-time warnings for CPU, memory, and disk thresholds
- Add mobile-friendly collapsible 'On this page' navigation to documentation
- Fix Headless Target Setup code block overflow on small screens
IAM Interface
- Rework IAM page from table layout to responsive card grid
- Add dropdown menu for user actions (Edit, Rotate, Delete)
- Include contextual descriptions in IAM page header
Policy Editors
- Add JSON auto-indent feature to all policy editor textareas
- Implement automatic line indentation with smart handling of braces and brackets
- Support Tab/Shift+Tab for manual indent and outdent operations
Documentation
- Include setup_target.py script inline in Site Replication section
Object Management
- Add proper progress bar for file uploads in WebUI
- Implement lifecycle management interface
- Add CORS configuration interface
- Add ACL management interface
- Add move and copy object functionalities
- Add UI cards with show more/less pagination
Monitoring & Management
- Track failed replications with error details and retry functionality
- Show lifecycle rule execution history with status indicators
- Add API endpoints for failures management and history retrieval
Performance Optimizations
S3 Operations
- Implement caching layer for improved response times
- Add per-bucket locking mechanism for better concurrency
- Enable streaming encryption for large object transfers
S3 Compatibility Features
Core Functionality
- Implement Access Control Lists (ACLs)
- Add HTTP range request support
- Add lifecycle policy enforcement
- Implement replication ALL mode
- Support bulk delete operations with VersionId
- Integrate AWS KMS compatibility
- Add conditional copy operations
- Support response header overrides
- Implement SigV4 session token authentication
Advanced Features
- Add Object Lock with GOVERNANCE and COMPLIANCE retention modes
- Implement legal hold functionality
- Add webhook-based event notifications for object create and delete events
- Implement SSE-C (Server-Side Encryption with Customer-Provided Keys)
- Add S3-compatible access logging to target buckets
Bug Fixes
Parameter Validation
- Fix unhandled int() conversion for max-keys and expires parameters
- Add part number validation (1-10000) for multipart uploads
- Prevent negative max_keys values in list operations
- Validate lifecycle Days must be positive integers
ETag Handling
- Remove fallback ETag generation
- Make ETag header optional in responses
- Fix multipart upload ETag storage mechanism
- Resolve 'Request Entity Too Large' errors in multipart upload handling
Error Handling & Security
- Replace fragile string-based error classification with custom exceptions
- Fix overly broad exception handling in resolve_principal()
- Set .secret file permissions to 0600 for security
Code Quality
- Fix method name typo in list_multipart_uploads()
- Fix brand name typos across codebase
Testing
New Test Coverage
- test_replication.py: 18 tests for ReplicationManager
- test_acl.py: 27 tests for ACL system
- test_object_lock.py: 36 tests for Object Lock
- test_lifecycle.py: 19 tests for LifecycleManager
- test_notifications.py: 24 tests for NotificationService
- test_access_logging.py: 20 tests for AccessLoggingService
Note for Traefik users: https://gitea.jzwsite.com/kqjy/MyFSIO/releases/tag/v0.1.8
Downloads
-
MyFSIO v0.1.9 Beta Pre-Release
released this
2025-12-29 06:52:43 +00:00 | 47 commits to main since this releaseBug fixes:
- Fix duplicate _legacy_version_dir check in storage.py
- Fix max_size_bytes -> max_bytes param in quota handler
- Move base64 import to module level in s3_api.py
- Add retry logic and atomic file ops to multipart upload
- Add shutdown() method to ReplicationManager
- Fix pausing replication and resuming replication does not continue the replication for the remaining pending objects
- Replication tasks now check if rule is still enabled before executing
- Multipart upload completion now invalidates object cache
- Select all checkbox works with all objects, not just rendered rows
- Bulk download uses selectedRows instead of DOM queries"
Performance:
- Add LRU eviction with OrderedDict to object cache
- Add cache version tracking for stale read detection
- Add streaming uploads for large files (>10 MiB) in replication
- Create _find_element() XML parsing helpers
Security:
- Gate SigV4 debug logging behind DEBUG_SIGV4 config
Code quality:
- Create _create_s3_client() factory to eliminate duplication
Improvements:
- Improve Documentation
Note for Traefik users: https://gitea.jzwsite.com/kqjy/MyFSIO/releases/tag/v0.1.8
Downloads
-
MyFSIO v0.1.8 Beta Pre-Release
released this
2025-12-23 06:06:11 +00:00 | 51 commits to main since this release- Fixed replication race condition
- Fixed bucket object browser nested object button not working
- Fixed replication checksum issues (checksum will only be calculated when required for now)
- Fixed timezone inconsistencies in some functions
- Improved bucket object browser UX
- Improved bucket UI policy and added validation for replication panel
- Improved object storage performance via caching
- Improved object browser search filter
- Added option to display custom timezone via env variable
Important (For Traefik users)
- Due to the latest changes (v3.6.4/v2.11.32 and later), objects with special characters will return
400 Bad Request.
Users might want to consider adding the following changes on their traefik proxy to access objects with special characters:
Character Flag to Add Hash (#) --entrypoints.https.http.encodedcharacters.allowencodedhash=trueSlash (/) --entrypoints.https.http.encodedcharacters.allowencodedslash=truePercent (%) --entrypoints.https.http.encodedcharacters.allowencodedpercent=truePlease see https://doc.traefik.io/traefik/v3.6/security/request-path/ for more information.
Downloads
-
MyFSIO v0.1.7 Beta Pre-Release
released this
2025-12-22 03:12:52 +00:00 | 65 commits to main since this release- Fix gateway timeout or infinite loading when viewing buckets with more than thousand items.
- Revamped object browser backend logic
- Added async loading, dynamic row updates - limits object browser to 100 (up to 250 max) objects per view
Binary Release - MyFSIO v0.1.7 Linux
Downloads
- Fix gateway timeout or infinite loading when viewing buckets with more than thousand items.
-
MyFSIO v0.1.6 Beta Pre-Release
released this
2025-12-21 06:31:35 +00:00 | 70 commits to main since this release- Fix inconsistency in configs file being outside the config directory
- Fix presigned URL not generating for nested objects
- Update installation and uninstall scripts
Binary Release - MyFSIO v0.1.6 Linux
Downloads
-
MyFSIO v0.1.5 Beta Pre-Release
released this
2025-12-13 15:42:57 +00:00 | 74 commits to main since this release- Fix incorrect STORAGE_ROOT setup
- Add installation scripts for binary setup
Binary Release - MyFSIO v0.1.5 Linux (updated)
Downloads
-
MyFSIO v0.1.4 Beta Pre-Release
released this
2025-12-13 08:25:05 +00:00 | 76 commits to main since this release- Set CORS default settings to
* - Fixed CORS headers not exposed
- Add version and app uptime statuses in Metrics dashboard
Binary Release
- MyFSIO v0.1.4 Linux
Downloads
- Set CORS default settings to
-
MyFSIO v0.1.3 Beta Pre-Release
released this
2025-12-03 04:19:26 +00:00 | 80 commits to main since this release- Improved bucket object details UI layout
- Updated IAM controls
- Updated requirements.txt to the latest versions
- Added new S3 actions (replication)
- Added new SSE-S3, SSE-KMS encryptions
- Added bucket quota
- Versioned objects now count towards the object storage and size count usage
- Fixed a few issues
Binary Release
- MyFSIO v0.1.3 Linux
Downloads