openssh_sftp_client/
changelog.rs

1#[allow(unused_imports)]
2use crate::*;
3
4#[doc(hidden)]
5pub mod unreleased {}
6
7/// # Added
8///  - `Permissions::from` allows converting a u16 octet to a Permissions struct
9///  - Allows chain call for Permissions::set_* methods
10pub mod v_0_14_3 {}
11
12/// # Added
13///  - [`Sftp::from_session_with_check_connection`] for checking connection
14pub mod v_0_14_2 {}
15
16/// # Changed
17///  - Bump dependency [`openssh-sftp-error`] to v0.4.0.
18pub mod v_0_14_1 {}
19
20/// # Changed
21///  - Bump optional dependency [`openssh`] to v0.10.0.
22pub mod v_0_14_0 {}
23
24/// # Changed
25///  - Set [`SftpOptions::tokio_compat_file_write_limit`] to 640KB by default.
26pub mod v_0_13_10 {}
27
28/// # Fixed
29/// Invalid response id after closing file caused by the change in v0.13.8
30pub mod v_0_13_9 {}
31
32/// # Fixed
33/// `Drop` implementation for `OwnedHandle` to make sure they never panic
34/// if tokio runtime is not avilable.
35pub mod v_0_13_8 {}
36
37/// # Fixed
38///
39/// `Drop` implementation to make sure they never panic
40/// if tokio runtime is not avilable.
41///
42///  - [`file::TokioCompatFile`]
43///  - [`fs::ReadDir`]
44pub mod v_0_13_7 {}
45
46/// ## Added
47///  - Add new option [`SftpOptions::tokio_compat_file_write_limit()`] to set write buffer limit
48///    for [`file::TokioCompatFile`].
49pub mod v_0_13_6 {}
50
51/// ## Fixed
52///  - Fixed #80 [`file::TokioCompatFile`]: Incorrect behavior about `AsyncSeek`
53///  - Fixed [`file::TokioCompatFile`]: leave error of exceeding buffer len in `consume` to handle by `BytesMut`
54///  - Fixed [`file::TokioCompatFile`]: Implement `PinnedDrop` to poll read and write futures to end,
55///    otherwise it would drop the internal request ids too early, causing read task to fail
56///    when they should not fail.
57///  - Fixed [`fs::ReadDir`]: Implement `PinnedDrop` to poll future stored internally,
58///    otherwise it would drop the internal request ids too early, causing read task to fail
59///    when they should not fail.
60/// ## Added
61///  - Add new fn [`Sftp::support_expand_path`] to check if the server supports expand-path extension
62///  - Add new fn [`Sftp::support_fsync`] to check if the server supports fsync extension
63///  - Add new fn [`Sftp::support_hardlink`] to check if the server supports hardlink extension
64///  - Add new fn [`Sftp::support_posix_rename`] to check if the server supports posix-rename extension
65///  - Add new fn [`Sftp::support_copy`] to check if the server supports copy extension
66pub mod v_0_13_5 {}
67
68/// ## Improved
69/// - Fix: change the drop of `OwnedHandle` to wait for the close request in order to
70///   avoid invalid response id after closing file
71/// - Add log for droping OwnedHandle
72///
73/// ## Other changes
74/// - Add msrv 1.64 in `Cargo.toml`
75/// - Bump `edition` to 2021 in `Cargo.toml`
76pub mod v_0_13_4 {}
77
78/// ## Improved
79///  - If `Sftp` is created using `Sftp::from_session`, then dropping it would
80///    also drop the `openssh::RemoteChild` and `openssh::Session` immediately
81///    after sftp graceful shutdown is done to prevent any leak.
82pub mod v_0_13_3 {}
83
84/// ## Added
85///  - `OpensshSession`, which is enabled by feature `openssh`
86///  - `SftpAuxiliaryData::ArcedOpensshSession`, which is enabled by feature `openssh`
87///  - `Sftp::from_session`, which is enabled by feature `openssh`
88///  - Logging support, enabled by feature `tracing`
89///
90/// ## Improved
91///  - Keep waiting on other tasks on failure in [`Sftp::close`]
92///    to collect as much information about the failure as possible.
93///  - Add [`error::RecursiveError3`] for reting 3 errs in [`Sftp::close`]
94pub mod v_0_13_2 {}
95
96/// ## Added
97///  - [`SftpAuxiliaryData::PinnedFuture`]
98pub mod v_0_13_1 {}
99
100/// ## Fixed
101///  - Fixed #62 [`fs::ReadDir`]: Return all entries instead of just a subset.
102///
103/// ## Added
104///  - [`file::File::as_mut_file`]
105///  - [`SftpAuxiliaryData`]
106///  - [`Sftp::new_with_auxiliary`]
107///
108/// ## Changed
109///  - Remove lifetime from [`file::OpenOptions`].
110///  - Remove lifetime from [`file::File`].
111///  - Remove lifetime from [`file::TokioCompatFile`].
112///  - Remove lifetime from [`fs::Fs`].
113///  - Remove lifetime from [`fs::Dir`].
114///  - Remove lifetime from [`fs::ReadDir`].
115///  - Remove lifetime `'s` from [`fs::DirBuilder`].
116///  - [`fs::ReadDir`] now implements `futures_core::{Stream, FusedStream}`
117///    instead of the {iterator, slice}-based interface.
118///  - Remove `file::File::sftp`.
119///  - Remove `file::TokioCompatFile::close`.
120///  - [`file::TokioCompatFile::fill_buf`] now takes `self: Pin<&mut Self>`
121///    instead of `&mut self`.
122///  - [`file::TokioCompatFile::read_into_buffer`] now takes
123///    `self: Pin<&mut Self>` instead of `&mut self`.
124///
125/// ## Other changes
126///  - Clarify [`file::File::read`].
127///  - Clarify [`file::File::write`].
128///  - Clarify [`file::File::write_vectorized`].
129///  - Clarify [`file::File::write_zero_copy`].
130pub mod v_0_13_0 {}
131
132/// ## Fixed
133///  - Fix `read_task`: Order shutdown of flush_task on err/panic
134pub mod v_0_12_2 {}
135
136/// ## Fixed
137///  - `Sftp::new` now returns future that implemens `Send`
138pub mod v_0_12_1 {}
139
140/// ## Changed
141///  - Ensure stable api: Create newtype wrapper of UnixTimeStamp (#53)
142///
143/// ## Other
144///  - Bump [`openssh-sftp-error`] to v0.3.0
145pub mod v_0_12_0 {}
146
147/// ## Other change
148///
149/// Bump dep
150///  - `ssh_format` to v0.13.0
151///  - `openssh_sftp_protocol` to v0.22.0
152///  - `openssh_sftp_error` to v0.2.0
153///  - `openssh_sftp_client_lowlevel` to v0.3.0
154pub mod v_0_11_3 {}
155
156/// ## Other change
157///  - Bump `openssh_sftp_client_lowlevel` version and optimize
158///    write buffer implementation.
159///  - Optimize: Reduce monomorphization
160///  - Optimize latency: `create_flush_task` first in `Sftp::new`
161///    and write the hello msg ASAP.
162pub mod v_0_11_2 {}
163
164/// Nothing has changed from [`v_0_11_0_rc_3`].
165///
166/// ## Other changes
167///  - Dependency [`bytes`] bump to v1.2.0 for its optimizations.
168pub mod v_0_11_1 {}
169
170/// Nothing has changed from [`v_0_11_0_rc_3`].
171pub mod v_0_11_0 {}
172
173/// ## Changed
174///  - Rename `SftpOptions::write_end_buffer_size` to
175///    [`SftpOptions::requests_buffer_size`] and improve its
176///    documentation.
177///  - Rename `SftpOptions::read_end_buffer_size` to
178///    [`SftpOptions::responses_buffer_size`] and improve its
179///    documentation.
180///
181/// ## Removed
182///  - `SftpOptions::max_read_len`
183///  - `SftpOptions::max_write_len`
184pub mod v_0_11_0_rc_3 {}
185
186/// ## Fixed
187///  - Changelog of v0.11.0-rc.1
188///
189/// ## Added
190///  - [`file::File::copy_all_to`] to copy until EOF.
191///    This function is extracted from the old `copy_to`
192///    function.
193///  - [`file::TokioCompatFile::capacity`]
194///  - [`file::TokioCompatFile::reserve`]
195///  - [`file::TokioCompatFile::shrink_to`]
196///
197/// ## Changed
198///  - [`file::File::copy_to`] now takes [`std::num::NonZeroU64`]
199///    instead of `u64`.
200///  - [`file::TokioCompatFile::with_capacity`] does not take
201///    `max_buffer_len` anymore.
202///
203/// ## Removed
204///  - `file::DEFAULT_MAX_BUFLEN`
205pub mod v_0_11_0_rc_2 {}
206
207/// ## Added
208///  - `SftpOptions::write_end_buffer_size`
209///  - `SftpOptions::read_end_buffer_size`
210///
211/// ## Changed
212///  - All types now does not have generic parameter `W`
213///    except for `Sftp::new`
214///
215/// ## Removed
216///  - Unused re-export `CancellationToken`.
217///  - Backward compatibility alias `file::TokioCompactFile`.
218///  - `Sftp::try_flush`
219///  - `Sftp::flush`
220///  - `file::File::max_write_len`
221///  - `file::File::max_read_len`
222///  - `file::File::max_buffered_write`
223///
224/// ## Moved
225///  - `lowlevel` is now moved to be another crate [openssh_sftp_client_lowlevel].
226///  - All items in `highlevel` is now moved into root.
227pub mod v_0_11_0_rc_1 {}
228
229/// ## Fixed
230///  - Changelog of v0.10.2
231pub mod v_0_10_3 {}
232
233/// ## Added
234///  - Async fn `lowlevel::WriteEnd::send_copy_data_request`
235///  - Async fn `highlevel::file::File::copy_to`
236pub mod v_0_10_2 {}
237
238/// ## Fixed
239///  - Changelog of v0.10.0
240///  - Changelog of v0.9.0
241pub mod v0_10_1 {}
242
243/// ## Added
244///  - Export mod `highlevel::file`
245///  - Export mod `highlevel::fs`
246///  - Export mod `highlevel::metadata`
247///
248/// ## Changed
249///  - `lowlevel::WriteEnd` now requires `W: AsyncWrite + Unpin`
250///  - `lowlevel::SharedData` now requires `W: AsyncWrite + Unpin`
251///  - `lowlevel::ReadEnd` now requires `W: AsyncWrite + Unpin`
252///  - `lowlevel::connect` now requires `W: AsyncWrite + Unpin`
253///  - `lowlevel::connect_with_auxiliary` now requires `W: AsyncWrite + Unpin`
254///  - All types in `highlevel` now requires `W: AsyncWrite + Unpin`
255///    except for
256///     - the re-exported type `highlevel::CancellationToken`
257///     - `highlevel::SftpOptions`
258///     - `highlevel::fs::DirEntry`
259///     - `highlevel::fs::ReadDir`
260///
261/// ## Removed
262///  - Trait `Writer`.
263///  - `lowlevel::WriteEnd::send_write_request_direct_atomic`
264///  - `lowlevel::WriteEnd::send_write_request_direct_atomic_vectored`
265///  - `lowlevel::WriteEnd::send_write_request_direct_atomic_vectored2`
266///  - Export of `highlevel::file::TokioCompactFile`
267///  - Export of `highlevel::file::TokioCompatFile`
268///  - Export of `highlevel::file::DEFAULT_BUFLEN`
269///  - Export of `highlevel::file::DEFAULT_MAX_BUFLEN`
270///  - Export of `highlevel::file::File`
271///  - Export of `highlevel::file::OpenOptions`
272///  - Export of `highlevel::fs::DirEntry`
273///  - Export of `highlevel::fs::ReadDir`
274///  - Export of `highlevel::fs::Dir`
275///  - Export of `highlevel::fs::DirBuilder`
276///  - Export of `highlevel::fs::Fs`
277///  - Export of `highlevel::metadata::FileType`
278///  - Export of `highlevel::metadata::MetaData`
279///  - Export of `highlevel::metadata::MetaDataBuilder`
280///  - Export of `highlevel::metadata::Permissions`
281pub mod v0_10_0 {}
282
283/// ## Removed
284///  - `highlevel::Sftp::get_cancellation_token`
285///  - `highlevel::Sftp::max_write_len`
286///  - `highlevel::Sftp::max_read_len`
287///  - `highlevel::Sftp::max_buffered_write`
288pub mod v_0_9_0 {}
289
290/// ## Added
291///  - Type `highlevel::TokioCompatFile` to Replace
292///    `highlevel::TokioCompactFile`.
293pub mod v0_8_3 {}
294
295/// ## Fixed
296///  - Fix possible panic in `highlevel::max_atomic_write_len`
297pub mod v0_8_2 {}
298
299/// ## Added
300///  - Reexport `highlevel::CancellationToken`.
301pub mod v0_8_1 {}
302
303/// ## Added
304///  - Associated function `highlevel::FileType::is_fifo`.
305///  - Associated function `highlevel::FileType::is_socket`.
306///  - Associated function `highlevel::FileType::is_block_device`.
307///  - Associated function `highlevel::FileType::is_char_device`.
308///  - Trait `Writer`.
309///
310/// ## Changed
311///  - Replace all use of `tokio_pipe::PipeRead` with generic bound
312///    `tokio::io::AsyncRead` + `Unpin`.
313///  - Replace all use of `tokio_pipe::PipeWrite` with generic bound
314///    `Writer`.
315///  - Replace constant `highlevel::MAX_ATOMIC_WRITE_LEN` with
316///    non-`const` function `highlevel::max_atomic_write_len`.
317///  - Associated function `highlevel::Sftp::fs` now only takes `&self`
318///    as parameter.
319///
320/// ## Removed
321///  - Trait `std::os::unix::fs::FileTypeExt` implementation for
322///    `highlevel::FileType`.
323///  - Trait `std::os::unix::fs::PermissionsExt` implementation for
324///    `highlevel::Permissions`.
325///  - Associated function `lowlevel::WriteEnd::send_write_request_direct`.
326///  - Associated function
327///    `lowlevel::WriteEnd::send_write_request_direct_vectored`.
328pub mod v0_8_0 {}