1Release Notes v1.8
2===
3### Objectives: *CMake integration and continuous integration tests, Support client certificates, bug fixes*
4
5Changes
6-------
7
8- Replace mg_upload by mg_handle_form_request
9- CGI-scripts must receive EOF if all POST data is read
10- Add API function to handle all kinds of HTML form data
11- Do not allow short file names in Windows
12- Callback when a new thread is initialized
13- Support for short lived certificates
14- Add NO_CACHING compile option
15- Update Visual Studio project files to VS2015; rename directory VS2012 to VS
16- Sec-Wesocket-Protocol must only return one protocol
17- Mark some examples and tests as obsolete
18- Remove no longer maintained test utils
19- Add some default MIME types and the mg_send_mime_file API function.
20- Client API using SSL certificates
21- Send "Cache-Control" headers
22- Add alternative to mg_upload
23- Additional configuration options
24- Fix memory leaks
25- Add API function to check available features
26- Add new interface to get listening ports
27- Add websocket client interface and encode websocket data with a simple random number
28- Support SSL client certificates
29- Add configuration options for SSL client certificates
30- Stand-alone server: Add command line option -I to display information about the system
31- Redirect stderr of CGI process to error log
32- Support absolute URI; split uri in mg_request_info to request_uri and local_uri
33- Some source code refactoring, to improve maintainability
34- Use recursive mutex for Linux
35- Allow CGI environment to grow dynamically
36- Support build for Lua 5.1 (including LuaJIT), Lua 5.2 and Lua 5.3
37- Improve examples and documentation
38- Build option CIVETWEB_SERVE_NO_FILES to disable serving static files
39- Add Server side JavaScript support (Duktape library)
40- Created a "civetweb" organization at GitHub.
41- Repository moved from https://github.com/bel2125/civetweb to https://github.com/civetweb/civetweb
42- Improved continuous integration
43- CMake support, continuous integration with Travis CI and Appveyor
44- Adapt/port unit tests to CMake/Travis/Appveyor
45- Bug fixes, including issues from static code analysis
46- Add status badges to the GitHub project main page
47- Updated version number
48
49Release Notes v1.7
50===
51### Objectives: *Examples, documentation, additional API functions, some functions rewritten, bug fixes and updates*
52
53Changes
54-------
55
56- Format source with clang_format
57- Use function 'sendfile' for Linux
58- Fix for CRAMFS in Linux
59- Fix for file modification times in Windows
60- Use SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR for Windows
61- Rewrite push/pull functions
62- Allow to use Lua as shared objects (WITH_LUA_SHARED)
63- Fixes for many warnings
64- URI specific callbacks and different timeouts for websockets
65- Add chunked transfer support
66- Update LuaFileSystem
67- Update Lua to 5.2.4
68- Fix build for MinGW-x64, TDM-GCC and clang
69- Update SQLite to 3.8.10.2
70- Fix CGI variables SCRIPT_NAME and PATH_TRANSLATED
71- Set TCP_USER_TIMEOUT to deal faster with broken connections
72- Add a Lua form handling example
73- Return more differentiated HTTP error codes
74- Add log_access callback
75- Rewrite and comment request handling function
76- Specify in detail and document return values of callback functions
77- Set names for all threads (unless NO_THREAD_NAME is defined)
78- New API functions for TCP/HTTP clients
79- Fix upload of huge files
80- Allow multiple SSL instances within one application
81- Improve API and user documentation
82- Allow to choose between static and dynamic Lua library
83- Improve unit test
84- Use temporary file name for partially uploaded files
85- Additional API functions exported to C++
86- Add a websocket client example
87- Add a websocket client API
88- Update websocket example
89- Make content length available in request_info
90- New API functions: access context, callback for create/delete, access user data
91- Upgraded Lua from 5.2.2 to 5.2.3 and finally 5.2.4
92- Integrate LuaXML (for testing purposes)
93- Fix compiler warnings
94- Updated version number
95
96Release Notes v1.6
97===
98### Objectives: *Enhance Lua support, configuration dialog for windows, new examples, bug fixes and updates*
99
100Changes
101-------
102
103- Add examples of Lua pages, scripts and websockets to the test directory (bel)
104- Add dialog to change htpasswd files for the Windows standalone server (bel)
105- Fix compiler warnings and warnings from static code analysis (Danny Al-Gaaf, jmc-, Thomas, bel, ...)
106- Add new unit tests (bel)
107- Support includes in htpasswd files (bel)
108- Add a basic option check for the standalone executable (bel)
109- Support user defined error pages (bel)
110- Method to get POST request parameters via C++ interface (bel)
111- Re-Add unit tests for Linux and Windows (jmc-, bel)
112- Allow to specify title and tray icon for the Windows standalone server (bel)
113- Fix minor memory leaks (bel)
114- Redirect all memory allocation/deallocation through mg functions which may be overwritten (bel)
115- Support Cross-Origin Resource Sharing (CORS) for static files and scripts (bel)
116- Win32: Replace dll.def file by export macros in civetweb.h (CSTAJ)
117- Base64 encode and decode functions for Lua (bel)
118- Support pre-loaded files for the Lua environment (bel)
119- Server should check the nonce for http digest access authentication (bel)
120- Hide read-only flag in file dialogs opened by the Edit Settings dialog for the Windows executable (bel)
121- Add all functions to dll.def, that are in the header (bel)
122- Added Lua extensions: send_file, get_var, get_mime_type, get_cookie, url_decode, url_encode (bel)
123- mg_set_request_handler() mod to use pattern (bel, Patch from Toni Wilk)
124- Solved, tested and documented SSL support for Windows (bel)
125- Fixed: select for Linux needs the nfds parameter set correctly (bel)
126- Add methods for returning the ports civetweb is listening on (keithel)
127- Fixes for Lua Server Pages, as described within the google groups thread. (bel)
128- Added support for plain Lua Scripts, and an example script. (bel)
129- A completely new, and more illustrative websocket example for C. (bel)
130- Websocket for Lua (bel)
131- An optional websocket_root directory, including URL rewriting (bel)
132- Update of SQLite3 to 3.8.1. (bel)
133- Add "date" header field to replies, according to the requirements of RFC 2616 (the HTTP standard), Section 14.18 (bel)
134- Fix websocket long pull (celeron55)
135- Updated API documentation (Alex Kozlov)
136- Fixed Posix locking functions for Windows (bel2125)
137- Updated version number
138
139Release Notes v1.5
140===
141### Objectives: *Bug fixes and updates, repository restoration*
142
143Changes
144-------
145
146- Corrected bad mask flag/opcode passing to websocket callback (William Greathouse)
147- Moved CEVITWEB_VERSION define into civetweb.h
148- Added new simple zip deployment build for Windows.
149- Removed windows install package build.
150- Fixes page violation in mod_lua.inl (apkbox)
151- Use C style comments to enable compiling most of civetweb with -ansi. (F-Secure Corporation)
152- Allow directories with non ASCII characters in Windows in UTF-8 encoded (bel2125)
153- Added Lua File System support (bel2125)
154- Added mongoose history back in repository thanks to (Paul Sokolovsky)
155- Fixed keep alive (bel2125)
156- Updated of MIME types (bel2125)
157- Updated lsqlite (bel2125)
158- Fixed master thread priority (bel2125)
159- Fixed IPV6 defines under Windowe (grenclave)
160- Fixed potential dead lock in connection_close() (Morgan McGuire)
161- Added WebSocket example using asynchronous server messages (William Greathouse)
162- Fixed the getcwd() warning (William Greathouse)
163- Implemented the connection_close() callback (William Greathouse)
164- Fixed support URL's in civetweb.c (Daniel Oaks)
165- Allow port number to be zero to use a random free port (F-Secure Corporation)
166- Wait for threads to finish when stopping for a clean shutdown (F-Secure Corporation)
167- More static analysis fixes against Coverity tool (F-Secure Corporation)
168- Travis automated build testing support added (Daniel Oaks)
169- Updated version numbers.
170- Added contributor credits file.
171
172Release Notes v1.4
173===
174### Objectives: *New URI handler interface, feature enhancements, C++ extensions*
175The main idea behind this release is to bring about API consistency. All changes
176are backward compatible and have been kept to a minimum.
177
178Changes
179-------
180
181- Added mg_set_request_handler() which provides a URI mapping for callbacks.
182   This is a new alternative to overriding callbacks.begin_request.
183- Externalized mg_url_encode()
184- Externalized mg_strncasecmp() for utiliy
185- Added CivetServer::getParam methods
186- Added CivetServer::urlDecode methods
187- Added CivetServer::urlEncode methods
188- Dealt with compiler warnings and some static analysis hits.
189- Added mg_get_var2() to parse repeated query variables
190- Externalized logging function cry() as mg_cry()
191- Added CivetServer::getCookie method (Hariprasad Kamath)
192- Added CivetServer::getHeader method (Hariprasad Kamath)
193- Added new basic C embedding example
194- Conformed source files to UNIX line endings for consistency.
195- Unified the coding style to improve reability.
196
197Release Notes v1.3
198===
199### Objectives: *Buildroot Integration*
200
201Changes
202-------
203
204- Made option to put initial HTMLDIR in a different place
205- Validated build without SQLITE3 large file support
206- Updated documentation
207- Updated Buildroot config example
208
209Release Notes v1.2
210===
211### Objectives: *Installation Improvements, buildroot, cross compile support*
212The objective of this release is to make installation seamless.
213
214Changes
215-------
216
217- Create an installation guide
218- Created both 32 and 64 bit windows installations
219- Added install for windows distribution
220- Added 64 bit build profiles for VS 2012.
221- Created a buildroot patch
222- Updated makefile to better support buildroot
223- Made doc root and ports configurable during the make install.
224- Updated Linux Install
225- Updated OS X Package
226- Improved install scheme with welcome web page
227
228Known Issues
229-----
230
231- The prebuilt Window's version requires [Visual C++ Redistributable for Visual Studio 2012](http://www.microsoft.com/en-us/download/details.aspx?id=30679)
232
233Release Notes v1.1
234===
235### Objectives: *Build, Documentation, License Improvements*
236The objective of this release is to establish a maintable code base, ensure MIT license rights and improve usability and documentation.
237
238Changes
239-------
240
241- Reorangized build directories to make them more intuitive
242- Added new build rules for lib and slib with option to include C++ class
243- Upgraded Lua from 5.2.1 to 5.2.2
244- Added fallback configuration file path for Linux systems.
245    + Good for having a system wide default configuration /usr/local/etc/civetweb.conf
246- Added new C++ abstraction class CivetServer
247- Added thread safety for and fixed websocket defects (Morgan McGuire)
248- Created PKGBUILD to use Arch distribution (Daniel Oaks)
249- Created new documentation on Embeddeding, Building and yaSSL (see docs/).
250- Updated License file to include all licenses.
251- Replaced MD5 implementation due to questionable license.
252     + This requires new source file md5.inl
253- Changed UNIX/OSX build to conform to common practices.
254     + Supports build, install and clean rules.
255     + Supports cross compiling
256     + Features can be chosen in make options
257- Moved Cocoa/OSX build and packaging to a separate file.
258     + This actually a second build variant for OSX.
259     + Removed yaSSL from the OSX build, not needed.
260- Added new Visual Studio projects for Windows builds.
261     + Removed Windows support from Makefiles
262     + Provided additional, examples with Lua, and another with yaSSL.
263- Changed Zombie Reaping policy to not ignore SIGCHLD.
264     + The previous method caused trouble in applciations that spawn children.
265
266Known Issues
267-----
268
269- Build support for VS6 and some other has been deprecated.
270    + This does not impact embedded programs, just the stand-alone build.
271    + The old Makefile was renamed to Makefile.deprecated.
272    + This is partcially do to lack fo testing.
273    + Need to find out what is actually in demand.
274- Build changes may impact current users.
275    + As with any change of this type, changes may impact some users.
276
277Release Notes v1.0
278===
279
280### Objectives: *MIT License Preservation, Rebranding*
281The objective of this release is to establish a version of the Mongoose software distribution that still retains the MIT license.
282
283Changes
284-------
285
286- Renamed Mongoose to Civetweb in the code and documentation.
287- Replaced copyrighted images with new images
288- Created a new code respository at https://github.com/bel2125/civetweb
289- Created a distribution site at https://sourceforge.net/projects/civetweb/
290- Basic build testing
291