athena v0.11.0 Release Notes

Release Date: 2020-10-17 // 4 months ago
  • ๐Ÿ†• New Dependencies

    โž• Additions

    • โ†” integrates Athena::Validator into Athena
      • Provides a robust and flexible validation framework
      • See the API Docs for more information
    • ๐Ÿ‘Œ Support user defined annotation configurations
      • Allows applying/accessing custom annotations to controllers and/or action methods
      • See ART::Events::RequestAware for more information
    • โž• Adds a new ART::Events::Action event that is emitted after the Request event, but before the action is executed
      • Useful for listeners that require information about the resolved route, such as reading custom annotation configurations
    • โž• Adds a setter for the action_result property within the ART::Events::View event
      • Allows listeners to override the return value of the related controller action, such as for pagination
    • โž• Adds a wiki
      • Contains a cookbook that includes various types, such as event listeners, param converters, and exclusion strategies that may be useful to your project, but are too specific to be included in Athena itself

    ๐Ÿ”„ Changes

    • (breaking) Rename HTTP::Request#route to HTTP::Request#action

Previous changes from v0.10.0

  • ๐Ÿ†• New Dependencies

    โฌ†๏ธ Dependency Upgrades

    โž• Additions

    • โž• Add a startup log message
      • Includes the host and port the server will be listening on
    • โž• Add a POST endpoint example to the Getting Started documentation
    • โ†” Integrates Athena::Serializer into Athena
      • Supports enhanced (de)serialization features while retaining backwards compatibility with JSON::Serializable
      • See the API Docs for more information
    • โž• Adds support for Link, Unlink, and Custom HTTP verbs
    • โž• Adds ART::View annotation to configures how the endpoint should be rendered, such as:
      • The HTTP::Status response code
      • The serialization groups to use for this route as part of the Group serializer exclusion strategy
      • If nil values should be serialized or not

    ๐Ÿ”„ Changes

    • ๐Ÿ“‡ Renames ART::Route to ART::Action and ART::Action to ART::ActionBase
    • (breaking-change) Refactors the previous ART::View type to be an implementation detail
      • The controller action result within ART::Events::View is now accessed via .action_result instead of .view.data