-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog.txt
211 lines (171 loc) · 10.2 KB
/
ChangeLog.txt
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
205
206
207
208
209
210
211
0.51:
- Moved a declaration from the header to the c file to ease APXS installation (thanks to Igor Galic for this patch)
- Binaries built with mod_dbd support will no longer complain that mod_dbd isn't enabled when a connection fails
- Fixed an issue where POST data from XMLHttpRequests was not properly recognized.
0.50:
- The Makefile script will now properly clean up when `make clean` is called
- getEnv() will now report a Server-Version value as well (major.minor.patch)
- Directives are now only permissable within the main Apache configuration
- The include() function now supports including plain lua files as set by the pLuaRaw directive
0.49:
- Modules built with apxs should now run on UNIX platforms with Lua 5.2
- mod_pLua now supports the PUT and DELETE methods
- Added getRequestBody([filename]) for reading the request body, optionally writing it to a file
0.48:
- Added file.send(filename) for sending static files using the internal sendfile mechanism
- Calling sleep with a negative number will now default to sleeping for 1 second
- print() will now output the values of booleans and nils, as well as refs to tables, userdata and functions
- Added string.explode(string, delimiter) for splitting up strings into chunks
0.47:
- dbopen() now only requires one parameter if opening a mod_dbd connection
- Content type is now assumed to be text/html by default
- sleep() now accepts floating point values on UNIX systems
- Fixed an issue where Lua 5.2 on certain platforms would not load libraries properly
0.46:
- Added the pLuaMemoryLimit directive for setting a memory limit (in kb) for each Lua state
- Added the pLuaIgnoreLibrary directive for disabling specific libraries in the Lua states
- The value of pLuaRuns is now properly followed
0.45:
- Fixed a bug (presumably) where db:close() could cause a segfault when using a mod_dbd handle
- Removed the forced output flushing at 20KB data, as it doesn't seem to be needed
- Added support for disabling short hand opening tags, `<?`, via the pLuaShortHand directive
- Fixed an issue where `<?lua` tags in a script would cause the shorthand `<?` tags to be overlooked
0.44:
- Added support for mod_dbd (enable it in mod_plua.h)
- General code cleanup
- Fixed a bug where dbclose and the database gc would clean up differently
0.43:
- Switched to the APXS system for compiling and installing mod_pLua - many thanks to Igor Galic for his help on this.
- Cleaned up some code
- setting header("Location", ...) will no longer trigger an automatic 302 response by httpd
0.42:
- Removed thread checks where they were not needed in Lua C function calls
- Reinstated pushing the lua thread onto the registry when acquiring the state to avoid having to resort to the backup list
- Added the Lua function httpError(N) for calling the internal Apache error handler with return code N
- setReturnCode now only sets the return code, it does not call the Apache error handler
- Started tagging the releases as per suggestions from clever folks.
0.41:
- Added a backup state list for ensuring that external modules won't break the retrieval of handles
0.40:
- Changed some default directive values
- header() will now accept numbers as its second argument
- Any shebang (#!) encountered on line 1 of raw lua files will now be ignored
0.39:
- Releasing a Lua state no longer requires a mutex lock
- Garbage collection is now done less frequently, to boost performance
- Various small performance tweaks
- getPWD() now returns "." on failure instead of just 0
- In the event of a Lua panic, errors will be copied to stderr as well
- The script cache handler will now consider file sizes as well as time of modification to determine if an update is required
0.38:
- The thread struct for each Lua state is now referenced at initialization instead of at execution time
- The sleep() function will no longer allow scripts to sleep for longer than pLuaTimeout specifies (if set)
- The rudimentary compiler (compile.sh) should now be able to link against any Lua library available
0.37:
- Added a header file for managing structs, defs and prototypes
- Added the exit() Lua function for halting a script quietly
0.36:
- Re-enabled the global pool mutex that was shut off for debugging purposes
- 404 errors now use apache's 404 handler instead
- Changed the hooking procedure, so directives will be caught and used before the first pool is created
0.35:
- Databases opened with dbopen() should now properly close if GC'ed in Lua 5.2
- The GC call for databases now has its own function for cleaning up, as opposed to using db:close()
- Changed the maximum number of variables and chained variables allowed in a GET/POST request
- Fixed a bug that would crash mod_pLua on Apache 2.4 when a compiler or runtime error was met
0.34:
- compileTime() on UNIX will now return the time of the initial HTTP request as reported by Apache
- pLuaMultiDomain is now enabled by default - let's see how it goes
- Added pLuaLogLevel directive for setting what gets logged in the error.log file
- Added a new unified pLua_getClock() function for accessing the precise time on all platforms
- Calling clock() and compileTime() on any platform will now return the correct unix timestamp with microsecond accuracy
0.33:
- Added the sleep(N) function for primarilly testing purposes
- mod_pLua now uses the file information passed on by Apache to speed things up
- include() now uses apr_stat instead of stat
0.32:
- (experimental) support for dynamically allocated per-vhost state pools
- Added the pLuaMultiDomain directive for enabling multiple state pools
- Removed the old hardcoded state pool generators
- Added the flush() function for flushing the output buffer immediately (remember to set your content type prior to this!)
- Upped the default number of states to 50 again (just because)
0.31:
- Added mutex support for Windows packages
- Updated the mod_pLua example page (test.plua)
- New pLua logo! I hope you like it :)
- Added a last-minute resort to bundle up all excess vhosts into one state pool if no free pools are available
- Did some rewriting to prepare for a dynamic allocation of new domain pools
0.30:
- Changed the html output echo function to use [==[ ]==] enclosures instead, to avoid common nesting errors
- Added the pLuaError directive for setting whether to output errors to the screen or not
- Added the showErrors(true/false) Lua call to set individual script error levels
0.29:
- parseGet and parsePost will now return a table regardless of whether data exists
- parsePost can only be called once now
- using html right after a closing tag will no longer trigger an error
- mod_pLua now has a new directive, pLuaTimeout, for setting an optional timeout in seconds for scripts
0.28:
- Failure to obtain the correct lua_thread struct will now be printed to apache's error log.
- Consolidated some data fetching throughout the code.
- mod_pLua now works with both Lua 5.1 and 5.2!
- Added a new environment key, "Lua-Version" which shows either 5.1 or 5.2 depending on the interpreter version
0.27:
- Error messages have been beautified and shows the file and line number that caused the error instead of '[[string "..."]]'.
- The string.SHA256() function has been improved in speed significantly (2.5x speed improvement)
0.26:
- mod_pLua scripts can now use both the <? ?> and the <?lua ?> enclosures
- Added a new directive, pLuaRaw <ext> for making pLua compile certain files as plain Lua code
0.25:
- Database handles now have their own memory pool to play with and free up on db:close()
0.24:
- Output will now be flushed for each 20KB data printed to avoid overruns
- Added ServerName information to getEnv()
- mod_plua will now launch in a state pool reserved for each specific vhost to avoid global collisions
0.23:
- Added db:active() for checking whether a database connection is still working or closed (or GC'ed)
0.22:
- Added some descriptions to main.c
- Added a few more environment keys/values
- Changed the mod_plua test page to include encryption and database tests
- Calling dbopen with an empty connection string will now only test if the dbd driver exists
- Database handles are now persistent through sessions untill closed or GC'ed
0.21:
- dbopen, dbopen:run and dbopen:query will now return (nil, errormessage) on failure
- Moved mallocs/callocs from crypt functions over to apr_pcalloc
0.20:
- Added Unparsed-URI, Request and Path-Info to the environment table
- Fixed an issue where ParseGet() would return unknown results if passed an empty string
- Added string.encode64() and string.decode64() for handling Base64 encoding on the fly
- Added string.SHA256() for using SHA256 hashes
0.19:
- Added file.rename(oldfile,newfile) for moving files around.
- Added file.unlink(filename) for deleting files
- Null-data preceding code blocks is no longer added as an empty echo
- Old cache entries are now properly dereferenced when being replaced by new entries
- File statistics are now being re-used in the compiler, giving a whopping 2% speed boost
0.18:
- Moved around code Change hook calls so all plua structs can be created using apr_pcalloc and use apache's memory pool
- Added db:escape(string) for escaping SQL data
0.17:
- Added dbopen(dbType, parameters) for handling database connections via APR_DBD
0.16:
- Changed formdata structs to be allocated by APR instead of hardcoded
- mod_plua will now change the current working directory to that of the file being run
- Working-Directory is now listed as one of the key/value pairs in getEnv()
0.15:
- Added include(filename) for including other plua scripts or HTML content
0.14:
- Fine-tuned the clock() and compileTime() precisions on Windows
0.13:
- Added ChangeLog.txt to the project.
- Increased the precision of clock() and compileTime() on Windows systems to approximately 1/10th of a microsecond
- Changed from ap_rputs to ap_write for binary output compatibility
- Error outputs are now escaped so HTML code in the message won't obscure the rest of the message.
0.12:
- multipart form data can now be parsed
- Added a limit to both number of keys and the number of key values in a HTTP request
0.11:
- Consolidated the form data parsing into two new parsing functions that both POST and GET use.
- Getting ready to parse multipart form data.
- Added support for multiple values in form data
- Added a maximum number of 500 form fields parsed by parseGet and parsePost