PackageTrack
Sign in Get early access

xattr

unix extended filesystem attributes

1.6.1 240M downloads/mo #434 most downloaded on crates.io Stebalien/xattr

What this package is like to depend on

Last release 11 months ago

21 Sep 2025

Ships unpredictably

gaps range from 2 weeks to 3.8 years

Some releases are documented

notes for 7 of 27 stable releases

3 versions withdrawn

withdrawn after publishing

11 years old

30 releases · first in 2015

2 releases in the last 12 months

see the full history below

Release timeline

30 releases · Jul 2015 to Sep 2025
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 30
  1. 1.6.1 21 Sep 2025
    Release notes

    What's Changed

    This release fixes a long-standing bug where we didn't correctly handle the return value of the FreeBSD and NetBSD xattr syscalls.

    On Linux (and macOS), the xattr API returns ERANGE if the result doesn't fit in the provided buffer. On FreeBSD (and NetBSD), it returns the number of bytes read even if the syscall fails to read the entire value. This library assumed FreeBSD behaved the same as Linux.

    In releases prior to 1.6.0, this issue was unlikely to be encountered in practice (except at scale) because we always checked the size before we read the attribute. It was still incorrect (TOCTOU issue), but it would have required a race with someone changing the extended attributes to trigger the bug.

    In 1.6.0 this issue started showing up in testing because we try reading once with a 4KiB buffer before checking the size.

    Full Changelog: v1.6.0...v1.6.1

    Open source →
  2. 1.6.0 21 Sep 2025 withdrawn
    Release notes

    What's Changed

    Xattr can now read extended attribute values, list extended attributes, etc. in a single syscall instead of 2 as long as the total size is at most 4096 bytes. The downside of this change is that, e.g., if a file has more than 4KiB of extended attributes, listing extended attributes on the file will require 3 syscalls (because the first "optimistic" one will fail).

    Full Changelog: v1.5.1...v1.6.0

    Open source →
  3. 1.5.1 25 Jun 2025

    Nothing published for this version

  4. 1.5.0 06 Mar 2025
    Release notes

    Update rustix to 1.0.0. This:

    • Drops the rustix dependency from freebsd/netbsd (was unused).
    • Drops the direct linux-sys-raw dependency. When the rustix libc
      backend is enabled, this crate will now be excluded from the dependency tree.
    • Fixes all the remaining issues around platform-specific c_char handling.
    Open source →
  5. 1.4.0 05 Jan 2025
    Release notes
    • Update the minimum rustix version.
    • Add gnu/hurd support.
    • Implement Default for XAttrs.
    • Implement Debug for XAttrs.
    Open source →
  6. 1.3.1 15 Jan 2024
    Release notes

    Fix a quick bug introduced in the last release: deref in get_path on
    linux/macos.

    Open source →
  7. 1.3.0 15 Jan 2024 withdrawn
    Release notes

    Remove dependency on libc for macos.

    Open source →
  8. 1.2.0 28 Dec 2023
    Release notes

    Adds {get,set,list,remove}_deref functions to operate on symlink
    targets as the regular functions will operate on the symlinks
    themselves.

    Open source →
  9. 1.1.3 12 Dec 2023
    Release notes
    • fix "unsupported" build
    • fix android build
    Open source →
  10. 1.1.2 10 Dec 2023
    Release notes

    Re-enable rustix support after upstream fix.

    Open source →
  11. 1.1.1 09 Dec 2023

    Nothing published for this version

  12. 1.1.0 09 Dec 2023 withdrawn

    Nothing published for this version

  13. 1.0.1 29 Jul 2023

    Nothing published for this version

  14. 1.0.0 29 Nov 2022

    Nothing published for this version

  15. 0.2.3 03 May 2022

    Nothing published for this version

  16. 0.2.2 06 Jul 2018

    Nothing published for this version

  17. 0.2.1 21 Jul 2017

    Nothing published for this version

  18. 0.2.0 16 Jul 2017

    Nothing published for this version

  19. 0.1.11 27 Feb 2017

    Nothing published for this version

  20. 0.1.10 23 Aug 2016

    Nothing published for this version

  21. 0.1.9 23 Aug 2016

    Nothing published for this version

  22. 0.1.8 01 Aug 2016

    Nothing published for this version

  23. 0.1.7 12 May 2016

    Nothing published for this version

  24. 0.1.6 03 Jan 2016

    Nothing published for this version

  25. 0.1.5 03 Jan 2016

    Nothing published for this version

  26. 0.1.4 10 Sep 2015

    Nothing published for this version

  27. 0.1.3 10 Sep 2015

    Nothing published for this version

  28. 0.1.2 10 Jul 2015

    Nothing published for this version

  29. 0.1.1 10 Jul 2015

    Nothing published for this version

  30. 0.1.0 10 Jul 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive