Skip to content

Releases: spiral/framework

3.15.8

23 Apr 12:53
3.15.8
Compare
Choose a tag to compare

What's Changed

  • Hotfixes by @roxblnfk in #1226
    • Fixed SpanInterface singleton rebinding in the Telemetry component (see spiral/app#157)
    • Fixed working of Prototype in container scopes

Full Changelog: 3.15.7...3.15.8

3.15.7

31 Mar 15:32
3.15.7
Compare
Choose a tag to compare

What's Changed

  • Fixed proxy class generator failure when the proxied interface contains static return type by @roxblnfk in #1222
    Also added resolving trace to Resolver exceptions

Full Changelog: 3.15.6...3.15.7

3.15.6

29 Mar 18:33
3.15.6
04844aa
Compare
Choose a tag to compare

What's Changed

  • Optimize container and fix invoker by @roxblnfk in #1221
    • Invoker::invoke() does not try to instantiate class to call a static function
    • Added an internal Container Actor service
    • Remove Tracer from services. Now a new one might be created for a separated Container operation
    • Reworked resolving traces in container exceptions

Full Changelog: 3.15.5...3.15.6

3.15.5

12 Mar 17:22
3.15.5
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • [spiral/router] Fix issue when group prefix is not applied to routes by @butschster in #1219

Full Changelog: 3.15.0...3.15.6

3.15.4

17 Feb 10:57
3.15.4
019a0d8
Compare
Choose a tag to compare

What's Changed

  • Telemetry: removed ID from a consumed job span by @rauanmayemir in #1215
    It allows proper grouping of traces by job name

Full Changelog: 3.15.3...3.15.4

3.15.3

11 Feb 11:15
3.15.3
Compare
Choose a tag to compare

What's Changed

  • Fixed scoped TracerInterface in the AbstractTracer::runScope method by @roxblnfk and @rauanmayemir in #1214
  • \Spiral\Core\Scope is public now

Full Changelog: 3.15.2...3.15.3

3.15.2

10 Feb 09:08
3.15.2
Compare
Choose a tag to compare

What's Changed

  • Fix a bug with telemetry info not propagating into log records by @rauanmayemir in #1212

Full Changelog: 3.15.0...3.15.2

3.15.1

31 Jan 21:54
3.15.1
Compare
Choose a tag to compare

What's changed

  • Maintenance by @roxblnfk and @msmakouz in #1205
    • Psalm v6
    • The Prototype component now uses nikic/php-parser v5
    • Bumped up dependencies versions
    • Added PHP 8.4 in the CI

Full Changelog: 3.15.0...3.15.1

3.15.0

24 Jan 15:58
3.15.0
93cc1f9
Compare
Choose a tag to compare

What's Changed

Core

  • AppEnvironment enum: added aliases for production and test environments (#1170).
  • Added a new option in the container to control default behavior when rebinding singletons (#1199).
    In the future, the container will be stricter by default, so it's recommended to set allowSingletonsRebinding to false right away.
  • Fixed resolving of scoped Autowire objects (#1175).

Cache

  • Added events that are dispatched before cache operations like KeyWriting, CacheRetrieving, KeyDeleting and failed operations like KeyWriteFailed, KeyDeleteFailed (#1156).
  • Optimized operations with multiple cache records (#1194).
  • Added an ability to set custom cache storage (#1142).

Router

  • The ServerRequestInterface object is now passed into the call context of interceptors (#1168)
  • Added a new middleware pipeline LazyPipeline (#1168)
    The pipeline resolves middleware from the container right before execution to avoid ignoring container scopes.
    \Spiral\Http\Pipeline is deprecated now.
  • Added strict mode for UriHandler (#1192)
    Strict mode ensures all required URI segments are validated. If any are missing, an exception is thrown.
    $handler = $container->get(\Spiral\Router\UriHandler::class);
    $handler->setStrict(true);

Telemetry

Optimized the telemetry component (#1168): it no longer opens a container scope each time in the AbstractTracer::runScope() method.

spiral/otel-bridge v1.2.2 has been released, which includes normalization of values for OTEL data types.

Changes in telemetry operation in the router:

  • A new Span is no longer created for each Middleware: the pipeline fills the list with called middlewares in one span. The number of pipelines equals the number of spans.
  • The http.response_content_length field is no longer filled.

Code quality improvements:

We are preparing to start the 4.x branch.
This means it's time to "tidy up" the codebase: update all the code so that the difference between 3.x and 4.x is minimal.
This way, fixes from 4.x can be easily applied to 3.x.

Pull requests using Rector from @samsonasik are very timely here:

  • Bump to Rector ~2.0.0 in #1155, #1159, #1177
  • Update to use PHPUnit 10 syntax in #1163
  • Fix @template-covariant usage on Target and TargetInterface in #1164
  • Add closure void return type in tests in #1180, #1181
  • Add typed MockObject in tests in #1182
  • Add ArrowFunction and Closure return type in #1183, #1184, #1201
  • Add property types on tests classes in #1185
  • Enable phpunit code quality set for rector in #1186
  • Run Rector on submodule under src/Bridge as well in #1189
  • Add typed on private property based on assigns in #1200
  • Set setUp()/tearDown() method modifier protected on tests in #1202

And Code Style improvements:

Pull requests

Full Changelog: 3.14.6...v3.15.0

3.14.10

22 Jan 15:15
3.14.10
Compare
Choose a tag to compare

What was changed

Bug Fixes

  • [spiral/telemetry] Improve types for SpanInterface (#1206)
  • [spiral/stempler] Fix parsing of @ inside a string that is not a directive (#1197)

Full Changelog: 3.14.9...3.14.10