Releases: kana-rus/ohkami
Releases · kana-rus/ohkami
v0.18
Auto Generated
What's Changed
- Improve lib slice by @kana-rus in #129
- Add tests for headers by @kana-rus in #130
- Improve request parsing by @kana-rus in #131
- sync lib.rs inner doc with README by @kana-rus in #132
- Fix benches: feature selection & avoid SIGKILL by
&*vector
->vector.as_slice()
by @kana-rus in #133 - Update
CowContent
to useCowSlice
by @kana-rus in #134 - Improve Request parsing by @kana-rus in #135
- Update benches by @kana-rus in #136
- Update headers & benchmark by @kana-rus in #137
- Update req res interface by @kana-rus in #138
- Fix
Request::read
: returnOk(None)
if error kind isConnectionReset
by @kana-rus in #139 - Add bindings attribute by @kana-rus in #140
- Update docs by @kana-rus in #141
- Fix Cookie handling by @kana-rus in #142
- Support
Connection: "Close"
not only: "close"
by @kana-rus in #143 - Add Keep-Alive timeout by @kana-rus in #144
- Support
Sec-Fetch-{Dest,Mode,Site,User}
as standard headers by @kana-rus in #145 - Ignore error of
ErrorKind::NotConnected
in shutdown by Keep-Alive timeout by @kana-rus in #146 - Update README by @kana-rus in #147
- Update:
builtin::fang::Timeout
: construct by::by〜()
by @kana-rus in #148 - Update
worker
crate to v0.2 by @kana-rus in #149 - Fix macros: comment out
default = ["DEBUG"]
by @kana-rus in #150 - Fix
worker
version in README sample -> 0.2.0 by @kana-rus in #151 - bump version -> 0.18.1 by @kana-rus in #152
- Fix CORS &
testing::TestResponse::header
by @kana-rus in #153 - 0.18.1 -> 0.18.2 & Update README by @kana-rus in #154
Full Changelog: v0.17...v0.18
v0.17
Fundamental Changes
- Support Cloudflare Workers by
rt_worker
feature ( #117, #118, #121, #122, #127 ) - Support struct-level
#[query]
attribute in#[Query]
( #116 ) - Support optional
FromRequest
items ( #123 ) - Rebuild
Response
's public methods ( #126 )
Others
and docs update
Auto Generated
- Remove
[package.metadata.crates.io]
& Add docs forJWT
by @kana-rus in #114 - Add:
[package.metatata.docs.rs] features = ["rt_tokio"]
in ohkami/Cargo.toml by @kana-rus in #115 - Support struct-level #[query] attributes by @kana-rus in #116
- Add rt worker by @kana-rus in #117
- Fix: put target fn in
#[worker]
's expanded by @kana-rus in #118 - Fix:
Clone
,from_iter
by @kana-rus in #119 - insert
#[cfg(feature="DEBUG")] println!
s by @kana-rus in #120 - Fix:
QueryParams::iter
,Response::complete
(don't use setDate
… by @kana-rus in #121 - ohkami_lib: v0.2.0 -> v0.2.1 for marking
#[cfg(〜)]
an 64bit-speciffic code path to clear warning in wasm32 by @kana-rus in #122 - Support optional query payload by @kana-rus in #123
- Fix request::{Headers, QueryParams} : impl Debug by
debug_map
by @kana-rus in #124 - Updated Taskfile & Fix newly found errors by @kana-rus in #125
- Rebuild
Response
's public methods by @kana-rus in #126 - impl
FromRequest
forworker::{Env, Context}
inrt_worker
by @kana-rus in #127 - Add tests for URLEncoded by @kana-rus in #128
Full Changelog: v0.16.0...v0.17
v0.16
Fundamental Changes
Drastically update the fang system
- Introduce
Fang
andFangProc
, like tower'sLayer
andService
. - Omit doubly-boxed
Future
s inFangs
or something as possible I can. - Remove
Ohkami::howl_with
and make every fangs to be called for any requests, includingNot Found
one, that are eaten by aOhkami
they are registered. - Provide
FangAction
for easy impl ofFang
Drastically update the payload system
- Introduce
Payload
andPayloadType
trait based onserde
framework. - Remove
#[ResponseBody]
- Update
#[Payload]
to take an existing type that implsPayloadType
. - Provide 5 builtin
PayloadType
:JSON
,Text
,HTML
,Multipart
,URLEncoded
Add static dir serving
"/route".Dir("./path/to/dir")
creates Dir
, that serves all files in ./path/to/dir
.
Buildable without rt_*
For ease with developing third-party Fang
s, now ohkami
can be build without rt_*
feature.
More intuitive route matching
In request handling, make route matching independent of registering order in Ohkami
.
Internal Changes
More efficient resource handling in request / response
Put large arrays in Box<_>
, this doesn't make bench scores worse.
v0.15
Fundamental Updates
- Add
type Type: BodyType
inResponseBody
and, whenType
isJSON
, automatically implResponseBody<Type = JSON>
forVec<_>
,[_; _]
,&[_]
,Option<_>
- Add
type Error: IntoResponse
in{Front, Back}Fang
and updates their return type toOutput = Result<(), Self::Error>
Other Changes
Response::{json_str, set_json_str}
: mark as unsafe- Document updates
v0.14
v0.13.0
Fundamental Fix
- Activate
derive
feature of serde that ohkami directly depends on, then finally#[PayloadJSOND]
and#[ResponseBody(JSONS)]
get be able to work! - Implement a decent connection handling for HTTP/1.1, then finally got able to handle pipelined requests properly!
Breaking Changes
- The argument of
Ohkami::howl
:impl {runtime}::net::ToSocketAddr
instead ofimpl ohkami::TCPAddress
. - Automatically set
Content-Length: 0
for response if it does't have content and its status isn't204 No Content
.
Bug Fix
- Merge two or more duplicated fangs into one before applying them to router.
Others
- Improved error messages and error responses.
v0.12.0
Breaking Changes
- #75:Remove
Fang(〜)
and addFang::front
,Fang::back
- #73:Support all (non-deprecated) HTTP statuses in
Status
enum andtyped
module
Bug Fix
- #74:Fix a bug that
Request::path
returns an empty bytes when the raw request path is/
Other Changes
- Support any requests having path with trailing
/
- Update doc comments, README, LICENSE year