Skip to content

Releases: flow-php/flow

0.41.1

Choose a tag to compare

@norberttech norberttech released this 01 Jul 11:38

[0.41.1] - 2026-07-01

Added

  • #2499 - flow-php/symfony-telemetry-bundle - configurable messenger trace (worker/handlers/both/none) and link (dispatcher/worker/both) modes - @norberttech
  • #2499 - flow-php/symfony-telemetry-bundle - worker receive cycle traced as one messenger.receive span per pass, idle passes marked - @norberttech
  • #2499 - flow-php/symfony-telemetry-bundle - transport poll instrumentation suppressed during the receive loop to avoid orphan spans - @norberttech
  • #2499 - flow-php/telemetry - context-scoped tracing suppression producing non-recording spans - @norberttech
  • #2499 - flow-php/telemetry - opt-in per-signal entry cap on MemoryExporter - @norberttech
  • #2495 - flow-php/symfony-telemetry-bundle - messenger instrumentation emits messaging metrics (consumed/sent counters, process duration histogram) with configurable unit and on/off toggle - @norberttech
  • #2492 - web/landing - Flow PHP 0.41.0 release blog post - @norberttech
  • #2492 - web/landing - optimize-images Just task with oxipng/jpegoptim nix deps - @norberttech

Changed

  • #2495 - flow-php/etl - emitted metric names standardized to flow.etl. and flow.cache.** - @norberttech
  • #2495 - flow-php/filesystem - emitted metric names standardized to flow.filesystem.* - @norberttech
  • #2495 - flow-php/postgresql - metric names aligned to OTEL db.client. semantic conventions* - @norberttech
  • #2495 - flow-php/symfony-telemetry-bundle - cache metric names changed to flow.cache.* - @norberttech
  • #2495 - flow-php/phpunit-telemetry-bridge - metric names folded under flow.phpunit.* - @norberttech
  • #2495 - flow-php/telemetry - docblock metric name examples updated - @norberttech
  • #2492 - web/landing - widen blog post and changelog layout, add figure/image prose styles - @norberttech
  • #2492 - web/landing - losslessly recompress landing images - @norberttech
  • #2492 - web/landing - regenerate DSL autocompletion functions - @norberttech

Fixed

  • #2499 - flow-php/telemetry - profiler signal store no longer grows unbounded in long-running messenger workers (OOM) - @norberttech
  • #2495 - flow-php/postgresql - operation duration histogram uses correct second-scale bucket boundaries - @norberttech

Removed

  • #2499 - flow-php/symfony-telemetry-bundle - messenger propagation_style config and its continue mode - @norberttech

Contributors

Generated by Automation

0.41.0

Choose a tag to compare

@norberttech norberttech released this 29 Jun 08:01

[0.41.0] - 2026-06-29

