|
|
### v0.3.4 2017.08.30
|
|
|
|
|
|
- 修复默认session插件的`session_aes_secret`长度问题
|
|
|
- 此问题存在于OpenResty v1.11.2.5版本及可能之后的版本中
|
|
|
- lua-resty-string v0.10开始AES salt必须是[8个字符](https://github.com/openresty/lua-resty-string/commit/69df3dcc2230364a54761a0d5a65327c6a4e256a)
|
|
|
- 使用内置的session插件时`session_aes_secret`不再是必须配置
|
|
|
- 若不填则默认为`12345678`
|
|
|
- 若不足8个字符则以`0`补足
|
|
|
- 若超过8个字符则只使用前8个
|
|
|
|
|
|
### v0.3.3 2017.08.05
|
|
|
|
|
|
- 使用严格的路由节点id策略,避免潜在冲突
|
|
|
|
|
|
|
|
|
### v0.3.2 2017.06.10
|
|
|
|
|
|
- 关于内置session插件的更改
|
|
|
- 修复session过期时间bug
|
|
|
- 移除lua-resty-session依赖
|
|
|
- 内置session插件替换为基于cookie的简单实现
|
|
|
- 接口仍然保持与之前版本兼容
|
|
|
- 关于session处理,仍然建议根据具体业务需求和安全考量自行实现
|
|
|
- 支持URI中含有字符'-'
|
|
|
|
|
|
### v0.3.1 2017.04.16
|
|
|
|
|
|
- 支持路由中包含`~`字符(from [@XadillaX](https://github.com/XadillaX))
|
|
|
- 支持组路由(group router)的多级路由写法
|
|
|
- 支持组路由下直接挂载中间件(see [issues#40](https://github.com/sumory/lor/issues/40))
|
|
|
|
|
|
### v0.3.0 2017.02.11
|
|
|
|
|
|
此版本为性能优化和内部实现重构版本,API使用上保持与之前版本兼容,详细描述如下:
|
|
|
|
|
|
**特性**
|
|
|
|
|
|
- 中间件(middlewares)重构,支持任意级别、多种方式挂载中间件,这些中间件包括
|
|
|
- 预处理中间件(use)
|
|
|
- 错误处理中间件(erroruse)
|
|
|
- 业务处理中间件(get/post/put/delete...)
|
|
|
- 提高路由性能
|
|
|
- 路由匹配次数不再随路由数增多而正比例增长
|
|
|
- 全面支持正则路由和通配符路由
|
|
|
- use、get/put/delete/post等API优化,如支持数组参数、支持单独挂载中间件等改进
|
|
|
- 路由匹配更加灵活: 优先匹配精确路由,其次再匹配正则路由或通配符路由
|
|
|
|
|
|
**Break Changes**
|
|
|
|
|
|
与之前版本相比,break changes主要有以下几点(基本都是一些比较少用到的特性)
|
|
|
|
|
|
- 路由执行顺序不再与路由定义顺序相关, 如错误路由不用必须定义在最下方
|
|
|
- 如果一个请求最终匹配不到已定义的任何路由,则不会执行任何中间件代码(之前的版本会执行,这浪费了一些性能)
|
|
|
|
|
|
|
|
|
### v0.2.6 2016.11.26
|
|
|
|
|
|
- 升级内部集成的session中间件
|
|
|
- lua-resty-session升级到2.13版本
|
|
|
- 添加一个session过期参数timeout,默认为3600秒
|
|
|
- 添加一个refresh_cookie参数,用于控制否在有新请求时刷新session和cookie过期时间,默认“是”
|
|
|
- 更新`lord new`项目模板
|
|
|
- 缓存`app`对象,提高性能
|
|
|
- 调整CRUD示例, 详细请参看脚手架代码中的app/routes/user.lua
|
|
|
- 删除默认响应头X-Powered-By
|
|
|
|
|
|
### v0.2.4 2016.11.16
|
|
|
|
|
|
- 支持"application/json"类型请求
|
|
|
|
|
|
|
|
|
### v0.2.2 2016.10.15
|
|
|
|
|
|
- 支持opm, 可通过`opm install sumory/lor`安装
|
|
|
- 注意opm暂不支持命令安装, 所以这种方式无法安装`lord`命令
|
|
|
- 若仍想使用`lord`命令,建议使用`sh install.sh`方式安装
|
|
|
|
|
|
### v0.1.6 2016.10.14
|
|
|
|
|
|
- `lord`工具改为使用resty-cli实现,不再依赖luajit
|
|
|
|
|
|
### v0.1.5 2016.10.01
|
|
|
|
|
|
- Path URI支持"."
|
|
|
- 使用xpcall替换pcall以记录更多出错日志
|
|
|
- 更新了测试用例
|
|
|
|
|
|
### v0.1.4 2016.07.30
|
|
|
|
|
|
- 删除一些无用代码和引用
|
|
|
- 升级测试依赖库
|
|
|
- 修改文档和注释
|
|
|
- 修改一些小bug
|
|
|
|
|
|
### v0.1.0 2016.03.15
|
|
|
|
|
|
- 增加一配置项,是否启用模板功能:app:conf("view enable", true), 默认为关闭
|
|
|
- view.lua中ngx.var.template_root存在性判断
|
|
|
- 增加docker支持
|
|
|
- 命令`lord --path`变更为`lord path`,用于查看当前lor的安装路径
|
|
|
- 官网文档更新[http://lor.sumory.com](http://lor.sumory.com)
|
|
|
|
|
|
### v0.0.9 2016.03.02
|
|
|
|
|
|
- 使用install.sh安装lor时如果有指定安装目录,则在指定的目录后面拼上"lor",避免文件误删的问题
|
|
|
- TODO: debug时列出整个路由表供参考
|
|
|
|
|
|
### v0.0.8 2016.02.26
|
|
|
|
|
|
- 支持multipart/form文件上传
|
|
|
- 修复了一个group router被多次app:use时出现404的bug
|
|
|
- 支持Response:json(data, flag)方法传入第二个bool类型参数flag,指明序列化json时默认的空table是否编码为{}
|
|
|
- true 作为{}处理
|
|
|
- false 作为[]处理
|
|
|
- 不传入第二个参数则当作[]处理
|
|
|
|
|
|
|
|
|
### v0.0.7 2016.02.02
|
|
|
|
|
|
- 统一代码风格
|
|
|
- 优化部分代码,比如使用ngx.re代替string对应方法、尽量使用local等
|
|
|
- Break API: req:isFound() -> req:is_found()
|
|
|
- Fix bug: 修复了在lua_code_cache on时的一些404问题
|
|
|
|
|
|
|
|
|
### v0.0.6 2016.01.30
|
|
|
|
|
|
- 修改了lor的默认安装路径到/usr/local/lor
|
|
|
- 命令行工具`lord`生成的项目模板更改
|
|
|
- 加入了nginx.conf配置,方便之后维护自定义的nginx配置
|
|
|
- 加入start/stop/restart脚本,方便之后项目的灵活部署
|
|
|
- 改善了路由pattern,支持path variable含有"-"字符
|
|
|
- 增加了几个测试用例
|
|
|
- 修复了上一个请求的path variable会污染之后请求的bug
|
|
|
- 完善了res:redirect API
|
|
|
- 修复了请求体为空时解析的bug
|
|
|
- 给lor对象添加了版本号
|
|
|
- 添加了静态文件支持(通过在nginx.conf里配置)
|
|
|
- 编写了lor框架示例项目[lor-example](https://github.com/lorlabs/lor-example)
|
|
|
|
|
|
|
|
|
### v0.0.5 2016.01.28
|
|
|
|
|
|
- 完善了Documents和API文档,详见[lor官网](http://lor.sumory.com)
|
|
|
- `lor new`命令生成的项目模板增加了一个middleware目录,用于存放自定义插件
|
|
|
- 该目录的命名和位置都是非强制的,用户可按需要将自定义的插件放在任何地方
|
|
|
- 修改了lor new产生的项目模板,增加了几个基本API的使用方式
|
|
|
|
|
|
|
|
|
### v0.0.4 2016.01.25
|
|
|
|
|
|
- 以默认插件的形式添加cookie支持(lua-resty-cookie)
|
|
|
- 以默认插件的形式添加session支持(lua-resty-session)
|
|
|
|
|
|
|
|
|
### v0.0.3 2016.01.23
|
|
|
|
|
|
- 修复上版本路由bug
|
|
|
- 添加模板支持(lua-resty-template)
|
|
|
- 完善了40余个常规测试用例
|
|
|
- 完善了命令行工具`lord`
|
|
|
- 常规API使用方法添加到默认项目模板
|
|
|
|
|
|
|
|
|
### v0.0.2 2016.01.21
|
|
|
|
|
|
- 完全重构v0.0.1路由
|
|
|
- Sinatra风格路由
|
|
|
- 主要API设计完成并实现
|
|
|
|
|
|
|
|
|
### v0.0.1 2016.01.15
|
|
|
|
|
|
- 原型设计和实验
|