Changelog

版本19.6

  • 变化:

    • #1562删除aiohtp依赖项,并根据异步请求创建新的sanictestclient。

    • #1475增加了ASGi支持(beta)

    • #1436从对象字符串添加配置支持

    • #1544删除对distutil的依赖

  • 修正:

    • #1587为Expect头添加缺少的句柄。

    • #1560允许禁用传输编码:分块。

    • #1558修复正常关机。

    • #1594严格的斜杠行为修复

  • 折旧:

    • #1562对python 3.5的Drop支持

    • #1568取消预测路线删除。

注意:SANIC不支持19.6版和更高版本的python 3.5。但是,版本18.12LTS的支持期将延长到2020年12月,因此将通过Python的官方支持版本3.5,该版本将于2020年9月到期。

版本19.3

  • 变化:

    • #1497为多部分/表单数据请求添加对零长度和RFC 5987编码文件名的支持。

    • #1484 sanic.cookies.cookie的expires属性类型现在强制为datetime类型。

    • #1482添加对sanic.sanic.add_route()的流参数的支持,该参数可用于sanic.blueprint.add_route()。

    • #1481接受int或number类型的路由参数的负值。

    • #1476不赞成使用sanic.request.request.raw参数-它有一个基本缺陷,即删除重复的查询字符串参数。添加sanic.request.request.query参数作为原始用例的替换。

    • #1472删除不需要的无签入请求类repr实现。这会将请求的默认repr从<request>更改为<request:none/>

    • #1470向sanic.app.sanic.create_服务器添加了2个新参数:

      • return_asyncio_server-是否返回asyncio.server。

      • asyncio_server_kwargs-要传递给loop的kwargs。为sanic正在使用的事件循环创建u server。

      这是一个突破性的变化。

    • #1499添加了一组测试用例,用于测试和基准路由解析。

    • #1457 sanic.cookies.cookie中“max age”值的类型现在强制为整数。非整数值替换为0。

    • #1445向传入请求添加了endpoint属性,其中包含处理程序函数的名称。

    • #1423改进了请求流。现在,request.stream是一个绑定大小的缓冲区,而不是一个未绑定的队列。调用方现在必须调用await request.stream.read()而不是await request.stream.get()来读取主体的每个部分。

      这是一个突破性的变化。

  • 修正:

    • #1502 SANIC正在预取time.time()并每秒更新一次以避免过多的time.time()调用。在某些情况下,这种实现会导致内存泄漏。预取的好处似乎微乎其微,因此已将其删除。修复1500

    • #1501修复进程作为模块启动时自动重新加载程序中的错误,即python-m init0.mod1,其中sanic服务器在init0/mod1.py中启动,启用调试,并在init0中导入另一个模块。

    • #1376允许sanic测试客户端在构造sanic test client时通过指定port=none绑定到随机端口

    • #1399增加了在蓝图组上指定中间件的功能,这样从该组中的蓝图生成的所有路由都应用了中间件。

    • #1442允许use the sanic_access_log环境变量在未显式传递给app.run()时启用/禁用访问日志。这允许禁用访问日志,例如通过gunicorn运行时。

  • 开发人员基础设施:

    • #1529更新项目PYPI凭据

    • #1515修复导致Travis构建失败的过梁问题(修复1514)

    • #1490在文档构建中修复python版本

    • #1478升级setuptools版本并在文档生成中使用本机docutils

    • #1464升级pytest,修复caplog单元测试

  • 打字错误和文件:

    • #1516修复异常文档中的拼写错误

    • #1510修复异步输入错误示例

    • #1486文件打字错误

    • #1477修复readme.md中的语法

    • #1489将“数据库”添加到扩展列表中

    • #1483在扩展列表中添加Sanic Zipkin

    • #1487从扩展列表中删除了指向已删除repo、sanic oauth的链接

    • #1460 18.12变更日志

    • #1449添加修改请求对象示例

    • #1446更新自述文件

    • #1444更新自述文件

    • #1443更新自述文件,包括新徽标

    • #1440修复次要类型和PIP安装指令不匹配

    • #1424文档增强

注:出于包装目的跳过了19.3.0,未在PYPI上发布。

版本18.12

  • 变化:

    • 代码库测试覆盖率从81%提高到91%。

    • 在静态文件文档中添加了流文件和主机示例

    • 根据要求添加附加和完成正文内容的方法(1379)

    • 与.appveyor.yml集成以支持Windows CI

    • 添加了有关af-inet6和af-unix套接字使用的文档

    • 代码样式采用黑色/isort

    • 连接丢失时取消任务

    • 简化请求IP和端口检索逻辑

    • 在加载配置文件中处理配置错误。

    • 与用于CI的codecov集成

    • 为配置部分添加丢失的文档。

    • 取消预测handler.log

    • 版本0.0.10的固定httptools要求+

  • 修正:

    • 修复移除实体头助手函数(1415)

    • 修复typeerror使用bluenture.group()将bluenture分组为默认的url_前缀时,请使用os.path.normpath以避免无效的url_前缀,如api//v1 f8a6af1将http模块重命名为helpers以防止与内置的python http库发生冲突(修复1323)

    • 在Windows上修复单元测试

    • 固定SANIC记录器的名称间距

    • 修复decorator示例中缺少的引号

    • 修复带引用参数的重定向

    • 最新蓝图代码的修复文档

    • 修复与降价列表相关的 Latex 文档的构建

    • 在 app.py 中修复循环异常处理

    • 修复Windows和其他平台中的内容长度不匹配

    • 修复静态文件的范围头处理(1402)

    • 修复记录器并使其工作(1397)

    • fix-type pikcle->pickle-in-multiprocessing测试

    • 修复pickle blueprints更改在blueprint中name的“name”部分中传递的字符串,以匹配blueprint模块属性名的名称。这允许对蓝图进行pickle和unpickle,而不会出现错误,这是在Windows中以多处理模式运行SANIC的要求。添加了一个关于酸洗和解压蓝图的测试,添加了一个关于酸洗和解压SANIC本身的测试,添加了一个关于在带有蓝图的应用程序上启用多处理的测试(只有在Windows上运行测试时才有助于捕获此错误)。

    • 修复用于日志记录的文档

版本0.8

0.8.3

  • 变化:

    • 所有权变为组织“巨大成功”

