Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 3.26 KB

CHANGELOG.md

File metadata and controls

78 lines (57 loc) · 3.26 KB

Version 0.11.3

  • Fixed a permissions issue with Windows pipes.
  • Documented some non-obvious behavior regarding pipe cloning.

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.