更新日志
-
3.2.82018.06.20
移除 Bluebird Promise Polyfill
更新 think-router 模块依赖
-
3.2.72018.02.28
修复 this.fail TypeScript 定义报错
支持 `this.post('a,b')` 批量获取参数
多模块 Controller 中使用 `this.service` 时默认从当前模块获取 Service。
-
3.2.62017.12.14
添加 config 的ts定义,对 Controller、Logic、Contex 和 Think。
-
3.2.52017.12.11
修复 Logic TypeScript 定义,根据实现,Logic 自动继承 Controller 所有方法。
-
3.2.42017.11.14
修复 post 数据为数组的问题
修复 typescript 部分接口定义错误
-
3.2.32017.10.25
修改 think.app.controllers 等加载顺序,修复 controller 里读取不到 service 到问题
修复 typescript 部分定义错误
-
3.2.22017.10.11
修复不能通过 think.beforeStartServer 动态设置配置
获取 query 数据兼容从 ctx.request._query 中获取
-
3.2.12017.09.22
TypeScript 修复 Logic 类型定义异常
修复 jsonp 请求的 Content-Type 问题,改为 application/javascript
支持 process.env.THINK_UNIT_TEST 环境变量,识别为单元测试环境
-
3.2.02017.09.19
支持 TypeScript,配套 think-cli 版本 1.1.0
-
3.1.22017.09.12
修复模型中 where 条件没有过滤可能导致的安全问题
-
3.1.12017.09.06
修复 isAgent 方法调用报错
-
3.1.02017.09.01
Logic 支持 scope 功能
master 下不再加载 extend
配置添加 stickyCluster
移除默认的 host: 127.0.0.1
controller.redirect/controller.download 方法返回 false
-
3.0.02017.08.17
3.0.0 版本正式发布
-
2.2.242017.09.14
修复操作符使用不当导致 SQL 注入等问题(数组情况)
-
2.2.232017.09.13
修复操作符使用不当导致 SQL 注入等问题
-
2.2.222017.09.12
修复导出为箭头函数的判断错误
修复 pg socket 适配
-
2.2.212017.07.24
升级 pg 库依赖的版本
修复数据库默认配置的问题
-
2.2.202017.07.13
修复文件名有中文的问题
修复 postgreSQL 断开链接后没有重试的问题
修改框架默认的 db 配置
修复 mongo 下 updateMany 方法丢失 where 条件的问题
修复 mongo 下 ObjectId 识别的问题
-
2.2.192017.06.05
修复 think.parallLimit 重复 key 的问题
修复解析 BETWEEN 只有一个值的问题
修复 mongo where 条件解析的问题
websocket open 的时候支持额外的参数
参数校验类型为 int 时支持数字 0
get/post 方法支持获取多个值
-
2.2.182017.03.30
修复 PREVENT_NEXT_PROCESS 错误日志的问题
静态资源请求支持自定义 header
-
2.2.172017.02.20
升级 TypeScript 依赖版本到 2.1.6
去掉 es2015-loose 模块依赖
修复解析 SQL 时的错误
修复获取 IP 错误
-
2.2.162017.02.07
修复 mongo 下 increment 和 decrement 接口报错的问题
模型支持字段转为驼峰
修复路由识别中间件
-
2.2.152016.12.01
修复 PREVENT_NEXT_PROCESS 错误日志的问题
资源请求时支持设置 CORS 头信息
缓存操作时支持设置 timeout
将 babel 编译参数提取到 .babelrc 中
-
2.2.142016.11.07
创建项目时,typescript 的依赖版本修改为 2.0.3
修复获取 relation model 的问题
修复 swig 模板下配置问题
请求超时时显示错误页面,错误信息为 REQUEST_TIMEOUT
修复 URL 中含有不合法字符导致 decodeURIComponent 报错的问题
修复 addMany 方法返回值错误的问题
修复文件 Session 有时候获取不到内容的问题
Mysql 支持请求前发送 set names
-
2.2.132016.10.14
创建项目默认回滚为多模块项目
修复 PostgreSQL 的部分问题
默认将数据库配置 prefix 设置为空
修复关联模型中 BELONG_TO 里 model 被删除的问题
模型 buildSql 方法添加参数可以控制是否加小括号
完善 d.ts
修复 parseType 时有 enum, set 类型的问题
CSRF 校验时可以从 header 里取值
-
2.2.122016.09.27
修复静态资源访问漏洞的问题,请大家及时升级(之前修复的版本没有修复完全)
修复 PostgreSQL 区分大小写的问题
创建项目时默认模式为普通项目,默认用 ES6 方式
-
2.2.112016.09.14
修复 Logic 自动添加空数据的问题
Header 头名称自动转为小写
语言自动转为小写
请求超时时打印超时日志
修复实例化模型时,名称中含有斜杠导致报错的问题
-
2.2.102016.08.25
修复数据库操作 add 返回 id 始终为 0 的问题
修复数据库读写分离异常的问题
-
2.2.92016.08.16
修复事务在并发下的问题
修复控制器 fetch 方法 d.ts 描述问题
修复 mongo 断开连接后不能自动重连的问题
去除 mysql 模块动态安装的功能
-
2.2.82016.08.04
修复不能设置自定义 model 的问题
使用 node-mysql 替代 node-mysql2
修复执行事务窜的问题
修复 Logic 添加默认值为空的问题
修复 SQLite 下 addMany 方法返回值的问题
修复设置 cookie 后重启获取值不对的问题
修复自定义端口后,启动服务端口占用错误信息不对的问题
Mongo 支持更新数据时忽略默认值
Service 添加 this.service 方法
-
2.2.72016.07.28
修复 pathname 处理后在 windows 找不到的问题
创建项目时,生成的 production 配置文件关闭 resource_on
-
2.2.62016.07.28
修复 PostgreSQL 自动转义的问题
安装包里添加 src 目录
修复静态资源访问任意文件的问题
-
2.2.52016.06.17
修复 Session 类型为 memory 时 timeout 失效的问题
修复 think.isNumberString 检测控值结果为真的问题
修复数据表字段是 _ 字符打头导致不能识别的问题
修复识别数据库配置文件没有 type 导致不正确的问题
修复 SQLite 下事务语法报错的问题
修复 Mysql 下数据库连接异常关闭后有时候不能自动连接的问题
-
2.2.42016.05.25
修复模型里 increment 和 decrement 方法字段为关键字导致报错的问题
修复 postgreSQL 报错关闭连接的问题
修复 postgreSQL 下 countSelect 方法含有 order 导致报错的问题
修复 statusAction 错误大于 600 导致在部分 Node.js 版本报错的问题
-
2.2.32016.05.05
关联模型里 where、limit 等参数设置支持动态的方式
Logic 校验支持手动设置参数值
修复 int:0 校验报类型错误的问题
修复 view_parse hook 执行结果可能未达预期的问题
-
2.2.22016.04.27
socket.io 支持 namespace
修复 socket.io 配置 adapter 不生效的问题
修复自动编译有时候报错不能消除的问题
修复日志颜色在 windows 下显示的问题
http.getPayload 方法支持返回 Buffer
mongo 模型支持 beforeUpdate 方法
模型支持 beforeSelect,beforeFind 和 beforeDelete 方法
修复不能立即获取设置的 cookie 问题
修复开发环境下数据表字段修改后模型里不能自动更新的问题
使用 node-mysql2 模块替换原有的 node-mysql 模块(性能提升 2 倍)
修复有时候没有处理 Project reject 导致有 warning 的问题
模型添加 thenUpdate 方法
http 对象添加 prop 方法
修复 DB session 下新用户异常的问题
修复 PostgreSQL 下插入不能获取 insertId 的问题
更新依赖模块的版本号
-
2.2.12016.03.30
修复创建项目时依赖的 ThinkJS 版本问题
修复报错时路径丢失一层的问题
-
2.2.02016.03.30
支持断点调试 ES2015+ 项目,详情见这里
支持报错信息定位到 src/ 目录下
修复国际化错误信息获取不到的问题
移除从数据库里读取的字段默认值,修改特定默认值报错的问题
修复一个文件多次编译错误导致错误信息无法清除的问题
去除 retainLines 编译选项
修复数据校验里 different 等规则验证错误的问题
修复 File Session 有时候获取内容为空导致 Session 丢失的问题
修复 addMany 方法返回值错误的问题
修复数据校验里部分规则未填导致报错的问题
修复 mongo 模型 aggregate 方法返回值错误的问题
修复 afterDelete 方法不生效的问题
修复 Relation Model 下 BELONG_TO 类型设置 fKey 无效的问题
默认关闭 production 环境下的 log_sql
修复 sum 等方法参数里含有表达式大致报错的问题
修复 Mysql 下数据库编码不识别的问题
修复 postgresql 下字段类型为布尔型导致报错的问题
-
2.1.82016.03.15
修复 Mysql 多连接下 Connection already Released 的错误
修复创建项目生成的部分路径错误的问题
优化项目启动时检测模块环境
修复 parseGroup 有表达式导致报错的时候
调用不存在的 Action 时显示更详细的错误信息
-
2.1.72016.03.01
修复没有处理 Promise 异常导致有错误信息的问题
修复 ObjectID 为对象导致报错的问题
修复模型中的 schema 默认值等处理不支持嵌套的问题
添加 log_error 配置用于控制控制台下是否打印 500 错误日志
-
2.1.62016.02.25
修复关联模型 add 时部分数据丢失导致关系表数据无法添加的问题
修复数据表名含有关键字导致报错的问题
修复模型 find 方法部分条件下导致不是查询一条数据的问题
修复文件上传报错后请求不能正常结束的问题
去除对 unhandledRejection 事件的监听
修复 fetch 方法缺少 config 参数的问题
-
2.1.52016.02.04
添加 think.datetime, think.isFileAsync, think.isDirAsync 方法
优化上传的数据解析
修复创建项目时,显示的项目命令可能不正确的问题
修复 Mongo 返回的 ID 不是字符串的问题
修复模板配置解析错误的问题
-
2.1.42016.01.22
模型数据更新时支持默认值
数据校验增加 trim 方式,自动 trim 校验的值
服务启动时支持预加载,production 环境下默认开启
nunjucks 模板使用异步方式渲染
创建项目时支持生成 test/ 目录
修复 windows 下不支持多级控制器的问题
修复首次编译时获取项目类型错误的问题
修复 addMany 方法报错的问题
修复正则校验类型在数值为空时校验错误的问题
修复 SQLite 连接的数据名不正确的问题
-
2.1.32016.01.19
添加属性 think.isMaster
Service 基类添加 model 方法
think.base 基类添加 parseModuleFromPath 方法
修复模型默认值解析错误的问题
修复模型中 where 条件已经为字符串,再次添加条件报错的问题
-
2.1.22016.01.15
TypeScript 下编译添加 --allowSyntheticDefaultImports 参数
修复创建 TypeScript 项目时,文件后缀名不是 .ts 导致报错的问题
-
2.1.12016.01.15
修复数据库配置前缀 prefix 不生效的问题
Babel 编译时支持自定义的 presets 和 plugins
修复多级控制器找不到的问题
添加废弃方法 getTableFields,兼容之前的版本报错的问题
修复 baseAssign 覆盖用户配置的问题
修复缺少 think.RUNTIME_PATH 导致路径不正确的问题
-
2.1.02016.01.14
支持 TypeScript,详情见这里
性能提升 90%,性能测试见这里
Controller 支持子目录的形式
支持 PostgreSQL 数据库
Model schema 支持默认值
Hook 里的 middleware 返回 null 可以阻止后续的 middleware 执行
http 和 controller 添加 display 的别名方法 render
添加串行执行方法 think.waterfall
Validate 支持正则
fetch 支持传数据
Logic 支持判断请求类型
定时任务里支持直接调用 action
Babel 升级到 6
国际化语言对大小写不再敏感
将获取模板文件内容改为异步
http 对象不再继承自 EventEmitter 类
去除 think.mode_mini 模式,controller 支持子目录
数据库配置 name 改为 database
修改现在的 fields 为 schema
数据库配置 pwd 改为 password
优化 http 对象生成方式,不用每次都复制
过滤 .svn, .git 等隐藏类型的文件
将文件 bin/index.js 移动为 src/command.js
runtime 目录移动到项目根目录下,添加 think.RUNTIME_PATH 路径常量
adapter type 增加自动转为小写的功能,并给出提示
增加 thinkData,用于缓存系统常用数据
合并 think.locale 和 controller.locale 方法
修复 nunjucks 模板继承文件找不到的问题
修复 pathname 里含有转义的 / 导致识别错误的问题
修复 http.file 方法返回的数据遭到修改导致源数据也修改的问题
修复路径中 / 在 windows 下需要替换为 \\ 的问题
修复 nunjucks 下模板文件在不在根目录导致报错的问题
修复 production 环境下,页面上可能输出敏感数据的问题
修复 development 模式下,JSON 数据解析失败后没有报错信息不好定位的问题
修复 view root_path 修改后,创建模块时视图路径没更新的问题
修复 required|int 规则校验不正确的问题
修复 redis cache 解析配置的问题
修复 REST API 不支持 logic 的问题
修复 count 方法如果传入字段名是关键字会出错的问题
-
2.0.162016.01.08
think.parseConfig 方法支持 context
-
2.0.152015.12.25
修复 nunjucks 模板 root_path 判断报错的问题
-
2.0.142015.12.25
MongoDB 支持多 host 配置
修复 nunjucks 模板设置 root_path 的问题
development 模式下,解析 payload 数据出错后打印错误信息
payload 数据使用 JSON 解析失败后,使用 querystring 解析
-
2.0.132015.12.08
修复 think.parseConfig 含有 adapter 的问题
修复 relation model 更新后不能关联更新的问题
修复 countSelect 含有 alias 导致报错的问题
修复文件更新后 bootstrap 没有自动清除并更新的问题
nunjucks 默认开启 autoescape 的功能
-
2.0.122015.12.02
修复 Windows 下文件编译后不能自动更新的问题
-
2.0.112015.11.27
去除获取配置时将配置名转为小写的逻辑
修复关联模型保存时的错误
修复 SQLite 在关联模型下没有 unique 字段导致报错的问题
修复 countSelect 时设置缓存导致结果异常的问题
修复数据校验内容为空校验逻辑的问题
修复 Session 操作没有等待完成返回导致没有保存的问题
修复 think.parallelLimit 方法单条数据操作可能导致内存泄露的问题
-
2.0.102015.11.20
数据校验格式支持对象
修复创建 controller 文件时在普通模式下文件内容报错的问题
支持使用 thinkjs -v 显示版本号
使用 think.co 替换 think.co.wrap
通过 action 方法调用其他 action 时,自动修改 module/controller/action
入口文件支持配置 retainsFile
jade 模板在 production 环境下支持编译缓存
-
2.0.92015.11.15
修复路由更改不能自动更新的问题
将 think.npm 安装路径更改到项目根目录下,并添加 --save 参数
修复 count 为 0 调用 countSelect 方法报错的问题
修复使用 db session 直接报错的问题
修复 socket 启动很多连接的问题
-
2.0.82015.11.14
修复模板文件修改后不能自动更新的问题
修复创建项目时 package.json 依赖缺失的问题
修复自动编译时获取项目模式错误的问题
修复 nunjucks 模板引擎下设置模板根目录错误的问题
修复使用 Babel 编译后在部分平台下调用 module._load 方法报错的问题
-
2.0.72015.11.13
去除 view 配置 options 选项,使用 adapter 配置
加载 bootstrap 下文件时,去除非 js 文件
项目启动时增加是否安装依赖的检测
去除静态资源请求的访问日志
添加 think.camelCase 方法
配置文件支持自定义解析,添加 think.parseConfig 方法
当输出 Promise 时直接显示错误页面
修复 Babel 编译偶尔报错的问题
文件编译有错误时,访问 URL 直接显示编译错误信息
文件编译时如果源文件已经删除,自动删除编译后的文件
修复 mini 和 normal 模块下不能加载 bootstrap 文件的问题
修复 file session 偶尔报错的问题
修复基类文件修改,子类文件有的不能清除缓存的问题
-
2.0.62015.11.08
URL 解析后的 Action 支持含有 - 字符
添加 think.mergeConfig 方法,自动合并 adapter 参数
Cache,Session 等配置支持 adapter 额外配置
添加 think.pallelLimit 方法,处理并发限制
添加自动编译机制,去除 npm run watch-compile 命令
增加检测部分配置只能设置在 common 模块下的功能
配置支持 parser 方法,Redis、Memcache 支持分布式配置
添加基类 think.adapter.base,所有 Adapter 都继承该类
去除视图里的 options 配置,使用 adapter 配置替代
修复基类文件修改导致父级没有自动更新的问题
修复使用第三方 middleware 解析 payload 导致后续无法执行的问题
修复文件名含有特殊字符但错误信息是不能含有大写字母的问题
修复文件 Session 有时候报错的问题
修复 URL 中含有中文字符导致资源不能访问的问题
修复静态资源请求含有 Range 头信息没有正常处理的问题
-
2.0.52015.11.02
优化 Logic 规则校验失败后发送错误信息的数据结构
创建项目时,将 bootstrap/hook.js 改名为 bootstrap/middleware.js
创建项目时,添加文件 config/hook.js
Babel 编译添加 --retain-lines 参数,保持编译后的文件行号和原始文件相同
添加查询条件里 MongoID 为字符串时自动转为 MongoID 对象的功能
模型 update 方法增加了检验 where 条件的功能
移除系统内置的 deny_ip middleware,独立为 think-ip-filter middleware
模板渲染前添加 prerender 钩子的功能
thinkjs 命令添加了创建 plugin 的功能
添加 view_filter hook
修复 Logic 规则含有空格导致报错的问题
修复新增文件没有自动更新的问题
修复 think.cache 指定类型失败的问题
修复 file Session 偶尔报错的问题
修复 producition 和 testing 项目环境下命令行执行不能自动结束的问题
注:2.0 发布时遇到一些小问题,所以紧急发布了一些版本
-
2.0.02015.10.30
可以使用 ES6/7 全部特性来开发项目
支持多种项目结构和多种项目环境
支持丰富的数据库,如:Mysql,MongoDB,SQLite
代码自动更新,无需重启 Node 服务
支持多种 WebSocket 库,如:socket.io,sockjs
支持 Memory,File,Db,Redis 等多种 Session
支持 Memory,File,Redis,Memcache 等多种 Cache
支持 ejs,jade,swig,numjucks 等多种模版引擎
支持切面编程,支持 __before,__after 等魔术方法
支持自定义多种错误页面,如:400,404,500,503
支持命令行调用和执行定时任务
丰富的 Hook 和 Middleware
详细的日志,如:请求日志、错误日志、性能日志
自动创建 REST API
支持国际化和多主题
丰富的测试用例,1500+ 测试用里,代码覆盖率 > 95%
-
1.2.102015.09.17
修复 Memcache 中传输内容含有 end 导致截断的问题
修复 countSelect 方法中使用 alias 导致 SQL 报错的问题
-
1.2.92015.07.30
修复 Windows 下变成反斜杠导致 URL 无法识别的问题
-
1.2.82015.07.29
修复静态资源访问的漏洞
-
1.2.72015.07.15
修复 Memcache 不能使用远程 host 的问题
修复 Memcache 部分方法参数错误的问题
DbSession 功能的字段 key 改为 cookie,防止创建数据表报错的问题
-
1.2.62015.07.07
jade 模版增加自定义配置的功能
-
1.2.52015.06.24
修复 WebSocket 中传递的数据数字转为字符串的问题
修复 post 值为 null 导致判断报错的问题
-
1.2.42015.05.29
Controller 不再强制改为首字母大写,后面都小写。 fix #166
-
1.2.32015.05.18
修复 redis 设置超时无效的问题。thx @snadn
修复 debug 模式下,App.sendError 方法报错的问题。thx @Zongmin lei
修复高级模型下数据表有下划线导致关联字段错误的问题
-
1.2.22015.04.29
修复引用 MongoDb 首字母小写的问题, thx @denvey
websocket 添加 timeout 参数,默认为 0(不自动断开)
修复恶意文件上传引起 Temp 目录有文件的问题
注:npm 发布有问题,跳过 1.2.1 版本
-
1.2.02015.04.21
修复文件上传不支持 multpile 的情况
添加自定义错误处理方式, thx @Rayi
修复获取用户端 IP 含有 :: 的情况
添加 redis session, thx @snadn
添加对 jSmart 模版的支持, thx @snadn
修复 MongoDB 里 OverwriteModelError 的错误, thx @denvey
-
1.1.102015.04.14
修复单元测试在 Node 版本 >=0.12 报错的问题
Model 里 countSelect 方法支持 group 和子查询
-
1.1.92015.03.25
修改 Model 的 config 默认值为 {}, thx @Rayi
修复
/resource/css
访问报错的问题依赖模块
websocket-driver
版本升级到 0.5.3 -
1.1.82015.03.13
修复文件名大小写的问题
-
1.1.72015.03.13
禁止ip访问支持从数据库里获取 IP 列表
命令行模式下增加超时的机制,避免执行结束不掉的情况
-
1.1.62015.01.19
添加自动删除上传的文件功能,配置为:
post_file_autoremove
,默认开启。如果项目里要使用,需要移动到其他目录。 -
1.1.52015.01.12
对 GET/POST 提交的数据进行过滤,去除值为数组。
C('filter_data')
,默认开启。(注:该功能为安全过滤,强烈建议开启)对模型中的
addAll
方法添加数据自动校验的支持。 -
1.1.42015.01.07
由于 npm 发布的问题,版本从 1.1.2 跳到 1.1.4。
-
1.1.22015.01.06
修复 _404Action 非第一次访问不能正常结束请求的问题。
-
1.1.12014.12.24
请求参数值为数组时,只取数组的第一个值。避免开发者在进行数据库查询时,操作不当导致有安全漏洞。
-
1.0.72014.11.10
修复命令行模式下不能关闭数据库连接的问题
修复自定义数据库名不能生效的问题
添加对 swig 模版的支持
优化 getCallController 的性能
将 controller 对象赋值到模版中
可以直接将 promise assign 到模版中,具体见这里
success 方法添加自定义 message 的功能
修复数据库查询缓存无法通过 S 函数读取的问题
where 条件添加 ignore value 的功能
-
1.0.62014.11.03
优化静态资源访问漏洞的修复方式
修复了 D/M 函数不带参数报错的问题
修复了上传文件时,如果上传目录不存在报错的问题
优化系统错误时,状态码可以配置
-
1.0.52014.10.29
静态资源访问漏洞修复方式在 Windows 下有问题
-
1.0.42014.10.29
修复了静态资源访问漏洞,具体见这里
-
1.0.32014.10.27
修改 Class 函数的参数顺序,将形参 superClass 放在前面
修复 Controller 里的 action 不存在,但有 _call 获取参数报错的问题
修复 Model where 条件值为 undefined 被自动过滤掉的问题
启动服务时,添加对绑定 host 的支持
静态资源正则添加对 robot.txt 的支持
-
1.0.22014.10.20
将页面默认编码由 UTF8 改为 UTF-8(修复 IE 部分版本下对 UTF8 不能正常识别的问题)
修复 Model 里含有 alias 导致 show columns 报错的问题
增加对 Model join 方法里 on 含有表名的支持
增加对 Model join 方法里 table 为 SELECT 语句的支持
修复 _404Action 报错的问题
增加文件上传路径配置 post_file_upload_path,默认为 App/Runtime/Temp 目录
-
1.0.12014.10.09
去除 Array.prototype.sum 扩展
修复 Model query 方法 SELECT 不是大写导致解析错误的问题
修复 FileSession rm 方法的问题
-
1.0.02014.09.22
ThinkJS 震撼发布 1.0 版本,详情见这里
ThinkJS 版本发布策略:
1~2 周发布一个小版本,如:1.0.1 => 1.0.2(小功能增加,bug 修复等)
1~3 月发布一个中版本,如:1.0.0 => 1.1.0(较大功能增加,部分模块重构等)
1~2 年发布一个大版本,如:1.0.0 => 2.0.0(框架整体设计、重构等)
以上情况会因为一些特殊情况进行调整。