sanic

Accelerate your web app development | Build fast. Run fast.

MIT License

Downloads
1.1M
Stars
17.7K
Committers
345

Bot releases are hidden (Show)

sanic - Version 21.9.2

Published by ahopkins almost 3 years ago

  • #2268 Make HTTP connections start in IDLE stage, avoiding delays and error messages
  • #2310 More consistent config setting with post-FALLBACK_ERROR_FORMAT apply
sanic - Version 21.9.1

Published by ahopkins about 3 years ago

  • #2259 Allow non-conforming ErrorHandlers
sanic - Version 20.12.4

Published by ahopkins about 3 years ago

  • #2129 Unpin uvloop
sanic - Version 21.9.0

Published by ahopkins about 3 years ago

Version 21.9

Release Notes

Features

  • #2158, #2248 Complete overhaul of I/O to websockets
  • #2160 Add new 17 signals into server and request lifecycles
  • #2162 Smarter auto fallback formatting upon exception
  • #2184 Introduce implementation for copying a Blueprint
  • #2200 Accept header parsing
  • #2207 Log remote address if available
  • #2209 Add convenience methods to BP groups
  • #2216 Add default messages to SanicExceptions
  • #2225 Type annotation convenience for annotated handlers with path parameters
  • #2236 Allow Falsey (but not-None) responses from route handlers
  • #2238 Add exception decorator to Blueprint Groups
  • #2244 Explicit static directive for serving file or dir (ex: static(..., resource_type="file"))
  • #2245 Close HTTP loop when connection task cancelled

Bugfixes

  • #2188 Fix the handling of the end of a chunked request
  • #2195 Resolve unexpected error handling on static requests
  • #2208 Make blueprint-based exceptions attach and trigger in a more intuitive manner
  • #2211 Fixed for handling exceptions of asgi app call
  • #2213 Fix bug where ws exceptions not being logged
  • #2231 Cleaner closing of tasks by using abort() in strategic places to avoid dangling sockets
  • #2247 Fix logging of auto-reload status in debug mode
  • #2246 Account for BP with exception handler but no routes

Developer infrastructure

  • #2194 HTTP unit tests with raw client
  • #2199 Switch to codeclimate
  • #2214 Try Reopening Windows Tests
  • #2229 Refactor HttpProtocol into a base class
  • #2230 Refactor server.py into multi-file module

Miscellaneous

  • #2173 Remove Duplicated Dependencies and PEP 517 Support
  • #2193, #2196, #2217 Type annotation changes
sanic - Version 21.6.2

Published by ahopkins about 3 years ago

Bugfixes

  • #2211 Fix handling of exceptions in ASGI app call
sanic - Version 21.6.1

Published by ahopkins about 3 years ago

Bugfixes

  • #2178 Update sanic-routing to allow for better splitting of complex URI templates
  • #2183 Proper handling of chunked request bodies to resolve phantom 503 in logs
  • #2181 Resolve regression in exception logging
  • #2201 Cleanup request info in pipelined requests
sanic - Version 21.6.0

Published by ahopkins over 3 years ago

Features

  • #2094 Add response.eof() method for closing a stream in a handler
  • #2097 Allow case-insensitive HTTP Upgrade header
  • #2104 Explicit usage of CIMultiDict getters
  • #2109 Consistent use of error loggers
  • #2114 New client_ip access of connection info instance
  • #2119 Alternatate classes on instantiation for Config and Sanic.ctx
  • #2133 Implement new version of AST router
    • Proper differentiation between alpha and string param types
    • Adds a slug param type, example: <foo:slug>
    • Deprecates <foo:string> in favor of <foo:str>
    • Deprecates <foo:number> in favor of <foo:float>
    • Adds a route.uri accessor
  • #2136 CLI improvements with new optional params
  • #2137 Add version_prefix to URL builders
  • #2140 Event autoregistration with EVENT_AUTOREGISTER
  • #2146, #2147 Require stricter names on Sanic() and Blueprint()
  • #2150 Infinitely reusable and nestable Blueprint and BlueprintGroup
  • #2154 Upgrade websockets dependency to min version
  • #2155 Allow for maximum header sizes to be increased: REQUEST_MAX_HEADER_SIZE
  • #2157 Allow app factory pattern in CLI
  • #2165 Change HTTP methods to enums
  • #2167 Allow auto-reloading on additional directories
  • #2168 Add simple HTTP server to CLI
  • #2170 Additional methods for attaching HTTPMethodView

