singleapplication (3.5.6+ds-1) unstable; urgency=medium This version changes how the library is built and used. Qt 6 only: The library is now built against Qt 6, and the Qt 5 build has been dropped. Build your application with qt6-base-dev. Freestanding mode: The library is now built in upstream's "freestanding" mode. SingleApplication no longer derives from QCoreApplication, QGuiApplication or QApplication. Instead, create your Qt application object first, then create a separate SingleApplication object: QApplication app(argc, argv); // or QCoreApplication/QGuiApplication SingleApplication single(argc, argv); if (!single.isPrimary()) ... return app.exec(); This lets a single prebuilt library serve every kind of Qt application. The old build always used QCoreApplication as the base class, so GUI applications could not use it correctly. As a consequence: - The QAPPLICATION_CLASS macro is no longer used; the installed header does not honour it. - Do not subclass SingleApplication as your application class, and do not call exec() on it; call exec() on your Qt application object. - qobject_cast(qApp) no longer works. Keep a pointer or reference to your SingleApplication object instead. Its API (isPrimary(), sendMessage(), the instanceStarted() and receivedMessage() signals, etc.) is unchanged. CMake support: Upstream CMake package configuration files are now installed. Use: find_package(SingleApplication REQUIRED) target_link_libraries(myapp PRIVATE SingleApplication::SingleApplication) The headers are still installed in /usr/include/singleapplication/, and the imported target adds that directory to the include path. Use #include or #include . The private header singleapplication_p.h is no longer installed. -- Boyuan Yang Wed, 07 Oct 2026 15:16:17 -0400