PackageTrack
Sign in Get early access

qase/php-commons

Library with common classes for Qase PHP reporters

2.1.20 130K downloads/mo #4290 most downloaded on Packagist qase-tms/qase-php-commons

What this package is like to depend on

Last release 4 months ago

16 Apr 2026

Ships fairly regularly

a new release about every 3 weeks

Rarely documented

notes for 2 of 29 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

29 releases · first in 2023

17 releases in the last 12 months

see the full history below

Release timeline

29 releases · Feb 2023 to Apr 2026
2024 2025 2026
Release Pre-release

Releases

latest 29
  1. 2.1.20 16 Apr 2026
    Release notes
    • fix: compute result and step duration in milliseconds

    • chore: bump version to 2.1.20


    Co-authored-by: Dmitrii Gridnev [email protected]

    Open source →
  2. 2.1.19 15 Apr 2026

    Nothing published for this version

  3. 2.1.18 09 Apr 2026

    Nothing published for this version

  4. 2.1.17 06 Apr 2026

    Nothing published for this version

  5. 2.1.16 18 Mar 2026

    Nothing published for this version

  6. 2.1.15 18 Mar 2026
    Release notes
    • test: add failing tests for StateManager lock and cleanup bugs
    • 8 test methods covering BUG-01 (missing LOCK_UN), BUG-02 (callback exception leaks), REF-01 (no try-finally)
    • Baseline tests for startRun/completeRun functionality
    • Lock verification helper using LOCK_EX|LOCK_NB non-blocking check
    • 2 structural tests fail against current code (RED phase), proving missing try-finally
    • fix: add try-finally to StateManager for proper lock and handle cleanup
    • BUG-01: flock(LOCK_UN) now always called before fclose via finally block
    • BUG-02: $completeRun() callback moved after lock release, exceptions cannot leak locks
    • REF-01: both startRun() and completeRun() use try-finally pattern
    • Added fopen return value checks for defensive error handling
    • All 110 tests pass with no regressions
    • fix: replace loose equality, fix method typo, and resolve variable shadowing in API clients
    • Replace all == with === in ApiClientV1 (4 locations) and ApiClientV2 (1 location)
    • Rename covertToModel to convertToModel in ApiClientV2
    • Fix $step variable shadowing in convertStep() foreach using $childStep
    • refactor: extract shared host URL resolution into protected methods
    • Add resolveApiHost() and resolveAppUrl() protected methods to ApiClientV1
    • Refactor ApiClientV1 constructor to use new methods instead of inline logic
    • Refactor ApiClientV2 constructor to use inherited resolveApiHost('v2')
    • Eliminates duplicated URL construction logic between V1 and V2 clients
    • refactor: add isDebug() to LoggerInterface and guard json_encode in debug calls
    • Add isDebug() method to LoggerInterface contract
    • Implement isDebug() in Logger returning the debug flag
    • Guard 3 json_encode calls in ApiClientV1 and ApiClientV2 with isDebug() check
    • Prevents expensive serialization when debug mode is inactive
    • refactor: extract tryApiCall helper and cache attachment file sizes
    • Add tryApiCall() private method for standardized error handling across 9 methods
    • Refactor isProjectExist, getEnvironment, completeTestRun, isTestRunExist,
      getConfigurationGroups, createConfigurationGroup, createConfigurationItem,
      runUpdateExternalIssue, enablePublicReport to use tryApiCall()
    • Keep createTestRun and uploadAttachment with their own error handling
    • Modify filterValidAttachments to return {attachments, sizes} structure
    • Modify splitIntoBatches to accept pre-computed sizes, eliminating redundant
      filesize()/strlen() calls
    • test: add failing tests for external link order independence and dead method removal
    • Add testExternalLinkFromEnvBothVarsSet to verify external link assembly regardless of env var order
    • Add testExternalLinkFromEnvOnlyTypeNoUrl to verify partial env vars produce no link
    • Add testNoResetConfigurationCacheMethod to verify dead method is removed from TestOpsReporter
    • test: add failing tests for null reporter fallback and scoped error_reporting
    • Test runFallbackReporter with null primary reporter (BUG-03)
    • Test fallback activation with null primary (BUG-03)
    • Test error_reporting not globally suppressed (REF-04)
    • fix: resolve external link env var order bug, tighten permissions, rename method, remove dead code
    • Fix ConfigLoader external link assembly to be order-independent via post-loop finalizeExternalLink()
    • Change mkdir permissions from 0777 to 0755 in Logger and FileReporter
    • Rename prepare_report_folder to prepareReportFolder in FileReporter
    • Remove unused resetConfigurationCache method from TestOpsReporter
    • fix: null-safe fallback reporter and scoped error_reporting suppression
    • Add null check for primary reporter in runFallbackReporter() before
      calling getResults(), preventing NPE when reporter is null (BUG-03)
    • Remove global error_reporting(E_ALL & ~E_DEPRECATED) at file scope
    • Add save/restore error_reporting pattern with finally blocks to all
      five methods: startRun, completeRun, addResult, sendResults,
      runFallbackReporter (REF-04)
    • Fallback reporter activates regardless of primary reporter state
    • fix: use Step structured API for status mapping and remove deprecated setAccessible calls

    Step status mapping was writing to dynamic properties via BaseModel::__set
    instead of Step->execution, so mapped statuses were never sent to the API.
    Also remove setAccessible() calls deprecated since PHP 8.1.

    • chore: bump version to 2.1.15 and update dependencies

    Update guzzlehttp/psr7 2.8.0→2.9.0, qase-api-client 1.1.5→1.1.8,
    qase-api-v2-client 1.1.2→1.1.3.

    • fix: make error_reporting test check source code instead of runtime state

    The test checked runtime error_reporting() level which depends on the CI
    environment's php.ini, making it fail when E_DEPRECATED is already
    suppressed. Now checks that CoreReporter.php has no file-scope
    error_reporting() call.

    • fix: restore setAccessible() calls required for PHP 8.0 compatibility

    setAccessible() is a no-op since PHP 8.1 but still required on PHP 8.0
    to access private properties/methods via Reflection.

    Open source →
  7. 2.1.14 17 Feb 2026

    Nothing published for this version

  8. 2.1.13 05 Feb 2026

    Nothing published for this version

  9. 2.1.12 27 Jan 2026

    Nothing published for this version

  10. 2.1.11 17 Dec 2025

    Nothing published for this version

  11. 2.1.10 12 Dec 2025

    Nothing published for this version

  12. 2.1.9 08 Dec 2025

    Nothing published for this version

  13. 2.1.8 19 Nov 2025

    Nothing published for this version

  14. 2.1.7 14 Oct 2025

    Nothing published for this version

  15. 2.1.6 02 Oct 2025

    Nothing published for this version

  16. 2.1.5 29 Sep 2025

    Nothing published for this version

  17. 2.1.4 10 Sep 2025

    Nothing published for this version

  18. 2.1.3 11 Aug 2025

    Nothing published for this version

  19. 2.1.2 10 Jul 2025

    Nothing published for this version

  20. 2.1.1 04 Jun 2025

    Nothing published for this version

  21. 2.1.0 07 Apr 2025

    Nothing published for this version

  22. 2.0.6 24 Mar 2025

    Nothing published for this version

  23. 2.0.5 17 Mar 2025

    Nothing published for this version

  24. 2.0.4 11 Feb 2025

    Nothing published for this version

  25. 2.0.3 11 Feb 2025

    Nothing published for this version

  26. 2.0.2 07 Feb 2025

    Nothing published for this version

  27. 2.0.1 06 Feb 2025

    Nothing published for this version

  28. 2.0.0 30 Jan 2025

    Nothing published for this version

  29. v1.0.0 09 Feb 2023

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive