summaryrefslogtreecommitdiffstats
path: root/src/civetweb/RELEASE_NOTES.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/civetweb/RELEASE_NOTES.md')
-rw-r--r--src/civetweb/RELEASE_NOTES.md395
1 files changed, 395 insertions, 0 deletions
diff --git a/src/civetweb/RELEASE_NOTES.md b/src/civetweb/RELEASE_NOTES.md
new file mode 100644
index 000000000..dfae89f16
--- /dev/null
+++ b/src/civetweb/RELEASE_NOTES.md
@@ -0,0 +1,395 @@
+Release Notes v1.10
+===
+### Objectives: *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
+- 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
+
+
+Release Notes v1.9.1
+===
+### Objectives: *Bug fix*
+
+Changes
+-------
+
+- Add "open website" button for pre-built Windows binaries
+- Fix for connections closed prematurely
+- Update to a new check unit test framework and remove patches required for previous version
+- Update version number
+
+
+Release Notes v1.9
+===
+### Objectives: *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 substrings
+- Fix memory leak in form handling
+- Fix bug in timer logic (for Lua Websockets)
+- Updated version number
+
+Release Notes v1.8
+===
+### Objectives: *CMake integration and continuous integration tests, Support client certificates, bug fixes*
+
+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
+
+Release Notes v1.7
+===
+### Objectives: *Examples, 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
+
+Release Notes v1.6
+===
+### Objectives: *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 (bel)
+- Add dialog to change htpasswd files for the Windows standalone server (bel)
+- Fix compiler warnings and warnings from static code analysis (Danny Al-Gaaf, jmc-, Thomas, bel, ...)
+- Add new unit tests (bel)
+- Support includes in htpasswd files (bel)
+- Add a basic option check for the standalone executable (bel)
+- Support user defined error pages (bel)
+- Method to get POST request parameters via C++ interface (bel)
+- Re-Add unit tests for Linux and Windows (jmc-, bel)
+- Allow to specify title and tray icon for the Windows standalone server (bel)
+- Fix minor memory leaks (bel)
+- Redirect all memory allocation/deallocation through mg functions which may be overwritten (bel)
+- Support Cross-Origin Resource Sharing (CORS) for static files and scripts (bel)
+- Win32: Replace dll.def file by export macros in civetweb.h (CSTAJ)
+- Base64 encode and decode functions for Lua (bel)
+- Support pre-loaded files for the Lua environment (bel)
+- Server should check the nonce for http digest access authentication (bel)
+- Hide read-only flag in file dialogs opened by the Edit Settings dialog for the Windows executable (bel)
+- Add all functions to dll.def, that are in the header (bel)
+- Added Lua extensions: send_file, get_var, get_mime_type, get_cookie, url_decode, url_encode (bel)
+- mg_set_request_handler() mod to use pattern (bel, Patch from Toni Wilk)
+- Solved, tested and documented SSL support for Windows (bel)
+- Fixed: select for Linux needs the nfds parameter set correctly (bel)
+- Add methods for returning the ports civetweb is listening on (keithel)
+- Fixes for Lua Server Pages, as described within the google groups thread. (bel)
+- Added support for plain Lua Scripts, and an example script. (bel)
+- A completely new, and more illustrative websocket example for C. (bel)
+- Websocket for Lua (bel)
+- An optional websocket_root directory, including URL rewriting (bel)
+- Update of SQLite3 to 3.8.1. (bel)
+- Add "date" header field to replies, according to the requirements of RFC 2616 (the HTTP standard), Section 14.18 (bel)
+- Fix websocket long pull (celeron55)
+- Updated API documentation (Alex Kozlov)
+- Fixed Posix locking functions for Windows (bel2125)
+- Updated version number
+
+Release Notes v1.5
+===
+### Objectives: *Bug fixes and updates, repository restoration*
+
+Changes
+-------
+
+- Corrected bad mask flag/opcode passing to websocket callback (William Greathouse)
+- Moved CEVITWEB_VERSION define into civetweb.h
+- Added new simple zip deployment build for Windows.
+- Removed windows install package build.
+- Fixes page violation in mod_lua.inl (apkbox)
+- Use C style comments to enable compiling most of civetweb with -ansi. (F-Secure Corporation)
+- Allow directories with non ASCII characters in Windows in UTF-8 encoded (bel2125)
+- Added Lua File System support (bel2125)
+- Added mongoose history back in repository thanks to (Paul Sokolovsky)
+- Fixed keep alive (bel2125)
+- Updated of MIME types (bel2125)
+- Updated lsqlite (bel2125)
+- Fixed master thread priority (bel2125)
+- Fixed IPV6 defines under Windowe (grenclave)
+- Fixed potential dead lock in connection_close() (Morgan McGuire)
+- Added WebSocket example using asynchronous server messages (William Greathouse)
+- Fixed the getcwd() warning (William Greathouse)
+- Implemented the connection_close() callback (William Greathouse)
+- Fixed support URL's in civetweb.c (Daniel Oaks)
+- Allow port number to be zero to use a random free port (F-Secure Corporation)
+- Wait for threads to finish when stopping for a clean shutdown (F-Secure Corporation)
+- More static analysis fixes against Coverity tool (F-Secure Corporation)
+- Travis automated build testing support added (Daniel Oaks)
+- Updated version numbers.
+- Added contributor credits file.
+
+Release Notes v1.4
+===
+### Objectives: *New URI handler interface, feature enhancements, C++ extensions*
+The main idea behind this release is to bring about API consistency. All changes
+are backward compatible and have been kept to a minimum.
+
+Changes
+-------
+
+- Added mg_set_request_handler() which provides a URI mapping for callbacks.
+ This is a new alternative to overriding callbacks.begin_request.
+- Externalized mg_url_encode()
+- Externalized mg_strncasecmp() for utiliy
+- Added CivetServer::getParam methods
+- Added CivetServer::urlDecode methods
+- Added CivetServer::urlEncode methods
+- Dealt with compiler warnings and some static analysis hits.
+- Added mg_get_var2() to parse repeated query variables
+- Externalized logging function cry() as mg_cry()
+- Added CivetServer::getCookie method (Hariprasad Kamath)
+- Added CivetServer::getHeader method (Hariprasad Kamath)
+- Added new basic C embedding example
+- Conformed source files to UNIX line endings for consistency.
+- Unified the coding style to improve reability.
+
+Release Notes v1.3
+===
+### Objectives: *Buildroot Integration*
+
+Changes
+-------
+
+- Made option to put initial HTMLDIR in a different place
+- Validated build without SQLITE3 large file support
+- Updated documentation
+- Updated Buildroot config example
+
+Release Notes v1.2
+===
+### Objectives: *Installation Improvements, buildroot, cross compile support*
+The objective of this release is to make installation seamless.
+
+Changes
+-------
+
+- Create an installation guide
+- Created both 32 and 64 bit windows installations
+- Added install for windows distribution
+- Added 64 bit build profiles for VS 2012.
+- Created a buildroot patch
+- Updated makefile to better support buildroot
+- Made doc root and ports configurable during the make install.
+- Updated Linux Install
+- Updated OS X Package
+- Improved install scheme with welcome web page
+
+Known Issues
+-----
+
+- The prebuilt Window's version requires [Visual C++ Redistributable for Visual Studio 2012](http://www.microsoft.com/en-us/download/details.aspx?id=30679)
+
+Release Notes v1.1
+===
+### Objectives: *Build, Documentation, License Improvements*
+The objective of this release is to establish a maintable code base, ensure MIT license rights and improve usability and documentation.
+
+Changes
+-------
+
+- Reorangized build directories to make them more intuitive
+- Added new build rules for lib and slib with option to include C++ class
+- Upgraded Lua from 5.2.1 to 5.2.2
+- Added fallback configuration file path for Linux systems.
+ + Good for having a system wide default configuration /usr/local/etc/civetweb.conf
+- Added new C++ abstraction class CivetServer
+- Added thread safety for and fixed websocket defects (Morgan McGuire)
+- Created PKGBUILD to use Arch distribution (Daniel Oaks)
+- Created new documentation on Embeddeding, Building and yaSSL (see docs/).
+- Updated License file to include all licenses.
+- Replaced MD5 implementation due to questionable license.
+ + This requires new source file md5.inl
+- Changed UNIX/OSX build to conform to common practices.
+ + Supports build, install and clean rules.
+ + Supports cross compiling
+ + Features can be chosen in make options
+- Moved Cocoa/OSX build and packaging to a separate file.
+ + This actually a second build variant for OSX.
+ + Removed yaSSL from the OSX build, not needed.
+- Added new Visual Studio projects for Windows builds.
+ + Removed Windows support from Makefiles
+ + Provided additional, examples with Lua, and another with yaSSL.
+- Changed Zombie Reaping policy to not ignore SIGCHLD.
+ + The previous method caused trouble in applciations that spawn children.
+
+Known Issues
+-----
+
+- Build support for VS6 and some other has been deprecated.
+ + This does not impact embedded programs, just the stand-alone build.
+ + The old Makefile was renamed to Makefile.deprecated.
+ + This is partcially do to lack fo testing.
+ + Need to find out what is actually in demand.
+- Build changes may impact current users.
+ + As with any change of this type, changes may impact some users.
+
+Release Notes v1.0
+===
+
+### Objectives: *MIT License Preservation, Rebranding*
+The objective of this release is to establish a version of the Mongoose software distribution that still retains the MIT license.
+
+Changes
+-------
+
+- Renamed Mongoose to Civetweb in the code and documentation.
+- Replaced copyrighted images with new images
+- Created a new code respository at https://github.com/civetweb/civetweb
+- Created a distribution site at https://sourceforge.net/projects/civetweb/
+- Basic build testing