mirror of https://github.com/fafhrd91/actix-net
				
				
				
			Compare commits
	
		
			No commits in common. "master" and "rt-v2.11.0" have entirely different histories.
		
	
	
		
			master
			...
			rt-v2.11.0
		
	
		| 
						 | 
				
			
			@ -2,7 +2,6 @@ version: "0.2"
 | 
			
		|||
words:
 | 
			
		||||
  - actix
 | 
			
		||||
  - addrs
 | 
			
		||||
  - bytestring
 | 
			
		||||
  - clippy
 | 
			
		||||
  - deque
 | 
			
		||||
  - itertools
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +13,6 @@ words:
 | 
			
		|||
  - rcgen
 | 
			
		||||
  - Rustls
 | 
			
		||||
  - rustup
 | 
			
		||||
  - serde
 | 
			
		||||
  - spki
 | 
			
		||||
  - uring
 | 
			
		||||
  - webpki
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,12 +59,12 @@ jobs:
 | 
			
		|||
          echo "RUSTFLAGS=-C target-feature=+crt-static" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust (${{ matrix.version }})
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: ${{ matrix.version }}
 | 
			
		||||
 | 
			
		||||
      - name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -116,12 +116,12 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust (nightly)
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: nightly
 | 
			
		||||
 | 
			
		||||
      - name: Install cargo-hack & cargo-minimal-versions
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: cargo-hack,cargo-minimal-versions
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,12 +68,12 @@ jobs:
 | 
			
		|||
          echo "RUSTFLAGS=-C target-feature=+crt-static" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust (${{ matrix.version.name }})
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: ${{ matrix.version.version }}
 | 
			
		||||
 | 
			
		||||
      - name: Install just, cargo-hack, cargo-nextest, cargo-ci-cache-clean
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: just,cargo-hack,cargo-nextest,cargo-ci-cache-clean
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -120,12 +120,12 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust (nightly)
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: nightly
 | 
			
		||||
 | 
			
		||||
      - name: Install just
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: just
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,12 +18,12 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          components: llvm-tools-preview
 | 
			
		||||
 | 
			
		||||
      - name: Install cargo-llvm-cov
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: cargo-llvm-cov
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +31,7 @@ jobs:
 | 
			
		|||
        run: cargo llvm-cov --workspace --all-features --codecov --output-path codecov.json
 | 
			
		||||
 | 
			
		||||
      - name: Upload coverage to Codecov
 | 
			
		||||
        uses: codecov/codecov-action@v5.5.1
 | 
			
		||||
        uses: codecov/codecov-action@v5.5.0
 | 
			
		||||
        with:
 | 
			
		||||
          files: codecov.json
 | 
			
		||||
          fail_ci_if_error: true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ jobs:
 | 
			
		|||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
      - uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: nightly
 | 
			
		||||
          components: rustfmt
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ jobs:
 | 
			
		|||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
      - uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with: { components: clippy }
 | 
			
		||||
 | 
			
		||||
      - uses: giraffate/clippy-action@v1.0.1
 | 
			
		||||
| 
						 | 
				
			
			@ -51,17 +51,17 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v5
 | 
			
		||||
 | 
			
		||||
      - name: Install Rust (${{ vars.RUST_VERSION_EXTERNAL_TYPES }})
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.15.2
 | 
			
		||||
        uses: actions-rust-lang/setup-rust-toolchain@v1.14.0
 | 
			
		||||
        with:
 | 
			
		||||
          toolchain: ${{ vars.RUST_VERSION_EXTERNAL_TYPES }}
 | 
			
		||||
 | 
			
		||||
      - name: Install just
 | 
			
		||||
        uses: taiki-e/install-action@v2.62.39
 | 
			
		||||
        uses: taiki-e/install-action@v2.58.21
 | 
			
		||||
        with:
 | 
			
		||||
          tool: just
 | 
			
		||||
 | 
			
		||||
      - name: Install cargo-check-external-types
 | 
			
		||||
        uses: taiki-e/cache-cargo-install-action@v2.3.1
 | 
			
		||||
        uses: taiki-e/cache-cargo-install-action@v2.3.0
 | 
			
		||||
        with:
 | 
			
		||||
          tool: cargo-check-external-types
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -19,7 +19,7 @@ homepage = "https://actix.rs"
 | 
			
		|||
repository = "https://github.com/actix/actix-net"
 | 
			
		||||
license = "MIT OR Apache-2.0"
 | 
			
		||||
edition = "2021"
 | 
			
		||||
rust-version = "1.76"
 | 
			
		||||
rust-version = "1.75"
 | 
			
		||||
 | 
			
		||||
[patch.crates-io]
 | 
			
		||||
