# [1.4.0](https://github.com/asepharyana/mytheclipse/compare/v1.3.5...v1.4.0) (2026-08-29)
### Features
* add 4 new crates (queue, tracing, http, cli) + enhancements to existing crates ([8106f89](https://github.com/asepharyana/mytheclipse/commit/8106f8943ebe83f7348b9fde3fbd2e347018604e))
mytheclipse-http
HTTP client/server abstraction with built-in mytheclipse resilience primitives (retry, circuit breaker, timeout, rate limit).
Features
| Feature | Default | Backend | Description |
|---|---|---|---|
client |
yes | reqwest |
HTTP client with timeout + tracing. |
server-axum |
no | axum |
Axum-based server with health/metrics. |
server-hyper |
no | hyper |
Low-level hyper server. |
Usage
[dependencies]
mytheclipse-http = "0.2"
Client with timeout
use mytheclipse_http::HttpClient;
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = HttpClient::new().with_timeout(Duration::from_secs(10));
let resp = client.get("https://httpbin.org/get").await?;
println!("status: {}", resp.status());
Ok(())
}
Server (axum)
[dependencies]
mytheclipse-http = { version = "0.2", features = ["server-axum"] }
use mytheclipse_http::HttpServer;
use std::net::SocketAddr;
#[tokio::main]
async fn main() {
let server = HttpServer::new("0.0.0.0:3000".parse().unwrap());
server.run().await;
}