Releases: rust-dd/tako
tako v.0.3.2
Full Changelog: tako-v.0.3.0...tako-v.0.3.2
tako v.0.3.0
🐙 Tako 0.3.0
🚀 What’s New
- Switched to
matchit
router – Faster, more scalable route matching. - Protobuf support – Handle binary payloads alongside JSON.
- Auth example + fix – Improved token verification logic.
- Memory optimization – Uses
Weak
refs to reduce overhead. - File stream utility – Stream large files efficiently over HTTP.
- HTTP/2 WebSocket example – Showcases modern WS usage.
- Docs cleanup – Simplified README and examples.
👉 Changelog: tako-v.0.2.4...tako-v.0.3.0
tako v.0.2.4
🐙 Tako 0.2.4
🚀 What’s New
-
SIMD-accelerated JSON (de)serialization
- Significant performance boost for heavy JSON payloads using SIMD instructions under the hood.
-
Refactored extractors
- Cleaner, more modular design — easier to use and extend.
- Simplified API for creating custom extractors.
- Better error handling.
- Additional internal optimizations to reduce latency and allocations.
Full Changelog: tako-v.0.2.3...tako-v.0.2.4
tako v.0.2.3
🐙 Tako 0.2.3
🚀 What’s New
- Transparent response compression
- Streaming middleware negotiates gzip · brotli · deflate · zstd on-the-fly.
- Fresh example & benchmark included.
- Static file serving
- URL-encoded form extractor
Form<T>
for effortlessapplication/x-www-form-urlencoded
parsing. - Stream engine refactor — simpler state machine, no manual waker; ~12 % throughput boost in benchmarks.
🐛 Fixes & Docs
- Multipart example and plugin-init race conditions fixed.
- Added docs for deflate compression and form extractor.
- README, feature table and benchmarks refreshed; dead feature-flags removed.
Full Changelog: tako-v.0.2.2...tako-v.0.2.3
tako v.0.2.2
🐙 Tako 0.2.2
🚀 What’s New
- Multipart form parsing via new
multipart
feature (uses multer + uuid), supportsUploadedFile
(disk) andInMemoryFile
(RAM), plus typed extraction withTakoTypedMultipart<T, F>
. - Built-in HTTP client (
TakoClient
,TakoTlsClient
) for simple outbound requests, enabled withclient
/tls
features (uses rustls, no OpenSSL). - Basic Auth extractor (
extractors::basic::Basic
) for direct username/password access in handlers without middleware. - Body size limiter middleware with configurable max size (static value or closure), returns 413 on overflow, 10 MiB default.
- Extractor trait rewrite:
FromRequest
,FromRequestParts
,FromRequestMut
now sync; async versions (AsyncFromRequest*
) remain available. - Streaming support:
TakoBody::from_stream
&try_from_stream
for building stream-based responses (e.g., SSE or proxy). - Router composition:
Router::merge(other)
merges routers and prepends middlewares automatically. - New helpers:
IntoMiddleware
,StaticHeaders
for concise responder definitions. - New examples: with-state, multipart, streams.
Full Changelog: tako-v.0.2.1...tako-v.0.2.2
tako v.0.2.1
🐙 Tako 0.2.1
🚀 What’s New
🔐 Authentication Middlewares
-
Bearer / Token
- Static token list
- Pluggable async
verify
callback (DB lookup, JWT validation, etc.) - Static + dynamic checks can be combined
-
Basic Auth
- Single-user, multi-user map, or static + dynamic combination
- Custom realm support
- Injects user claims into
Request.extensions
Both middlewares return 401 Unauthorized with the correct WWW-Authenticate
header when credentials are missing or invalid, and pass execution to your handler chain on success.
🐞 Bug Fixes
🛣️ route_tsr
Redirect
Router::route_with_tsr
now canonicalises paths correctly before matching, eliminating stray 307 loops when both /user
and /user/{id}
were registered.
Bonus: the generated Location
header now preserves the original query-string, so clients (e.g. Postman) follow the redirect with every parameter intact.
Full Changelog: tako-v.0.2.0...tako-v.0.2.1
tako v.0.2.0
🐙 Tako v.0.2.0
🚀 Highlights
- Typed extractor system for headers, query/body params, JSON, and form data.
- Streaming & Server-Sent Events helpers for any
Stream
response. - Middleware chaining (sync or async) with minimal boilerplate.
- Plugin system for opt-in functionality that keeps the core lean.
- Native HTTP/2 + TLS 1.3 via
rustls
and ALPN. - Developer experience improvements
📦 Upgrade
tako-rs = "0.2"
Thank you for trying out Tako! 🦑
Questions or issues? [Open one here](https://github.com/tako-rs/tako/issues) — feedback is always welcome.
tako v.0.1.0
🐙 Tako v.0.1.0
First public preview – lightweight core to get you started.
🚀 Highlights
- Path-based router with parameter extraction and automatic trailing-slash redirection.
- Application-wide shared state without resorting to global
unsafe
variables. - HTTP 1.1 engine powered by
hyper
+tokio
, including keep-alive.
📦 Install
# Cargo.toml
tako-rs = "0.1"