Change Log

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.