距离上一次发布1.5版本已经半年了,这半年里面我们改进了很多,其实中间又想要发布一个小版本的,但是后来还是想想就改的彻底一点,所以这次改动相当多,中间又因为一些兼容性的问题所以特地写了一个工具bee fix,可以让大家平滑的升级beego应用到最新版本。大家如果有任何问题可以去issue提问题,我们会尽快的回复大家。今年我们计划发布四个版本,三个月发布一个大版本,然后遇到一些issue我们会发布一些小版本。目前我们核心开发组已经有10个人。今年我们会努力做好beego这个框架以及周边的工具,教程,模块,应用等。希望给大家带来更好的体验。 新功能: 文件log支持rotate支持类似xx.2013-01-01.2.log这样的输出 #1265 context.response 支持了原生的Flush,Hijack,CloseNotify ORM支持Distinct操作 #1276 新增加模板函数map_get #1305 ORM支持tidb引擎 #1366 httplib请求参数支持[]string #1308 ORM querySeter添加GroupBy方法 #1345 Session的MySQL引擎支持自定义表名 #1348 log的file引擎性能提升30%,同时支持自定义创建的文件权限 #1560 session支持通过query获取 #1507 Cache模块支持多个Cache对象,之前N调用ewCache获取的是同一个Cache,现在会初始化不同的Cache对象。 validation支持自定义验证函数 bugfix: context里面bind函数如果参数为空crash #1245 ORM中manytomany获取reverse的时候出错。#671 http: multiple response.WriteHeader calls #1329 ParseForm解析日期使用当前的timezone #1343 log引擎里面Smtp发送邮件无法认证 修复路由规则的一些issue: /topic/:id/?:auth, /topic/:id/?:auth:int #1349 修复注释文档解析的时候nil引起crash #1367 static目录下的index.html无法读取 dbBase.Update失败不返回err #1384 validation里面设置的Required只对int有效,int64无效 ORM创建外键是string类型的主键时创建varchar(0)的字符问题 #1379 graceful同时开启http和https的时候出错 #1414 ListenTCP4开启之后如果httpaddr为空还是监控TCP6 migration不支持postgres #1434 ORM text、bool等默认值问题导致创建表出错 graceful导致panic问题 negative WaitGroup counter 优化: example 移到了 samples 所有代码符合golint规范 重写路由树底层,性能提升三倍左右 每次请求的context采用sync.Pool复用,内存和性能提升 模板编译优化速度,按需编译 #1298 优化了beego的配置管理,采用统一的BConfig,更易读易管理 优化了beego的整体结构代码,使得代码更易读维护 所有初始化的信息统一到AddAPPStartHook函数中去,易于管理 移除了middleware,之后全部采用plugins来管理插件 重构Error处理,使得Error更加易懂 升级指南: 1. go get -u github.com/beego/bee 2. 进入项目目录 3. bee fix beego 1.6.0 版本发布,Go 应用框架下载地址