- 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.