22.9 Docs (#2556)
This commit is contained in:
parent
1c4925edf7
commit
5369291c27
9
docs/_static/custom.css
vendored
9
docs/_static/custom.css
vendored
|
@ -2,3 +2,12 @@
|
||||||
.wy-nav-top {
|
.wy-nav-top {
|
||||||
background: #444444;
|
background: #444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#changelog section {
|
||||||
|
padding-left: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#changelog section h2,
|
||||||
|
#changelog section h3 {
|
||||||
|
margin-left: -3rem;
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
📜 Changelog
|
📜 Changelog
|
||||||
============
|
============
|
||||||
|
|
||||||
|
.. mdinclude:: ./releases/22/22.9.md
|
||||||
.. mdinclude:: ./releases/22/22.6.md
|
.. mdinclude:: ./releases/22/22.6.md
|
||||||
.. mdinclude:: ./releases/22/22.3.md
|
.. mdinclude:: ./releases/22/22.3.md
|
||||||
.. mdinclude:: ./releases/21/21.12.md
|
.. mdinclude:: ./releases/21/21.12.md
|
||||||
|
|
|
@ -1,6 +1,17 @@
|
||||||
## Version 22.6.0 🔶
|
## Version 22.6.2
|
||||||
|
|
||||||
_Current version_
|
### Bugfixes
|
||||||
|
|
||||||
|
- [#2522](https://github.com/sanic-org/sanic/pull/2522) Always show server location in ASGI
|
||||||
|
|
||||||
|
## Version 22.6.1
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
- [#2477](https://github.com/sanic-org/sanic/pull/2477) Sanic static directory fails when folder name ends with ".."
|
||||||
|
|
||||||
|
|
||||||
|
## Version 22.6.0
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
- [#2378](https://github.com/sanic-org/sanic/pull/2378) Introduce HTTP/3 and autogeneration of TLS certificates in `DEBUG` mode
|
- [#2378](https://github.com/sanic-org/sanic/pull/2378) Introduce HTTP/3 and autogeneration of TLS certificates in `DEBUG` mode
|
||||||
|
|
47
docs/sanic/releases/22/22.9.md
Normal file
47
docs/sanic/releases/22/22.9.md
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
## Version 22.9.0 🔶
|
||||||
|
|
||||||
|
_Current version_
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- [#2445](https://github.com/sanic-org/sanic/pull/2445) Add custom loads function
|
||||||
|
- [#2490](https://github.com/sanic-org/sanic/pull/2490) Make `WebsocketImplProtocol` async iterable
|
||||||
|
- [#2499](https://github.com/sanic-org/sanic/pull/2499) Sanic Server WorkerManager refactor
|
||||||
|
- [#2506](https://github.com/sanic-org/sanic/pull/2506) Use `pathlib` for path resolution (for static file serving)
|
||||||
|
- [#2508](https://github.com/sanic-org/sanic/pull/2508) Use `path.parts` instead of `match` (for static file serving)
|
||||||
|
- [#2513](https://github.com/sanic-org/sanic/pull/2513) Better request cancel handling
|
||||||
|
- [#2516](https://github.com/sanic-org/sanic/pull/2516) Add request properties for HTTP method info:
|
||||||
|
- `request.is_safe`
|
||||||
|
- `request.is_idempotent`
|
||||||
|
- `request.is_cacheable`
|
||||||
|
- *See* [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) *for more information about when these apply*
|
||||||
|
- [#2522](https://github.com/sanic-org/sanic/pull/2522) Always show server location in ASGI
|
||||||
|
- [#2526](https://github.com/sanic-org/sanic/pull/2526) Cache control support for static files for returning 304 when appropriate
|
||||||
|
- [#2533](https://github.com/sanic-org/sanic/pull/2533) Refactor `_static_request_handler`
|
||||||
|
- [#2540](https://github.com/sanic-org/sanic/pull/2540) Add signals before and after handler execution
|
||||||
|
- `http.handler.before`
|
||||||
|
- `http.handler.after`
|
||||||
|
- [#2542](https://github.com/sanic-org/sanic/pull/2542) Add *[redacted]* to CLI :)
|
||||||
|
- [#2546](https://github.com/sanic-org/sanic/pull/2546) Add deprecation warning filter
|
||||||
|
- [#2550](https://github.com/sanic-org/sanic/pull/2550) Middleware priority and performance enhancements
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
- [#2495](https://github.com/sanic-org/sanic/pull/2495) Prevent directory traversion with static files
|
||||||
|
- [#2515](https://github.com/sanic-org/sanic/pull/2515) Do not apply double slash to paths in certain static dirs in Blueprints
|
||||||
|
|
||||||
|
### Deprecations and Removals
|
||||||
|
|
||||||
|
- [#2525](https://github.com/sanic-org/sanic/pull/2525) Warn on duplicate route names, will be prevented outright in v23.3
|
||||||
|
- [#2537](https://github.com/sanic-org/sanic/pull/2537) Raise warning and deprecation notice on duplicate exceptions, will be prevented outright in v23.3
|
||||||
|
|
||||||
|
### Developer infrastructure
|
||||||
|
|
||||||
|
- [#2504](https://github.com/sanic-org/sanic/pull/2504) Cleanup test suite
|
||||||
|
- [#2505](https://github.com/sanic-org/sanic/pull/2505) Replace Unsupported Python Version Number from the Contributing Doc
|
||||||
|
- [#2530](https://github.com/sanic-org/sanic/pull/2530) Do not include tests folder in installed package resolver
|
||||||
|
|
||||||
|
### Improved Documentation
|
||||||
|
|
||||||
|
- [#2502](https://github.com/sanic-org/sanic/pull/2502) Fix a few typos
|
||||||
|
- [#2517](https://github.com/sanic-org/sanic/pull/2517) [#2536](https://github.com/sanic-org/sanic/pull/2536) Add some type hints
|
|
@ -72,7 +72,8 @@ def get_ssl_context(
|
||||||
"without passing a TLS certificate. If you are developing "
|
"without passing a TLS certificate. If you are developing "
|
||||||
"locally, please enable DEVELOPMENT mode and Sanic will "
|
"locally, please enable DEVELOPMENT mode and Sanic will "
|
||||||
"generate a localhost TLS certificate. For more information "
|
"generate a localhost TLS certificate. For more information "
|
||||||
"please see: ___."
|
"please see: https://sanic.dev/en/guide/deployment/development."
|
||||||
|
"html#automatic-tls-certificate."
|
||||||
)
|
)
|
||||||
|
|
||||||
creator = CertCreator.select(
|
creator = CertCreator.select(
|
||||||
|
@ -151,7 +152,8 @@ class CertCreator(ABC):
|
||||||
raise SanicException(
|
raise SanicException(
|
||||||
"Sanic could not find package to create a TLS certificate. "
|
"Sanic could not find package to create a TLS certificate. "
|
||||||
"You must have either mkcert or trustme installed. See "
|
"You must have either mkcert or trustme installed. See "
|
||||||
"_____ for more details."
|
"https://sanic.dev/en/guide/deployment/development.html"
|
||||||
|
"#automatic-tls-certificate for more details."
|
||||||
)
|
)
|
||||||
|
|
||||||
return creator
|
return creator
|
||||||
|
@ -203,7 +205,8 @@ class MkcertCreator(CertCreator):
|
||||||
"to proceed. Installation instructions can be found here: "
|
"to proceed. Installation instructions can be found here: "
|
||||||
"https://github.com/FiloSottile/mkcert.\n"
|
"https://github.com/FiloSottile/mkcert.\n"
|
||||||
"Find out more information about your options here: "
|
"Find out more information about your options here: "
|
||||||
"_____"
|
"https://sanic.dev/en/guide/deployment/development.html#"
|
||||||
|
"automatic-tls-certificate"
|
||||||
) from e
|
) from e
|
||||||
|
|
||||||
def generate_cert(self, localhost: str) -> ssl.SSLContext:
|
def generate_cert(self, localhost: str) -> ssl.SSLContext:
|
||||||
|
@ -260,7 +263,8 @@ class TrustmeCreator(CertCreator):
|
||||||
"to proceed. Installation instructions can be found here: "
|
"to proceed. Installation instructions can be found here: "
|
||||||
"https://github.com/python-trio/trustme.\n"
|
"https://github.com/python-trio/trustme.\n"
|
||||||
"Find out more information about your options here: "
|
"Find out more information about your options here: "
|
||||||
"_____"
|
"https://sanic.dev/en/guide/deployment/development.html#"
|
||||||
|
"automatic-tls-certificate"
|
||||||
)
|
)
|
||||||
|
|
||||||
def generate_cert(self, localhost: str) -> ssl.SSLContext:
|
def generate_cert(self, localhost: str) -> ssl.SSLContext:
|
||||||
|
|
|
@ -734,8 +734,7 @@ class StartupMixin(metaclass=SanicMeta):
|
||||||
except IndexError:
|
except IndexError:
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
f"No server information found for {primary.name}. Perhaps you "
|
f"No server information found for {primary.name}. Perhaps you "
|
||||||
"need to run app.prepare(...)?\n"
|
"need to run app.prepare(...)?"
|
||||||
"See ____ for more information."
|
|
||||||
) from None
|
) from None
|
||||||
|
|
||||||
socks = []
|
socks = []
|
||||||
|
|
|
@ -113,13 +113,16 @@ def configure_socket(
|
||||||
backlog=backlog,
|
backlog=backlog,
|
||||||
)
|
)
|
||||||
except OSError as e: # no cov
|
except OSError as e: # no cov
|
||||||
raise ServerError(
|
error = ServerError(
|
||||||
f"Sanic server could not start: {e}.\n"
|
f"Sanic server could not start: {e}.\n\n"
|
||||||
"This may have happened if you are running Sanic in the "
|
"This may have happened if you are running Sanic in the "
|
||||||
"global scope and not inside of a "
|
"global scope and not inside of a "
|
||||||
'`if __name__ == "__main__"` block. See more information: '
|
'`if __name__ == "__main__"` block.\n\nSee more information: '
|
||||||
"____."
|
"https://sanic.dev/en/guide/deployment/manager.html#"
|
||||||
) from e
|
"how-sanic-server-starts-processes\n"
|
||||||
|
)
|
||||||
|
error.quiet = True
|
||||||
|
raise error
|
||||||
sock.set_inheritable(True)
|
sock.set_inheritable(True)
|
||||||
server_settings["sock"] = sock
|
server_settings["sock"] = sock
|
||||||
server_settings["host"] = None
|
server_settings["host"] = None
|
||||||
|
|
|
@ -44,7 +44,9 @@ class SharedContext(SimpleNamespace):
|
||||||
f"{Colors.YELLOW}with type {Colors.PURPLE}{type(value)} "
|
f"{Colors.YELLOW}with type {Colors.PURPLE}{type(value)} "
|
||||||
f"{Colors.YELLOW}was added to shared_ctx. It may not "
|
f"{Colors.YELLOW}was added to shared_ctx. It may not "
|
||||||
"not function as intended. Consider using the regular "
|
"not function as intended. Consider using the regular "
|
||||||
f"ctx. For more information, please see ____.{Colors.END}"
|
f"ctx.\nFor more information, please see https://sanic.dev/en"
|
||||||
|
"/guide/deployment/manager.html#using-shared-context-between-"
|
||||||
|
f"worker-processes.{Colors.END}"
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
Loading…
Reference in New Issue
Block a user