Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » 2021.1 (alpha)
2021.1 (alpha) [message #56526] Mon, 22 March 2021 00:34 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I think it is about time to do next release. Consider current nightly as "alpha":

2021.1 (April 2021?)

Upcoming release

Release highlights
* New system for 3rd party modules, "UppHub": independently developed U++ modules residing in Git repositories now can be seamlessly integrated, including automatic installation of missing packages if they are in the UppHub.

Core
* double NAN and INF values are now considered Null (IsNull returns true for them).
* FileSystemInfo now returns volume names of network drives
* Improvements in FindFile
* String middle tier heap handling optimised
* U++ does not require MemoryFreeThread call at the end of thread (it is now implemented using thread_local destructor)

CtrlCore
* New C++ style for iteration of widget children now possible for(Ctrl& q : widget)+
* Pen support (pressure, tilt etc...)

RichText, RichEdit
* 1.15 line spacing support
* JPEG raw image data is now exported to PDF as JPEG (instead of recoding)

TheIDE
* Context goto now support AK_ key definitions
* TheIDE now contains credentials manager for git and svn (including github tokens)
* Various improvements to text comparison dialogs - ability to copy and delete individual lines between versions, filtering by file time (for directory comparison).
* Repo history of .upp files directly available via package context menu
* Open package dialog filtering options redesigned
* New function to copy positions as text to clipboard (e.g. "RichEdit/Modify.cpp:27") and go to such position based on clipboard content. Useful for communication between developers.
* Some common nest root files like README.md or LICENSE are now directly accessible through <meta> pseudo-package.
TheIDE/umk build flags MAKE_LIB and MAKE_MLIB force generation of library instead of executable.
* New "Merge nests" function (in Package organizer) copies all used packages that are not in the first nest of assembly into the first nest. In U++, first nest usually contains the application code whole while other nests contain libraries (U++ or 3rd party libraries). This function is intended to "freeze" the non-application code before releasing / tagging / branching to reduce the chance that a change of that code does not break the application.
* TheIDE now can "Open terminal" at various directories (output directory, package directory, source file directory etc...), with PATH augmented with current build executable directories.
* Support for .md (markdown) format
* Improved debugger threads tab
* Support for override in virtual methods dialog

Win32
* Now ships with minimal git (mingit) implementation
* CLANG now at version 11.0.0
Re: 2021.1 (alpha) [message #56532 is a reply to message #56526] Mon, 22 March 2021 08:46 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Hello Mirek,

Thanks for all your efforts!

Another important change to be logged:

* Core/SSH: the underlying libssh2 library is upgraded to v. 1.9.0






Best regards,
Oblivion


Re: 2021.1 (alpha) [message #56859 is a reply to message #56532] Thu, 22 April 2021 11:51 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi!

It's an impressive list of improvements again. Smile

How does the release schedule look like?

Best regards,

Tom
Re: 2021.1 (alpha) [message #56862 is a reply to message #56859] Thu, 22 April 2021 18:52 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Thu, 22 April 2021 11:51
Hi!

It's an impressive list of improvements again. Smile

How does the release schedule look like?

Best regards,

Tom


I welcome suggestions...

Mirek
Re: 2021.1 (alpha) [message #56865 is a reply to message #56862] Fri, 23 April 2021 09:14 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi Mirek,

If there are not any show stoppers (i.e. pending issues or features required to make it to this release), why not start the final testing stage now?

Although I do follow the development most of the time, I only use stable U++ releases for my products. This is the only way for me to know that the development is not in the middle of something critical causing some potential bug end up in my product and result in a bunch of user support cases.

Best regards,

Tom
Re: 2021.1 (alpha) [message #56866 is a reply to message #56865] Fri, 23 April 2021 09:24 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Fri, 23 April 2021 09:14
Hi Mirek,

If there are not any show stoppers (i.e. pending issues or features required to make it to this release), why not start the final testing stage now?

Although I do follow the development most of the time, I only use stable U++ releases for my products. This is the only way for me to know that the development is not in the middle of something critical causing some potential bug end up in my product and result in a bunch of user support cases.

Best regards,

Tom


Well, I thought we are in final testing phase now.

If anybody wants to help, the most ugly part of testing is to test all those distros and exotic systems from the clean slate (like cleanly installed system).

That said, one thing that should probably still be added / fixed is pen history in gtk. I hope to add that tomorrow...
Re: 2021.1 (alpha) [message #56867 is a reply to message #56866] Fri, 23 April 2021 10:41 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

In that case I will do a full fresh install of the latest nightly and compile all my production apps with it.

I can also do a fresh Linux Mint 20.1 installation and bring in the latest nightly there for testing.

I guess, it's worth putting out a release candidate announcement to get more people involved to test their stuff now.

Best regards,

Tom
Re: 2021.1 (alpha) [message #56868 is a reply to message #56867] Fri, 23 April 2021 11:08 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

I'm missing the "Project > Repo > Synchronize C:\upp\upp.src\uppsrc" which was available in 15260. At this time I only have the option to synchronize the current package, e.g. "Synchronize C:\upp\upp.src\uppsrc\Core" or alternatively everything, including my own nest. Would it be much trouble to add separate "Synchronize" -lines for each of the nests in use?

Best regards,

Tom
Re: 2021.1 (alpha) [message #56869 is a reply to message #56868] Fri, 23 April 2021 11:14 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

In Windows all my products seem to compile and run. I also updated MSBT19 / MSBT19x64 to its latest version yesterday.

Best regards,

Tom

EDIT: More testing: Fresh Linux Mint 20.1 installation with latest nightly easily compiles, installs and runs. Installing SVN sources from the menu additionally required:
sudo apt-get install subversion
to run.

[Updated on: Fri, 23 April 2021 11:20]

Report message to a moderator

Re: 2021.1 (alpha) [message #56874 is a reply to message #56869] Sat, 24 April 2021 09:02 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Another important issue: Ubuntu 2021.4 is supposed to ship with Wayland default. We need to check U++ works with it, with fresh installation, ideally on real HW.

Mirek
Re: 2021.1 (alpha) [message #56875 is a reply to message #56874] Sat, 24 April 2021 09:21 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Quote:

Ubuntu 2021.4 is supposed to ship with Wayland default. We need to check U++ works with it, with fresh installation, ideally on real HW.


U++ with GNOME/Wayland works just fine -via xwayland- at least on other distros (Arch/Fedora and their derivatives). I'm using U++ on wayland daily on two of my machines since ~2019.2.

Best regards,
Oblivion


Re: 2021.1 (alpha) [message #56876 is a reply to message #56874] Sat, 24 April 2021 11:07 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

I did a fresh install of Ubuntu 2021.4 on VMWare Workstation Player. It seems to be running a process called Xwayland, so I suppose it is on wayland then.

Last nightly U++ compiled, installed and runs well and I can also compile and run UWord without trouble therein.

Best regards,

Tom

[Updated on: Sat, 24 April 2021 11:08]

Report message to a moderator

Re: 2021.1 (alpha) [message #56877 is a reply to message #56875] Sat, 24 April 2021 11:08 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Oblivion wrote on Sat, 24 April 2021 09:21
Quote:

Ubuntu 2021.4 is supposed to ship with Wayland default. We need to check U++ works with it, with fresh installation, ideally on real HW.


-via xwayland-


I do not know technical details details; I wonder

- why is it "via xwayland" when we are using gtk/gdk as backend? Somehow I have hoped the using gtk as backend will solve most of problems for us.

- what are the practical implication? How is it with other software? Is running "via xwayland" standard?
Re: 2021.1 (alpha) [message #56878 is a reply to message #56877] Sat, 24 April 2021 11:23 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Quote:
- why is it "via xwayland" when we are using gtk/gdk as backend? Somehow I have hoped the using gtk as backend will solve most of problems for us.

- what are the practical implication? How is it with other software? Is running "via xwayland" standard?


It solves windowing problems but IIRC it did not solve input problems. See the workaround I sent some time ago CtrlCore/GtkApp.cpp:57

#if GTK_CHECK_VERSION(3, 10, 0)
	gdk_set_allowed_backends("x11"); // this fixes wayland issues
#endif



If you remove this, we don't get input, IIRC.


Most of the existing software -sans official and new GNOME/KDE apps- are running over xwayland if wayland is enabled. And xwayland is installed on virtually all GNOME/KDE distros, because without it you can't run most of the production software that uses X. Hence no backward compatibility. At All. Xwayland will be with us for a long time Still, it would be better if we solve the input problem and move to full wayland.


Link to official gnome page for xwayland: https://wiki.gnome.org/Initiatives/Wayland/XWayland

It is an official middleware to make the transition smooth (in long term). It does not have a real deal-breaker downside, IMO.

Best regards,
Oblivion


[Updated on: Sat, 24 April 2021 11:35]

Report message to a moderator

Re: 2021.1 (alpha) [message #56879 is a reply to message #56526] Sat, 24 April 2021 11:39 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
I'll check the workaround to see if anything is improved.. (After all, it was two releases ago.)


The problem I described was this: https://www.ultimatepp.org/forums/index.php?t=msg&th=109 37&goto=53171&#msg_53171


[Updated on: Sat, 24 April 2021 11:43]

Report message to a moderator

Re: 2021.1 (alpha) [message #56880 is a reply to message #56526] Sat, 24 April 2021 13:44 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Well,

Pure wayland:

Good news: input mostly works (menu item selection has some problems like the mouse pointer selection point is offsetted)

Bad news : No window decoration. wayland requires csd (client side decoration) GTK can draw them for us, maybe using the header bar, but it is not enabled. So ATM we have no window title, etc..


Best regards,
Oblivion.

.


[Updated on: Sat, 24 April 2021 13:45]

Report message to a moderator

Re: 2021.1 (alpha) [message #56881 is a reply to message #56526] Sat, 24 April 2021 20:27 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1092
Registered: August 2007
Senior Contributor
Hi,

There are two relevant functions in GDK:

gdk_wayland_window_announce_ssd(GdkWindow *)
gdk_wayland_window_announce_csd(GdkWindow *)



I think the former should be explicitly called on wayland when a window with any kind of decoration is created, unless we want csd, which seems to be the default settings for some reason.

A link to function prototypes: https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/wayla nd/gdkwaylandwindow.h
A link that explains how to detect wayland backend: https://developer.gnome.org/gdk3/stable/gdk3-Wayland-Interac tion.html

Best regards,
Oblivion


[Updated on: Sat, 24 April 2021 20:30]

Report message to a moderator

Re: 2021.1 (alpha) [message #56901 is a reply to message #56881] Wed, 28 April 2021 10:43 Go to previous messageGo to next message
pvictor is currently offline  pvictor
Messages: 67
Registered: December 2015
Member
Hi,

Here's how the bottom of UppHub window looks sometimes:
index.php?t=getfile&id=6432&private=0
But sometimes, after reloading TheIDE, it looks fine.
All other windows are fine allways.
The current nightly (15935) for Linux.

Best regards,
Victor
  • Attachment: 1.png
    (Size: 10.58KB, Downloaded 367 times)
Re: 2021.1 (alpha) [message #56906 is a reply to message #56901] Wed, 28 April 2021 18:56 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1076
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Victor,

Thanks for the report! Should be fixed in tomorrows nightly build (29.04.2021).

Klugier


U++ - one framework to rule them all.

[Updated on: Wed, 28 April 2021 20:47]

Report message to a moderator

Re: 2021.1 (alpha) [message #56910 is a reply to message #56878] Thu, 29 April 2021 08:39 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Oblivion wrote on Sat, 24 April 2021 11:23


It is an official middleware to make the transition smooth (in long term). It does not have a real deal-breaker downside, IMO.

Best regards,
Oblivion


BTW, does my recent fix for debugger/capture issue work in xwayland?

(It is using "setxkbmap -option grab:break_action" to release any capture held by the application)
Previous Topic: ide/CodeEditor: Move line / selection up down
Next Topic: 2021.1 rc
Goto Forum:
  


Current Time: Fri Apr 19 06:18:02 CEST 2024

Total time taken to generate the page: 0.03063 seconds