Skip to content

feat(flow-php/etl): PHP 8.5 pipe operator support for the DataFrame API - #2722

Merged
norberttech merged 2 commits into
1.xfrom
piped-operator
Nov 3, 2026
Merged

norberttech merged 2 commits into
1.xfrom
piped-operator

Conversation

@norberttech

Copy link
Copy Markdown
Member

Resolves: #xxx

Change Log


Added

  • flow-php/etl - PHP 8.5 pipe operator support: a pipeable DSL step for every DataFrame, GroupedDataFrame and Flow method
  • flow-php/etl - Pipe operator documentation page

Fixed

  • flow-php/etl - PHP 8.5 NaN-to-bool warning when evaluating a float column as a condition
  • flow-php/etl - explain() default trigger in the documentation

Changed

  • flow-php/etl - Transformation::transform() renamed to __invoke()
  • flow-php/etl - WithColumn moved to API\Transformation and accepts Definition names and window functions
  • flow-php/etl - DataFrame::with() accepts only Transformer or Transformation
  • flow-php/etl - duplicate_row() refuses Definition names and window functions
  • flow-php/etl - print_rows(Rows) renamed to format_rows()

Removed

Deprecated

Security

- every DataFrame, GroupedDataFrame and Flow method gets a pipeable DSL step
- Transformation::transform() replaced by __invoke()
- WithColumn moved to API\Transformation, duplicate_row() refuses typed and window columns
- print_rows(Rows) renamed to format_rows()
- PHP 8.5-only pipe tests gated in phpunit and checked by a dedicated mago config
- pipe operator documentation page
@codecov

codecov Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.58%. Comparing base (5db013d) to head (d1383b6).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2722      +/-   ##
============================================
+ Coverage     86.95%   90.58%   +3.63%     
- Complexity     2884    31421   +28537     
============================================
  Files          2218     2227       +9     
  Lines         95267    90642    -4625     
============================================
- Hits          82839    82111     -728     
+ Misses        12428     8531    -3897     
Components Coverage Δ
etl 95.99% <100.00%> (+0.20%) ⬆️
cli 87.24% <ø> (+2.43%) ⬆️
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.17% <ø> (+1.02%) ⬆️
lib-doctrine-dbal-bulk 94.25% <ø> (+0.66%) ⬆️
lib-filesystem 88.96% <ø> (+6.01%) ⬆️
lib-types 94.64% <ø> (ø)
lib-parquet 82.80% <ø> (-0.28%) ⬇️
lib-parquet-viewer 83.15% <ø> (ø)
lib-snappy 90.74% <ø> (+0.88%) ⬆️
lib-dremel 0.00% <ø> (ø)
lib-postgresql 89.44% <ø> (+4.52%) ⬆️
lib-telemetry 86.85% <ø> (+20.44%) ⬆️
bridge-filesystem-async-aws 96.12% <ø> (+12.36%) ⬆️
bridge-filesystem-azure 94.39% <ø> (+13.90%) ⬆️
bridge-filesystem-sftp 90.29% <ø> (+4.85%) ⬆️
bridge-monolog-http 96.84% <ø> (ø)
bridge-monolog-telemetry 92.85% <ø> (+13.03%) ⬆️
bridge-openapi-specification 91.95% <ø> (ø)
symfony-http-foundation 80.76% <ø> (+0.64%) ⬆️
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (+17.37%) ⬆️
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (+10.24%) ⬆️
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 90.72% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.35% <ø> (+1.29%) ⬆️
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.76% <ø> (+0.38%) ⬆️
adapter-chartjs 82.11% <ø> (ø)
adapter-csv 97.67% <ø> (+9.18%) ⬆️
adapter-doctrine 95.13% <ø> (ø)
adapter-google-sheet 97.49% <ø> (+28.31%) ⬆️
adapter-http 87.18% <ø> (ø)
adapter-json 90.59% <ø> (+4.40%) ⬆️
adapter-logger 47.05% <ø> (ø)
adapter-parquet 97.20% <ø> (+16.37%) ⬆️
adapter-text 97.68% <ø> (ø)
adapter-xml 98.01% <ø> (ø)
adapter-avro 6.25% <ø> (ø)
adapter-excel 96.77% <ø> (+9.56%) ⬆️
adapter-postgresql 97.34% <ø> (+0.10%) ⬆️
adapter-seal 89.91% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.36% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@norberttech
norberttech merged commit 9450dc5 into 1.x Nov 3, 2026
21 checks passed
@norberttech
norberttech deleted the piped-operator branch November 3, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant