All Versions
9
Latest Version
Avg Release Cycle
19 days
Latest Release
224 days ago

Changelog History

  • v0.7.0

    June 09, 2019

    🆕 New Features

    Global

    • Dependency Injection/Service Layer module.
      • See the docs for additional information.
    • 🌲 Implemented Crylog as the logging framework for Athena.
      • Logs matched routes, validation/parse errors, and 500 errors by default.
      • See the docs for additional information.

    🔄 Changes

    Routing

    • 💥 breaking Param converters' convert methods are now instance methods. Also removed the ctx from the method signature.
    • 💥 breaking The handle_exception method now requires a third location parameter
    • 💥 breaking The structure of athena.yml has changed to support environment specific configuration.
      • See the docs for additional information.
    • 💥 breaking The current request/response/action is now accessed from RequestStack via DI as opposed to get_request/get_response.
      • See the docs for additional information.
  • v0.6.2

    May 22, 2019

    🆕 New Features

    Routing

    • The reuse_port option can now be used on Athena::Routing.run.
  • v0.6.1

    April 23, 2019

    🐛 Bug Fixes

    Routing

    • Only set response status to 204 no content if the response status was not changed within the action.
    • Raise a 404 not found error if the granite model was deleted.
    • 🛠 Fix issue with action handler not running when using CORS (#21)
  • v0.6.0

    April 20, 2019

    🆕 New Features

    Global

    • 👍 Crystal 0.28.0 support.

    Routing

    • Multiple ParamConverter can now be used on a route.

    🔄 Changes

    Routing

    • Route actions with a return type of Nil will return as a 204 No Content.
  • v0.5.0

    April 16, 2019

    🆕 New Features

    Global

    • 🔧 YAML based config file. Currently only used for CORS, but future configuration would live within it
    • 📄 The athena executable will be added to the project's bin/ directory on install

    Routing

    CLI

    • Commands are grouped based on the first part of the command name, separated by :
    • The -e NAME or --explain NAME can be used to get more detailed information about a given command

    🔄 Changes

    Routing

    • 💥 Breaking Controllers now are class based
    • 💥 Breaking Route actions are now instance methods

    🐛 Bug Fixes

    Routing

    • 🛠 Controller prefixes were not inherited #5
    • Leaking request/response when dealing with concurrent requests using fibers #15
  • v0.4.0

    February 27, 2019

    🆕 New Features

    Routing

    🔄 Changes

    Routing

    • 🛠 Fix issue with route params containing _id
    • 💥 Breaking Change id_type to pk_type to better reflect its purpose
  • v0.3.0

    February 06, 2019

    🆕 New Features

    Routing

    • 📄 Query Params
    • Action params can now be in any order
    • 🛠 Prefixes can be defined on controllers to add the given prefix to each actions' path.
  • v0.2.0

    January 16, 2019

    💥 Breaking Changes

    Athena is now modularized. Only require what your application needs without adding a bunch of things you dont.

    • require "athena/routing"
    • require "athena/cli"
    • Athena::Get is now Athena::Routing::Get, same for other annotations.

    🆕 New Features

  • v0.1.0

    January 07, 2019

    🎉 Initial release 💯

    📄 Checkout the docs for details.