hug v2.3.0 Release Notes

Release Date: 2017-05-04 // almost 7 years ago
    • โฌ†๏ธ Falcon requirement upgraded to 1.2.0
    • ๐Ÿ“š Enables filtering documentation according to a base_url
    • ๐Ÿ›  Fixed a vulnerability in the static file router that allows files in parent directory to be accessed
    • ๐Ÿ›  Fixed issue #392: Enable posting self in JSON data structure
    • ๐Ÿ›  Fixed issue #418: Ensure version passed is a number
    • ๐Ÿ›  Fixed issue #399: Multiple ints not working correctly for CLI interface
    • ๐Ÿ›  Fixed issue #461: Enable async startup methods running in parallel
    • ๐Ÿ›  Fixed issue #412: None type return for file output format
    • ๐Ÿ›  Fixed issue #464: Class based routing now inherit templated parameters
    • ๐Ÿ›  Fixed issue #346: Enable using async routes within threaded server
    • ๐Ÿ‘ Implemented issue #437: Added support for anonymous APIs
    • โž• Added support for exporting timedeltas to JSON as seconds
    • โž• Added support for endpoint-specific input formatters: ```python def my_input_formatter(data): return ('Results', hug.input_format.json(data))

    @hug.get(inputs={'application/json': my_input_formatter}) def foo(): pass

    - โž• Adds support for passing in a custom scheme in hug.test
    - โž• Adds str() and repr() support to hug_timer directive
    - โž• Added support for moduleless APIs
    - ๐Ÿ‘Œ Improved argparser usage message
    - Implemented feature #427: Allow custom argument deserialization together with standard type annotation
    - ๐Ÿ‘Œ Improvements to exception handling.
    - โž• Added support for request / response in a single generator based middleware function
    - ๐Ÿ‘ Automatic reload support for development runner
    - โž• Added support for passing `params` dictionary and `query_string` arguments into hug.test.http command for more direct modification of test inputs
    - โž• Added support for manual specifying the scheme used in hug.test calls
    - ๐Ÿ‘Œ Improved output formats, enabling nested request / response dependent formatters
    - ๐Ÿ’ฅ Breaking Changes
        - Sub output formatters functions now need to accept response & request or **kwargs
        - Fixed issue #432: Improved ease of sub classing simple types - causes type extensions of types that dont take to __init__
                            arguments, to automatically return an instanciated type, beaking existing usage that had to instanciate
                            after the fact
        - Fixed issue #405: cli and http @hug.startup() differs, not executed for cli, this also means that startup handlers
          are given an instance of the API and not of the interface.