Bugfixes

  • #2091 Fix UserWarning in ASGI mode for missing __slots__
  • #2099 Fix static request handler logging exception on 404
  • #2110 Fix request.args.pop removes parameters inconsistently
  • #2107 Fix type hinting for load_env
  • #2127 Make sure ASGI ws subprotocols is a list
  • #2128 Fix issue where Blueprint exception handlers do not consistently route to proper handler

Deprecations and Removals

  • #2156 Remove config value REQUEST_BUFFER_QUEUE_SIZE
  • #2170 CompositionView deprecated and marked for removal in 21.12
  • #2172 Deprecate StreamingHTTPResponse

Developer infrastructure

  • #2149 Remove Travis CI in favor of GitHub Actions

Improved Documentation

  • #2164 Fix typo in documentation
  • #2100 Remove documentation for non-existent arguments
sanic - Version 21.3.4

Published by ahopkins over 3 years ago

Bugfixes

#2117 Add sanic-routing==0.6 with RouteGroup and resolve:

  • #2116 Access logs not properly displaying body size
  • #2103 Request body not automatically loading
  • #2101 ASGI routes not extracting body
  • #2090 Edge case on router with overloading
sanic - Version 21.3.3

Published by ahopkins over 3 years ago

NO RELEASE

sanic - Version 21.3.2

Published by ahopkins over 3 years ago

Bugfixes

  • #2081 Disable response timeout on websocket connections
  • #2085 Make sure that blueprints with no slash is maintained when applied
sanic - Version 21.3.1

Published by ahopkins over 3 years ago

Bugfixes

  • #2076 Static files inside subfolders are not accessible (404)
sanic - Version 21.3.0

Published by ahopkins over 3 years ago

Release Notes

Features

  • #1876 Unified streaming server
  • #2005 New Request.id property
  • #2008 Allow Pathlib Path objects to be passed to app.static() helper
  • #2010 #2031 New startup-optimized router
  • #2018 #2064 Listeners for main server process
  • #2032 Add raw header info to request object
  • #2042 #2060 #2061 Introduce Signals API
  • #2043 Add __str__ and __repr__ to Sanic and Blueprint
  • #2047 Enable versioning and strict slash on BlueprintGroup
  • #2053 Make get_app name argument optional
  • #2055 JSON encoder change via app
  • #2063 App and connection level context objects

Bugfixes and issues resolved

  • Resolve #1420 url_for where strict_slashes are on for a path ending in /
  • Resolve #1525 Routing is incorrect with some special characters
  • Resolve #1653 ASGI headers in body
  • Resolve #1722 Using curl in chunk mode
  • Resolve #1730 Extra content in ASGI streaming response
  • Resolve #1749 Restore broken middleware edge cases
  • Resolve #1785 #1804 Synchronous error handlers
  • Resolve #1790 Protocol errors did not support async error handlers #1790
  • Resolve #1824 Timeout on specific methods
  • Resolve #1875 Response timeout error from all routes after returning several timeouts from a specific route
  • Resolve #1988 Handling of safe methods with body
  • #2001 Raise ValueError when cookie max-age is not an integer

Deprecations and Removals

  • #2007
    • Config using from_envvar
    • Config using from_pyfile
    • Config using from_object
  • #2009 Remove Sanic test client to its own package
  • #2036 #2037 Drop Python 3.6 support
  • Request.endpoint deprecated in favor of Request.name
  • handler type name prefixes removed (static, websocket, etc)

Developer infrastructure

  • #1995 Create FUNDING.yml
  • #2013 Add codeql to CI pipeline
  • #2038 Codecov configuration updates
  • #2049 Updated setup.py to use find_packages

Improved Documentation

  • #1218 Documentation for sanic.log.* is missing
  • #1608 Add documentation on calver and LTS
  • #1731 Support mounting application elsewhere than at root path
  • #2006 Upgraded type annotations and improved docstrings and API documentation
  • #2052 Fix some examples and docs

