Skip to content

升级、更新记录

v0.3.4 2017.08.30

  • 修复默认session插件的session_aes_secret长度问题
    • 此问题存在于OpenResty v1.11.2.5版本及可能之后的版本中
    • lua-resty-string v0.10开始AES salt必须是8个字符
  • 使用内置的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)
  • 支持组路由(group router)的多级路由写法
  • 支持组路由下直接挂载中间件(see 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

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

v0.0.5 2016.01.28

  • 完善了Documents和API文档,详见lor官网
  • 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

  • 原型设计和实验

Released under the MIT License.