Posts in category ‘Progress’.
Web Server Upgrade
http://cppcms.com and http://blog.cppcms.com were migrated to new ec2 Ubuntu 20.04 server. If you notice any issues update please.
Known Issues: there are problems with wikipp table of content. I'll handle it later. Fixed
Next CppCMS Major Feature Poll
I'm looking into implementing next major feature that I can complete with reasonable effort. I have a list of following topics:
- HTTP/1.1 support - it would allow keep alive support and better performance overall for multiple requests. It would allow future implementation of web sockets.
- Multiple-Event-Loop support - today there is only 1 event loop for the service and it can be a bottleneck for small requests on systems with high core count.
- SSL support - for embedded systems that need proper web server.
- C++11 cleanup - replace all booster primitives that exist in C++11
with standard (
shared_ptr
,thread
,mutex
, etc) provide move constructors for many objects, replaceauto_ptr
byunique_ptr
.
Feel free to suggest other ideas that you can think of that would be beneficial.
Comment below or sent e-mail to cppcms-users mailing list.
CppCMS 1.2.1 - security update was released today
Security Bug Fixes:
- Fixed security bug fix in JSON parser module that can lead to DOS
Bugs Fixed:
- Fixed issues #36 - building with GZIP disabled
- Fixed issue #150 - incorrect parsing of multipart form
Changes:
- By default CppCMS now uses OpenSSL instead of GNU-TLS if both available (you can change behavior back by adding
-DDISABLE_OPENSSL=ON
to cmake)
Special Thanks to Khaled Yakdan from code-intelligence.de for reporting this security issue
CppCMS 1.1.1 Release Candidate 1 is Available
New version includes following changes:
Nightly build system updated to moderns OSes/compilers:
- Windows XP -> Windows 7
- MSVC 2008 x86 to MSVC 2017 x86/x65
- MinGW GCC 4.5 x86 -> 7.1 x86/x64
- OpenSolars 2009 to Solaris 11
- FreeBSD 10 -> FreeBSD 11.1
- Added travis.yml for Mac OS X builds
Improved http timeouts handling on non Linux/Windows OSes.
- Fixed incorrect asynchronous IO handing in
*cgi
API. - Added support of
SOL_SNDBUF/SOL_RCVBUF
to service configuration - Fixed HTTP timeout handling on Solaris
- Fixed #24 failure to send large blocks asynchronously over FastCGI
- Fixied issue #21 Program produces 100% CPU load on one core - due to incorrect EOF handling
- Fixed icu backend test for ICU >= 60.1
- Fixed missing
getenv(std::string const &)
issue #16 - Fixed issues with codecvt generation FreeBSD/clang
- Use Windows Vista/7 API by defaults since XP reached EOL.
- Fixed incorrect async connect error handling
- Lineup with Boost.Locale 1.65
- Updated session interface for external languages and unit tests
CppCMS 1.1.0 Beta was released
After the goals for 1.2 were completed I announce official CppCMS 1.1.0 beta (stable will be 1.2.0)
It is available on the usual place:
https://sourceforge.net/projects/cppcms/files/cppcms/1.1.0-beta/cppcms-1.1.0.tar.bz2
It includes many new and important features:
http://cppcms.com/wikipp/en/page/cppcms_1_2_whats_new
Now I ask the community to fully participate in beta testing so 1.2 will be released ASAP.
Goals for beta testing
Framework Unit Test:
- Download the beta version, build, run tests
- Report on what platform you tested: OS, Compiler version, standard library (libstdc++/libc++)
- Have you had any tests failed and if you had please attach Testing/Temporary/LastTest.log and CMakeCache.txt from your build directory
I specially need tests on Mac OS X various versions, various ARM platforms like raspberry pi and Windows different compilers
Compatibility Test:
- Try to build your existing applications with latest version, report any problems
- If you have been using CppCMS 1.0.5 till now please try to build CppCMS 1.1.0 and run existing programs with new shared objects/dll WITHOUT rebuilding your applications - it must work as is!
Feature Test:
Go to: http://cppcms.com/wikipp/en/page/cppcms_1_2_whats_new
And try some of new features, report any issues with them or any problems with API design.
If all goes smoothly I'll release 1.2.0 - official stable version.