Skip to content

Commit e3214a0

Browse files
seanmonstar0xE282B0
authored andcommitted
docs(lib): document library stability (hyperium#3360)
Signed-off-by: Sven Pfennig <s.pfennig@reply.de>
1 parent 0e48466 commit e3214a0

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/lib.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
//! [feature flags]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
5454
//!
5555
//! # Unstable Features
56+
//!
5657
//! hyper includes a set of unstable optional features that can be enabled through the use of a
5758
//! feature flag and a [configuration flag].
5859
//!
@@ -65,6 +66,27 @@
6566
//! RUSTFLAGS="--cfg hyper_unstable_tracing" cargo rustc --features client,http1,http2,tracing --crate-type cdylib
6667
//!```
6768
//! [configuration flag]: https://doc.rust-lang.org/reference/conditional-compilation.html
69+
//!
70+
//! # Stability
71+
//!
72+
//! It's worth talking a bit about the stability of hyper. hyper's API follows
73+
//! [SemVer](https://semver.org). Breaking changes will only be introduced in
74+
//! major versions, if ever. New additions to the API, such as new types,
75+
//! methods, or traits will only be added in minor versions.
76+
//!
77+
//! Some parts of hyper are documented as NOT being part of the stable API. The
78+
//! following is a brief list, you can read more about each one in the relevant
79+
//! part of the documentation.
80+
//!
81+
//! - Downcasting error types from `Error::source()` is not considered stable.
82+
//! - Private dependencies use of global variables is not considered stable.
83+
//! So, if a dependency uses `log` or `tracing`, hyper doesn't promise it
84+
//! will continue to do so.
85+
//! - Behavior from default options is not stable. hyper reserves the right to
86+
//! add new options that are enabled by default which might alter the
87+
//! behavior, for the purposes of protection. It is also possible to _change_
88+
//! what the default options are set to, also in efforts to protect the
89+
//! most people possible.
6890
#[doc(hidden)]
6991
pub use http;
7092

0 commit comments

Comments
 (0)