github Byron/dua-cli dua-core-v6.0.0
dua-core v6.0.0

latest release: v3.0.0
4 hours ago

Chore

  • check Rust APIs during release planning
    Enable cargo api-check for both workspace packages. Cover all four CLI
    feature combinations and recursively inspect exposed dua-core APIs.

    Document the tool requirements and dry-run command, including the targeted
    rustdoc allowance needed when building historical release baselines.

Documentation

  • fix links in public traversal documentation
    Replace links to the private Event type with prose so public rustdoc builds
    pass with warnings denied, as required by the API checker.

Bug Fixes

  • provide standard FileType traits on native platforms Consumers could format std::fs::FileType on Linux but the same code failed
    to compile for macOS and Windows. Derive Debug, PartialEq, Eq, and Hash on
    both native FileType types, retaining their existing Copy and Clone traits.
    No wrapper or platform API change is needed.

Bug Fixes (BREAKING)

  • retain filesystem paths in traversal errors
    Just looked at the production code and rubber-stamped the tests.
    All that really happens is a new error type that retains more information

    RootEvent and Walk previously yielded plain I/O errors, leaving consumers
    unable to identify a failing descendant. Return a typed dua_core::Error
    with the entry path, or the directory path when enumeration cannot identify
    an entry, and retain the original I/O error for kind and OS-code inspection.

    Keep sibling failures as separate iterator items. Update native and ordinary
    reads, streamed roots, prepared roots, cancellation, and CLI forwarding.
    Metadata errors remain attached to their Entry. Document the breaking API
    change and conversion back to io::Error.

    Regression coverage removes two sibling directories before descent in both
    orders and metadata modes; it also checks missing and streamed roots,
    original OS errors, source access, and conversion without losing context.
    The regression initially failed because io::Error has no path accessor.

Commit Statistics

  • 5 commits contributed to the release.
  • 2 days passed between releases.
  • 4 commits were understood as conventional.
  • 2 unique issues were worked on: #421, #422

Commit Details

view details
  • #421
    • Retain filesystem paths in traversal errors (d5114df)
  • #422
    • Provide standard FileType traits on native platforms (904203f)
  • Uncategorized
    • Check Rust APIs during release planning (5eb55e7)
    • Fix links in public traversal documentation (e6ab2a9)
    • Merge pull request #424 from Byron/better-error-handling (c392945)

Don't miss a new dua-cli release

NewReleases is sending notifications on new releases.