Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to QT6 #16340

Open
Fhiss opened this issue Sep 16, 2024 · 3 comments
Open

Update to QT6 #16340

Fhiss opened this issue Sep 16, 2024 · 3 comments

Comments

@Fhiss
Copy link

Fhiss commented Sep 16, 2024

Problem:
Status Desktop, being a key component of the Status ecosystem, still uses the outdated QT5 version, which limits its capabilities for future updates and improvements. The End of Support for Qt 5.15 LTS was on 2023-05-26. Let's consider the possibility of transitioning to QT6.

Reasons for transitioning to QT6:

  • Compatibility with Linux: QT6 offers broader support for new features and technologies, such as Wayland.
  • Simplified support and updates, as Status will be using a more modern and supported version of the framework.
  • Easier deployment using Flatpak.
  • Compliance with modern standards and recommendations.

Transitioning to QT6 will be an important step in the development of Status Desktop. This change will benefit both users and developers of Status.

@jrainville
Copy link
Member

Thanks for the issue. We've had on our radar for a while to upgrade to QT6, but it's quite a big undertaking. That is why we haven't started out yet.

@Fhiss
Copy link
Author

Fhiss commented Sep 16, 2024

Can you provide a roadmap for the transition to Qt6? This will allow us to break down the process into small, manageable steps and gradually implement the changes.

Here is a preliminary roadmap that we can discuss and refine:

  1. Assess the current state:
  • Analyze which Qt versions are used in the current application code.
  • Determine which Qt modules and dependencies are used.
  • Estimate the scope of work required for the transition to Qt6.
  1. Plan the transition:
  • Break down the transition process into several iterations or stages.
  • Identify priority areas for updates (e.g., critical components, new features).
  • Establish milestones and intermediate goals for each stage.
  1. Update dependencies:
  • Update the used libraries and dependencies to be compatible with Qt6.
  • Test the updated dependencies for compatibility with Qt6.
  1. Migrate to Qt6:
  • Update the application code to use the Qt6 API and functionality.
  • Conduct thorough testing at each stage to ensure the application is working correctly.
  • Optimize performance and address any issues that arise during the transition.
  1. Deploy and update:
  • Create new application builds using Qt6.
  • Update the repositories and distribution channels (e.g., Flatpak repositories, Fedora, Flathub).
  • Inform users about the availability of the update.

What do you think about this roadmap? Are you ready to start work on the first stage - assessing the current state? Do I understand correctly that currently, both Qt5 and Qt6 are needed to build the application? I'll be happy to assist with any of these stages.

@yakimant
Copy link
Member

Correction here.

Standard 5.15 is "End of support"
Commercial 5.15 is still supported:
https://www.qt.io/blog/qt-5.15-support-ends

Latest commercially available Qt 5.15 is 5.15.17 (May 22, 2024):
https://www.qt.io/blog/commercial-lts-qt-5.15.17-released

Source code available for Qt 5.15.15 (Aug 31, 2024 - 1 year gap):
https://github.com/qt/qt5/releases/tag/v5.15.15-lts-lgpl

This doesn't mean I'm against the upgrade to Qt6 though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

3 participants