• v0.2.2 bb6590fc5e

    MyFSIO v0.2.2 Beta Pre-Release

    kqjy released this 2026-01-19 09:50:57 +00:00 | 0 commits to main since this release

    Breaking Changes

    • Removed /presign endpoint
    • Changed bucket policy endpoint from /bucket-policy to /bucket?policy
    • Moved health check endpoint from /healthz to /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_modified field returning incorrect timezone
    • Fixed metadata not being displayed in object list
    • Fixed datetime format inconsistencies with fallback for empty archived_at field
    • Fixed empty archived_at sorting 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_digest for 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
  • v0.2.1 899db3421b

    MyFSIO v0.2.1 Beta Pre-Release

    kqjy released this 2026-01-12 08:14:27 +00:00 | 18 commits to main since this release

    Added

    • 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
  • v0.2.0 caf01d6ada

    MyFSIO v0.2.0 Beta Pre-Release

    kqjy released this 2026-01-05 15:53:46 +00:00 | 25 commits to main since this release

    UI/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
  • v0.1.9 bb366cb4cd

    MyFSIO v0.1.9 Beta Pre-Release

    kqjy released this 2025-12-29 06:52:43 +00:00 | 47 commits to main since this release

    Bug 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
  • v0.1.8 a2745ff2ee

    MyFSIO v0.1.8 Beta Pre-Release

    kqjy 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=true
    Slash (/) --entrypoints.https.http.encodedcharacters.allowencodedslash=true
    Percent (%) --entrypoints.https.http.encodedcharacters.allowencodedpercent=true

    Please see https://doc.traefik.io/traefik/v3.6/security/request-path/ for more information.

    Downloads
  • v0.1.7 28cb656d94

    MyFSIO v0.1.7 Beta Pre-Release

    kqjy 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
  • v0.1.6 3c44152fc6

    MyFSIO v0.1.6 Beta Pre-Release

    kqjy 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
  • v0.1.5 397515edce

    MyFSIO v0.1.5 Beta Pre-Release

    kqjy 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
  • v0.1.4 980fced7e4

    MyFSIO v0.1.4 Beta Pre-Release

    kqjy 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
  • v0.1.3 bae5009ec4

    MyFSIO v0.1.3 Beta Pre-Release

    kqjy 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