Roll changelog
A changelog:
- is breaking-change-oriented
- links to related issues
- is concise
Analogy: git blame :p
0.13.0 - 2021-05-18
- Breaking change:
request
event is now sent after the URL matching and the HTTP verb check, please use the newheaders
event for these use cases.
- Added new
headers
event, to hook after request headers have been read, but before the request body has been consumed. (#227) - Added method
Request.read()
to load and consume request body in one call
0.12.4 - 2020-12-03
- Python 3.9 support
0.12.3 - 2020-07-21
- Added
credentials
parameter tocors
extension, to deal withAccess-Control-Allow-Credentials
header (#155)
0.12.2 - 2020-06-22
0.12.1 - 2020-06-22
- Fixed request not properly drained in case of error (#138)
- Moved
app.url_for
helper to a dedicated extension:named_url
(#143) - Added
request.referrer
andrequest.origin
shortcuts (#147)
0.12.0 - 2020-06-14
- Added
app.url_for
helper (#136) - Added
response.redirect
shortcut (#134) - Fixed URL not quoted in testing utility
- Added
default_index
tostatic
extension (#95) - Added support for streamed responses (#89)
- Added support for async reading of request body (#89)
Request.json
is now cached (#90)
0.11.0 - 2019-05-07
- Breaking change:
- Removed python 3.5 support (#81)
- Added support for class-based views (#80)
- Added support for chunked response (#81)
0.10.0 - 2018-11-08
- python 3.7 compatibility (bump websockets and biscuits packages) (#69)
- uvloop is not a dependency anymore (but you should still use it!): need was to allow installing Roll without uvloop is some envs, and to let the users define the uvloop version they want to use (#68)
Request.method
isNone
by default (#67)- allow to use
methods=*
incors
extension (#65)
0.9.1 - 2018-06-11
- Do not try to write on a closed transport (#58)
0.9.0 - 2018-06-04
- Breaking changes:
Request.route
is now always set, butRequest.route.payload
isNone
when path is not found. This allows to catch a not found request in therequest
hook. Note: if therequest
hook does not return a response, a 404 is still automatically raised. (#45)
- Added
request.host
shortcut (#43) - Introduced protocol upgrade and protocol configuration for routes. Two protocols are shipped by default : HTTP and Websocket (#54).
- The route is now resolved as soon as the URL has been parsed. In addition, the
route lookup method has been split up from the application
__call__
method, to allow easy override (#54). - Testing: now build a proper request instead of calling callbacks by hand (#54).
0.8.0 - 2017-12-11
- Breaking changes:
Request
andResponse
classes now takeapp
as init parameter. It allows lazy parsing of the query while keeping theQuery
class reference onRoll
application. (#35)
- Added support for request body parsing through multifruits (#38)
0.7.0 - 2017-11-27
- Breaking changes:
Query
,Request
andResponse
are not anymore attached to theProtocol
class. They are now declared at theRoll
class level. It allows easier subclassing and customization of these parts. (#30)- Removed Request.kwargs in favor of inheriting from dict, to store user data in a separate space (#33)
- Request headers are now normalized in upper case, to work around inconsistent casing in clients (#24)
- Only set the body and Content-Length header when necessary (#31)
- Added
cookies
support (#28)
0.6.0 — 2017-11-22
- Breaking changes:
- Changed
Roll.hook
signature to also accept kwargs (#5) json
shorcut setsutf-8
charset inContent-Type
header (#13)- Added
static
extension to serve static files for development (#16) cors
acceptsheaders
parameter to controlAccess-Control-Allow-Headers
(#12)- Added
content_negociation
extension to reject unacceptable client requests based on theAccept
header (#21) - Allow to set multiple
Set-Cookie
headers (#23)
0.5.0 — 2017-09-21
- Breaking change:
order of parameters in events is always
request
,response
and optionnalyerror
if any, in that particular order. - Add documentation.
- Move project to Github.
0.4.0 — 2017-09-21
- Breaking change:
routes placeholder syntax changed from
:parameter
to{parameter}
- Switch routes from kua to autoroutes for performances.
0.3.0 — 2017-09-21
- Breaking change:
cors
extension parameter is no longervalue
butorigin
- Improve benchmarks and overall performances.
0.2.0 — 2017-08-25
- Resolve HTTP status only at response write time.
0.1.1 — 2017-08-25
- Fix
setup.py
.
0.1.0 — 2017-08-25
- First release