Skip to content

Releases: kana-rus/ohkami

v0.18

04 May 09:03
caa5f30
Compare
Choose a tag to compare

Auto Generated

What's Changed

Full Changelog: v0.17...v0.18

v0.17

23 Apr 10:04
Compare
Choose a tag to compare

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

  • Improve Debug output of Request ( #124 )
  • Add tests for URLEncoded ( #128 )
  • Update CI ( #125 )

and docs update


Auto Generated
  • Remove [package.metadata.crates.io] & Add docs for JWT 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 set Date … 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 for worker::{Env, Context} in rt_worker by @kana-rus in #127
  • Add tests for URLEncoded by @kana-rus in #128

Full Changelog: v0.16.0...v0.17

v0.16

14 Apr 08:37
1d19ece
Compare
Choose a tag to compare

Fundamental Changes

Drastically update the fang system

  • Introduce Fang and FangProc, like tower's Layer and Service.
  • Omit doubly-boxed Futures in Fangs or something as possible I can.
  • Remove Ohkami::howl_with and make every fangs to be called for any requests, including Not Found one, that are eaten by a Ohkami they are registered.
  • Provide FangAction for easy impl of Fang

Drastically update the payload system

  • Introduce Payload and PayloadType trait based on serde framework.
  • Remove #[ResponseBody]
  • Update #[Payload] to take an existing type that impls PayloadType.
  • 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 Fangs, 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

20 Feb 01:47
fe5ca95
Compare
Choose a tag to compare

Fundamental Updates

  • Add type Type: BodyType in ResponseBody and, when Type is JSON, automatically impl ResponseBody<Type = JSON> for Vec<_>, [_; _], &[_], Option<_>
  • Add type Error: IntoResponse in {Front, Back}Fang and updates their return type to Output = Result<(), Self::Error>

Other Changes

  • Response::{json_str, set_json_str}: mark as unsafe
  • Document updates

v0.14

16 Feb 00:35
609626e
Compare
Choose a tag to compare

Fundamental Changes

  • Update fangs system: asynchronous
  • Support global fangs: Ohkami::howl_with, Testing::oneshot_with

Others

  • Handler: Support any single FromParam value without tuple
  • Fix: Bug in JWT::issue
  • Upgraded documents

v0.13.0

09 Feb 00:34
ccda4cf
Compare
Choose a tag to compare

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::howlimpl {runtime}::net::ToSocketAddr instead of impl ohkami::TCPAddress.
  • Automatically set Content-Length: 0 for response if it does't have content and its status isn't 204 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

06 Feb 18:27
91385f7
Compare
Choose a tag to compare

Breaking Changes

  • #75:Remove Fang(〜) and add Fang::front, Fang::back
  • #73:Support all (non-deprecated) HTTP statuses in Status enum and typed 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

v0.11.1

04 Feb 20:11
b6d0513
Compare
Choose a tag to compare

Changed

  • Add documents
  • Fix request handling bug #68

v0.11.0

03 Feb 20:05
95fdfff
Compare
Choose a tag to compare

With type-safe handler as the core, introduced a wide range of new features