2017.1 (rev 10804) (Jan 2017)
This is the first release of U++ that requires C++11 compatible compiler. The main focus was Core, adding many enhancements allowed by C++11 and improved parallel programming support. We, also didn't forget about Android and we ported Core library on that platform.
Original U++ Callbacks are deprecated and replaced with Function with better lambda support.
Begin/End methods are now renamed / deprecated in favor of (standard) begin/end.
U++ algorithms now primarily work on ranges, besides container SubRange, ConstRange and ViewRange are now provided.
Initial round of optimizations for ARM architecture.
U++ allocator optimized once again, locking is reduced in inter-thread deallocations, allocator now returns blocks always 16 bytes aligned (simplifies SSE2 code).
General cleanup of U++ algorithms, redundant algorithms removed, new Count and CountIf algorithms
Improvements in Core/RPC
CoWork::FinLock now provides 'free of charge' mutex at the end of worker jobs.
CoWorkerResources class now provides 'per worker thread' context.
CoPartition algorithm useful for partitioning array for parallel programming.
Where it makes sense, U++ algorithms now have parallel variant.
String further optimized, new TrimLast, TrimStart, TrimEnd, FindAfter, ReverseFindAfter
FastCompress (currently using LZ4) for internal program compression.
Core can be compiled on Android and major of features are currently ported.
xxHash - fast non-cryptographic hash - now part of Core.
SHA256 code now part of the Core.
plugin/pcre updated to the latest pcre version.
plugin/zstd now provides zstd compression (with multithreaded option).
plugin/lz4 now can multithreaded.
GUI programming & graphics
PdfDraw and RichText now support PDF signatures.
RichText now can change header/footer within document.
ArrayCtrl got SetLineColor and GetCellRect methods.
Comments now can be spell checked and there is comment word wrap and reformatting operation.
New functions / icons that search the web (launch the browser) for text selected or current identifier.
Optimal compilation mode is removed as confusing, it is now always either debug or release mode, release mode being configured for speed.
When comparing files, differences within single lines are now shown.
Most U++ designers now support drag&drop to reorganize lists.
Find File window was remastered.
New dialog for creating package file.
Android application can be directly launch on emulator from TheIDE.
Clang is now default compiler for native Android applications.
C++14 is now default standard for all Android builds.
Various android builder improvements.
New math functions like sin, cos, tg, pow etc.
New replace in string function.
Significantly improved the process of building TheIDE and UMK from tarball (POSIX environment). Compilation on multiple cores is possible with "-j" option.
Bug fixes in various areas.
If you are looking for informations about archival releases - you can find them on the following site.