• v0.5.3 f90cadd04e

    MyFSIO v0.5.3 Beta Pre-Release

    kqjy released this 2026-05-05 10:51:35 +00:00 | 30 commits to main since this release

    S3 API correctness & conformance

    • CompleteMultipartUpload parser: reset current_tag on End event so pretty-printed XML parses; Parts missing ETag / PartNumber are rejected with explicit errors instead of being silently accepted.
    • PUT object ACL now actually parses the request body, rejects body + x-amz-acl combinations, and validates strict ACL XML (unique children, known permissions, single-identifier Grantee with xsi:type Group / CanonicalUser); supplying an owner ID that doesn't match the existing owner returns 403. New MalformedACLError.
    • Object ACL now records the authenticated principal as owner instead of a fabricated value; ACL display-name handling fixed.
    • Canned-ACL validation tightened.
    • GET object-lock returns 404 (ObjectLockConfigurationNotFoundError) when no configuration is set, instead of fabricating a Disabled config.
    • parse_tagging_xml / parse_delete_objects now survive pretty-printed XML (accumulate text across chunks, clear current_tag on EndEvent, skip whitespace-only text).
    • parse_range: a suffix length larger than the object now returns the full object instead of underflowing.
    • aws-chunked detection refined; Content-Encoding: aws-chunked is stripped from stored metadata regardless of transport.
    • ListObjects(V2): leading-slash prefix is now allowed; a trailing-slash key is emitted as Contents when the prefix targets it; subdir dir-markers are no longer double-emitted as both Contents and CommonPrefix.
    • General S3 listing fixes.
    • SelectObject: DuckDB json extension is now loaded before parsing JSON SELECT inputs.

    Replication

    • Per-connection transfer tuning: RemoteConnection gains an optional TransferTuning (profile + numeric overrides) covering part size, multipart concurrency, read buffer, and in-MPU retries, with ssd_lan / ssd_wan / hdd_lan / hdd_wan profiles. Replication uses the resolved tuning, retries transient part failures in-place with exponential backoff, and lowers SDK transport retry to 1 when in-MPU retries > 1. Legacy connections without tuning resolve to the prior 8 MiB / 4 streams defaults.
    • UI Connections create / edit modals expose an advanced "Transfer tuning" section.

    Quota & integrity

    • Integrity scanner now issues per-type so phantom / orphan storms can no longer fill the FIFO cap before the corruption phase pushes — corrupted-object auto-heal was being silently skipped.

    Admin / IAM / auth

    • Domains nav hidden from non-admins; /ui/buckets filters the list by IAM, bucket policy, and ACL so a user with a blank policy no longer sees every bucket.

    Rate limiting

    • Rate-limiter design fixed.
    Downloads