• james.maes released this 2026-11-11 01:24:06 +00:00 | -15 commits to main since this release

    Development snapshot of release/2.0 at commit 6f0237d, built locally on 2026-11-10. For testing on a test machine only. Unsigned.

    What this is, and is not

    This is the 2.0 groundwork, not the 2.0 feature set.

    • Not in this build: the connection wizard, more than one server, and the server tree. It still connects to one server through the same connection dialog as 1.2.1.
    • In this build: the cleanup and hardening that 2.0 is being built on (list below).

    Changes since 1.2.1

    • Enrollment: a failed enrollment no longer leaves the stored pairing and session inconsistent (#21).
    • The legacy polling path is removed; the service runs on the realtime connection only (#24).
    • The command line manages the installed service only; the legacy mode is removed (#28).
    • Core validates input at its boundary and types the compatibility check (#29).
    • The journal's connection is opened under its lock; "Ready" is answered only while paused (#33).
    • The companion's decisions moved into a separate assembly with its own tests (#34).
    • Transport and print paths that nothing reached are removed (#35).
    • Version 2 of the management pipe contract is added as types only; nothing uses it yet (#37).
    • Internal restructuring of the runtime and its test harness (#38, #39).
    • Product version is 2.0.0; line coverage is gated per assembly (#20, #27).

    What has and has not been checked

    • Full local verification (build/Verify.ps1) passed on this exact commit: 766 Core tests, 1,117 Windows runtime and command line tests, 352 presentation tests, none failed. Line coverage: Core 100%, command line 100%, presentation 100%, Windows 74.84% (the 2.0 target for Windows is 90%).
    • Packaging checks passed (build/Package-Release.ps1).
    • Not done: this build has not been installed on any machine. The interactive desktop test suite has not been run on it. No document has been sent to a real printer with it.
    • Upgrade from 1.2.x is not qualified yet. It is expected to upgrade in place and keep the pairing, but that has not been tested. Windows Installer will not downgrade: going back to 1.2.1 means uninstalling this build first, and whether the pairing survives that is also untested.
    • Do not install it over an installation you need to keep as a 1.2.1 baseline.

    Known open items

    • A shutdown race in the realtime channel can report a failure when the service is stopping (fix in review).
    • A job whose title or a member name carries an unpaired surrogate escape stalls its lane (fix planned).
    • The command line drops a byte order mark from piped input only when the console code page is UTF-8 (fix planned).
    • The activity log can drop one entry when several processes write at the same moment.
    • Log redaction does not yet cover every credential form (under review).

    Known issue found after publishing (added 2026-11-10)

    • If Windows cannot start the browser, the companion writes the whole sign-in or sign-out address to its log, and shows the sign-in one in the dialog. The sign-in address carries the request's one-time values (state, nonce, code challenge); the sign-out address carries the ID token hint. It happens only when the browser fails to start (no default browser, or a broken handler for web addresses). Releases 1.1.0, 1.1.1, 1.2.0 and 1.2.1 have the sign-in case; this snapshot has both. The fix is merged on release/2.0 (pull request 53) and is in builds after this snapshot. Corrected on 2026-11-11: this note first said releases 0.2.0-rc.1 to 1.2.1. Reading the code at each tag showed that 0.2.0-rc.1 to 1.0.1 catch the failed browser start and show a fixed text; they neither log nor show the address. On a machine where this snapshot is tested, make sure a default browser is set, and treat the companion's log as sensitive.

    Files

    • QqqPrintAgent-v2.0.0-rc.1-x64.msi: the generic installer.
    • GgForgePrintAgent-v2.0.0-rc.1-x64.msi: the GG Forge edition.
    • Install-Branded.ps1, branding.example.json: branded install helper and its example.
    • SHA256SUMS: checksums of the files above.

    The tag is snapshot-2.0.0-rc.1 on purpose: it is not a v tag, so it starts no release workflow, and the in-app updater (which reads the GitHub release feed) will not offer it.

    Downloads
  • v1.2.1 3b9d75d18f

    QQQ Print Agent 1.2.1
    QRun-IO/ci-policy: Shared .NET CI / hosted (push) Successful in 13m41s
    QRun-IO/ci-policy: Shared .NET CI / gate (push) Successful in 10s
    QRun-IO/ci-policy: native / dotnet-0 (push) Successful in 13m52s
    QRun-IO/ci-policy: native / native-result (push) Successful in 4s
    QRun-IO/ci-policy: ci / fork-guard (push) Skipped
    QRun-IO/ci-policy: native / fork-deny (push) Skipped
    QRun-IO/ci-policy: ci / Scoped workflow [workflow 1e25bb5a243dfdcd95d4b9a4f780200ff8c8778a] (push) Successful in 5s
    QRun-IO/ci-policy: ci / head-profile (push) Skipped
    QRun-IO/ci-policy: ci / repository-policy (push) Skipped
    QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
    QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
    QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
    QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
    QRun-IO/ci-policy: ci / node-8 (push) Skipped
    QRun-IO/ci-policy: ci / node-9 (push) Skipped
    QRun-IO/ci-policy: ci / node-10 (push) Skipped
    QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
    QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
    QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
    QRun-IO/ci-policy: ci / android-0 (push) Skipped
    QRun-IO/ci-policy: ci / original-business (push) Skipped
    QRun-IO/ci-policy: ci / original-mcp (push) Skipped
    QRun-IO/ci-policy: ci / original-voyage (push) Skipped
    QRun-IO/ci-policy: ci / original-cli (push) Skipped
    QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
    QRun-IO/ci-policy: ci / shared-pipeline (push) Skipped
    QRun-IO/ci-policy: Shared .NET CI / secrets (push) Successful in 11s
    QRun-IO/ci-policy: Shared .NET CI / verify (push) Skipped
    QRun-IO/ci-policy: Shared .NET CI / portable (push) Skipped
    QRun-IO/ci-policy: Shared source and config CI / verify (push) Successful in 9s
    QRun-IO/ci-policy: Shared source and config CI / secrets (push) Successful in 11s
    QRun-IO/ci-policy: Shared source and config CI / gate (push) Successful in 7s
    QRun-IO/ci-policy: ci / source-config-14 (push) Successful in 24s
    QRun-IO/ci-policy: ci / ci-result (push) Successful in 4s
    Stable

    james.maes released this 2026-11-06 13:30:02 +00:00 | 11 commits to main since this release

    Same reviewed assets as the GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v1.2.1 (protected run 42223525626), not rebuilt: Authenticode-signed generic and GG Forge installers (publisher CN=James Maes, Microsoft timestamp), SHA256SUMS computed after signing.

    1.2.1 = 1.2.0 content plus the release-pipeline fix for the per-edition sign job (tag v1.2.0 produced no installer and stays immutable). Highlights: client editions (branded installers, per-edition update asset); printer approval per server (printing extension 2.4 PRINTERS frame with the 2.3 operator-catalog fallback) shown in the Printers page's Server column; sign-in nonce under REQUIRED, OPTIONAL and the discovery capability; verbose sign-in diagnostics, DEBUG log level and size rollover; per-server untrusted-certificate option for development servers; reworked connection dialog; Clear logs in the log viewer. Pairs with protocol 1.1.0 and QBit 1.1.0; works unchanged against QBit 1.0.0.

    SHA-256: QqqPrintAgent-v1.2.1-x64.msi 09920872b3447f8679b404f2b5ebd7d9fe82204b8007db63d58e4287f436f2eb; GgForgePrintAgent-v1.2.1-x64.msi 5ce489092c1403449174b8a35eda039cd452e8685cbfe436d99aea3e15a5d8b4. Source 3b9d75d18f.

    Downloads
  • v1.0.1 5bf00f3291

    QQQ Print Agent v1.0.1
    QRun-IO/ci-policy: ci / fork-guard (push) Skipped
    QRun-IO/ci-policy: ci / head-profile (push) Skipped
    QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
    QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
    QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
    QRun-IO/ci-policy: ci / node-8 (push) Skipped
    QRun-IO/ci-policy: ci / node-9 (push) Skipped
    QRun-IO/ci-policy: ci / node-10 (push) Skipped
    QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
    QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
    QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
    QRun-IO/ci-policy: ci / android-0 (push) Skipped
    QRun-IO/ci-policy: ci / original-mcp (push) Skipped
    QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
    QRun-IO/ci-policy: ci / repository-policy (push) Canceled after 0s
    QRun-IO/ci-policy: ci / java-core-2-head (push) Canceled after 0s
    QRun-IO/ci-policy: ci / java-docker-3-head (push) Canceled after 0s
    QRun-IO/ci-policy: ci / java-maven-6-head (push) Canceled after 0s
    QRun-IO/ci-policy: ci / java-maven-7-head (push) Canceled after 0s
    QRun-IO/ci-policy: ci / source-config-14 (push) Canceled after 0s
    QRun-IO/ci-policy: Shared source and config CI / verify (push) Canceled after 0s
    QRun-IO/ci-policy: Shared source and config CI / secrets (push) Canceled after 0s
    QRun-IO/ci-policy: Shared source and config CI / gate (push) Canceled after 0s
    QRun-IO/ci-policy: ci / ci-result (push) Canceled after 0s
    QRun-IO/ci-policy: native / fork-deny (push) Skipped
    QRun-IO/ci-policy: Shared .NET CI / gate (push) Canceled after 0s
    QRun-IO/ci-policy: Shared .NET CI / secrets (push) Canceled after 0s
    QRun-IO/ci-policy: native / native-result (push) Canceled after 0s
    QRun-IO/ci-policy: Shared .NET CI / verify (push) Skipped
    QRun-IO/ci-policy: Shared .NET CI / portable (push) Skipped
    QRun-IO/ci-policy: Shared .NET CI / hosted (push) Canceled after 3s
    QRun-IO/ci-policy: native / dotnet-0 (push) Canceled after 3s
    Stable

    james.maes released this 2026-11-02 22:10:40 +00:00 | 39 commits to main since this release

    Windows x64 release of QQQ Print Agent for QQQ 4.1+. The MSI and the first-party service, companion and command-line binaries are Authenticode-signed with SHA256 and an RFC3161 timestamp by the project's Azure Artifact Signing publisher identity.

    Verify the MSI against SHA256SUMS and its GitHub provenance attestation before installing; every asset was built and tested by this workflow after all security, CodeQL and script gates passed, and the checksums were generated after signing.

    This client requires QQQ's semantic printing extension >=2.0.0 <3.0.0 and standard QQQ sign-in; selected-media jobs need printing 2.3+. Upgrade the server first. Existing pairings and history are preserved.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope, evidence and limitations. Spool acceptance alone does not establish physical output.

    Downloads
  • QQQ Print Agent 0.4.0-rc.4
    QRun-IO/ci-policy: ci / fork-guard (push) Skipped
    QRun-IO/ci-policy: ci / gradle-0 (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-1 (push) Skipped
    QRun-IO/ci-policy: ci / java-maven-2 (push) Skipped
    QRun-IO/ci-policy: ci / node-3 (push) Skipped
    QRun-IO/ci-policy: ci / node-4 (push) Skipped
    QRun-IO/ci-policy: ci / fork-guard (pull_request) Skipped
    QRun-IO/ci-policy: ci / gradle-0 (pull_request) Skipped
    QRun-IO/ci-policy: ci / source-config-5 (push) Skipped
    QRun-IO/ci-policy: ci / java-docker-1 (pull_request) Skipped
    QRun-IO/ci-policy: ci / java-maven-2 (pull_request) Skipped
    QRun-IO/ci-policy: ci / node-3 (pull_request) Skipped
    QRun-IO/ci-policy: ci / node-4 (pull_request) Skipped
    QRun-IO/ci-policy: ci / source-config-5 (pull_request) Skipped
    QRun-IO/ci-policy: ci / not-enrolled (push) Failing after 7s
    QRun-IO/ci-policy: ci / not-enrolled (pull_request) Failing after 7s
    QRun-IO/ci-policy: ci / ci-result (push) Failing after 3s
    QRun-IO/ci-policy: ci / ci-result (pull_request) Failing after 4s
    Pre-Release

    james.maes released this 2026-11-02 03:51:43 +00:00 | 47 commits to main since this release

    Unsigned Windows x64 prerelease for QQQ 4.1+.

    Adds 4x1 and 4x2 diagnostic label options, printer-media selection for printing extension 2.3+, completed source standards, and ordered executable file versions for normal candidate-to-candidate updates. Printing runtime is unchanged from the locally accepted RC3 cohort; 4x1 output was accepted, earlier Letter/4x6 output was accepted, and 4x2 physical testing is deferred.

    Release assets will be attached only after the existing full Windows, security, CodeQL and script workflow gates pass and checksums/provenance are verified. The installer remains unsigned; no GA or 1.0 production qualification is claimed.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:00 +00:00 | 81 commits to main since this release

    This is an unsigned Windows x64 prerelease of QQQ Print Agent for QQQ 4.1+.

    Assets were built and tested by this workflow. Verify the MSI against SHA256SUMS before installing. No Authenticode signature or production qualification is claimed.

    This client requires QQQ's semantic printing extension >=2.0.0 <3.0.0 and standard QQQ sign-in. When upgrading from 0.2, upgrade the server first: native API 2.0 makes a synchronized authenticated WebSocket mandatory for claims. An existing 0.3 server remains compatible with this client follow-up. Existing pairings and history are preserved; unbound devices require explicit account association.

    New in 0.3.2: a successful MSI result is accepted only when app, service and CLI have the requested release and identical full build versions. Missing, unreadable or mixed builds report an inconsistent installation without claiming rollback. The SDK credit references Microsoft's separate terms and installed notices. The native test host now matches production's PerMonitorV2 DPI declaration while retaining unelevated execution.

    New in 0.3.1: the footer shows explicit WebSocket state, a server-settings link, live QQQ service upload/download payload rates and totals since service start. Lightweight local observations add no QQQ job/control polling. Windows-normalized startup account names are accepted only when they resolve to the exact expected SID; this preference controls the tray companion, independently of the automatic print service.

    Known issue: a post-print native LayoutCycleException was observed in the 0.3.0 companion. The original trigger remains unreproduced despite nonprinting native geometry/dialog/refresh tests. This follow-up logs that exact fatal exception and permits normal WinUI termination rather than leaving an input-dead window; the service continues and the operator can reopen the companion. This is mitigation, not an underlying layout fix. Actual fatal handling and natural termination were verified with an intentionally cycling native Panel in an isolated nonprinting host; that test does not reproduce the original post-print trigger.

    New in 0.3: persistent outbound authenticated WSS carries controls, commands, receipts, status and job notifications, with no job/control polling or fallback. Documents stream separately over same-origin HTTPS into protected staging. Administrator settings bound document size, copies, aggregate bandwidth, staging, queues, concurrency, liveness and timeouts; defaults include 100 MiB PDF, 20 MiB ZPL and one download/print lane. Durable reconnect reconciliation preserves receipts and prevents blind resubmission of uncertain jobs. The Jobs view adds inline expansion and actions with sortable, bounded history.

    Existing features include standard QQQ sign-in and protected service sessions, PDF/ZPL printing and warehouse diagnostic profiles, exact owned spool cancellation, synchronized device/printer profiles, configurable logs, customer branding, AppKit settings/logs/update prompts, machine-wide MSI updates, tray status and explicit printer exposure. Replacement pairing and recovery from damaged saved credentials preserve history and printer choices without silently enabling printing.

    The published 0.3.1 MSI was installed with pairing, printer profiles, local receipts and log settings preserved; its service automatically restored the native QQQ session and WebSocket. The operator confirmed successful test prints and a responsive window. This 0.3.2 candidate still needs actual in-app update acceptance. Configured provider/browser callbacks also need end-to-end qualification against a compatible native-session API. See docs/ACCEPTANCE.md for version-specific evidence and remaining limits. Spool acceptance alone does not establish physical output or scanner readability; no stable 1.0 readiness is claimed.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope and limitations.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.3.2-rc.1; author github-actions[bot]; created 2026-11-01T16:03:12Z; published 2026-11-01T16:14:08Z.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:11 +00:00 | 83 commits to main since this release

    This is an unsigned Windows x64 prerelease of QQQ Print Agent for QQQ 4.1+.

    Assets were built and tested by this workflow. Verify the MSI against SHA256SUMS before installing. No Authenticode signature or production qualification is claimed.

    This client requires QQQ's semantic printing extension >=2.0.0 <3.0.0 and standard QQQ sign-in. When upgrading from 0.2, upgrade the server first: native API 2.0 makes a synchronized authenticated WebSocket mandatory for claims. An existing 0.3 server remains compatible with this client follow-up. Existing pairings and history are preserved; unbound devices require explicit account association.

    New in 0.3.1: the footer shows explicit WebSocket state, a server-settings link, live QQQ service upload/download payload rates and totals since service start. Lightweight local observations add no QQQ job/control polling. Windows-normalized startup account names are accepted only when they resolve to the exact expected SID; this preference controls the tray companion, independently of the automatic print service.

    Known issue: a post-print native LayoutCycleException was observed in the 0.3.0 companion. The original trigger remains unreproduced despite nonprinting native geometry/dialog/refresh tests. This follow-up logs that exact fatal exception and permits normal WinUI termination rather than leaving an input-dead window; the service continues and the operator can reopen the companion. This is mitigation, not an underlying layout fix. Actual fatal handling and natural termination were verified with an intentionally cycling native Panel in an isolated nonprinting host; that test does not reproduce the original post-print trigger.

    New in 0.3: persistent outbound authenticated WSS carries controls, commands, receipts, status and job notifications, with no job/control polling or fallback. Documents stream separately over same-origin HTTPS into protected staging. Administrator settings bound document size, copies, aggregate bandwidth, staging, queues, concurrency, liveness and timeouts; defaults include 100 MiB PDF, 20 MiB ZPL and one download/print lane. Durable reconnect reconciliation preserves receipts and prevents blind resubmission of uncertain jobs. The Jobs view adds inline expansion and actions with sortable, bounded history.

    Existing features include standard QQQ sign-in and protected service sessions, PDF/ZPL printing and warehouse diagnostic profiles, exact owned spool cancellation, synchronized device/printer profiles, configurable logs, customer branding, AppKit settings/logs/update prompts, machine-wide MSI updates, tray status and explicit printer exposure. Replacement pairing and recovery from damaged saved credentials preserve history and printer choices without silently enabling printing.

    The published 0.3.0 local cohort passed state preservation and service restart/restoration checks, with fresh laser PDF and Zebra ZPL spool receipts. This 0.3.1 client still requires its own installed UI and physical-output acceptance. Configured authentication providers and installed browser callbacks also require end-to-end qualification, including provider renewal and permissions deployment. Source tests do not establish those outcomes. See docs/ACCEPTANCE.md for version-specific evidence and remaining limits. Spool acceptance alone does not establish physical output or scanner readability; no stable 1.0 readiness is claimed.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope and limitations.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.3.1-rc.1; author github-actions[bot]; created 2026-11-01T10:01:58Z; published 2026-11-01T10:08:40Z.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:22 +00:00 | 89 commits to main since this release

    This is an unsigned Windows x64 prerelease of QQQ Print Agent for QQQ 4.1+.

    Assets were built and tested by this workflow. Verify the MSI against SHA256SUMS before installing. No Authenticode signature or production qualification is claimed.

    Upgrade the server first: this client requires QQQ's semantic printing extension >=2.0.0 <3.0.0 and standard QQQ sign-in. Native API 2.0 makes a synchronized authenticated WebSocket mandatory for claims, so coordinate the server and Windows upgrade. Existing pairings and history are preserved; unbound devices require explicit account association.

    New in 0.3: persistent outbound authenticated WSS carries controls, commands, receipts, status and job notifications, with no job/control polling or fallback. Documents stream separately over same-origin HTTPS into protected staging. Administrator settings bound document size, copies, aggregate bandwidth, staging, queues, concurrency, liveness and timeouts; defaults include 100 MiB PDF, 20 MiB ZPL and one download/print lane. Durable reconnect reconciliation preserves receipts and prevents blind resubmission of uncertain jobs. The Jobs view adds inline expansion and actions with sortable, bounded history.

    Existing features include standard QQQ sign-in and protected service sessions, PDF/ZPL printing and warehouse diagnostic profiles, exact owned spool cancellation, synchronized device/printer profiles, configurable logs, customer branding, AppKit settings/logs/update prompts, machine-wide MSI updates, tray status and explicit printer exposure. Replacement pairing and recovery from damaged saved credentials preserve history and printer choices without silently enabling printing.

    Installed 0.3 behavior and physical output require separate acceptance; prior 0.2 output confirmation does not qualify this release. Configured authentication providers and installed browser callbacks also require end-to-end qualification, including provider renewal and permissions deployment. Source tests do not establish those outcomes. See docs/ACCEPTANCE.md for version-specific evidence and remaining limits. Spool acceptance alone does not establish physical output or scanner readability; no stable 1.0 readiness is claimed.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope and limitations.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.3.0-rc.1; author github-actions[bot]; created 2026-10-31T23:32:47Z; published 2026-10-31T23:39:30Z.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:33 +00:00 | 99 commits to main since this release

    This is an unsigned Windows x64 prerelease of QQQ Print Agent for QQQ 4.1+.

    Assets were built and tested by this workflow. Verify the MSI against SHA256SUMS before installing. No Authenticode signature or production qualification is claimed.

    Upgrade the server first: this client requires QQQ's semantic printing extension and standard QQQ sign-in. Older bearer-only servers must be upgraded. Existing pairings and history are preserved; unbound devices require explicit account association.

    New features: semantic capability discovery, standard table-based or explicitly advertised native browser authentication, DPAPI-protected service sessions and QQQ session resume. Independent device-control polling supports durable pause/disconnect/reconnect state and command receipts, with cancellation limited to the exact owned spool job. Normal CLI operations use the authenticated service; direct legacy diagnostics require an explicit compatibility flag. Explicit replacement pairing and recovery from damaged saved credentials preserve history and printer choices without silently enabling printing.

    Existing features include PDF/ZPL printing and warehouse diagnostic profiles, sortable printer/job tables, bounded searchable history, synchronized device/printer profiles, configurable logs, customer branding, AppKit settings/logs/update prompts, machine-wide MSI updates, tray status and explicit printer exposure.

    Configured authentication providers and installed browser callbacks still require end-to-end qualification, including provider renewal and permissions deployment. Source tests do not establish those outcomes. See docs/ACCEPTANCE.md for version-specific installed checks, physical-output confirmation and remaining limits. Spool acceptance alone does not establish physical output or scanner readability; no stable 1.0 readiness is claimed.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope and limitations.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.2.0-rc.1; author github-actions[bot]; created 2026-10-31T16:14:29Z; published 2026-10-31T16:21:00Z.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:45 +00:00 | 107 commits to main since this release

    This is an unsigned Windows x64 prerelease of QQQ Print Agent for QQQ 4.1+.

    Assets were built and tested by this workflow. Verify the MSI against SHA256SUMS before installing. No Authenticode signature or production qualification is claimed.

    Features: QQQ-branded warehouse diagnostic documents with native Letter/A4/4 × 6-inch PDF and 203/300/600-dpi ZPL profile choices, label-aware defaults with operator resolution verification, sortable printer and job tables, inline printer details, double-click settings and job dialogs, bounded history pages with creation-time ordering, synchronized computer/printer profiles, daily log limits and clearing, same-installer customer branding, native Windows navigation, AppKit logs/settings/update prompts, verified machine-wide MSI updates, tray status, explicit printer exposure, reconnect and service controls, searchable job history with test/retry/cancel/review actions, bounded printer workers, outbound cloud polling, PDF and ZPL spool submission, durable receipts and protected service credentials. See docs/ACCEPTANCE.md for version-specific installed checks, diagnostic spool submissions, physical-output confirmation and remaining qualification limits. Spool acceptance alone does not establish physical output or scanner readability.

    See CHANGELOG.md, docs/INSTALLATION.md and docs/ACCEPTANCE.md in the tagged source for scope and limitations.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.1.9-rc.1; author github-actions[bot]; created 2026-10-31T09:58:10Z; published 2026-10-31T10:04:56Z.

    Downloads
  • forge-recovery released this 2026-11-01 18:23:53 +00:00 | 119 commits to main since this release

    QQQ Print Agent 0.1.7 adds QQQ-branded warehouse diagnostic pages and labels for QQQ 4.1+ with qbit-printing 0.1.3-rc.1 or later.

    • Shared QQQ logo and JetBrains Mono Bold with a dotted zero and distinct 1/I/l glyphs across PDF and ZPL.
    • Native format and stock choices: Letter, A4 and 4 × 6-inch PDF; 4 × 6-inch ZPL at 203, 300 or 600 dpi.
    • Label-aware format defaults, explicit resolution confirmation, alignment/scale checks and a Code 128 barcode on the ZPL diagnostic.

    Validation: 227 unit/regression tests, zero build warnings/errors, all 16 installed UI checks in one run, and passing tagged CI/package workflow. The installed upgrade retained pairing and configuration. The user confirmed laser PDF output and Zebra ZPL output. The Zebra PDF initially failed to produce a label because the machine driver defaults were 4.09 × 2 inches and Thermal Transfer; after correcting them to 4 × 6 inches and Thermal Direct, a fresh PDF test printed correctly and was confirmed by the user. Barcode scanning and measured alignment remain unverified. This is local end-to-end evidence, not remote production deployment qualification.

    For ribbon-free Zebra printers, configure Printer properties → Advanced → Printing Defaults for the actual stock and Thermal Direct. The Windows service uses machine defaults; per-user Printing Preferences may differ. A spooler acknowledgment alone does not prove physical output.

    The MSI is unsigned. Verify downloaded assets against SHA256SUMS. Customer branding uses the accompanying Install-Branded.ps1 and branding.example.json without a custom build. Existing tables, tray/status, AppKit menus/logs/settings/update prompts and printer/job controls remain included.

    See installation, user guide, and acceptance evidence.


    Migration provenance: original GitHub release https://github.com/QRun-IO/qqq-print-agent/releases/tag/v0.1.7-rc.1; author github-actions[bot]; created 2026-10-30T22:51:47Z; published 2026-10-30T22:57:44Z.

    Downloads