Compare commits

..

No commits in common. "master" and "rt-v2.11.0" have entirely different histories.

28 changed files with 272 additions and 465 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

611
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -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" }

View File

@ -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

View File

@ -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

View File

@ -2,8 +2,6 @@
## Unreleased
- Minimum supported Rust version (MSRV) is now 1.76.
## 2.11.0
- Implement `ActixStream` for `tokio::io::BufReader<IO>`.

View File

@ -2,8 +2,6 @@
## Unreleased
- Minimum supported Rust version (MSRV) is now 1.76.
## 2.6.0
- Add `ServerBuilder::shutdown_signal()` method.

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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)]

View File

@ -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));

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 }

View File

@ -5,11 +5,11 @@
<!-- prettier-ignore-start -->
[![crates.io](https://img.shields.io/crates/v/bytestring?label=latest)](https://crates.io/crates/bytestring)
[![Documentation](https://docs.rs/bytestring/badge.svg?version=1.5.0)](https://docs.rs/bytestring/1.5.0)
[![Documentation](https://docs.rs/bytestring/badge.svg?version=1.4.0)](https://docs.rs/bytestring/1.4.0)
[![Version](https://img.shields.io/badge/rustc-1.52+-ab6000.svg)](https://blog.rust-lang.org/2021/05/06/Rust-1.52.0.html)
![MIT or Apache 2.0 licensed](https://img.shields.io/crates/l/bytestring.svg)
<br />
[![Dependency Status](https://deps.rs/crate/bytestring/1.5.0/status.svg)](https://deps.rs/crate/bytestring/1.5.0)
[![Dependency Status](https://deps.rs/crate/bytestring/1.4.0/status.svg)](https://deps.rs/crate/bytestring/1.4.0)
![Download](https://img.shields.io/crates/d/bytestring.svg)
[![Chat on Discord](https://img.shields.io/discord/771444961383153695?label=chat&logo=discord)](https://discord.gg/NWpN5mmg3x)

View File

@ -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::*;

View File

@ -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 \

View File

@ -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

View File

@ -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