You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
6.1 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### 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
- 原型设计和实验