actix-codec = { path = "actix-codec" }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 0.5.2
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 0.2.4
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,6 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
 | 
			
		||||
## 2.11.0
 | 
			
		||||
 | 
			
		||||
- Implement `ActixStream` for `tokio::io::BufReader<IO>`.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,6 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
 | 
			
		||||
## 2.6.0
 | 
			
		||||
 | 
			
		||||
- Add `ServerBuilder::shutdown_signal()` method.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 2.0.3
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 3.4.0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,12 +51,12 @@ rustls-0_21-native-roots = ["tokio-rustls-024", "dep:rustls-native-certs-06"]
 | 
			
		|||
# use rustls v0.22 impls
 | 
			
		||||
rustls-0_22 = ["dep:tokio-rustls-025", "dep:rustls-pki-types-1"]
 | 
			
		||||
rustls-0_22-webpki-roots = ["rustls-0_22", "dep:webpki-roots-026"]
 | 
			
		||||
rustls-0_22-native-roots = ["rustls-0_22", "dep:rustls-native-certs-08"]
 | 
			
		||||
rustls-0_22-native-roots = ["rustls-0_22", "dep:rustls-native-certs-07"]
 | 
			
		||||
 | 
			
		||||
# use rustls v0.23 impls
 | 
			
		||||
rustls-0_23 = ["dep:tokio-rustls-026", "dep:rustls-pki-types-1"]
 | 
			
		||||
rustls-0_23-webpki-roots = ["rustls-0_23", "dep:webpki-roots-026"]
 | 
			
		||||
rustls-0_23-native-roots = ["rustls-0_23", "dep:rustls-native-certs-08"]
 | 
			
		||||
rustls-0_23-native-roots = ["rustls-0_23", "dep:rustls-native-certs-07"]
 | 
			
		||||
 | 
			
		||||
# use native-tls impls
 | 
			
		||||
