7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-07 08:30:48 +00:00

Merge branch 'master' into nightly

This commit is contained in:
Régis Behmo 2022-10-26 13:29:30 +02:00
commit 5419be7d31
6 changed files with 12 additions and 5 deletions

View File

@ -18,7 +18,11 @@ Every user-facing change should have an entry in this changelog. Please respect
## Unreleased
- [Improvement] use caddy `encode gzip` directive to optimize transfer size (by @ghassanmas)
## v14.1.1 (2022-10-25)
- [Deprecation] Tutor is no longer compatible with Python 3.6. (by @regisb)
- [Security] Fix xblock ajax handler vulnerability. (by @regisb)
- [Improvement] Use web proxy gzip encoding to improve bandwidth. We observe a 75% size reduction on the LMS dashboard. (by @ghassanmas)
## v14.1.0 (2022-10-10)

View File

@ -1,3 +1,4 @@
include requirements/base.in
include requirements/plugins.txt
recursive-include tutor/templates *
include tutor/py.typed

View File

@ -56,7 +56,7 @@ setup(
long_description_content_type="text/x-rst",
packages=find_packages(exclude=["tests*"]),
include_package_data=True,
python_requires=">=3.6",
python_requires=">=3.7",
install_requires=load_requirements("base.in"),
extras_require={
"full": load_requirements("plugins.txt"),
@ -68,7 +68,6 @@ setup(
"License :: OSI Approved :: GNU Affero General Public License v3",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",

View File

@ -2,7 +2,7 @@ import os
# Increment this version number to trigger a new release. See
# docs/tutor.html#versioning for information on the versioning scheme.
__version__ = "14.1.0"
__version__ = "14.1.1"
# The version suffix will be appended to the actual version, separated by a
# dash. Use this suffix to differentiate between the actual released version and

0
tutor/py.typed Normal file
View File

View File

@ -35,7 +35,10 @@ T = t.TypeVar("T")
def get_typed(
config: Config, key: str, expected_type: t.Type[T], default: t.Optional[T] = None
config: t.Dict[str, t.Any],
key: str,
expected_type: t.Type[T],
default: t.Optional[T] = None,
) -> T:
value = config.get(key, default)
if not isinstance(value, expected_type):