Repository navigation
Releases
Releases · artisan-toolbox/qztray
1.2.0 - Update CI and maintainer tooling dependencies
Changed
-
Composer: bump
artisan-toolbox/maintainerto1.10.0- The
artisan-toolbox/maintainerdependency has been raised to 1.10.0. - This can indirectly affect maintainer-driven outputs, such as generated documentation/README header content, depending on how your workflow uses the maintainer package.
- The
-
CI: update
shivammathur/setup-phptov2.40.0- The GitHub Action used for PHP provisioning in CI has been updated from
2.37.2to2.40.0. - The change is limited to the action revision; no PHP matrix/extension configuration changes were described.
- The GitHub Action used for PHP provisioning in CI has been updated from
-
Documentation/tooling refresh
- README head content and maintainer-related tooling outputs were regenerated/updated.
- The changelog content/structure for the upcoming release was refreshed (not runtime code).
Added
- Development: add PHPStan static analysis
- Added
phpstan/phpstantorequire-dev. - This improves development-time static analysis and may cause new findings to surface earlier for contributors and CI checks that run PHPStan.
- Added
Internal Maintenance
- Standardize README badges and update documentation
- README badge formatting and documentation presentation were standardized.
- Maintainer implementation improvements
- Additional maintainer-related implementation updates were applied, aligning maintainer-driven outputs (e.g., README/tooling generation behavior).
Migration / Compatibility Notes
- If your workflows generate documentation or README content using the maintainer package, validate that
artisan-toolbox/maintainer1.10.0remains compatible with your environment. - Ensure your development tooling/config used for static analysis is compatible with the addition of PHPStan (and whatever configuration your project uses for it).
1.1.1 - Fix PDF preview font rendering and align CI triggers
Fixed
-
PDF preview font rendering reliability (
renderPdf)- Updated
resources/js/renderPdf.tsto render PDF previews using bundled standard fonts instead of system fonts. - The PDF/font rendering initialization now explicitly sets
useSystemFonts: false(alongside existing options such asuseWorkerFetch: falseandisEvalSupported: false). - User-visible impact: PDF previews should no longer show missing-font warnings (e.g.,
Helvetica-Bold) on machines where the relevant system fonts are not installed, and font rendering should be more consistent across environments. - Compatibility / migration notes: there are no public API changes indicated. However, environments that previously relied on system font availability for preview rendering will now use bundled fonts instead.
- Testing: a frontend unit test (
tests/Frontend/renderPdf.test.ts) now asserts that the engine configuration includesStandardFontDataFactoryfrom the bundled assets and thatuseSystemFonts: falseis set.
- Updated
-
CI tests workflow trigger alignment
- Updated
.github/workflows/tests.ymlso that thetestsworkflowpushtarget runs on the1.xbranch pattern (and*.x) rather thanmain. - The existing
pull_requesttrigger behavior is unchanged. - User-visible impact: push-based automated test runs on
mainmay decrease or stop; pushes to branches matching1.x/*.xwill continue to run tests. - Compatibility / migration notes: no code-level changes; this is a repository/branch-strategy adjustment to reflect the active release line for versioned branches.
- Updated
1.1.0 - Make pre-versioning frontend builds more reliable and validate bundled distribution assets
Fixed
- More reliable before-versioning frontend build: Updated the
before-versioningfrontend build process to run more reliably by adjusting how the npm build command is invoked. This reduces the likelihood that CI/developers see flaky failures when running versioning from different directories or with different process context.
Changed
- Simplified npm build invocation during versioning: Refactored the npm build invocation to run via a single command string, improving execution consistency when called from the backend versioning hook.
- Distribution validation and bundling workflow updated (1.1.0):
- Added a GitHub Actions job to build the frontend and verify that tracked
dist/assets are present and correct. - Updated
.gitignoreto stop globally ignoring/dist, ensuringdistartifacts are tracked. - Updated documentation and release/install instructions to reflect installing the private local vendor frontend package via Composer (into
vendor/...) and then running from the Laravel app root:npm install ./vendor/artisan-toolbox/qztray- (instead of relying on an npm-published package)
- Introduced a distribution validator:
scripts/check-distribution.mjs, which enforces that trackeddist/content matches the Git state. CI/release will fail ifdist/is missing, dirty, or has unexpected/untracked changes. - Updated
QzTrayConnectorto:- bump version metadata to 1.1.0
- implement
BeforeVersioningthat runsnpm run buildfrom the project root during versioning.
- Expanded tests to cover:
- successful/failed before-versioning build behavior
- frontend render build packaging so that composer/tarball distribution includes
dist/*(including wasm) package.jsonset to{ private: true }for the frontend package
- Added a GitHub Actions job to build the frontend and verify that tracked
Compatibility / Migration
- Installation/packaging workflow changes: If you previously installed the frontend via npm registry (e.g.,
@artisan-toolbox/qztray), update your workflow to use the Composer-distributed vendor package:- Install dependencies via Composer first so
vendor/artisan-toolbox/qztrayexists. - From the Laravel app root, run
npm install ./vendor/artisan-toolbox/qztray.
- Install dependencies via Composer first so
- Versioning prerequisites: Versioning now performs an automatic frontend build during
BeforeVersioning, so the environment running versioning must have working Node/npm and the frontend build prerequisites available.
Removed
.gitignorebehavior that previously globally ignored/distartifacts was removed, so trackeddist/files are no longer excluded.
1.0.0 - Add PDF and rendering support with typed printing API
Added
- renderPdf support (Node + browser): Introduced
renderPdfalong with required PDF assets, with explicit compatibility for both Node.js and browser environments. - ESC/POS PNG previews: Added
renderEscposto generate PNG previews of ESC/POS output, including typed options to better define preview behavior. - Local ZPL rendering with WASM assets: Implemented local ZPL rendering powered by a shipped WebAssembly (WASM) asset bundle.
- QZ Tray printing improvements: Added a new public
QzTraysingleton with a typed printing API. - Private payload signing endpoint: Added a private
signPayloadendpoint protected with CSRF authentication. - QZ Tray certificate caching + config validation: Cached the QZ Tray public certificate and added configuration validation to improve correctness and stability.
- Ziggy connector routes + certificate retrieval: Added Ziggy connector routes and implemented certificate retrieval to support connector integrations.
Changed
- Plain ZPL encoding inference in CI: Improved the “plain ZPL” printing path to infer encoding from
^CIfor more consistent output in CI environments. - Frontend tooling / CI coverage: Added a Vite-based frontend scaffold and updated the CI matrix to validate the frontend tooling/runtimes.
Fixed
- CI timeout reliability: Increased the CI timeout used for the “real package build test” to reduce intermittent failures in slower build environments.
- Windows credential publishing: Verified credential publish paths and contents on Windows to improve cross-platform reliability.
Internal Maintenance
- Bumped
artisan-toolbox/maintainerto^1.5. - Added
package-lock.jsonand updated.gitignoreto improve dependency install consistency.
Breaking Changes
- Public
QzTraysingleton with typed API: The introduction of a publicQzTraysingleton and typed printing API (marked as breaking) may require updating existing integrations to align with the new access pattern and typed method signatures.