Clang is support provided, CppCMS was tested against Clang 2.8.
Now CppCMS supports 5 families of C++ compilers:
- GCC 3.4.x to 4.6.1
- Visual Studio 2005 - 2010
- Clang 2.8
- Intel 11
- Sun Studio 5.10
Significant performance improvements in XSS filtering by rewriting URI validation using a C++ parser rather then using complex regular expression.
Added support of fully custom validation for HTML attributes using callback functions in the XSS filter.
Significant performance improvements over multiple places in code by eliminating multiple memory allocations:
- HTTP, SCGI and FastCGI backends - improved memory allocation for CGI variables.
- Fetching values from JSON objects using get(...), find(...) APIs is now done with 0 memory allocation.
- URL mapping is now done with 0 or very low memory allocation.
- Various filters like
urlencodeand some others now work with no or few memory allocations.
Performance improvements in caching by replacing the balanced binary tree by hash table in the primary cache key index.
json::objecthad changed from
std::map<string_key,value>. It should be fully transparent for almost all users.
- Fixed a crash in http::response when writing HTTP headers throws due for example to incorrect file permissions.
- Fixed a bug in
booster::regexthat prevented some valid patterns to be matched against some regular expressions.
- Fixed a bug that may prevent from
booster::regexto work on big endian 64 bit platforms
- Added initial support of Python3 for templates compiler.
- Added a workaround for systems that use python3 by default.