beego 1.6.0 版本發布,Go 應用框架
距離上一次發布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
來自: http://www.oschina.net//news/69970/beego-1-6-0-released