PackageTrack
Sign in Get early access

interprocess

Interprocess communication toolkit

2.4.3 13M downloads/mo #2668 most downloaded on crates.io kotauskas/interprocess

What this package is like to depend on

Last release 23 days ago

01 Aug 2026

Ships unpredictably

gaps range from 8 days to 1.5 years

Some releases are documented

notes for 10 of 22 stable releases

1 version withdrawn

withdrawn after publishing

6 years old

23 releases · first in 2020

6 releases in the last 12 months

see the full history below

Release timeline

23 releases · Aug 2020 to Aug 2026
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 23
  1. 2.4.3 01 Aug 2026
    Release notes
    Open source →
  2. 2.4.2 19 Apr 2026
    Release notes
    • Some unused code has been removed for peace-of-mind reasons (particularly due to #92).
    Open source →
  3. 2.4.1 18 Apr 2026
    Release notes

    General

    • Now dual-licensed as 0BSD OR Apache-2.0. No restrictions are introduced by this change; it simply guarantees that I will not engage in patent trolling.

    Unix

    • Fixed an instance of xucred being misspelled as ucred in the documentation of PeerCreds.

    Windows

    • Fixed a crash when reading from a disconnected named pipe stream (see #93).
    • Updated to windows-sys version 0.61.2.
    Open source →
  4. 2.4.0 22 Feb 2026
    Release notes

    General

    • Concurrency prevention for local sockets has been removed. It is now possible to perform I/O on the same local socket stream from multiple threads at once without encountering any panics.
    • split on local socket streams has been soft-deprecated due to being identical in functionality and performance characteristics to putting the local socket stream into an Rc or Arc. Deprecation warnings will not be emitted for programs that use split, but replacing it with Rc or Arc is preferred.
    • peer_pid is back in style: local socket streams now have a peer_creds method that returns the credentials of the other side of the connection. Those include the process ID, effective user and group ID, and list of supplementary groups.

    Windows

    • Fixed an embarrassing memory leak in the linger pool. Versions 2.3.0 and 2.3.1 would leak a small amount of memory for every Tokio-based stream lingered.
    • Fixed a benign use-after-free bug in MaybeArc::try_make_owned (called in reunite) that was introduced in version 2.0.0. To my knowledge, it is not possible to trigger undefined behavior from safe code using this bug.
    • Synchronous named pipes now use overlapped I/O, just like Tokio-based ones. This allows for concurrent I/O operations on the same stream as described in General. Thanks to Sebastian Schöner for his blog post that prompted me to carefully reread Microsoft documentation and guided me toward the solution!
    • All owned handles now provide one sentinel value for niche optimization (via NonZeroIsize, since 0 is not a valid handle value).
    Open source →
  5. 2.3.1 07 Feb 2026
    Release notes
    • Fixed the build failure on 32-bit Unix systems caused by an assumption that the type of tv_nsec in struct timespec implements From<u32>, which is not the case on 32-bit Linux, where that field is signed.
    Open source →
  6. 2.3.0 04 Feb 2026
    Release notes

    General

    • Now licensed under the 0-clause BSD license.
    • Added local_socket::ListenerOptions::try_overwrite to streamline the common case of dealing with "address in use" errors.
    • Added local_socket::ConnectOptions, allowing clients to specify the connection timeout and make use of zero-cost nonblocking mode enablement.
    • Local socket implementation wrappers now have accessors for their underlying implementations (os::unix::uds_local_socket::Stream::inner, os::windows::named_pipe::local_socket::Stream::inner, and so on).
    • A neat little tool, inspect-platform, has been added to help investigate the behavior of platforms that Interprocess has previously not been ported to.
    • Miscellaneous improvements to documentation and examples.

    Windows

    • Added AsSecurityDescriptorExt::write_to_security_attributes_ptr to work around windows-sys version churn (see #84).
    • Unnamed pipes are now inheritable. Previously, they were documented as such, but defaulted to not being inheritable due to a typo.
    • os::windows::named_pipe::tokio::PipeListenerOptionsExt has been deprecated in favor of inherent methods fulfilling the same function. The deprecation warning can be fixed by simply removing the import.
    • Fixed panic when dropping Tokio-based Windows named pipes outside of a Tokio runtime (#71) by replacing the old "limbo" with a new linger pool, used both for sync named pipes and for Tokio ones. This new implementation is more efficient and more maintainable.
      • The aforementioned bug now has test coverage.
    • Fixed handling of dead-on-arrival conections (#86).

    Unix

    • SpecialDirUdSocket is now deprecated due to complicated and potentially undesirable fallback behavior.
      • Name types for more specific special directories, such as "current user only" (/run/user/<uid>), "world-writable" (/tmp), "root-writable and world-readable" (/run) will be added in a future version.
    • ListenerOptionsExt::mode has been improved:
      • The umask fallback has been removed – the method will now return ErrorKind::Unsupported on platforms on which the mode of a Unix domain socket listener cannot be changed atomically.
      • The documentation now more accurately describes the behavior of non-default modes on different platforms.
    • set_nonblocking methods now use FIONBIO on Linux to reduce the number of system calls. Additionally, some superfluous fcntl(F_GETFL) calls have been optimized out on other platforms.
    • Unix domain socket address handling has been refactored to be more efficient.
    • NetBSD has been promoted from Support by association to Explicit support without CI.
    Open source →
  7. 2.2.3 07 Mar 2025
    Release notes
    Open source →
  8. 2.2.2 23 Nov 2024
    Release notes

    Fixes the build on Android.

    Open source →
  9. 2.2.1 21 Jul 2024
    Release notes

    Reverted the change from hardcoded /tmp to $TMPDIR for SpecialDirUdSocket on non-Android platforms. On Android, the hardcoded path is now /data/local/tmp.

    Open source →
  10. 2.2.0 13 Jun 2024
    Release notes
    • Tokio-based unnamed pipes, with subpar performance on Windows due to OS API limitations
    • Examples for unnamed pipes, both non-async and Tokio
    • Impersonation for Windows named pipes
    • Improvements to the implementation of Windows pipe flushing on Tokio
    Open source →
  11. 2.1.1 23 May 2024

    Nothing published for this version

  12. 2.1.0 08 May 2024

    Nothing published for this version

  13. 2.0.1 04 May 2024

    Nothing published for this version

  14. 2.0.0 26 Apr 2024

    Nothing published for this version

  15. 1.2.1 05 Nov 2022

    Nothing published for this version

  16. 1.2.0 03 Nov 2022

    Nothing published for this version

  17. 1.1.1 05 Mar 2021

    Nothing published for this version

  18. 1.1.0 27 Jan 2021

    Nothing published for this version

  19. 1.0.1 15 Dec 2020

    Nothing published for this version

  20. 1.0.0 16 Nov 2020

    Nothing published for this version

  21. 0.2.0 20 Aug 2020

    Nothing published for this version

  22. 0.1.1 05 Aug 2020

    Nothing published for this version

  23. 0.1.0 05 Aug 2020 withdrawn

    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