* fixing psalm complaints
use rector (and psalm) to add Override attributes, and add symfony polyfill to
provide Override in earlier php versions
* fixing more psalm complaints
* more fixes
* adding stubs for deptrac
there are some things in our code that deptrac doesn't understand or are missing
for some php versions. stub them to quieten all those violation warnings
* why not cache invalid :(
* display tools versions
* fix tools cache key
* changing cache key
* dont complain about unused psalm suppressions
* suppress invalid attribute
* quieten phpstan php8.5 complaints
* revert previous commit...now other php versions complain about an unused ignore :(
* revert typecasting in metrics aggregators
* Update src/Contrib/Otlp/ProtobufSerializer.php
Co-authored-by: Chris Lightfoot-Wild <github-clw@wild.me.uk>
* remove override stub and use the polyfill from deptrac
---------
Co-authored-by: Chris Lightfoot-Wild <github-clw@wild.me.uk>
* run unit tests in random order
running in random order highlights some interference between tests (mostly logging being enabled), and is a requirement for
mutation testing (ie, all tests must pass when executed in a random order).
* adding infection mutation testing
this adds the ability to run infection. It generates a lot of output, which is an exercise for another PR...
* replace assertwell/phpunit-global-state
the package was not compatible with phpunit 11. create out own test Trait, which handles
env vars, as well as general cleanup of the usual suspects of state that our tests mess up
* remove redundant tearDown functions
there's an after annotation on the trait to handle this
* use rector to upgrade tests for phpunit 11
* fixing CoversFunction for namespaced functions
* use FQNs in test attributes
* bump php to 8.1, apply rector
* readonly and typehints
* suppress a dodgy readonly property conversion
* remove some redundant readonly phpdocs
* dont run workflows against 8.0
* more readonly and typehints
* phpdoc reformat
* typehints
* remove php81 polyfill
* revert a rector BC breaking change, and disable that rector for ParentBased
* drop php 7.4 support
update composer.json minimums, and run rector over the code to update what it can. changed some static analysis
config to fix some rector-induced failures.
* adding union typehints
* reformat constructor property promotions
* updating/removing phpdoc
* suppress protobuf extension complaint
submitted a PR upstream to fix phan stubs
* don't validate packages against 7.4
* remove php8 polyfill
* fix readonly comments
* apply trailing commas to multiline fixer
upgrade php-cs-fixer, and apply a new rule for multiline comments
* remove unreachable default match arms for protobuf serializer
* adding more union types to vars
* use weakmap directly
* remove handling for not-supported WeakMap
* spacing
We made protobuf implementation optional back in #949 however it seems to be tripping up
a number of developers. Since native + extension can be installed at the same time (with
extension taking priority), I think that users will be less surprised when starting out
if there is a working implementation by default.
- apply TC review feedback to move Globals to top-level.
it was suggested to move Instrumentation into its own package, but I chose instead to just move that dir
up to the top level of API
- added a BC layer to alias the moved classes
- added some more examples
* Add rector as dev dependency
* Add rector config
* Add rector make targets
* Add intl extension to dev image to support rector
* Add rector make targets
* Apply rector PHP_74 rules
* Fix CS
* Make Phan happy