Many features were introduced: |
|
1. **CppCMS Core:** |
|
- Introduction of backward compatible API and _ABI_ |
between releases. |
|
- Dependencies cleanup thus the only dependencies |
are ICU library and optional `libgcrypt` and |
`iconv`. |
|
Boost library is hidden from user and placed in |
private namespace. Thus neither CppCMS nor its |
users are limited to specific version of Boost |
library. |
|
- Native support of Microsoft Windows platform |
was provided including the support of |
MinGW and MSVC toolsets. |
|
2. **Ajax Support:** |
|
- Introduction of synchronous and asynchronous |
JSON-RPC services that allow easier |
integration between server side and client |
side Ajax applications. |
|
3. **Comet Support:** |
|
- Support of asynchronous/even driven programming |
- Support of asynchronous/event-driven programming |
was introduced to CppCMS. |
|
- Support of scalable Push technology. |
|
Asynchronous applications are now capable of |
management multiple request in single instance |
simultaneously in scalable and efficient way and |
push data to client side. |
|
4. **Improved Support of i18n and l10n:** |
|
- Powerful localization using ICU library |
is integrated into standard C++ interface of |
`std::locale` facets. |
|
This support is build with Boost.Locale library |
proposed for Boost. |
|
- Optional localization based on standard |
library for embedded applications where ICU |
may be not feasible. |
|
5. **Scalability:** |
|
- Two levels cache system was introduced. |
|
When using distributed cache system, application |
caches locally most frequently used pages |
significantly reducing latency and traffic |
between cache servers and cache clients. |
|
6. **Development and Debugging** |
|
- Internal HTTP web server for development and |
debugging was provided. |
|
- Support of dynamic view reloading without |
application restart was introduced. |
|
These changes will significantly break API backward compatibility with CppCMS 0.0.x series, but these changes |
are absolutely necessary to provide these features. |
|
Also it would be possible to adopt the code almost "mechanically" to the new API. |
|