Miscellaneous

  • Request.route property
  • Better websocket subprotocols support
  • Resolve bug with middleware in Blueprint Group when passed callable
  • Moves common logic between Blueprint and Sanic into mixins
  • Route naming changed to be more consistent
    • request endpoint is the route name
    • route names are fully namespaced
  • Some new convenience decorators:
    • @app.main_process_start
    • @app.main_process_stop
    • @app.before_server_start
    • @app.after_server_start
    • @app.before_server_stop
    • @app.after_server_stop
    • @app.on_request
    • @app.on_response
  • Fixes Allow header that did not include HEAD
  • Using "name" keyword in url_for for a "static" route where name does not exist
  • Cannot have multiple app.static() without using the named param
  • Using "filename" keyword in url_for on a file route
  • unquote in route def (not automatic)
  • routes_all is tuples
  • Handler arguments are kwarg only
  • request.match_info is now a cached (and not computed) property
  • Unknown static file mimetype is sent as application/octet-stream
  • _host keyword in url_for
  • Add charset default to utf-8 for text and js content types if not specified
  • Version for a route can be str, float, or int
  • Route has ctx property
  • App has routes_static, routes_dynamic, routes_regex
  • #2044 Code cleanup and refactoring
  • #2072 Remove BaseSanic metaclass
  • #2074 Performance adjustments in handle_request_
sanic - Version 20.12.3

Published by ahopkins over 3 years ago

Version 20.12.3

Bugfixes

  • #2021 Remove prefix from websocket handler name
sanic - Version 20.12.2

Published by ahopkins over 3 years ago

Dependencies

  • #2026 Fix uvloop to 0.14 because 0.15 drops Python 3.6 support
  • #2029 Remove old chardet requirement, add in hard multidict requirement
sanic - Version 19.12.5

Published by ahopkins over 3 years ago

Dependencies

  • #2025 Fix uvloop to 0.14 because 0.15 drops Python 3.6 support
  • #2027 Remove old chardet requirement, add in hard multidict requirement
sanic - Version 20.12.1

Published by ahopkins almost 4 years ago

Features

  • #1993 Add disable app registry
sanic - Version 20.12.0

Published by ahopkins almost 4 years ago

Version 20.12.0

Features

  • #1945 Static route more verbose if file not found
  • #1954 Fix static routes registration on a blueprint
  • #1961 Add Python 3.9 support
  • #1962 Sanic CLI upgrade
  • #1967 Update aiofile version requirements
  • #1969 Update multidict version requirements
  • #1970 Add py.typed file
  • #1972 Speed optimization in request handler
  • #1979 Add app registry and Sanic class level app retrieval

Bugfixes

  • #1965 Fix Chunked Transport-Encoding in ASGI streaming
    response

Deprecations and Removals

  • #1981 Cleanup and remove deprecated code

Developer infrastructure

  • #1956 Fix load module test
  • #1973 Transition Travis from .org to .com
  • #1986 Update tox requirements

Improved Documentation

  • #1951 Documentation improvements
  • #1983 Remove duplicate contents in testing.rst
  • #1984 Fix typo in routing.rst
sanic - Version 20.9.1

Published by ahopkins almost 4 years ago

Bugfixes

  • #1957 Removes duplicate headers in ASGI streaming body
  • #1954 Fix static route registration on blueprints
sanic - Version 19.12.3

Published by ahopkins almost 4 years ago

Bugfixes

  • #1959 Removes duplicate headers in ASGI streaming body
sanic - Version 20.9.0

Published by ahopkins about 4 years ago

Features

  • #1887 Pass subprotocols in websockets (both sanic server and ASGI)
  • #1894 Automatically set test_mode flag on app instance
  • #1903 Add new unified method for updating app values
  • #1906, #1909 Adds WEBSOCKET_PING_TIMEOUT and WEBSOCKET_PING_INTERVAL configuration values
  • #1935 httpx version dependency updated, it is slated for removal as a dependency in v20.12
  • #1937 Added auto, text, and json fallback error handlers (in v21.3, the default will change form html to auto)

Bugfixes

  • #1897 Resolves exception from unread bytes in stream

Deprecations and Removals

  • #1903 config.from_envar, config.from_pyfile, and config.from_object are deprecated and set to be removed in v21.3

Developer infrastructure

  • #1890, #1891 Update isort calls to be compatible with new API
  • #1893 Remove version section from setup.cfg
  • #1924 Adding --strict-markers for pytest

Improved Documentation

  • #1922 Add explicit ASGI compliance to the README
Package Rankings
Top 0.38% on Pypi.org
Top 4.3% on Proxy.golang.org