Kemal is a Fast, Simple, Effective web framework written in Crystal.

Hello everyone,

Kemal 0.20.0 is here :tada: This release brings more modularity and performance :rocket:

Crystal 0.23.0 support ✨

The latest Crystal 0.23.0 release is already supported by Kemal. Just update your shard.yml to use Kemal 0.20.0 :sunglasses:

dependencies:
  kemal:
    github: kemalcr/kemal
    version: 0.20.0

Customizable Handlers :clap:

Great news everyone 🎉 All handlers are now completely customizable!. Use the default Kemal handlers or go wild to build your own custom framework, it’s all up to you ⛏

# Don't forget to add `Kemal::RouteHandler::INSTANCE` or your routes won't work!
Kemal.config.handlers = [Kemal::InitHandler.new, YourHandler.new, Kemal::RouteHandler::INSTANCE]

You can also insert a handler into a specific position.

# This adds MyCustomHandler instance to 1 position. Be aware that the index starts from 0.
add_handler MyCustomHandler.new, 1

Thanks for using and supporting Kemal. You can check the full CHANGELOG here.

P.S: You can support Kemal development via Patreon :pray:

Happy Crystalling :heart: