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