Skip to content

fix(flow-php/etl): cast() accepts null for an optional target - #2631

Merged
norberttech merged 1 commit into
1.xfrom
optional-cast-bug
Sep 14, 2026
Merged

norberttech merged 1 commit into
1.xfrom
optional-cast-bug

Conversation

@norberttech

Copy link
Copy Markdown
Member

Resolves: #xxx

Change Log


Added

  • flow-php/types - TypeFactory::fromString() parses ?T into an optional type

Fixed

  • flow-php/etl - cast() returns null for a null value when the target type is optional

Changed

Removed

Deprecated

Security

- cast() returns null when the target type is nullable
- TypeFactory::fromString() parses a `?` prefix into an optional type
@norberttech norberttech added this to the 0.44.0 milestone Sep 14, 2026
@codecov

codecov Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.38%. Comparing base (cbad794) to head (1be9a6b).
⚠️ Report is 10 commits behind head on 1.x.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2631      +/-   ##
============================================
- Coverage     84.39%   84.38%   -0.01%     
- Complexity    29865    30013     +148     
============================================
  Files          1996     2005       +9     
  Lines         86539    86899     +360     
============================================
+ Hits          73036    73332     +296     
- Misses        13503    13567      +64     
Components Coverage Δ
etl 91.48% <100.00%> (-0.01%) ⬇️
cli 75.45% <ø> (ø)
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 70.36% <ø> (ø)
lib-filesystem 77.08% <ø> (+0.16%) ⬆️
lib-types 90.49% <100.00%> (+<0.01%) ⬆️
lib-parquet 70.23% <ø> (ø)
lib-parquet-viewer 82.26% <ø> (ø)
lib-snappy 89.86% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 85.25% <ø> (-0.01%) ⬇️
lib-telemetry 86.62% <ø> (ø)
bridge-filesystem-async-aws 78.72% <ø> (-7.48%) ⬇️
bridge-filesystem-azure 80.96% <ø> (ø)
bridge-monolog-http 91.54% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 60.86% <ø> (ø)
symfony-http-foundation 56.86% <ø> (ø)
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (ø)
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (ø)
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 91.85% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.04% <ø> (ø)
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.72% <ø> (ø)
adapter-chartjs 80.50% <ø> (ø)
adapter-csv 95.97% <ø> (ø)
adapter-doctrine 93.62% <ø> (ø)
adapter-google-sheet 80.11% <ø> (ø)
adapter-http 76.52% <ø> (ø)
adapter-json 65.62% <ø> (ø)
adapter-logger 28.57% <ø> (ø)
adapter-parquet 75.30% <ø> (ø)
adapter-text 70.78% <ø> (ø)
adapter-xml 59.83% <ø> (ø)
adapter-avro 0.00% <ø> (ø)
adapter-excel 79.10% <ø> (ø)
adapter-postgresql 78.03% <ø> (ø)
adapter-seal 65.69% <ø> (ø)
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 35d16e9 into 1.x Sep 14, 2026
49 of 50 checks passed
@norberttech
norberttech deleted the optional-cast-bug branch September 14, 2026 10:11
@github-project-automation github-project-automation Bot moved this from Todo to Done in Roadmap Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant