Changelog¶
0.12.18 (2023-07-01)¶
限制
pydantic<2
0.12.17 (2023-06-28)¶
移除对
_request_ctx_stack
的依赖
0.12.16 (2023-02-19)¶
项目生成的依赖文件Flask-SQLAlchemy的最小版本为3.0.2
table2model: 生成的类默认带有
__table_args__ = {'implicit_returning': False}
,避免使用Hologres等部分数据库时commit session报错
0.12.15 (2022-10-23)¶
限制PyJWT<2.6.0,避免可能出现iat验证错误
0.12.14 (2022-08-01)¶
限制setproctitle<1.3,修复启动崩溃问题
0.12.13 (2022-07-30)¶
适配Werkzeug 2.2
0.12.12 (2021-11-19)¶
query参数支持pydantic BaseModel
0.12.11 (2021-11-09)¶
修复has_role
0.12.10 (2021-09-11)¶
修复检查RequestBody类型时的异常
0.12.9 (2021-08-12)¶
RequestBody支持
bytes
类型参数自动生成的配置文件添加
JSON_AS_ASCII = False
移除
ip_address
配置项
0.12.8 (2021-04-30)¶
DataModel
兼容BaseModel
的from_orm
方法
0.12.7 (2021-04-27)¶
新增
RequestValidationError
支持用户统一捕获解析请求参数时产生的错误
0.12.6 (2021-04-23)¶
移除ServiceLock功能
0.12.5 (2021-04-22)¶
默认使用
GeventScheduler
0.12.4 (2021-04-19)¶
添加健康检查接口
GET /health
0.12.3 (2021-04-15)¶
对时间类型的参数的格式化改由pydantic内置的函数实现
0.12.2 (2021-04-09)¶
修复current_user的递归调用错误
0.12.1 (2021-04-08)¶
修复stop命令
0.12.0 (2021-04-08)¶
移除服务发现功能,改由k8s支持
0.11.15 (2021-03-30)¶
非后台运行状态下,默认日志输出到控制台
0.11.14 (2021-03-24)¶
修复bean加载过程中可能会访问
@blueprint
中定义的@property
的问题
0.11.13 (2021-03-12)¶
添加
head_route
装饰器
0.11.12 (2021-03-04)¶
修复在未定义
config_key
时Consul拉取应用配置的错误
0.11.11 (2021-03-04)¶
配置文件支持yaml、json格式
支持从Consul拉取应用配置,同时会覆盖本地已有的配置
移除
app_id
配置项,健康检查接口改为核对应用名称
0.11.10 (2021-02-01)¶
集成pydantic,DataModel继承pydantic的BaseModel
项目模版生成
__version__
,用于标识应用版本
0.11.9 (2021-01-25)¶
修复自动映射数据类型时对None值的处理
0.11.8 (2021-01-22)¶
修复由build引起的无法识别builtin参数类型的问题
0.11.7 (2021-01-18)¶
修复setup.py中的依赖信息
0.11.6 (2021-01-18)¶
修复未指定算法时JwtManager可能无法正常解码token的问题
新增build命令,将项目py文件编译为so文件
0.11.5 (2021-01-11)¶
自动推断项目名称时支持项目名包含大写字母
修复部分情况下table2model生成的代码缺少引入依赖的问题
table2model支持在不加载app的前提下仅依赖于配置文件实现数据模型的生成
新增
app_id
配置项,默认填充为应用指定的唯一标识新增
ip_address
配置项,默认填充获取的本机IP地址,用于服务注册等功能
0.11.4 (2020-11-18)¶
BaseModelMixin:
to_dict
不再默认递归映射relationship,通过include
参数指定处理哪些relationshiptable2model: 优化了判断one-to-one关系的方法; 在定义one-to-one和one-to-many关系时用
back_populates
取代backref
0.11.3 (2020-11-12)¶
提供以对象形式存储数据的基类
DataModel
去掉生成的py文件中的encoding注释
0.11.2 (2020-11-07)¶
BaseModelMixin:
from_dict
、to_dict
、update_by_dict
支持递归,update_by_dict
暂时不支持更新list形式的字段修复jwt配置模版中抽取authorization header的bug
0.11.1 (2020-11-05)¶
支持构建测试应用时自动推断项目的根目录
0.11.0 (2020-11-05)¶
项目依赖默认不再生成PyMySQL,用户可根据实际使用的数据库选择合适的依赖
BaseModelMixin声明query的类型
提供接口级别单元测试方案
移除oauth2相关功能,后续身份认证、授权等相关功能将基于Keycloak实现
current_user
的定义移动到guniflask.security
模块中内置配置项
project_name
更名为app_name
,环境变量配置项GUNIFLASK_PROJECT_NAME
更名为GUNIFLASK_APP_NAME
0.10.0 (2020-10-19)¶
manage现在可以在任何路径下运行
debug模式下会融合对
reload_extra_files
的默认配置和自定义配置gunicorn配置恢复默认使用gevent worker
暂时移除对ASGI的相关支持,包括websocket
修复
from guniflask.config import Settings
的引用错误
0.9.2 (2020-09-17)¶
新增
guniflask_cli.workers.UvicornWorker
解决uvicorn提供的worker中存在的问题:(1) debug模式下worker无法reload;(2) 父进程退出后worker没有退出
0.9.1 (2020-09-16)¶
修复未加载gunicorn配置的错误
0.9.0 (2020-09-16)¶
提供基于类型和默认值为视图函数注入request参数(query、body、file、form、header、cookie)的机制
通过.env文件设置环境变量,移除原有和环境变量配置相关的shell文件
新增
@condition_on_setting
,基于配置项是否存在控制是否初始化实例移除initdb命令
table2model取消了只支持MySQL的限制
gunicorn worker默认使用
uvicorn.workers.UvicornWorker
支持websocket
0.8.9 (2020-08-20)¶
非daemon模式默认不再生成PID文件(修复bug)
0.8.8 (2020-08-18)¶
移除
GUNIFLASK_ID_STRING
非daemon模式默认不再生成PID文件
0.8.7 (2020-08-11)¶
修复服务发现功能
0.8.6 (2020-08-10)¶
health endpoint添加了对project name的校验
0.8.5 (2020-08-10)¶
修复服务注册时找不到app context的问题
移除settings添加内置变量
id_string
,环境变量GUNIFLASK_ID_STRING
只在服务外部环境中发挥作用
0.8.4 (2020-08-09)¶
stop和restart命令支持设置active profiles,用于处理在profile后缀的gunicorn配置文件中设置了
pidfile
的情况修复了由自动加载服务发现配置可能导致的循环引用问题
0.8.3 (2020-08-07)¶
settings添加内置变量
id_string
,对应环境变量GUNIFLASK_ID_STRING
health endpoint添加了active profiles的校验,避免程序在错误的profile下启动后无法从Consul中删除服务
0.8.2 (2020-08-04)¶
多个profile中通过dict作出的配置在读取时应当进行合并,而不是简单替换
0.8.1 (2020-08-04)¶
添加了服务发现和负载均衡功能,支持通过服务名定位到服务实例
MasterLevelLock更名为ServiceLock,通过项目名称和端口号区别实例,解除对gunicorn的依赖
配置guniflask.cors之后自动进行跨域配置
0.8.0 (2020-08-01)¶
guniflask-cli和guniflask的版本同步
对
SQLALCHEMY_TRACK_MODIFICATIONS
的默认配置改由guniflask-cli直接生成到项目代码中默认添加gunicorn配置项
proc_name
为项目名称,便于查看进程信息项目配置文件的读取改由guniflask-cli完成
移除@global_singleton,相关功能可以通过MasterLevelLock实现
guniflask-manage中的指令合并到guniflask中
init命令生成项目时移除了选择应用类型的步骤
默认生成开启跨域的配置
支持将服务注册到Consul