Added

  • #2489 - flow-php/symfony-telemetry-bundle - security instrumentation - @norberttech
  • #2489 - flow-php/symfony-telemetry-bundle - enriched web profiler panel - @norberttech
  • #2489 - flow-php/symfony-telemetry-bundle - trace context propagation and route-aware span naming - @norberttech
  • #2489 - flow-php/symfony-telemetry-bundle - long-running worker runtime support - @norberttech
  • #2489 - flow-php/symfony-http-foundation-telemetry-bridge - query string trace context carrier - @norberttech
  • #2487 - flow-php/telemetry - ConditionalExporter that gates a wrapped exporter behind a runtime flag - @norberttech
  • #2487 - flow-php/symfony-telemetry-bundle - per-exporter enabled flag supporting literal booleans and %env(bool:...)% - @norberttech
  • #2482 - flow-php/telemetry-otlp-bridge - AsyncCurlTransport (curl_multi) with bounded select-driven tick() - @norberttech
  • #2482 - flow-php/telemetry-otlp-bridge - otlp_async_curl_transport() and otlp_async_curl_options() DSL helpers - @norberttech
  • #2482 - flow-php/symfony-telemetry-bundle - transport.type 'async_curl', auto-pumped on WorkerRunningEvent - @norberttech
  • #2480 - flow-php/symfony-filesystem-cache-bridge - accept an optional PSR-20 clock - @norberttech
  • #2477 - flow-php/psr3-telemetry-bridge - interpolate {placeholder} tokens in telemetry log messages - @norberttech
  • #2477 - flow-php/monolog-telemetry-bridge - interpolate {placeholder} tokens in telemetry log messages - @norberttech
  • #2475 - flow-php/symfony-postgresql-bundle - Flow Migrations profiler panel showing executed/pending/unavailable migrations per connection - @norberttech
  • #2475 - flow-php/symfony-postgresql-bundle - profiler.migrations config toggle (default: true) - @norberttech
  • #2409 - Add git detector to telemetry - @jdecool
  • #2409 - Add git detector to phpunit telemetry - @jdecool
  • #2468 - flow-php/symfony-telemetry-bundle - controller body span, default on, as child of the request span - @norberttech
  • #2468 - flow-php/symfony-telemetry-bundle - opt-in controller.get_callable resolution span - @norberttech
  • #2468 - flow-php/symfony-telemetry-bundle - opt-in controller.get_arguments aggregate span - @norberttech
  • #2468 - flow-php/symfony-telemetry-bundle - opt-in per-resolver controller.argument_value_resolver spans - @norberttech
  • #2467 - flow-php/telemetry-otlp-bridge - non-blocking CurlTransport::tick() to drive in-flight requests - @norberttech
  • #2467 - flow-php/symfony-telemetry-bundle - pump curl transports on Messenger WorkerRunningEvent - @norberttech
  • #2466 - flow-php/telemetry - time-based flush for batching log, metric and span processors - @norberttech
  • #2466 - flow-php/symfony-telemetry-bundle - per-message telemetry flush on Messenger worker events - @norberttech
  • #2465 - flow-php/symfony-telemetry-bundle - console log output aligned with CLI verbosity (-v/-vv/-vvv), off by default. - @norberttech
  • #2465 - flow-php/symfony-telemetry-bundle - opt-in logger_provider.console_output config with overridable verbosity_levels. - @norberttech
  • #2462 - flow-php/symfony-telemetry-bundle - messenger propagation_style option (continue/link) with new MessengerTracePropagation enum - @norberttech
  • #2459 - Flow\ETL\Schema::sort() accepting a pluggable SortingStrategy (defaults to AlphabeticalStrategy) - @MrHDOLEK
  • #2459 - Core sorting strategies AlphabeticalStrategy, TypeStrategy, MetadataStrategy and CombinedStrategy, exposed via
    sort_by_name(), sort_by_type(), sort_by_type_and_name() and sort_by_metadata() DSL helpers
    - @MrHDOLEK
  • #2459 - PostgreSqlSortingStrategy (primary-key columns first, then by PostgreSQL type, then by name) exposed via the pgsql_sort_strategy() DSL helper - @MrHDOLEK
  • #2460 - flow-php/symfony-telemetry-bundle - inject trace context into outgoing response headers - @norberttech
  • #2458 - flow-php/symfony-telemetry-bundle - cleanup subscriber completing Twig spans orphaned by a render exception on terminate/kernel.reset - @norberttech
  • #2408 - SEAL adapter (flow-php/etl-adapter-seal) — a single, strongly typed integration for SEAL search engines (Elasticsearch, OpenSearch, Meilisearch, Algolia, Solr,
    Typesense, RediSearch, Loupe)
    - @MrHDOLEK
  • #2408 - from_seal() extractor and to_seal() loader, working with any SEAL EngineInterface - @MrHDOLEK
  • #2408 - to_seal_schema() and seal_schema_to_flow() DSL — recursive, bi-directional Flow Schema ↔ SEAL Schema conversion (nested structures, lists and
    maps)
    - @MrHDOLEK
  • #2408 - seal_create_index(), seal_drop_index(), seal_create_schema() and seal_drop_schema() DSL index-lifecycle helpers - @MrHDOLEK
  • #2457 - flow-php/symfony-filesystem-bundle - inject individual mounted filesystems via named-argument aliases - @norberttech
  • #2457 - flow-php/symfony-filesystem-bundle - #[AsFilesystem] attribute to select a mount to inject - @norberttech
  • #2454 - Positional schema definition mutations on Flow\ETL\Schema: prepend(), insertAt(), addBefore(), addAfter(), moveTo(), moveBefore(), moveAfter() and reorder() - @bendavies

