Main  /  Edit version 1  /  Edit version 2  /   /  Users Area

Difference "What is new in 2.0.0" ver. 1 versus ver. 2


## General
This is CppCMS future proofing release:
- CppCMS moved to C++11 by default and now requires a compiler that supports it
- Templates compiler and unit-tests support both python 2.7 and python >= 3.5
- Lots of booster API had become an alias to C++11 libraries
## Breaking Changes
- All references to `std::auto_ptr` were replaced by `std::unique_ptr` since `auto_ptr` was deprecated and removed in C++17.
- Booster API become alias for std equivalents
- `shared_ptr`, `weak_ptr`, `enable_shared_from_this`
- `static_pointer_cast`, `dynamic_pointer_cast`, `const_pointer_cast`
- all `booster::system` now refers to std system library: `error_category`, `system_category`, `error_code`, `system_error`
- `function`
- `thread`, `mutex`, `recursive_mutex`, `conditional_variable`, `unique_lock`
Since some interfaces of C++ standard library functions may differ from ones appear in booster these changes may break some code
## Additional Changes
- `cppcms_tmpl_cc` now uses `std::begin/end`, `std::rbegin/rend` to iterate over containers
- Now it is possible to use `std::regex` instead of PCRE, it has some performance penalty and lack UTF-8 support but it is good option to eliminate some dependencies - for example on Windows.
- `zlib` dependency optional it does not remove file based session storage.
- Atomic counter now uses `std::atomic`
- Many (but not all) APIs that require dynamic parameters size moved to C++11 variadic templates
## Requirements
- Python 2.7 or >= 3.5
- C++11 enabled compiler, tested on gcc>=4.8, clang >=3.8, msvc 2017 (2015 probably will work as well)


CppCMS is a web development framework for performance demanding applications.

Support This Project Logo

Поддержать проект

CppCMS needs You


Main Page

Valid CSS | Valid XHTML 1.0