Changelog History
Page 1
-
v1.13 Changes
September 30, 2020Summary
โก๏ธ Various updates and fixes, additional API functions
๐ Changes
- โ Add arguments for CGI interpreters
- ๐ Support multiple CGi interpreters
- Buffering HTTP response headers, including API functions mg_response_header_* in C and Lua
- โ Additional C API functions
- ๐ Fix some memory leaks
- Extended use of atomic operations (e.g., for server stats)
- โ Add fuzz tests
- 0๏ธโฃ Set OpenSSL 1.1 API as default (from 1.0)
- โ Add Lua 5.4 support and deprecate Lua 5.1
- Provide additional Lua API functions
- ๐ Fix Lua websocket memory leak when closing the server
- โ Remove obsolete "file in memory" implementation
- ๐ Improvements and fixes in documentation
- ๐ Fixes from static source code analysis
- โ Additional unit tests
- ๐ Various small bug fixes
- ๐ Experimental support for some HTTP2 features (not ready for production)
- ๐ Experimental support for websocket compression
- โ Remove legacy interfaces declared obsolete since more than 3 years
- โก๏ธ Update version number
-
v1.12 Changes
March 17, 2020Summary
๐ Multiple improvements and extensions in various areas, including compatibility enhancements, additional Lua scripting features and documentation.
๐ Changes
- โก๏ธ Updates/improvements for LuaXML
- โก๏ธ Updates and tests for JSON for Lua
- ๐ BoringSSL support
- โ Add Remark: Do not use Git for Windows V2.24 (but <= V2.23 or >= V2.25)
- ๐ Format configuration dialogs for Windows
- โ Add option "hide_tray" to start without Windows systray icon
- URI checking according to "remove_dot_segments" algorithm from RFC
- ๐ Experimental support for a new server and client start API
- โ Additional callbacks to initialize external SSL context
- More cache control options for static files
- Trace function for Lua server pages
- Access to client certificate data for Lua pages
- ๐ Allow to configure SOMAXCONN (max. number of waiting connections)
- ๐ Include some build options for Zephyr
- ๐ Support for flawed CGI interpreters returning only instead of
- โ Add NO_FILESYSTEM flag for (embedded) system without any file system
- ๐ Several fixes for server side Lua scripts
- Disable SSL renegotiation for new OpenSSL version
- ๐ Allow to force TLSv1.3 (disable TLSv1.2)
- Prefer pre-compressed *.gz file, if it already exists
- ๐ Fix some #include statements for various compilers / OS / SDK versions
- ๐ Support for Linux Standard Base (LSB)
- Fixes to mg_get_*_info() API functions
- ๐ Fix some bugs/deficiencies in examples and tests
- ๐ Fix some static source code analysis warnings
- โ Add Conan package build
- ๐ Fix include for Lua pages in "Kepler Syntax"
- ๐ง Replace some uses of deprecated Linux and OpenSSL API functions
- ๐ Improved documentation and examples
- ๐ Fixes for timeout handling
- ๐ Fixes for the request queue (rare loss of requests)
- Client side SNI
- โก๏ธ Update version number
-
v1.11 Changes
September 10, 2018Major Features
๐ Support multiple domains and certificates, support websocket ping-pong, on-the-fly compression, additional API functions
๐ Changes
- โ Add API function to send file body for C and Lua
- ๐ Fix several warnings from different compilers and static code analyzers
- โฌ๏ธ Drop Symbian support from the code
- ๐ Improve examples
- โฑ Timeout for CGI scripts
- ๐ Fix for requests using IPv6 addresses as hostname
- Shared data for Lua scripts and Lua server pages
- โ Add API function for 30x redirect
- ๐ง Script for Linux bash auto-completion
- โ Add HTTP JSON C callback example
- โ Add helper function for HTTP 200 OK response
- ๐ Allow Kepler Syntax for Lua Server pages
- โก๏ธ Update duktape to 2.2.0 and Lua to 5.3.4
- ๐ Optional support for on-the-fly compression (if zlib is available and USE_ZLIB is set)
- ๐ฒ Add method to replace mg_cry and log_access by own implementation
- ๐ Fixes for IPv6 support
- โ Add server support for websocket ping pong protocol
- ๐ Fix misspellings in source code and documentation
- โ Add error msg to http_error callback
- ๐ Move unit test to a new directory
- Remove remote_ip request_info member (it has been legacy since several versions)
- ๐ Use gmtime_r instead of gmtime, if available
- โ Add some functions to C++ wrapper
- ๐ Support multiple domains with different certificate files (TLS server name identification, SNI)
- Provide client peer certificate (X509) in mg_client_cert structure
- Add new callback (get_external_ssl_ctx) to provide pre-initialized TLS context
- ๐ Improve unit tests
- ๐ Fix ssl init for HTTPS clients
- โก๏ธ Update version number
-
v1.10 Changes
September 26, 2017Major Features
๐ OpenSSL 1.1 support, add server statistics and diagnostic data
๐ Changes
- Add missing
mg_
orMG_
to symbols in civetweb.h. Symbols without will be removed a future version. - โ Add HTTPS server configuration example
- ๐ Lua Pages: mg.include should support absolute, relative and virtual path types
- โ Add API function for HTTP digest authentication
- ๐ Improved interface documentation
- ๐ Support parameters for Lua background scripts
- 0๏ธโฃ Use new connection queue implementation (previously ALTERNATIVE_QUEUE) as default
- Add USE_SERVER_STATS define, so the server collects statistics data
- Convert system_info text output and all other diagnostic strings to JSON format
- โ Add experimental function to query the connection status (may be dropped again)
- โ Add document on proposed future interface changes (for comments)
- ๐ Officially drop Symbian support
- Ignore leading blank lines in multipart messages (for Android upload service)
- ๐ Rewrite some functions, in particular request parsing
- CORS preflight directly in the server, with additional config options
- โ Solve some warnings from different static source code analysis tools
- Collect server status data
- ๐ Allow hostname in listening_ports
- ๐ง Make maximum request size configurable
- ๐ Allow multiple Sec-Websocket-Protocol
- โ Add configuration option to send additional headers
- โ Add configuration option for Strict-Transport-Security
- Mark "file in memory" feature is a candidate for deletion
- ๐ Improve examples
- ๐ Fix timeout error when sending larger files
- Add mg_send_chunk interface function
- ๐ Allow to separate server private key and certificate chain in two different files
- ๐ Support for multipart requests without quotes (for some C# clients)
- Initialize SSL in mg_init_library, so https client functions can be used when no server is running
- ๐ Allow "REPORT" HTTP method for REST calls to scripts
- ๐ Allow to compile civetweb.c wih a C++ compiler
- ๐ Lua: Remove internal length limits of encode/decode functions
- ๐ Allow sub-resources of index script files
- Add config parameter allow_index_script_resource the aforementioned feature
- โ Remove deprecated "uri" member of the request from the interface
- ๐ Improve documentation
- ๐ง Make auth domain check optional (configuration)
- โก๏ธ Update unit test framework to check 0.11.0 (C89/C90 compilers still need a patched version)
- Limit depth of mg.include for Lua server pages
- โ Additional unit tests
- ๐ OpenSSL 1.1 support
- โก๏ธ Update version number
- Add missing
-
v1.9.1 Changes
January 04, 2017Bug fix version
๐ Changes
- ๐ Fix for connections closed prematurely
- โก๏ธ Update to a new check unit test framework and remove patches required for previous version
- โ Add "open website" button for pre-built Windows binaries (so end users can easily check for new versions)
- โก๏ธ Update version number
-
v1.9 Changes
December 30, 2016๐ Features
๐ Read SSI client certificate information, improve windows usability, use non-blocking sockets, bug fixes
๐ Changes
- โ Add library init/exit functions (call is now optional, but will be required in V1.10)
- ๐ Windows: Show system information from the tray icon
- ๐ Windows: Bring overlaid windows to top from the tray icon
- โ Add Lua background script, running independent from server state
- ๐ Move obsolete examples into separated directory
- ๐ Change name of CMake generated C++ library to civetweb-cpp
- โ Add option to set linger timeout
- โก๏ธ Update Duktape and Lua (third-party code)
- โ Add continuous integration tests
- โ Add API documentation
- Limit recursions in .htpasswd files
- ๐ Fix SCRIPT_NAME for CGI directory index files (index.php)
- ๐ Use non-blocking sockets
- stdint.h is now required and no longer optional
- Rewrite connection close handling
- Rewrite mg_fopen/mg_stat
- โจ Enhanced tray icon menu for Windows
- โ Add subprotocol management for websocket connections
- โฑ Partially rewrite timeout handling
- Add option keep_alive_timeout_ms
- ๐ Improve support for absolute URIs
- ๐ Allow some additional compiler checks (higher warning level)
- โ Add option for case sensitive file names for Windows
- Short notation for listening_ports option when using IPv4 and IPv6 ports
- ๐ง Make usage of Linux sendfile configurable
- โก๏ธ Optimize build matrix for Travis CI
- Retry failing TLS/HTTPS read/write operations
- Read client certificate information
- Do not tolerate URIs with invalid characters
- Fix mg_get_cookie to ignore sub-strings
- ๐ Fix memory leak in form handling
- ๐ Fix bug in timer logic (for Lua Websockets)
- โก๏ธ Updated version number
-
v1.8 Changes
May 27, 2016๐ Features
โก๏ธ CMake integration, new unit tests based on the check framework, continuous integration with Travis CI and AppVeyor, code analysis with Coverity, some additional API functions, bug fixes and updates
๐ Changes
- Replace mg_upload by mg_handle_form_request
- CGI-scripts must receive EOF if all POST data is read
- โ Add API function to handle all kinds of HTML form data
- ๐ Do not allow short file names in Windows
- Callback when a new thread is initialized
- ๐ Support for short lived certificates
- โ Add NO_CACHING compile option
- โก๏ธ Update Visual Studio project files to VS2015; rename directory VS2012 to VS
- Sec-Wesocket-Protocol must only return one protocol
- โ Mark some examples and tests as obsolete
- โ Remove no longer maintained test utils
- Add some default MIME types and the mg_send_mime_file API function.
- Client API using SSL certificates
- Send "Cache-Control" headers
- โ Add alternative to mg_upload
- โ Additional configuration options
- ๐ Fix memory leaks
- โ Add API function to check available features
- โ Add new interface to get listening ports
- โ Add websocket client interface and encode websocket data with a simple random number
- ๐ Support SSL client certificates
- โ Add configuration options for SSL client certificates
- ๐ป Stand-alone server: Add command line option -I to display information about the system
- ๐ฒ Redirect stderr of CGI process to error log
- Support absolute URI; split uri in mg_request_info to request_uri and local_uri
- ๐จ Some source code refactoring, to improve maintainability
- ๐ง Use recursive mutex for Linux
- ๐ Allow CGI environment to grow dynamically
- ๐ Support build for Lua 5.1 (including LuaJIT), Lua 5.2 and Lua 5.3
- ๐ Improve examples and documentation
- Build option CIVETWEB_SERVE_NO_FILES to disable serving static files
- โ Add Server side JavaScript support (Duktape library)
- Created a "civetweb" organization at GitHub.
- ๐ Repository moved from https://github.com/bel2125/civetweb to https://github.com/civetweb/civetweb
- ๐ Improved continuous integration
- ๐ท CMake support, continuous integration with Travis CI and Appveyor
- โ Adapt/port unit tests to CMake/Travis/Appveyor
- ๐ Bug fixes, including issues from static code analysis
- โ Add status badges to the GitHub project main page
- โก๏ธ Updated version number
-
v1.7 Changes
July 05, 2015๐ Features
โจ Enhanced examples and documentation, additional API functions, some functions rewritten, bug fixes and updates
๐ Changes
- Format source with clang_format
- ๐ง Use function 'sendfile' for Linux
- ๐ Fix for CRAMFS in Linux
- ๐ Fix for file modification times in Windows
- Use SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR for Windows
- Rewrite push/pull functions
- Allow to use Lua as shared objects (WITH_LUA_SHARED)
- ๐ Fixes for many warnings
- URI specific callbacks and different timeouts for websockets
- โ Add chunked transfer support
- โก๏ธ Update LuaFileSystem
- โก๏ธ Update Lua to 5.2.4
- ๐ Fix build for MinGW-x64, TDM-GCC and clang
- โก๏ธ Update SQLite to 3.8.10.2
- Fix CGI variables SCRIPT_NAME and PATH_TRANSLATED
- ๐ Set TCP_USER_TIMEOUT to deal faster with broken connections
- โ Add a Lua form handling example
- Return more differentiated HTTP error codes
- โ Add log_access callback
- Rewrite and comment request handling function
- Specify in detail and document return values of callback functions
- Set names for all threads (unless NO_THREAD_NAME is defined)
- ๐ New API functions for TCP/HTTP clients
- ๐ Fix upload of huge files
- ๐ Allow multiple SSL instances within one application
- ๐ Improve API and user documentation
- ๐ Allow to choose between static and dynamic Lua library
- ๐ Improve unit test
- ๐ Use temporary file name for partially uploaded files
- โ Additional API functions exported to C++
- โ Add a websocket client example
- โ Add a websocket client API
- โก๏ธ Update websocket example
- ๐ Make content length available in request_info
- ๐ New API functions: access context, callback for create/delete, access user data
- โฌ๏ธ Upgraded Lua from 5.2.2 to 5.2.3 and finally 5.2.4
- โ Integrate LuaXML (for testing purposes)
- ๐ Fix compiler warnings
- โก๏ธ Updated version number
-
v1.6 Changes
June 27, 2014๐ Features
โจ Enhance Lua support, configuration dialog for windows, new examples, bug fixes and updates
๐ Changes
- โ Add examples of Lua pages, scripts and websockets to the test directory
- โ Add dialog to change htpasswd files for the Windows standalone server
- ๐ Fix compiler warnings and warnings from static code analysis
- โ Add new unit tests
- ๐ Support includes in htpasswd files
- โ Add a basic option check for the standalone executable
- ๐ Support user defined error pages
- Method to get POST request parameters via C++ interface
- ๐ง Re-Add unit tests for Linux and Windows
- ๐ Allow to specify title and tray icon for the Windows standalone server
- ๐ Fix minor memory leaks
- Redirect all memory allocation/deallocation through mg functions which may be overwritten
- ๐ Support Cross-Origin Resource Sharing (CORS) for static files and scripts
- Win32: Replace dll.def file by export macros in civetweb.h
- Base64 encode and decode functions for Lua
- ๐ Support pre-loaded files for the Lua environment
- Server should check the nonce for http digest access authentication
- ๐ Hide read-only flag in file dialogs opened by the Edit Settings dialog for the Windows executable
- โ Add all functions to dll.def, that are in the header
- Added Lua extensions: send_file, get_var, get_mime_type, get_cookie, url_decode, url_encode
- mg_set_request_handler() mod to use pattern
- ๐ Solved, tested and documented SSL support for Windows
- ๐ Fixed: select for Linux needs the nfds parameter set correctly
- โ Add methods for returning the ports civetweb is listening on
- ๐ Fixes for Lua Server Pages, as described within the google groups thread
- โ Added support for plain Lua Scripts, and an example script
- A completely new, and more illustrative websocket example for C
- Websocket for Lua
- An optional websocket_root directory, including URL rewriting
- โก๏ธ Update of SQLite3 to 3.8.1.
- โ Add "date" header field to replies, according to the requirements of RFC 2616 (the HTTP standard), Section 14.18
- ๐ Fix websocket long pull
- ๐ Updated API documentation
- ๐ Fixed Posix locking functions for Windows
- โก๏ธ Updated version number
-
v1.5
October 13, 2013