Changed

  • c335cb - chore: update dependencies and fix mago lint/analyze finding - @norberttech
  • #2489 - flow-php/symfony-postgresql-bundle - lazy connections by default - @norberttech
  • #2486 - flow-php/postgresql - report decoded node and parse-result PostgreSQL version on SelectStmt mismatch - @norberttech
  • #2482 - flow-php/telemetry-otlp-bridge - CurlTransport is now synchronous; send() blocks and throws on failure - @norberttech
  • #2482 - flow-php/telemetry-otlp-bridge - curl request timeout default raised to 10000ms - @norberttech
  • #2482 - flow-php/symfony-telemetry-bundle - async_curl connect_timeout default 1500ms, pump_timeout 100ms - @norberttech
  • #2481 - flow-php/symfony-telemetry-bundle - http client span now completes when the response is consumed, not at request() return - @norberttech
  • #2477 - flow-php/symfony-postgresql-bundle - migrations target a single configured connection - [@norberttech](https:/...
Read more

0.40.0

Choose a tag to compare

@norberttech norberttech released this 16 Jun 17:25

[0.40.0] - 2026-06-16

Added

  • #2448 - flow-php/symfony-telemetry-bundle - Web Profiler panel with spans, metrics and logs. - @norberttech
  • #2448 - flow-php/symfony-postgresql-bundle - Web Profiler panel recording queries with EXPLAIN support. - @norberttech
  • #2448 - flow-php/postgresql - RecordingClient and QueryLog to capture executed queries. - @norberttech
  • #2448 - flow-php/telemetry - CompositeExporter fanning signals out to multiple exporters. - @norberttech
  • #2446 - flow-php/postgresql - ColumnDefault value object and ColumnType::isSameBaseType() - @norberttech
  • #2442 - flow-php/telemetry - log severity exposed to the attribute filter as log.severity and log.severity_name - @norberttech
  • #2442 - flow-php/symfony-telemetry-bundle - per-channel severity thresholds via attribute_filtering log middleware - @norberttech
  • #2441 - flow-php/phpunit-telemetry-bridge - resource_attributes parameter for custom OTLP resource attributes - @norberttech
  • #2439 - flow-php/postgresql - TimestampConverter normalizing DateTimeInterface to UTC - @norberttech
  • #2437 - flow-php/telemetry - attribute filter with compiled matcher tree (rule/all/any/not) - @norberttech
  • #2437 - flow-php/telemetry - attribute filtering processors for spans and metrics - @norberttech
  • #2437 - flow-php/telemetry - log pipeline with enrich/filter/severity middleware and a sink - @norberttech
  • #2437 - flow-php/telemetry - attribute matching sampler and DSL functions for all samplers - @norberttech
  • #2437 - flow-php/telemetry - per-scope signal attributes merged into every signal - @norberttech
  • #2437 - flow-php/symfony-telemetry-bundle - config for filtering, log pipeline, sampler and logging channels - @norberttech
  • #2435 - etl-adapter-postgresql - explicit column position in index/unique metadata - @norberttech
  • #2435 - etl-adapter-postgresql - a column can belong to multiple indexes - @norberttech
  • #2434 - flow-php/symfony-telemetry-bundle - #[WithTelemetryChannel] attribute to scope a service's logger to a named channel - @norberttech
  • #2434 - flow-php/symfony-telemetry-bundle - optional capture_framework_channels to reroute Symfony's monolog.logger channels (off by default) - @norberttech
  • #2434 - flow-php/symfony-telemetry-bundle - per-channel binding of PSR-3 LoggerInterface and native Logger with $Logger aliases - @norberttech

