forked from dualface/gbc-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
204 lines (163 loc) · 10.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# Change Log
### 0.8.0
- CHANGES & IMPROVE:
- refactor all global functions, wrap they as separated modules
- use supervisor control all processes
- packages/redis: unified redis driver for NginxLua and LuaSocket
- packages/beanstalkd: unified beanstalkd driver for NginxLua and LuaSocket
- packages/mysql: unified mysql driver for NginxLua and LuaSocket
- packages/event: improved event binding component
- packages/gbc: refactor "GameBox Cloud Core" as a package
- packages/tests: unittests support
- NginxRedisLoop: subscribe any channel without more redis connections
- add Vagrant support
- upgrade all libs
- improved cc.class(), cc.bind(), cc.unbind()
- improved cc.import()
- remove mysql driver
- BUGFIX:
- fix Job Worker
### 0.7.0
- CHNAGES:
- When user writes a new action, an property of the action named `ACCEPTED_REQUEST_TYPE` can be set. It is used for determining which type of the request can access the action.
- IMPROVE:
- `Job Worker` only prints job finished info in debug mode.
- The codes of the actions of `Job Worker` can be updated dynamically.
- BUGFIX:
- `luasec-0.5` should be installed correctly in 32-bit linux.
- The actions of `Job Worker` should be settled only in `worker/actinos`.
### 0.6.0
- CHNAGES:
- `Quick Server` rename to `GameBox Cloud Core`, short name is `gbc-core`.
- `start_quick_server.sh` rename to `start_server`.
- `stop_quick_server.sh` rename to `stop_server`.
- `status_quick_server.sh` rename to `check_server`.
- the `conf/config.lua` option `quickserverRootPath` rename to `serverRootPath`.
### 0.5.1
- FEATURE:
- Job Worker is finished as a module of Quick Server.
- Job Service package is offered. User can use it to add a job easily.
- BUGFIX:
- start/stop/status shells can exit normally, if some errors happend in progress.
- start/stop/status shells can get the config of Quick Server in any path.
- Monitor can show correct number of jobs in Beanstalkd.
- IMPROVE:
- In error messages, redundant paths can be stripped.
- Quick Server supports Mac OS now.
- start/stop/status use more colors for displaying.
- start/stop/status can show the version and mode of Quick Server.
- tools.sh can display the result better, even if the result is a lua table.
- Support job worker module in shells.
- Add lib luasec-0.5.0.
### 0.5.0
- UPGRADE:
- upgrade luasocket to 3.0-rc1.
- add luainspect lib.
- IMPROVE: make installation better, improve installation shell.
- offer an unique install.sh instead of install_ubunutu.sh and install_centos.sh.
- except fundamental packages from linux distro, such as "git", "zip" and some building tools, all other packages can be installed without online. This can save much time.
- the install.sh supports parameters, ex. user can set the path of installation.
- IMPROVE: offer all new wiki docs by Sphinx project in ".rst" format.
- the new wiki can be outputed in many file formats, such as html, pdf, latex, etc.
- it is easy to generated with make tools.
- the wiki docs in html format is released with Quick Server, in "docs/" dir.
- CHNAGE: almost all Quick Server codes are refactored.
- new architecture, all modules with "Server" in name are refactored to "Connect".
- package mechanism, all functions is offerd as package.
- Http and WebSocket modules are refactored, inheriting from "ConnectBase".
- new broadcast mechanism.
- adjust options in config.lua, more simple, more better.
- new maintain and manager shells.
- monitor the processes of Quick Server at any time, and the status can be shown in web.
### 0.4.0
- UPGRADE: From Openresty 1.7.2.x to 1.7.7.x.
- IMPROVE: make install_ubunutu.sh better in order that user can install Quick Server convenienty, and fix some bugs in it.
- create a symbol link for nginx, after Openresty installation.
- Add option "--no-check-certificate" for each "wget" command.
- "status\_quick\_server.sh" shell file should be copied to installation directory while installation is finished.
- Change those shell tools director, move them from "/opt" to installation path.
- Add a new shell tool named "restart\_nginx\_only.sh" in order to restart nginx processes.
- Add a parameter for install_ubuntu.sh for specifying installation path insted of absolute path.
- Quick Server configure files, including "redis.conf" and "nginx.conf", are modified automatically via "sed" tool.
- FEATURE: Support plugin mechanism.
- Add some methods into "cc" framework, "load" and "bind" etc, for package file(lua file).
- Give two plugin examples: "Ranklist" and "ChatRoom", converted from "RanklistAction" and "ChatAction".
- Add simple functionality tests for above plugins.
- IMPROVE: Add a demo action named "HelloworldAction"
- include a simple method "/sayhello" to show "hello world".
- there are two other methods "addandcount" and "sayletters" to show how to write a function with plugins.
- Add "helloworld" client which supports both html and websocket.
- CHANGE: delete install_mac.sh. The installation of mac env will be supported in next version.
- OTHER MINOR CHANGES:
- IMPROVE: upgrade Quick Server wiki.
- BUGFIX: when deploying lua codes defined by user, the target directory in Quick Server shoule be created.
- IMPROVE: The target directory in Quick Server can be configured via "luaRepoPrefix" in config.lua for deploying lua codes defined by user.
- CHANGE: obsolete the old interface of uploading user codes.
- IMPROVE: Add two sql files: "base.sql" and "pre_condition.sql" in conf/sql for configuring MySql.
- CHANGE: don't need to set "root" privilege in nginx conf file.
- IMPROVE: Add README file for each sub-dir.
- CHANGE: change some shells which are used to encapsulate "nginx" command in "openresty/nginx".
### 0.4.0-rc0
- FEATURE: Add an new action "SessionAction" to generate **session_id** for user.
- FEATURE: adjust many interfaces in RanklistAction.
- Each interface calling needs checking **session_id**.
- "Add" interface can generate a uid according to the **nickname** when user calls it first time.
- the format of uid is "nickname+numbers" in order to keep each uid unique.
- score, remove, getrank and getrevrank should get key from param "uid".
- "GetRevRank" also replies score.
- "GetRankAction" also return socre.
- "AddAction" can return a percent to indicate "rank/total", in other words, it's the user's positiono in a ranklist.
- Add some test cases for RanklistAction.
- BUGFIX: if a redis command fails, it replies an int 0 not a string "0".
### 0.3.9
- FEATURE: implement a ranklist with friendship based on social network platform.(only support Weibo now)
- FEATURE: Each interface calling needs checking **session_id**.
- FEATURE: ADD some test cases for FriendshipAction.
- BUGFIX: table.length() method in function.lua moduel.
### 0.3.8
- FEATURE: implement chatting room, ChatAction module.
- Add a new sub-table as the configuration for ChatAction in config.lua.
- assign an user to a channel automatically.
- Add some tests cases for ChatAction.
- IMPROVE: remove BeginSession interface.
- IMPROVE: optimize some lua codes in the initialization of mysql and redis.
### 0.3.7
- FEATURE: implement user login function through Cocochina platform.
- FEATURE: when invoking the service of Quick Server via either http or WebSocket, to verify session ID is needed.
- IMPROVE: implment user.uploadcodes action instead of "user/codes" web interface. The original http interface "user/codes" will be obsoleted in next release.
- OTHER MINOR CHANGES:
- BUGFIX: fix some bugs in http.lua and url.lua.
- CHANGE: add a configuration into nginx.conf for DNS server.
- IMPROVE: Write a new shell named "status\_quick\_server.sh" to show the status of Quick Server processes.
- IMPROVE: implement two functions to release mysql and redis connections.
- IMPROVE: After installation, server/config.lua should not be compiled in order to be configured by user conveniently.
- BUGFIX: fix a slight mistake in urlencodeChar() of functions.lua.
- BUGFIX: the param "value" of Ranklist.Add is allowed to be a string.
- BUGFIX: fix the version of luajit in "compile_bytecode.sh", change it to "luajit-2.1.0-alpha".
- IMPROVE: StoreObj returns a id which don't includes "/" symbol definitely.
- IMPROVE: change the level of error() in the method "throw" of debug.lua in order to make error messge more concise.
### 0.3.6
- UPGRADE: OpenResty 1.4.1 to 1.7.2.
- IMPROVE: support accessing user-defined codes via WebSocket besides HTTP.
- BUGFIX: fix LUA_PATH of index-cleaner script.
- DOCS: improve wiki in Chinese based on github wiki.
- CHANGE: Quick Server is released in bytecode generated by Luajit via Docker. And modify shell script in Ubuntu for some installation errors.
### 0.3.5
- IMPROVE: Adjust directory structure of project, make it more simpler and cleaner.
- FEATURE: Integrate lua-resty-http with quick-server.
- BUGFIX: Fix and mend some confinguration in nginx.conf.
### 0.3.1
- BUGFIX: There should be an "actions" sub-dir in root of user-defined codes.
- BUGFIX: Allow the type of response of HTTP is "string".
- IMPROVE: Support case-insensitive uri.
### 0.3.0
- IMPROVE: refactor the implemnet of user-defined function, supporting sub-dir structure deployment.
### 0.2.0
- FEATURE: Support user-defined function via uploading lua codes by users themselves.
- FEATURE: Support Http protocol for invoking interfaces.
- FEATURE: Docker becomes a new way which users can choose for installation besides shell script.
### 0.1.0
- FEATURE: Support Object Store based on MySql 5 with JSON format.
- FEATURE: Support Index in Object Store.
- FEATURE: Implement Ranklist function based on Redis.
- FEATURE: All interfaces is based on WebSocket protocol.