# Version 0.10.0
- Internally to the Pipe struct, raw handles are now wrapped in Arc. Cloning a Pipe results in a weak reference rather than a naive copy of the raw handle. This allows for all clones to be properly invalidated when a handle is closed. Note that this does NOT contain any internal Mutex.
- Minor breaking change - `Pipe::close()` now takes `self` instead of `&mut self`, ensuring that references to closed pipes can't sit around.
# Version 0.9.0
- Added the `tokio_channels` feature, which provides exactly the same functionality as channels using tokio's async API instead of std threads.
# Version 0.8.2
- No longer delete autocreated pipes on Unix by default. This creates more consistent behavior between unix and Windows.
# Version 0.8
- Added the `channels` feature.
# Version 0.7.5
- Removed a rogue print statement when closing a static pipe.
# Version 0.7.4
- Windows pipes will now attempt to recover from a disconnected client.
# Version 0.7.3
- Fixed a possible deadlock scenario by using a lock-free hashmap.
- Added a close function that can be called explicitly. Pipes are not longer implicitly closed on drop.
# Version 0.7.2
- Unix version will now create pipes if they don't exist when calling `open`. This is to be more consistent with the Windows implementation.
# Version 0.7.1
- Fixed a double flush
# Version 0.7.0
- Finally got reads working correctly for windows and linux pipes. The solution is complex so more testing is stil needed.
- Static pipe print macros now return results. It's better than panicking.
# Version 0.6.1
- Fixed bug that prevented writers from being initialized before readers on Windows.
- General stability improvements.
# Version 0.6
- Removed dependence on the `windows_named_pipe` crate. Everything is done through winapi on the windows side now. Will likely keep nix on the Linux side as it's sufficiently low-level for any potential purposes of this crate.
- Fixed a bug where compilation failed if the `rand` feature was disabled.
# Version 0.5
- Removed the `Pipe::close()` method. The drop trait now does all the work that once did.
- Renamed some internal interfaces to be more clear.
- Added the `Pipe::name()` method
- `rand` is now optional (default) feature, as its only purpose is a single method that generates a pipe with a random name.
- Documentation updates.
# Version 0.4.2
- Windows paths now use raw strings.
- Documentation cleanup.
# Version 0.4.1
- Made static_pipe a default feature.
# Version 0.4
- Replaced all non-idiomatic I/O interfaces with standard traits (Read, Write, etc). Interfaces should be much more stable now. Static pipes are the exception here, more changes will likely come down the road.
- Slightly better testing and documentation.
# Version 0.3.2
- Fixed a bug with static pipes that prevented their use entirely.
# Version 0.3
- API improvements, better tests, bug fixes, documentation fixes.
# Version 0.2
- Implemented static pipes.
# Version 0.1.1
- Added a Pipe::with_name function that allows for better platform independance.
- Added more documentation.
# Version 0.1
- Initial commit. Lacks features, and likely contains significant bugs. More testing is needed.