Changed

  • 8df0b5 - chore: update project dependencies - @norberttech
  • #2450 - Fallback to the Symfony XML configuration only at ^6.4.0 - @stloyd
  • #2449 - Migrate Symfony XML configuration usage to the PHP one - @stloyd
  • #2446 - flow-php/postgresql - column and domain defaults are modeled as ColumnDefault (breaking ColumnShape/DomainShape default shape) - @norberttech
  • #2441 - flow-php/telemetry - OTEL_RESOURCE_ATTRIBUTES now percent-decodes keys and values per OTel spec - @norberttech
  • #2440 - flow-php/symfony-postgresql-messenger-bridge - store messenger_messages time columns as timestamp instead of timestamptz - @norberttech
  • #2439 - flow-php/postgresql - DateTimeConverter split into TimestampConverter and TimestampTzConverter - @norberttech
  • #2439 - flow-php/etl-adapter-postgresql - DateTimeEntry and DateTimeType default to timestamp instead of timestamptz - @norberttech
  • #2437 - flow-php/symfony-telemetry-bundle - named scope attributes split into scope and signal - @norberttech
  • #2435 - etl-adapter-postgresql - composite index/unique columns ordered by position, schema order as tiebreak - @norberttech
  • #2435 - etl-adapter-postgresql - reverse Table to Flow conversion preserves index column order - @norberttech
  • #2430 - flow-php/postgresql - Parser::parse() ingests binary protobuf instead of JSON - @norberttech
  • #2430 - flow-php/postgresql - dev ext-protobuf bumped to 5.35.0 (depth limit 64 to 100) - @norberttech
  • #2430 - flow-php/phpunit-telemetry-bridge - TestEventMother builds Snapshot reflectively for PHPUnit 11/12/13 compatibility - @norberttech
  • 460061 - fix(flow-php/arrow-ext): macOS arm64 release binary build - @norberttech

Fixed

  • #2452 - flow-php/postgresql - BulkInsert upsert with an empty update set now emits ON CONFLICT DO NOTHING instead of a plain INSERT. - @norberttech
  • #2447 - collect coverage only from php8.3 tests - @norberttech
  • #2446 - flow-php/postgresql - schema diff now detects stale-cast drift in column and domain defaults - @norberttech
  • #2444 - flow-php/telemetry-otlp-bridge - isolate grpc tests so the PHP 8.5 shutdown SIGSEGV (grpc#38216) no longer fails CI - @norberttech
  • #2439 - flow-php/postgresql - timestamp reads tagged as UTC to preserve the instant - @norberttech
  • #2431 - flow-php/postgresql - detect ParamRef nodes inside List expressions so BETWEEN/IN/VALUES placeholders are counted during keyset pagination offset. - @norberttech

Removed

  • #2437 - flow-php/telemetry - SeverityFilteringLogProcessor replaced by log middleware and pipeline - @norberttech
  • #2437 - flow-php/symfony-telemetry-bundle - severity_filtering log processor type replaced by pipeline - @norberttech

Contributors

Generated by Automation

0.39.0

Choose a tag to compare

@norberttech norberttech released this 04 Jun 18:51

[0.39.0] - 2026-06-04

Added

  • #2427 - flow-php/postgresql - custom attributes on migration context - @norberttech
  • #2427 - flow-php/symfony-postgresql-bundle - service container injected into migration context - @norberttech
  • #2427 - flow-php/symfony-postgresql-bundle - migrations.context config for extra attributes - @norberttech
  • #2424 - flow-php/postgresql - table options support with new Table and TableOptions schema objects. - @norberttech
  • #2424 - flow-php/etl-adapter-postgresql - optional TableOptions argument in toPostgreSqlTable(). - @norberttech
  • #2420 - WithBuilder::selectDistinct() and selectDistinctOn() - @norberttech
  • #2417 - PostgreSql Transactional Loader - @norberttech
  • #2414 - --drop-if-exists option to postgresql migrator - @norberttech
  • #2412 - allow to prefix postgresql db name - @norberttech
  • #2407 - Symfony PostgreSql Bundle - migrations exclusion policy - @norberttech
  • #2406 - Add PHPUnit bridge compatibility with PHPUnit 11/12/13 - @jdecool
  • #2404 - postgresql adapter schema converter - @norberttech
  • #2403 - Add memory usage consumption in PHPUnit OpenTelemetry bridge - @jdecool

