| 
 | 
 | 
 
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: 14271 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: 1305 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: 1305 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: 14271 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: 1305 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: 1305 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: 1305 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: 14271 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: 1305 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: 1305 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: 1305 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 Nov 04 17:12:08 CET 2025 
 Total time taken to generate the page: 0.05068 seconds 
 |   
 |  
  |