Hi, guys!
Here goes my current roadmap:
* release new stable version of OpenResty, 1.2.1.12, based on the
latest stable release 1.2.1.11. (over this weekend)
* ngx_lua: merge the "coroutine" branch back to "master". we'll then
have the standard Lua coroutine API again on the user Lua code level
(for now, the coroutine.* API is disabled in the user Lua code). When
the "coroutine" branch is merged into "master", we'll then make
releases of ngx_lua in the 0.6.x series. (over this weekend or the
beginning of the next week)
* ngx_lua: start and develope the new "thread" branch from the 0.6.x
series' master. On this branch, I'll implement the lightweight thread
API based on the new user coroutine mechanism. Here is an example for
this: http://agentzh.org/misc/nginx/lua-thread2.lua (for the coming
week or two)
I may selectively merge user patches to ngx_lua and other components
along the way. But there will not be many C-level changes in 1.2.1.12.
After the new stable version 1.2.1.12 is out, I'll immediately switch
to the latest nginx stable version 1.2.3 for ngx_openresty.
As some of you have already learned, I'm running a test cluster on
Amazon EC2 to track regressions in both new versions of Nginx and new
versions of its components. The latest test report (and older reports
in the history) can always be found here:
http://qa.openresty.org
CloudFlare just starts covering my expenses on EC2 and I'm going to
closely track both the latest stable and development versions of the
standard Nginx distributions in the future.
When the new coroutine/thread infrustructure in ngx_lua is mature
enough, I'll continue developing the lua-resty-* libraries and other
little things in ngx_lua and etc. Here's just a random list currently
in my mind (the order is not important):
* ngx_lua: apply Brian Akin's patch for the new directive lua_socket_log_errors,
* ngx_lua: apply Brian Akin's patch for the new shdict:flush_expired() API,
* lua-resty-mysql: apply azure wang's patch for adding support for big
mysql resultset rows that span over multiple mysql packets,
* lua-resty-mysql: apply smallfish's patch for the new "dsn" option to
the "new" method.
* lua-resty-dns: add TCP transport mode and MX record support,
* ngx_lua: implement SSL cosocket API,
* lua-resty-http: polish and integrate lua-resty-http into
ngx_openresty, also add support for https,
* ngx_lua: implement HTTP cookie parsing API,
* lua-resty-postgresql: implement this cosocket-based PostgreSQL
client written in Lua,
* ngx_lua: apply Jader H. Silva's patch for ngx.re.split(),
* ngx_lua: apply vadim-pavlov's patch for ngx.location.capture()'s
"extra_headers" option,
* ngx_memc: fix abusement of global variables in config-time,
* ngx_rds_json: apply Calio Zhi's patch for avoiding recursive C
function calls in the state machine.
I welcome all your help and contributions as always ;) Any things like
writing demo apps and tutorials on OpenResty will be highly
appreciated!
Best regards,
-agentzh