Changed

  • 3fde06 - chore: update project dependencies - @norberttech
  • #2422 - flow-php/arrow-ext - bump arrow/parquet to 58.3 and ext-php-rs to 0.15.15 - @norberttech
  • #2422 - flow-php/arrow-ext - enable parquet simdutf8 feature - @norberttech
  • #2422 - flow-php/arrow-ext - handle new ArrayKey::ZendString variant in MAP key conversion - @norberttech
  • #2426 - flow-php/postgresql - regenerated protobuf AST stubs and query builder for the PostgreSQL 18 grammar (incl. RETURNING) - @norberttech
  • #2426 - flow-php/pg-query-ext - pinned nix libpg_query to 18.0.0 to match the vendored build and documented keeping grammar versions in sync - @norberttech
  • #2423 - Move Telemetry SerializerType enum from PHPUnit to OTLP - @stloyd
  • #2421 - flow-php/pg-query-ext - bumped libpg_query to the PostgreSQL 18 grammar - @norberttech
  • #2420 - WithBuilder::select() now returns SelectFromStep - @norberttech
  • #2420 - Set-operation methods now return SelectSetOperationStep to allow chaining - @norberttech
  • #2416 - update otel collector version - @norberttech
  • #2413 - Add missing OTEL configuration file format version - @stloyd
  • #2405 - thigthen structure type definition - @norberttech
  • 8a460b - refactor: cleanup github actions workflows - @norberttech
  • #2397 - Replaced PHPStan with Mago across entire project codebase - @norberttech
  • #2391 - Covered all bridges with Mago Analyzer - @norberttech

Fixed

  • #2428 - flow-php/postgresql - BulkInsert now quotes schema-qualified table names per identifier part. - @norberttech
  • #2426 - flow-php/postgresql - intermittent deparse segfault under the PostgreSQL 18 grammar caused by stale protobuf stubs - @norberttech
  • #2426 - flow-php/postgresql - constraints emitting NOT ENFORCED and generated columns emitting VIRTUAL under PostgreSQL 18 - @norberttech
  • #2420 - Chained set operations (union/unionAll/intersect/except) dropped the middle operand - @norberttech
  • #2420 - Set operations with a WITH clause duplicated the CTE - @norberttech
  • #2420 - func() produced invalid SQL for keyword constructs like GREATEST - @norberttech
  • #2420 - in_() with a subquery silently produced a scalar-subquery comparison - @norberttech
  • #2415 - saving postgresql migrations table in schema other than public - @norberttech
  • #2415 - reverted file_format introduced in otel collector config - @norberttech
  • #2410 - postgresql schema comparator handling views - @norberttech
  • #2401 - performance when processing remote CSV files - @norberttech
  • #2402 - default values in ForeingKey and UniqueConstraint postgersql - @norberttech
  • 400244 - failing tests on lowest versions of dependencies - @norberttech

Removed

Contributors

Generated by Automation

0.38.0

Choose a tag to compare

@norberttech norberttech released this 22 May 17:44
cad2877

[0.38.0] - 2026-05-22

Added

Changed

Fixed

Contributors

Generated by Automation

0.37.0

Choose a tag to compare

@norberttech norberttech released this 09 May 13:43

[0.37.0] - 2026-05-09

Added

Changed

Fixed

Removed

  • #2352 - Telemetry - HttpTransport from otlp telemetry bridge - @norberttech
  • #2352 - Telemetry - open-telemetry/gen-otlp-protobuf dependency from otlp telemetry bridge - @norberttech

Contributors

Generated by Automation

0.36.0

Choose a tag to compare

@norberttech norberttech released this 21 Apr 09:57

[0.36.0] - 2026-04-21

Added

Changed

Fixed

Contributors

Generated by Automation

0.35.1

Choose a tag to compare

@norberttech norberttech released this 09 Apr 11:05

[0.35.1] - 2026-04-09

Changed

Fixed

Contributors

Generated by Automation

0.35.0

Choose a tag to compare

@norberttech norberttech released this 07 Apr 21:11

[0.35.0] - 2026-04-07

Added

Changed

Contributors

Generated by Automation

0.34.3

Choose a tag to compare

@norberttech norberttech released this 27 Mar 22:25

[0.34.3] - 2026-03-27

Fixed

  • b2b99c - docker permissions while building arrow-ext binaries in workflow - @norberttech

Contributors

Generated by Automation