Skip to content

Releases: athena-framework/framework

v0.19.2

31 Jul 17:34
v0.19.2
Compare
Choose a tag to compare

Added

  • Add ATH.run_console as an easier entrypoint into the console application (#413) (@Blacksmoke16)
  • Add support for additional boolean conversion values from request attributes (#422) (@Blacksmoke16)

Changed

  • Breaking: ATH::RequestMatcher::Method now requires an Array(String) as opposed to any Enumerable(String) (#431) (@Blacksmoke16)
  • Update minimum crystal version to ~> 1.13.0 (#433) (@Blacksmoke16)
  • Updates usages of UTF-8 in response headers to utf-8 as preferred by the RFC (#417) (@Blacksmoke16)

Fixed

v0.19.1

27 Apr 14:20
v0.19.1
Compare
Choose a tag to compare

Fixed

  • Fix framework component docs landing on an empty page (#399) (@Blacksmoke16)
  • Fix Athena::Clock not being aliased to the interface correctly (#400) (@Blacksmoke16)
  • Fix ATHA::View annotation being defined in incorrect namespace (#403) (@Blacksmoke16)
  • Fix ATH::ErrorRenderer not being aliased to the interface correctly (#404) (@Blacksmoke16)

v0.19.0

10 Apr 00:23
v0.19.0
Compare
Choose a tag to compare

Changed

Added

  • Support for Windows OS (#270) (@Blacksmoke16)
  • Add ATH::RequestMatcher as a generic way of matching an ATH::Request given a set of rules (#338) (@Blacksmoke16)
  • Raise an exception if a controller's return value fails to serialize instead of just returning nil (#357) (@Blacksmoke16)
  • Add support for new Crystal 1.12 Process.on_terminate method (#394) (@Blacksmoke16)

Fixed

v0.18.2

10 Oct 03:24
v0.18.2
Compare
Choose a tag to compare

Changed

  • Change routing logic to redirect GET and HEAD requests with a trailing slash to the route without one if it exists, and vice versa (#307) (@Blacksmoke16)

Added

Fixed

  • Fix incorrectly generated route paths with a controller level prefix and no action level / prefix (#308) (@Blacksmoke16)

v0.18.1

29 May 19:31
v0.18.1
Compare
Choose a tag to compare

Added

  • Add support for serializing arbitrarily nested controller action return types (#273) (@Blacksmoke16)
  • Allow using constants for controller action's path (#279) (@Blacksmoke16)

Fixed

  • Fix incorrect content-length header value when returning multi-byte strings (#288) (@Blacksmoke16)

v0.18.0

21 Feb 00:19
v0.18.0
Compare
Choose a tag to compare

Changed

Added

Fixed

v0.17.1

05 Sep 17:02
Compare
Choose a tag to compare

Changed

  • Breaking: ensure parameter names defined on interfaces match the implementation (#188) (@Blacksmoke16)

v0.17.0

14 May 21:25
Compare
Choose a tag to compare

Checkout this forum thread for an overview of changes within the ecosystem.

Added

Changed

Fixed

Routing Component Integration

11 Jan 23:15
Compare
Choose a tag to compare

New Dependencies

Removed Dependencies

Additions

Changes

  • (breaking-change) Integrate the Athena::Routing component by @Blacksmoke16 in athena-framework/athena#141
    • @[ATHA::Prefix(prefix: "/foo")] => @[ARTA::Route(path: "/foo")]

      • Prefixes no longer check parent types. Define a single ARTA::Route with the prefix on each controller
    • ATHA::* routing annotations have been replaced with ARTA::* routing annotations

    • The route path now takes trailing slashes into consideration

      • /foo is a diff route when compared to /foo/
    • The parameter syntax now uses {}

      • "/foo/:id/bar" => "/foo/{id}/bar"
    • The constraints route annotation field is now called requirements

    • The method route annotation field is now called methods

    • The default scheme when generating routes is now http when no base_uri is set

    • ATH::Exceptions::MethodNotAllowed now requires an array of valid methods as its first argument

    • Route duplication detection now solely takes the controller action name into consideration

    • Subclassing ATH::Request is no longer supported

    • (breaking-change) Remove #name, #path, #method, and #constraints from ATH::Action

Fixes