All Versions
11
Latest Version
Avg Release Cycle
259 days
Latest Release
153 days ago

Changelog History
Page 1

  • v1.13

    September 30, 2020

    Summary

    โšก๏ธ 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

    March 17, 2020

    Summary

    ๐Ÿ“š 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

    September 10, 2018

    Major 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

    September 26, 2017

    Major Features

    ๐Ÿ‘ OpenSSL 1.1 support, add server statistics and diagnostic data

    ๐Ÿ”„ Changes

    • Add missing mg_ or MG_ 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
  • v1.9.1

    January 04, 2017

    Bug 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

    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

    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

    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

    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