0.8.0

  • 变化:

    • 添加服务器发送的事件扩展(innokenty lebedev)

    • 请求处理程序任务取消的优雅处理(Ashley Sommer)

    • 重定向前清理URL(aveao)

    • 向请求添加url_字节(johndoe46)

    • PY37支持Travisci(云斯坦福)

    • OSX(Garyo)的自动重新加载支持

    • 添加UUID路由支持(Volodymyr Maksymiv)

    • 添加可暂停的响应流(Ashley Sommer)

    • 将weakref添加到请求槽(vopankov)

    • 将Ubuntu 12.04从测试夹具中移除(Yunsford)

    • 允许在附加路由(Kinware)中使用流处理程序

    • 使用Travis_retry治疗毒性(Raphael认为)

    • 为测试客户端(yunsford)更新aiohttp版本

    • 为清晰起见添加重定向导入(yingshaoxo)

    • 更新HTTP实体头(arnulfo sol_s)

    • 添加寄存器侦听器方法(Stephan Fitzpatrick)

    • 删除Windows的uvloop/ujson依赖项(abuckenheimer)

    • 204/304响应上的内容长度标题(Arnulfo Sol_s)

    • 扩展WebSocketProtocol参数并添加文档(Bob Olde Hampsink,Yunsford)

    • 将开发状态从pre-alpha更新为beta(maksim anisenkov)

    • keepalive timout日志级别更改为debug(arnulfo sol_s)

    • 由于Pytest dev/Pytest 3170(Maksim Aniskenov),将Pytest固定到3.3.2

    • 将python 3.5和3.6安装在docker容器上进行测试(shahin azad)

    • 添加对蓝图组和嵌套的支持(elias tarhini)

    • 删除Windows安装程序的uvloop(aleksandr kurlov)

    • 自动重新加载(Yaser Amari)

    • 文档更新/修复(多个贡献者)

  • 修正:

    • 修复:在Linux中自动重新加载(Ashley Sommer)

    • 修复:aiohtp>3.3.0(ashley-sommer)的中断测试

    • 修复:在Windows上默认禁用自动重新加载(abuckenheimer)

    • 修复(1143):使用gunicorn(hqy)关闭访问日志

    • 修复(1268):支持文件响应的状态代码(Cosmo Borsky)

    • 修复(1266):将content_-type标志添加到sanic.static(cosmo borsky)

    • 修复:添加websocket路由(ciscorn)中缺少子协议参数

    • fix(1242):CI头响应(云斯坦福)

    • fix(1237):为websockets添加版本约束(yunsford)

    • 修复(1231):内存泄漏-始终释放资源(Phillip Xu)

    • 修正(1221):如果存在运输,提出请求真实(拉斐尔认为)

    • 修复aiohttp>=3.1.0(ashley sommer)的失败测试

    • 修复“尝试一切”示例(pymaniacgr,kot83)

    • 修复(1158):默认为在调试模式下自动重新加载(Raphael认为)

    • 修复(1136):errorhandler.response handler调用太严格(Julien Castiaux)

    • 修复:raw需要像object(cloudship)这样的字节

    • 修复(1120):将列表传递给路由装饰器的主机arg(timothy ebiuwhe)

    • 修复:多部分/表单数据分析器(dirkguijt)中的错误

    • 修复:值为空时缺少参数的异常(nyankiyoshi)

    • Fix:参数检查(Howie Hu)

    • Fix(1089):带有命名参数和不同方法的路由问题(Yunsford)

    • Fix(1085):多工模式下的信号处理(云斯坦福)

    • 修复:readme.rst(cosven)中的单引号

    • 修正:方法错误(dmitry dygalo)

    • 修正:记录IP和端口的响应正确输出(wibowo arindrarto)

    • 修复(1042):异常处理(Raphael认为)

    • 修复:中文uris(howie hu)

    • 修正(1079):self.transport为none时的超时错误(Raphael认为)

    • 修正(1074):修正路线有斜线时的严格斜线(拉斐尔认为)

    • 修复(1050):将Samesite cookie添加到cookie键中(Raphael认为)

    • 修复(1065):允许在服务器启动后添加任务(Raphael认为)

    • 修正(1061):未经授权的例外中的双引号(拉斐尔认为)

    • 修复(1062):在添加任务方法中注入应用程序(Raphael认为)

    • 修复:更新environment.yml以读取docs(eli uriegas)

    • 修正:触发响应超时时取消请求任务(jeong yunwon)

    • 修正(1052):不允许对符合RFC7231的方法作出响应(Raphael认为)

    • 修正:ipv6地址和套接字数据格式(dan palmer)

注意:变更日志在0.1和0.7之间未维护

版本0.1

  • 0.1.7

  • 颠倒静态URL和目录参数以满足规范

  • 0.1.6

  • 静态文件

  • 延迟加载cookie

  • 0.1.5

  • Cookies

  • 蓝图侦听器和排序

  • 快速路由器

  • 修复:中等大小的日志请求的文件读取不完整

  • 打破:在开始后和停止前,现在把 sanic 作为他们的第一个参数。

  • 0.1.4

  • 多重处理

  • 0.1.3

  • 蓝图支持

  • 更快的响应处理

  • 0.1.1-0.1.2

  • 努力通过CI更新pypi

  • 0.1.0

  • 向公众发布