Current stable release
This is release is mostly focused on improving TheIDE capabilities.
Core
Draw, CtrlLib
RichEdit, RichText
Overview
The new release brings some long awaited features. As you might remember for the last release we removed the old deprecated library for code formatting. In the current release formatting is back based on clang-format. Also TheIDE has got a special dialog when you can adjust formatting to your needs. Formatting is available under "Assist" -> "Reformat" menu.
... read more
Release highlights
Release highlights
Release highlights
This might bring some incompatibilities in the code that expects wchar to be 16 bit, which
escpecially involves dealing with Win32 (and to lesser extend MacOS) APIs, so if your application
is doing that, please check all instances of WCHAR (UniChar on MacOS) or even wchar
especially type casts.... read more
Release highlights
Core
Release highlights
Core
Draw, Painter
ScatterDraw... read more
Release highlights
2019.2 (October 2019)
Core
2019.1 (May 2019)
General improvements
Core
You can learn how to build the standard source code package on your platform (POSIX, Linux, BSD, MacOS) reading the U++ online documentation.
New low-overhead CoWork parallelization method / pattern - Loop
Throughout the Core, many rvalue / universal reference related optimizations
CoPartition optimized to perform the work in calling thread if data size is small... read more
You can learn how to build the standard source code package on your platform (POSIX, Linux, BSD, MacOS) reading the U++ online documentation.
New low-overhead CoWork parallelization method / pattern - Loop
Throughout the Core, many rvalue / universal reference related optimizations
CoPartition optimized to perform the work in calling thread if data size is small... read more
2017.2 (rev 11540) (Dec 2017)
Core
* New AsyncWork class - U++ future-alike tool
* CoWork: Exception propagation from worker threads, job cancellation support.
* Bits class optimized, it is now possible to set multiple bits (count parameter)
* WebSocket refactored for asynchronous operation
* UTF-32 support functions, UnicodeCompose and UnicodeDecompose functions, support for UTF16 surrogate pairs
* DeleteFolderDeep now deletes symlinks
* MakeOne function (alternative to One::Create)
* LoadFromFile, StoreToFile - Event variant
* ReverseRange and SortedRange
* Server Name Indicator support in Socket and HttpRequest
* SSL1.1 API support
* RegisterGlobalSerialize... read more
2017.2 (rev 11427) (Nov 2017)
U++ now requires C++14 compatible compiler.
Core
* New AsyncWork class - U++ future-alike tool
* CoWork: Exception propagation from worker threads, job cancellation support.
* Bits class optimized, it is now possible to set multiple bits (count parameter)
* WebSocket refactored for asynchronous operation
* UTF-32 support functions, UnicodeCompose and UnicodeDecompose functions, support for UTF16 surrogate pairs
* DeleteFolderDeep now deletes symlinks
* MakeOne function (alternative to One::Create)
* LoadFromFile, StoreToFile - Event variant
* ReverseRange and SortedRange
* Server Name Indicator support in Socket and HttpRequest
* SSL1.1 API support
* RegisterGlobalSerialize... read more
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 improving parallel programming support. We, also didn't forget about Android as we ported Core library on that platform.
The main focus of this release was C++ parser and Assist++ features and Android applications builder in TheIDE (library does not yet support Android though).
Core
Improved C++11 support.
Leap second of 2015 added to time routines.
GUI programming & graphics
Improved support of UHD displays.
PdfDraw now supports urls (e.g. when converting QTF/RichText to PDF).
RichText/QTF now support round borders for table cells.
ScatterCtrl: new features.... read more
U++ is BSD licensed C++ cross-platform rapid application development framework focused on programmers productivity without sacrificing runtime performance.
New features for release 2015.1 (rev 8227)
Core
What is new in version 5431:
The focus of this release was server programming. The main new feature is "Skylark", lean and mean U++ based web development framework.
Core
- String class has been further optimized for improved Cat performance.
- Id class was refactored to better support multithreded programming.
- STATIC_ASSERT introduced for compile-time checks.
- TCP/IP and HTTP was refactored and integrated into Core, providing new TcpSocket, IpAddrInfo, HttpHeader and HttpRequest classed (effectively obsoleting Web package).
- Value was refactored and optimized, now using small value optimization technique.
- Value got Xmlize (conversion to/from XML) and Jsonize (conversion to/from JSON) support.
- Date now has operator++/--.
- Exit is now equivalent of C exit function, implemented using exception trow to *_APP_MAIN and C++ friendly.
- Thread now has AtExit support.
- .ini parameters now can be optionally encapsulated using INI_* helpers.
- Sort algorithm was refactored, works about 10% faster.
- LOGHEX and DUMPHEX logging macros provided for logging Strings in hexadecimal form.
- LoadFromJsonFile and StoreToJsonFile jsonize object from/to files.... read more
What is new in version 4193:
- "Rainbow" technology decouples U++ GUI from host platform. It is now possible to develop new GUI implementation without changing core U++ files. "Framebuffer" package uses Rainbow to implement GUI for trivial RGBA framebuffer (with keyboard and mouse inputs).
- New command line utility "umk" - GUI independent, U++ package builder: umk.
- Docking package was adopted to main source tree.... read more
What is new in version 3211:
TheIDE
- SSE2 as Option in main config, templates now include SSE2 as default
(RM #9).
- new function - convert selection to ASCII.
- Main package configuration editor shows structured flags accepted by
packages.
- Replaced QuickTabs with TabBar, reorganized Environment dialog.
- Allow conditional breakpoints.
- Support for CLOB columns in .sch file (#14).
Library... read more
What is new in version 2791:
Core
- There are now new templates Tuple2 - Tuple4.
- Stream class got new methods Peek and PutPtr intended for optional
optimizations.
- In Vector and Array template classes, interface was changed so that all
Add methods are now returning the reference to the element inserted.
- String and WString has new Replace method.
Draw
- plugin/gif now has support for animated gifs, Raster and Raster encoder
have new GetDPI and SetDPI methods. DPI information handling for png, tif
and jpg was fixed.
- AttrText utility class has new NormalInk method and supports conversion
from Value.... read more
What is new in version 2467:
Core
* [W]String got new variant of ReverseFind method.
CtrlCore
* There is a new static method Ctrl::GetEventId to help identify individual
GUI events, intended for use in caching schemes.
CtrlLib
* Update system was parametrised.
* Handling of active file type in FileSel was improved.
* Splitter now has WhenSplitFinish.
PdfDraw
* Got support for fill patterns. ... read more
What is new in version 2361:
theide:
* Packages now sorted by directory closeness to main package directory,
names later - puts main package nest or main package subpackages first
in the list
ArrayIndex:
* Added Detach, PopDetach
CtrlLib:
* Added ArrayCtrl WhenScroll
* ColumnList: AutoHideSb
* FileSel: list is autohide
* EditField ReadOnly Ctrl+C fix
* DocEdit: NoEofLine
* RichEdit now supports dropping Image files ... read more
What is new in version 2232:
theide:
* Sorting of package has been improved, placing project packages first
* Insert menu now has typedef ... CLASSNAME entry.
* FileSel was improved by adding Places with common directories.
Core:
* XmlRpc has improved error handling.
* Xmlize now supports all Core Value types and has got support for Value
serialization.
* XmlParser has got new Peek methods. Socket has new GetPeerAddr method.
* CParser now provides the information about current column.... read more