native-tls = ["dep:tokio-native-tls"]
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ webpki-roots-026 = { package = "webpki-roots", version = "0.26", optional = true
 | 
			
		|||
 | 
			
		||||
# native root certificates for rustls impls
 | 
			
		||||
rustls-native-certs-06 = { package = "rustls-native-certs", version = "0.6", optional = true }
 | 
			
		||||
rustls-native-certs-08 = { package = "rustls-native-certs", version = "0.8", optional = true }
 | 
			
		||||
rustls-native-certs-07 = { package = "rustls-native-certs", version = "0.7", optional = true }
 | 
			
		||||
 | 
			
		||||
# native-tls
 | 
			
		||||
tokio-native-tls = { version = "0.3", optional = true }
 | 
			
		||||
| 
						 | 
				
			
			@ -120,12 +120,12 @@ actix-rt = "2.2"
 | 
			
		|||
actix-server = "2"
 | 
			
		||||
bytes = "1"
 | 
			
		||||
futures-util = { version = "0.3.17", default-features = false, features = ["sink"] }
 | 
			
		||||
hickory-resolver = "0.25"
 | 
			
		||||
itertools = "0.14"
 | 
			
		||||
pretty_env_logger = "0.5"
 | 
			
		||||
rcgen = "0.13"
 | 
			
		||||
rustls-pemfile = "2"
 | 
			
		||||
tokio-rustls-026 = { package = "tokio-rustls", version = "0.26" }
 | 
			
		||||
trust-dns-resolver = "0.23"
 | 
			
		||||
 | 
			
		||||
[[example]]
 | 
			
		||||
name = "accept-rustls"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,11 +13,11 @@ use futures_core::future::LocalBoxFuture;
 | 
			
		|||
/// use actix_tls::connect::{Resolve, Resolver};
 | 
			
		||||
/// use futures_util::future::LocalBoxFuture;
 | 
			
		||||
///
 | 
			
		||||
/// // use Hickory DNS tokio resolver
 | 
			
		||||
/// use hickory_resolver::TokioResolver;
 | 
			
		||||
/// // use trust-dns async tokio resolver
 | 
			
		||||
/// use trust_dns_resolver::TokioAsyncResolver;
 | 
			
		||||
///
 | 
			
		||||
/// struct MyResolver {
 | 
			
		||||
///     hickory_dns: TokioResolver,
 | 
			
		||||
///     trust_dns: TokioAsyncResolver,
 | 
			
		||||
/// };
 | 
			
		||||
///
 | 
			
		||||
/// // impl Resolve trait and convert given host address str and port to SocketAddr.
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ use futures_core::future::LocalBoxFuture;
 | 
			
		|||
///     ) -> LocalBoxFuture<'a, Result<Vec<SocketAddr>, Box<dyn std::error::Error>>> {
 | 
			
		||||
///         Box::pin(async move {
 | 
			
		||||
///             let res = self
 | 
			
		||||
///                 .hickory_dns
 | 
			
		||||
///                 .trust_dns
 | 
			
		||||
///                 .lookup_ip(host)
 | 
			
		||||
///                 .await?
 | 
			
		||||
///                 .iter()
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ use futures_core::future::LocalBoxFuture;
 | 
			
		|||
/// }
 | 
			
		||||
///
 | 
			
		||||
/// let my_resolver = MyResolver {
 | 
			
		||||
///     hickory_dns: TokioResolver::builder_tokio().unwrap().build(),
 | 
			
		||||
///     trust_dns: TokioAsyncResolver::tokio_from_system_conf().unwrap(),
 | 
			
		||||
/// };
 | 
			
		||||
///
 | 
			
		||||
/// // wrap custom resolver
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,17 +35,12 @@ pub mod reexports {
 | 
			
		|||
///
 | 
			
		||||
/// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors.
 | 
			
		||||
///
 | 
			
		||||
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_08::load_native_certs()
 | 
			
		||||
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_07::load_native_certs()
 | 
			
		||||
#[cfg(feature = "rustls-0_22-native-roots")]
 | 
			
		||||
pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> {
 | 
			
		||||
    let mut root_certs = tokio_rustls::rustls::RootCertStore::empty();
 | 
			
		||||
 | 
			
		||||
    let certs = rustls_native_certs_08::load_native_certs();
 | 
			
		||||
    if let Some(err) = certs.errors.into_iter().next() {
 | 
			
		||||
        return Err(io::Error::other(err));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for cert in certs.certs {
 | 
			
		||||
    for cert in rustls_native_certs_07::load_native_certs()? {
 | 
			
		||||
        root_certs.add(cert).unwrap();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,17 +35,12 @@ pub mod reexports {
 | 
			
		|||
///
 | 
			
		||||
/// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors.
 | 
			
		||||
///
 | 
			
		||||
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_08::load_native_certs()
 | 
			
		||||
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_07::load_native_certs()
 | 
			
		||||
#[cfg(feature = "rustls-0_23-native-roots")]
 | 
			
		||||
pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> {
 | 
			
		||||
    let mut root_certs = tokio_rustls::rustls::RootCertStore::empty();
 | 
			
		||||
 | 
			
		||||
    let certs = rustls_native_certs_08::load_native_certs();
 | 
			
		||||
    if let Some(err) = certs.errors.into_iter().next() {
 | 
			
		||||
        return Err(io::Error::other(err));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for cert in certs.certs {
 | 
			
		||||
    for cert in rustls_native_certs_07::load_native_certs()? {
 | 
			
		||||
        root_certs.add(cert).unwrap();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
#![doc(html_logo_url = "https://actix.rs/img/logo.png")]
 | 
			
		||||
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")]
 | 
			
		||||
#![cfg_attr(docsrs, feature(doc_cfg))]
 | 
			
		||||
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
 | 
			
		||||
 | 
			
		||||
#[cfg(feature = "openssl")]
 | 
			
		||||
#[allow(unused_extern_crates)]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,12 +50,12 @@ async fn custom_resolver_connect() {
 | 
			
		|||
        Connector::new(resolver)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    use hickory_resolver::TokioResolver;
 | 
			
		||||
    use trust_dns_resolver::TokioAsyncResolver;
 | 
			
		||||
 | 
			
		||||
    let srv = TestServer::start(|| fn_service(|_io: TcpStream| async { Ok::<_, io::Error>(()) }));
 | 
			
		||||
 | 
			
		||||
    struct MyResolver {
 | 
			
		||||
        hickory_dns: TokioResolver,
 | 
			
		||||
        trust_dns: TokioAsyncResolver,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    impl Resolve for MyResolver {
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ async fn custom_resolver_connect() {
 | 
			
		|||
        ) -> LocalBoxFuture<'a, Result<Vec<SocketAddr>, Box<dyn std::error::Error>>> {
 | 
			
		||||
            Box::pin(async move {
 | 
			
		||||
                let res = self
 | 
			
		||||
                    .hickory_dns
 | 
			
		||||
                    .trust_dns
 | 
			
		||||
                    .lookup_ip(host)
 | 
			
		||||
                    .await?
 | 
			
		||||
                    .iter()
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ async fn custom_resolver_connect() {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    let resolver = MyResolver {
 | 
			
		||||
        hickory_dns: TokioResolver::builder_tokio().unwrap().build(),
 | 
			
		||||
        trust_dns: TokioAsyncResolver::tokio_from_system_conf().unwrap(),
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    let factory = connector_factory(Resolver::custom(resolver));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 0.1.0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 3.0.1
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,13 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
 | 
			
		||||
## 1.5.0
 | 
			
		||||
 | 
			
		||||
- Migrate `serde` dependency to `serde_core`.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
- Switch `serde` to `serde_core`
 | 
			
		||||
 | 
			
		||||
## 1.4.0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
[package]
 | 
			
		||||
name = "bytestring"
 | 
			
		||||
version = "1.5.0"
 | 
			
		||||
version = "1.4.0"
 | 
			
		||||
description = "A UTF-8 encoded read-only string using `Bytes` as storage"
 | 
			
		||||
authors = ["Nikolay Kim <fafhrd91@gmail.com>", "Rob Ede <robjtede@icloud.com>"]
 | 
			
		||||
keywords = ["string", "bytes", "utf8", "web", "bytestring"]
 | 
			
		||||
| 
						 | 
				
			
			@ -12,14 +12,11 @@ edition.workspace = true
 | 
			
		|||
rust-version.workspace = true
 | 
			
		||||
 | 
			
		||||
[package.metadata.cargo_check_external_types]
 | 
			
		||||
allowed_external_types = ["bytes::*", "serde_core::*"]
 | 
			
		||||
 | 
			
		||||
[features]
 | 
			
		||||
serde = ["dep:serde_core"]
 | 
			
		||||
allowed_external_types = ["bytes::*", "serde::*"]
 | 
			
		||||
 | 
			
		||||
[dependencies]
 | 
			
		||||
bytes = { version = "1.2", default-features = false }
 | 
			
		||||
serde_core = { version = "1", optional = true }
 | 
			
		||||
serde = { version = "1", optional = true }
 | 
			
		||||
 | 
			
		||||
[dev-dependencies]
 | 
			
		||||
ahash = { version = "0.8", default-features = false }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,11 +5,11 @@
 | 
			
		|||
<!-- prettier-ignore-start -->
 | 
			
		||||
 | 
			
		||||
[](https://crates.io/crates/bytestring)
 | 
			
		||||
[](https://docs.rs/bytestring/1.5.0)
 | 
			
		||||
[](https://docs.rs/bytestring/1.4.0)
 | 
			
		||||
[](https://blog.rust-lang.org/2021/05/06/Rust-1.52.0.html)
 | 
			
		||||

 | 
			
		||||
<br />
 | 
			
		||||
[](https://deps.rs/crate/bytestring/1.5.0)
 | 
			
		||||
[](https://deps.rs/crate/bytestring/1.4.0)
 | 
			
		||||

 | 
			
		||||
[](https://discord.gg/NWpN5mmg3x)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -275,7 +275,7 @@ impl fmt::Display for ByteString {
 | 
			
		|||
mod serde {
 | 
			
		||||
    use alloc::string::String;
 | 
			
		||||
 | 
			
		||||
    use serde_core::{
 | 
			
		||||
    use serde::{
 | 
			
		||||
        de::{Deserialize, Deserializer},
 | 
			
		||||
        ser::{Serialize, Serializer},
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -304,7 +304,7 @@ mod serde {
 | 
			
		|||
 | 
			
		||||
    #[cfg(test)]
 | 
			
		||||
    mod serde_impl_tests {
 | 
			
		||||
        use serde_core::de::DeserializeOwned;
 | 
			
		||||
        use serde::de::DeserializeOwned;
 | 
			
		||||
        use static_assertions::assert_impl_all;
 | 
			
		||||
 | 
			
		||||
        use super::*;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								justfile
								
								
								
								
							
							
						
						
									
										1
									
								
								justfile
								
								
								
								
							| 
						 | 
				
			
			@ -30,7 +30,6 @@ downgrade-for-msrv:
 | 
			
		|||
    cargo {{ toolchain }} update -p=litemap --precise=0.7.4 # next ver: 1.81.0
 | 
			
		||||
    cargo {{ toolchain }} update -p=zerofrom --precise=0.1.5 # next ver: 1.81.0
 | 
			
		||||
    cargo {{ toolchain }} update -p=half --precise=2.4.1 # next ver: 1.81.0
 | 
			
		||||
    cargo {{ toolchain }} update -p=time --precise=0.3.41 # next ver: 1.81.0
 | 
			
		||||
 | 
			
		||||
msrv := ```
 | 
			
		||||
    cargo metadata --format-version=1 \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 0.1.5
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
## Unreleased
 | 
			
		||||
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.76.
 | 
			
		||||
- Minimum supported Rust version (MSRV) is now 1.75.
 | 
			
		||||
 | 
			
		||||
## 0.1.4
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue