|
|
Home » Community » U++ community news and announcements » New release 2024 "alpha phase"
New release 2024 "alpha phase" [message #60780] |
Sun, 08 September 2024 21:21  |
 |
mirek
Messages: 14260 Registered: November 2005
|
Ultimate Member |
|
|
2024 (rev. >17373) (Sep 2024)
Upcoming release
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
plugin/Zip
zip64 support
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
ide
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
plugin upgrades
plugin/sqlite3: 3.46.0
plugin/lzma: 24.6
plugin/zstd: 1.5.6
Core: LZ4 1.9.4
plugin/z: 1.3.1
plugin/png: 1.6.46
plugin/tif: 4.6.0
plugin/jpeg: 9f
Win32
OpenSSL upgraded to3.2.1
Clang compiler upgraded to 18.1.5
|
|
|
|
|
|
|
Re: New release 2024 "alpha phase" [message #60785 is a reply to message #60780] |
Mon, 09 September 2024 07:59   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi Mirek,
Looking forward to the release... 
Meanwhile, can you take a look at the MSC compilation (MSBT22x64 in my case):
C:\upp-git\upp.src\uppsrc\Core\Topt.h(168): error C7525: inline variables require at least '/std:c++17'
C:\upp-git\upp.src\uppsrc\Core\Topt.h(172): error C7525: inline variables require at least '/std:c++17'
C:\upp-git\upp.src\uppsrc\Core\Tuple.h(170): error C7525: inline variables require at least '/std:c++17'
C:\upp-git\upp.src\uppsrc\Core\Tuple.h(174): error C7525: inline variables require at least '/std:c++17'
C:\upp-git\upp.src\uppsrc\Core\Tuple.h(179): error C7525: inline variables require at least '/std:c++17'
C:\upp-git\upp.src\uppsrc\Core\Complex.h(58): error C7525: inline variables require at least '/std:c++17'
EDIT: Adding '/std:c++17' to Common options in build methods for MSC helped here.
Best regards,
Tom
[Updated on: Mon, 09 September 2024 08:09] Report message to a moderator
|
|
|
|
|
Re: New release 2024 "alpha phase" [message #60791 is a reply to message #60789] |
Mon, 09 September 2024 15:07   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
A compiler warning popped up on 32-bit MSBT22:
C:\upp-git\upp.src\uppsrc\Core\FileMapping.h (18): warning C4244: 'argument': conversion from 'Upp::int64' to 'size_t', possible loss of data
BTW: which condition flags should I use to include specific libraries only for 64-bit targets in TheIDE Package organizer? E.g. WIN64 or _WIN64 does not seem to work here.
Best regards,
Tom
|
|
|
Re: New release 2024 "alpha phase" [message #60793 is a reply to message #60791] |
Tue, 10 September 2024 14:40   |
 |
mirek
Messages: 14260 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Mon, 09 September 2024 15:07A compiler warning popped up on 32-bit MSBT22:
C:\upp-git\upp.src\uppsrc\Core\FileMapping.h (18): warning C4244: 'argument': conversion from 'Upp::int64' to 'size_t', possible loss of data
Thanks, fixed.
Quote:
BTW: which condition flags should I use to include specific libraries only for 64-bit targets in TheIDE Package organizer? E.g. WIN64 or _WIN64 does not seem to work here.
Best regards,
Tom
That is suprisingly complicated problem... Build method actually does not really know / care about that. And frankly, so far, there were no specific library names for 64-bit, usually in win32, they are just placed to different folders.
If you think this is really worth fixing, the simple way is to put something into Common fixed flags in the build method. I can do that in automatic build method setup... I guess placing "M32" to 32-bit build methods should do the job.
Mirek
|
|
|
Re: New release 2024 "alpha phase" [message #60795 is a reply to message #60793] |
Tue, 10 September 2024 17:15   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
mirek wrote on Tue, 10 September 2024 15:40Tom1 wrote on Mon, 09 September 2024 15:07A compiler warning popped up on 32-bit MSBT22:
C:\upp-git\upp.src\uppsrc\Core\FileMapping.h (18): warning C4244: 'argument': conversion from 'Upp::int64' to 'size_t', possible loss of data
Thanks, fixed.
Quote:
BTW: which condition flags should I use to include specific libraries only for 64-bit targets in TheIDE Package organizer? E.g. WIN64 or _WIN64 does not seem to work here.
Best regards,
Tom
That is suprisingly complicated problem... Build method actually does not really know / care about that. And frankly, so far, there were no specific library names for 64-bit, usually in win32, they are just placed to different folders.
If you think this is really worth fixing, the simple way is to put something into Common fixed flags in the build method. I can do that in automatic build method setup... I guess placing "M32" to 32-bit build methods should do the job.
Mirek
Hi,
Some external libraries (and DLLs) I use come with just different names for 32/64 bit variants. It would be helpful to have a way to use e.g. "WIN32 M32" or "WIN32 !M32" to link with the correct variant and avoid linking errors.
Best regards,
Tom
|
|
|
Re: New release 2024 "alpha phase" [message #60796 is a reply to message #60795] |
Wed, 11 September 2024 10:48   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Tom1 wrote on Tue, 10 September 2024 18:15mirek wrote on Tue, 10 September 2024 15:40Tom1 wrote on Mon, 09 September 2024 15:07A compiler warning popped up on 32-bit MSBT22:
C:\upp-git\upp.src\uppsrc\Core\FileMapping.h (18): warning C4244: 'argument': conversion from 'Upp::int64' to 'size_t', possible loss of data
Thanks, fixed.
Quote:
BTW: which condition flags should I use to include specific libraries only for 64-bit targets in TheIDE Package organizer? E.g. WIN64 or _WIN64 does not seem to work here.
Best regards,
Tom
That is suprisingly complicated problem... Build method actually does not really know / care about that. And frankly, so far, there were no specific library names for 64-bit, usually in win32, they are just placed to different folders.
If you think this is really worth fixing, the simple way is to put something into Common fixed flags in the build method. I can do that in automatic build method setup... I guess placing "M32" to 32-bit build methods should do the job.
Mirek
Hi,
Some external libraries (and DLLs) I use come with just different names for 32/64 bit variants. It would be helpful to have a way to use e.g. "WIN32 M32" or "WIN32 !M32" to link with the correct variant and avoid linking errors.
Best regards,
Tom
Thanks for the advise Mirek. Adding a 'M32' in 'Common fixed flags' for 32-bit CLANG allowed using condition 'WIN32 !M32' for a 64-bit DLL to prevent the linking error. It probably would not hurt to have a M32 and/or M64 flags pre-defined for the corresponding builders to make this work out of the box.
Best regards,
Tom
|
|
|
Re: New release 2024 "alpha phase" [message #60797 is a reply to message #60796] |
Wed, 11 September 2024 11:36   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Mirek,
I started to have trouble seeing some of the TheIDE packages' names properly. Then I noticed that the Dark theme coloring has changed.

Especially Draw, PdfDraw and all <aux> packages are really hard to read for me. The screenshot is from Linux Mint using dark theme, but I'm having the same issue on Windows dark theme too, although the darker background helps there a little bit.
(I must remind you that I have red-green colorblindness, like 8 % of European men do. Not sure if this contributes to the issue I'm having now with those texts. To simulate red-green colorblindness to the people with normal color perception, try to flatten your red color channel to something like 0.. 10 % of the original and see how your GUI looks. Might be a good idea to do this test with any GUI design to ensure accessibility for guys like me.)
Best regards,
Tom
EDIT: Sorry, I seem to have misplaced this posting... Just found there's a thread for this at https://www.ultimatepp.org/forums/index.php?t=msg&th=123 29&goto=60794&#msg_60794 , so feel free to move this posting to that thread.
[Updated on: Wed, 11 September 2024 12:13] Report message to a moderator
|
|
|
Re: New release 2024 "alpha phase" [message #60798 is a reply to message #60797] |
Thu, 12 September 2024 10:57   |
 |
mirek
Messages: 14260 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Wed, 11 September 2024 11:36Mirek,
I started to have trouble seeing some of the TheIDE packages' names properly. Then I noticed that the Dark theme coloring has changed.

Especially Draw, PdfDraw and all <aux> packages are really hard to read for me. The screenshot is from Linux Mint using dark theme, but I'm having the same issue on Windows dark theme too, although the darker background helps there a little bit.
(I must remind you that I have red-green colorblindness, like 8 % of European men do. Not sure if this contributes to the issue I'm having now with those texts. To simulate red-green colorblindness to the people with normal color perception, try to flatten your red color channel to something like 0.. 10 % of the original and see how your GUI looks. Might be a good idea to do this test with any GUI design to ensure accessibility for guys like me.)
Best regards,
Tom
EDIT: Sorry, I seem to have misplaced this posting... Just found there's a thread for this at https://www.ultimatepp.org/forums/index.php?t=msg&th=123 29&goto=60794&#msg_60794 , so feel free to move this posting to that thread.
For now, the changed to DarkTheme are rolled back. It will need some more research I guess...
|
|
|
|
Re: New release 2024 "alpha phase" [message #60800 is a reply to message #60798] |
Thu, 12 September 2024 11:28   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
mirek wrote on Thu, 12 September 2024 11:57...
For now, the changed to DarkTheme are rolled back. It will need some more research I guess...
Still cannot see them well. I looked at the old (2020) code and the values (in old coding style) were:
double DarkTheme_c[3] = { 0.3, 0.5, 0.2 };
int DarkTheme_middle = 155;
Those I can see well on the dark background.
Best regards,
Tom
|
|
|
|
Re: New release 2024 "alpha phase" [message #60802 is a reply to message #60799] |
Thu, 12 September 2024 11:45   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
mirek wrote on Thu, 12 September 2024 11:59Quote:
It probably would not hurt to have a M32 and/or M64 flags pre-defined for the corresponding builders to make this work out of the box.
Done, but in the end I decided to change it to CPU_32.
Mirek
Thanks! Works fine, although having it change the output directory to include CPU32 is not needed nor desired.
// Tom
|
|
|
Re: New release 2024 "alpha phase" [message #60803 is a reply to message #60802] |
Thu, 12 September 2024 11:48   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Another issue... On Linux Mint and UHD 4k display the console output (when compiling) is using a very tiny little font... And even if I zoom it in using Ctrl+Wheel, on next startup of TheIDE it has shrinked again back. All other panels in TheIDE seem to follow the UHD sizing.
// Tom
|
|
|
|
Goto Forum:
Current Time: Tue Jun 03 09:40:02 CEST 2025
Total time taken to generate the page: 0.02624 seconds
|
|
|