1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
#[allow(unused_imports)]
use crate::*;
/// TODO: RENAME THIS INTO THE NEXT VERSION BEFORE RELEASE
///
/// ## Added
/// - Add new fn `SessionBuilder::ssh_auth_sock`
/// ## Changed
/// ## Removed
#[doc(hidden)]
pub mod unreleased {}
/// ## Added
/// - Add new fn `SessionBuilder::ssh_auth_sock`
pub mod v0_9_9 {}
/// ## Added
/// - `impl From<std::os::unix::io::OwnedFd> for Stdio`
/// - Add new fn `Stdio::from_raw_fd_owned`
/// ## Changed
/// - Mark `FromRawFd` impl for `Stdio` as deprecated
/// - Mark `From<tokio_pipe::PipeRead>` for `Stdio` as deprecated
/// - Mark `From<tokio_pipe::PipeWrite>` for `Stdio` as deprecated
/// ## Fixed
/// - [`wait_with_output` + `native-mux` cuts off stdout output](https://github.com/openssh-rust/openssh/issues/103)
pub mod v0_9_8 {}
/// ## Changed
/// - Bumped minimum version of `openssh-mux-client` to 0.15.1
pub mod v0_9_7 {}
/// ## Added
/// - [`SessionBuilder::jump_hosts`]
pub mod v0_9_6 {}
/// ## Added
/// - `From<SocketAddr> for Socket<'static>`
/// - `From<Cow<'a, Path>> for Socket<'a>`
/// - `From<&'a Path> for Socket<'a>`
/// - `From<PathBuf> for Socket<'static>`
/// - `From<Box<Path>> for Socket<'static>`
/// - `From<(IpAddr, u16)> for Socket<'static>`
/// - `From<(Ipv4Addr, u16)> for Socket<'static>`
/// - `From<(Ipv6Addr, u16)> for Socket<'static>`
///
/// ## Changed
/// - [`Session::request_port_forward`] now takes `impl Into<...>`
/// to make it much easier to use.
/// - [`Socket::new`] now returns `Socket<'static>`
pub mod v0_9_5 {}
/// ## Added
/// - [`Session::resume`]
/// - [`Session::resume_mux`]
/// - [`Session::detach`]
pub mod v0_9_3 {}
/// ## Changed
/// - Removed `impl From<OwnedFd> for Stdio` as it was an unintentional part of the public API.
/// This is technically a breaking change, but should in practice affect no-one.
pub mod v0_9_2 {}
/// ## Added
/// - [`Session::subsystem`]
pub mod v0_9_1 {}
/// No changes since 0.9.0-rc4.
pub mod v0_9_0 {}
/// ## Fixed
/// - Remove accidentally exposed `TryFrom<tokio::process::ChildStdin`
/// implementation for [`ChildStdin`].
/// - Remove accidentally exposed `TryFrom<tokio_pipe::PipeWrite>`
/// implementation for [`ChildStdin`].
/// - Remove accidentally exposed `TryFrom<tokio::process::ChildStdout>`
/// implementation for [`ChildStdout`].
/// - Remove accidentally exposed `TryFrom<tokio_pipe::PipeRead>`
/// implementation for [`ChildStdout`].
/// - Remove accidentally exposed `TryFrom<tokio::process::ChildStderr>`
/// implementation for [`ChildStderr`].
/// - Remove accidentally exposed `TryFrom<tokio_pipe::PipeRead>`
/// implementation for [`ChildStderr`].
///
/// ## Changed
/// - Make [`Session::check`] available only on unix.
/// - Make [`Socket::UnixSocket`] available only on unix.
/// - Make [`SessionBuilder::control_directory`] available only on unix.
pub mod v0_9_0_rc4 {}
/// ## Fixed
/// - Fixed changelog entry for rc2 not being visible
pub mod v0_9_0_rc3 {}
/// ## Fixed
/// - Fixed crate level doc
///
/// ## Added
/// - Added changelog
/// - Associated function [`SessionBuilder::compression`]
/// - Associated function [`SessionBuilder::user_known_hosts_file`]
/// - Associated function [`Session::control_socket`] for non-Windows platform.
///
/// ## Changed
/// - Make [`ChildStdin`] an opaque type.
/// - Make [`ChildStdout`] an opaque type.
/// - Make [`ChildStderr`] an opaque type.
///
/// ## Removed
/// - Type `Sftp`.
/// - Type `Mode`.
/// - Type `RemoteFile`.
/// - Associated function `Session::sftp`.
pub mod v0_9_0_rc2 {}
/// ## Added
/// - Feature flag `native-mux`, an alternative backend that communicates
/// with the ssh multiplex server directly through control socket as opposed
/// `process-mux` implementation that spawns a process to communicate with
/// the ssh multiplex server.
///
/// Compared to `process-mux`, `native-mux` provides more robust error
/// reporting, better performance and reduced memory usage.
///
/// `process-mux` checks the exit status of `ssh` for indication of error,
/// then parse the output of it and the output of the ssh multiplex master
/// to return an error.
///
/// This method is obviously not so robust as `native-mux`, which directly
/// communicates with ssh multiplex master through its [multiplex protocol].
///
/// - Feature flag `process-mux` (enabled by default) to disable the old
/// backend if desired.
/// - API [`Session::connect_mux`] for the new `native-mux` backend,
/// which is used to create a [`Session`] backed by `native-mux`
/// implementation.
/// - API [`SessionBuilder::connect_mux`] for the new `native-mux` backend,
/// which is used to create a [`Session`] backed by `native-mux`
/// implementation.
/// - [`Session::request_port_forward`] for local/remote forwarding
/// of tcp or unix stream sockets, along with [`ForwardType`] and
/// [`Socket`], which is used to setup port forwarding.
/// - A new module [`process`] is added to provide interfaces more similar to
/// [`std::process`].
/// - New variants are added to [`Error`].
///
/// ## Changed
/// - A new type [`Stdio`] is used for setting stdin/stdout/stderr.
/// - [`ChildStdin`], [`ChildStdout`] and [`ChildStderr`] are now aliases
/// for [`tokio_pipe::PipeRead`] and [`tokio_pipe::PipeWrite`].
/// - [`Command::spawn`] and [`Command::status`] now conforms to
/// [`std::process::Command`] and [`tokio::process::Command`], in which
/// stdin, stdout and stderr are inherit by default.
/// - [`Command::spawn`] is now an `async` method.
/// - [`RemoteChild::wait`] now takes `self` by value.
/// - [`Error`] is now marked `#[non_exhaustive]`.
///
/// [multiplex protocol]: https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.mux
pub mod v0_9_0_rc_1 {}