|
| 1 | +#[allow(unused_imports)] |
| 2 | +use crate::*; |
| 3 | + |
| 4 | +/// TODO: RENAME THIS INTO THE NEXT VERSION BEFORE RELEASE |
| 5 | +/// |
| 6 | +/// ## Fixed |
| 7 | +/// - Fixed crate level doc |
| 8 | +/// |
| 9 | +/// ## Added |
| 10 | +/// - Added changelog |
| 11 | +#[doc(hidden)] |
| 12 | +pub mod unreleased {} |
| 13 | + |
| 14 | +/// ## Added |
| 15 | +/// - Feature flag `native-mux`, an alternative backend that communicates |
| 16 | +/// with the ssh multiplex server directly through control socket as opposed |
| 17 | +/// `process-mux` implementation that spawns a process to communicate with |
| 18 | +/// the ssh multiplex server. |
| 19 | +/// |
| 20 | +/// Compared to `process-mux`, `native-mux` provides more robust error |
| 21 | +/// reporting, better performance and reduced memory usage. |
| 22 | +/// |
| 23 | +/// `process-mux` checks the exit status of `ssh` for indication of error, |
| 24 | +/// then parse the output of it and the output of the ssh multiplex master |
| 25 | +/// to return an error. |
| 26 | +/// |
| 27 | +/// This method is obviously not so robust as `native-mux`, which directly |
| 28 | +/// communicates with ssh multiplex master through its [multiplex protocol]. |
| 29 | +/// |
| 30 | +/// - Feature flag `process-mux` (enabled by default) to disable the old |
| 31 | +/// backend if desired. |
| 32 | +/// - API [`Session::connect_mux`] for the new `native-mux` backend, |
| 33 | +/// which is used to create a [`Session`] backed by `native-mux` |
| 34 | +/// implementation. |
| 35 | +/// - API [`SessionBuilder::connect_mux`] for the new `native-mux` backend, |
| 36 | +/// which is used to create a [`Session`] backed by `native-mux` |
| 37 | +/// implementation. |
| 38 | +/// - [`Session::request_port_forward`] for local/remote forwarding |
| 39 | +/// of tcp or unix stream sockets, along with [`ForwardType`] and |
| 40 | +/// [`Socket`], which is used to setup port forwarding. |
| 41 | +/// - A new module [`process`] is added to provide interfaces more similar to |
| 42 | +/// [`std::process`]. |
| 43 | +/// - New variants are added to [`Error`]. |
| 44 | +/// |
| 45 | +/// ## Changed |
| 46 | +/// - A new type [`Stdio`] is used for setting stdin/stdout/stderr. |
| 47 | +/// - [`ChildStdin`], [`ChildStdout`] and [`ChildStderr`] are now aliases |
| 48 | +/// for [`tokio_pipe::PipeRead`] and [`tokio_pipe::PipeWrite`]. |
| 49 | +/// - [`Command::spawn`] and [`Command::status`] now conforms to |
| 50 | +/// [`std::process::Command`] and [`tokio::process::Command`], in which |
| 51 | +/// stdin, stdout and stderr are inherit by default. |
| 52 | +/// - [`Command::spawn`] is now an `async` method. |
| 53 | +/// - [`RemoteChild::wait`] now takes `self` by value. |
| 54 | +/// - [`Error`] is now marked `#[non_exhaustive]`. |
| 55 | +/// |
| 56 | +/// [multiplex protocol]: https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.mux |
| 57 | +pub mod v0_9_0_rc_1 {} |
0 commit comments