Repository navigation
specola v0.2.4-beta
This beta adds publish-ready Windows packages, restructures the Qt Quick client around explicit service and page lifetimes, and introduces the first standalone online licensing service. It also removes the retired Qt Widgets frontend and brings the wxWidgets client onto the shared MessagePack-RPC protocol.
Windows packages
- The Windows release workflow now produces both an Inno Setup installer and a portable ZIP. The installer uses the Specola icon in the executable, wizard and installed shortcuts.
- Portable packages carry the required Visual C++ runtime DLLs beside the application. The standalone VC redistributable executable and unused DirectX compiler libraries are no longer shipped.
- Packaging scans the staging tree, every ZIP entry and the generated installer for local build paths, user or machine identifiers, credentials, source files and debug artifacts. A failed scan stops the release.
- Public packages no longer include PDB or symbol archives. Core and wxWidgets release builds share the same size and interprocedural-optimization policy.
Qt Quick desktop client
- Application-wide services, Core session ownership and navigation are coordinated explicitly. Page-specific view models and cached page state keep drafts and background work scoped to the correct lifetime.
- The shell, tray, Overview, Profiles, Rules and SSH deployment flows now use the new service and page model architecture.
- Runtime UI data comes from the Core RPC client; the old mock API client and its conditional UI paths have been removed.
- Segmented controls support disabled entries and keyboard navigation. Dark surfaces and button hover transitions have been refined.
- QML declarative type checks now run after linking to catch registration and import problems during the build.
GUI and build cleanup
- The retired
gui/qt-widgetfrontend has been removed. Qt Quick remains the primary desktop client. - The wxWidgets client now has standalone Windows configure/build presets and declared vcpkg dependencies.
- wxWidgets communication has moved to the shared MessagePack-RPC methods and DTOs. Duplicate traffic and server charts were removed in favor of simpler status views.
- The UI design specification was refreshed for the aligned Overview layout, editable local rule-set entries and the latest page flows.
Licensing infrastructure
- A standalone Cloudflare Worker and D1-backed activation service now supports device activation, signed Ed25519 leases, refresh, deactivation, device limits and rate limiting.
- Administration tools support idempotent issue, list, inspect, revoke, restore, transfer and per-device release operations without storing plaintext activation keys in D1.
- A Node.js reference client covers device initialization, activation, refresh, offline verification, status and deactivation.
- This service is infrastructure for a later client release: it is not yet integrated with the C++ Core or Qt Quick UI, and its Ed25519 protocol is separate from the existing P-256 offline registration format.
Compatibility and limitations
- This is a beta prerelease.
- Anyone building the removed Qt Widgets frontend must migrate to Qt Quick or the standalone wxWidgets target.
- Release archives still do not include GeoIP / GeoSite datasets. Supply them separately in the Specola configuration directory when required by routing rules.