New
2024.1 (November 2024)
Core
- First release of U++ that requires C++17
- Moveable concept redesigned with C++17 features. U++ now allows non-moveable types to be stored in Vector flavor of containers (using Upp::is_upp_guest). PODs are automatically moveable (aka trivially relocatable)
- Upp::Tuple now supports structured binding
- GetFileTime, GetFileLength, FileExists, DirectoryExists and FileMapping refactored
- Stream::GetAll now invokes LoadError on negative count
- ValueCache limits setting methods are simplified
- Value now directly supports 'float' type
- Some iffy code now made more C++ compliant (e.g. always using memcpy for unaligned data)
- AsXML had new XML_ESCAPELF
Draw
- UHD image now can serve as source for SD image
- New S3 .iml image flag - the images are drawn supersampled 3x, usually without antialiasing, and only downsampled at runtime
Painter
- Multithreaded rendering further optimised
- New image filtering parameter - so far, rendering image was always with bilinear filtering, new parameter allows other Image filter like Lanczos 3
CtrlCore
- Horizontal mouse scroll wheel support
- CtrlMapper now provides operator()(Ctrl, T, const T& factor) for simple unit conversions
- gtk backend improvements, XWayland mouse cursor bug workaround
CtrlLib
- CtrlMapper now provides operator()(Ctrl, T, const T& factor) for simple unit conversions
TheIDE
- Icon Designer refactored and optimised, new tools added, S3 flag support added
- Alt-M now goes to special scratchpad file of the same type as is current file, this is helpful e.g. for temporary storing and editing parts of .iml images that are then composed to the final image.
- Output directory in assembly definition now can be left empty and defaults to reasonable path.
- Hexadecimal view is now much faster
- Fixed further corner case Assist++ problems
- Layout designer text field, used with e.g. Labels, now has Qtf button to edit text with RichEdit
- Git file history now goes through renames
- Compare with menu now suggests files in Download folder too
- Main package configuration dialog improved
- Search through all assemblies
plugin/Zip
- zip64 support
plugin upgrades
- plugin/sqlite3: 3.46.0
- plugin/lzma: 24.6
- plugin/zstd: 1.5.6
- plugin/z: 1.3.1
- plugin/png: 1.6.46
- plugin/tif: 4.6.0
- plugin/jpeg: 9f
- Core: LZ4 1.9.4
Win32
- OpenSSL upgraded to 3.2.1
- Clang compiler upgraded to 18.1.5