All Versions
46
Latest Version
Avg Release Cycle
42 days
Latest Release
1667 days ago

Changelog History
Page 2

  • v0.17.4 Changes

    January 06, 2019

    ๐Ÿ›  Fixed

    • โš  Dialyzer warning from Raxx.Router.section/2 macro fixed.
  • v0.17.3 Changes

    November 22, 2018

    โž• Added

    • Raxx.Router.section/2 for defining routes that have a middleware stack.
    • 0๏ธโƒฃ Using macro for Raxx.Middleware that adds default implementations for each callback.
  • v0.17.2 Changes

    November 13, 2018

    โž• Added

    • ๐Ÿ‘Œ Support eex_html versions 0.1.x and 0.2.x.
  • v0.17.1 Changes

    November 01, 2018

    โž• Added

    • Raxx.Middleware to develop composable components for common server functionality.
    • Raxx.Stack module to combine middlewares are server modules.
  • v0.17.0 Changes

    October 28, 2018

    โž• Added

    • Raxx.SimpleServer behaviour for servers that only need a handle_request/2 callback. using Raxx.SimpleServer automatically implements Raxx.Server so the module can be used in a service.

    ๐Ÿ”„ Changed

    • โš  use Raxx.Server issues a warning if the module implements handle_request/2, it is expected that such servers will make use of the new Raxx.SimpleServer.
    • Raxx.set_header/2 raises an ArgumentError when setting host headers.
    • ArgumentError is raised instead of RuntimeError in cases of bad headers and body content.
    • Raxx.set_body/2 raises an ArgumentError for GET and HEAD requests.

    โœ‚ Removed

    • Raxx.is_application?, use Raxx.Server.verify_server instead.
    • Raxx.verify_application, use Raxx.Server.verify_server instead.
    • Raxx.Server.is_implemented?, use Raxx.Server.verify_server instead.
  • v0.16.1 Changes

    September 19, 2018

    ๐Ÿ›  Fixed

    • ๐Ÿ— Raxx.NotFound was incorrectly building body for handle_request callback.
  • v0.16.0 Changes

    September 12, 2018

    โž• Added

    • :maximum_body_length options when using Raxx.Server so protect against bad clients.
    • Raxx.set_content_length/3 to set the content length of a request or response.
    • Raxx.get_content_length/2 to get the integer value for the content length of a message.
    • ๐Ÿ’ป Raxx.set_attachment/2 helper to tell the browser the response should be stored on disk rather than displayed in the browser.
    • Raxx.safe?/1 to check if request method marks it as safe.
    • Raxx.idempotent?/1 to check if request method marks it as idempotent.
    • Raxx.get_query/1 replacement for Raxx.fetch_query/1 because it never returns error case.

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ป Raxx.set_body/2 will raise an exception for responses that cannot have a body.
    • Raxx.set_body/2 automatically adds the "content-length" if it is able.
    • Requests and Responses now work with iodata.
      • Raxx.body spec changed to include iodata.
      • Improved error message when using invalid iolist in a view.
      • Raxx.NotFound works with iodata for temporary body during buffering.
      • render function generated by Raxx.View sets body to iodata from view, without turning into a binary.
    • Raxx.set_header/2 now raises when setting connection specific headers.

    โœ‚ Removed

    • ๐Ÿ“ฆ EEx.HTML replaced by EExHTML from the eex_html hex package.
    • Raxx.html_escape/1 replaced by EExHTML.escape_to_binary/1.

    ๐Ÿ›  Fixed

    • ๐Ÿ“œ Raxx.HTTP1.parse_request/1 and Raxx.HTTP1.parse_response/1 handle more error cases.
      • response/request sent when request/response expected.
      • multiple "host" headers in message.
      • invalid "content-length" header.
      • multiple "content-length" headers in message.
      • invalid "connection" header.
      • multiple "connection" headers in message.
  • v0.15.11 Changes

    September 04, 2018

    โž• Added

    • Raxx.View.javascript_variables/1 to safely inject values into the JavaScript of a template.
  • v0.15.10 Changes

    September 03, 2018

    ๐Ÿ›  Fixed

    • Raxx.HTTP1 to handle case insensitive connect headers.
  • v0.15.9 Changes

    September 02, 2018

    โž• Added

    • Raxx.View to generate render functions from eex templates.
    • Raxx.Layout generate views from a reusable layout and set of helpers.
    • EEx.HTML, EEx.HTML.Safe and EEx.HTMLEngine. These are temporary additions, used to provide HTML escaping in view and layout modules. They will be moved to eex or a new project before 1.0.