Refactor
- Support the new project structure. We split the whole framework into four parts:
1.1 server: including web module.
1.2 client: including ORM, cache, httplib modules.
1.3 task: supporting timed tasks and other cyclic tasks.
1.4 core: including validation, config, logs and admin modules. - Add
adapter
module which is used to reduce the effort of upgrading Beego from v1.x to v2.x - Add
context.Context
forcache
,httplib
,session
,task
,ORM
modules' API. - Add
error
as a return value forcache
,httplib
,session
,task
. Now users are able to know more info about what happen inside Beego. - Decouple modules from each other. All modules only depend on
core
package. - Support tracing, metrics in ORM, web, httplib modules.
- Introduce
filter-chain
patter to support AOP.
Feature:
- Allow Healthcheck endpoint return JSON for Kubernetes. 4055
- Support
ClientAuth
for TLS. 4116 orm.RawSeter
supportsorm.Fielder
. 4191- Add a new MySQL operator for strict case-sensitive query. 4198
- Using
filter-chain
pattern inorm
module. Support opentracing and prometheus by using filter. 4141 - Support
prometheus
filter forhttplib
module. 4145 - Add additional options to redis session prov. 4137
- Support default value filter for
orm
module. 4156 - Add methods
Unmarshaler
,Sub
,OnChange
forConfiger
module. 4175 - Custom Log Formatter. 4174, 4179, 4188
- Support the time precision for time.Time type. 4186
- Support
etcd
in Config module. 4195 - Optimize rawSet.QueryRows to avoid many unnecessary calls to parseStructTag. 4210
- Allow users to ignore some table when run ORM commands. 4211
- PostgresQueryBuilder 4205
- Provides a powerful
LogFormatter
implementation PatternLogFormatter.4229 - Support custom ES index name. 4233
- Support multiple web servers. 4234
- Support toml config. 4262
- Using unmarshaler to parse config in web module. 4266
- Add MaxUploadFile to provide more safety uploading control. 4275
- Support using json string to init session. 4277
- Support global instance for config module. 4278
Fix:
- Fix reconnection bug in logs/conn.go. 4056
- Return 413 when request payload too large. 4058
- Fix
index out of range
in session module whenlen(sid) < 2
. 4068 - Fix concurrent issue of context/input Query method. 4066
- Allow using environment variable to specific the config file. 4111
- XSRF add secure and http only flag. 4126
- Fix temporary create failed on Windows 4244
- Fix:return error after inserting data when primary key is string. 4150
- Fix the bug that Fielder's SetRaw is not called when calling orm.Raw() to query from database. 4160
- Fix: return error when calling
InsertOrUpdate
is successful with string primary key. 4158 - Fix the problem that the nested structure of queryRow() cannot assign values 4173
- Empty field in validator.Error when label struct tag is not declared. 4225
- Fix deadlock in task module. 4246
- Fix: form entity too large casue run out of memory. 4272