Skip to content

feat(flow-php/types): remove structure allow_extra - #2660

Merged
norberttech merged 1 commit into
1.xfrom
structure-allow-extra-removal
Sep 26, 2026
Merged

norberttech merged 1 commit into
1.xfrom
structure-allow-extra-removal

Conversation

@norberttech

Copy link
Copy Markdown
Member

Resolves: #xxx

Change Log


Added

Fixed

Changed

  • flow-php/types - structure normalize() no longer writes allow_extra, fromArray() refuses allow_extra true
  • flow-php/etl - Floe footer ignores unknown keys without an open structure
  • flow-php/mago-types-bridge - type_structure() always derives a sealed shape

Removed

  • flow-php/types - type_structure() allow_extra argument and StructureType::allowsExtra()
  • flow-php/etl - Floe refusal of structures allowing extra values
  • flow-php/flow-php-ext - allow_extra schema field and its refusals

Deprecated

Security

- type_structure() / StructureType take elements only, allowsExtra() removed
- normalize() stops writing allow_extra, fromArray() ignores false and refuses true
- Floe footer ignores unknown keys via array_intersect_key
- flow_php extension drops allow_extra and its refusals
- mago bridge always derives a sealed shape
- pre-change Floe fixture proves 0.44 files still read in both engines
@norberttech norberttech added this to the 0.45.0 milestone Sep 26, 2026
@codecov

codecov Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2660      +/-   ##
============================================
- Coverage     88.65%   88.65%   -0.01%     
+ Complexity    26551    26540      -11     
============================================
  Files          2044     2044              
  Lines         78145    78135      -10     
============================================
- Hits          69281    69270      -11     
- Misses         8864     8865       +1     
Components Coverage Δ
etl 95.36% <100.00%> (+0.01%) ⬆️
cli 87.62% <ø> (ø)
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 94.24% <ø> (ø)
lib-filesystem 87.61% <ø> (ø)
lib-types 94.42% <100.00%> (-0.01%) ⬇️
lib-parquet 71.32% <ø> (-0.06%) ⬇️
lib-parquet-viewer 82.26% <ø> (ø)
lib-snappy 89.86% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 89.34% <ø> (+<0.01%) ⬆️
lib-telemetry 86.64% <ø> (ø)
bridge-filesystem-async-aws 92.76% <ø> (ø)
bridge-filesystem-azure 90.34% <ø> (ø)
bridge-filesystem-sftp 91.02% <ø> (ø)
bridge-monolog-http 96.84% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 91.45% <ø> (ø)
symfony-http-foundation 75.81% <ø> (ø)
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.62% <ø> (ø)
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.45% <ø> (ø)
adapter-doctrine 93.21% <ø> (ø)
adapter-google-sheet 99.31% <ø> (ø)
adapter-http 88.13% <ø> (ø)
adapter-json 90.97% <ø> (ø)
adapter-logger 44.44% <ø> (ø)
adapter-parquet 96.08% <ø> (ø)
adapter-text 95.45% <ø> (ø)
adapter-xml 88.86% <ø> (ø)
adapter-avro 7.14% <ø> (ø)
adapter-excel 95.91% <ø> (ø)
adapter-postgresql 95.79% <ø> (ø)
adapter-seal 83.88% <ø> (ø)
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 4df0e24 into 1.x Sep 26, 2026
50 checks passed
@norberttech
norberttech deleted the structure-allow-extra-removal branch September 26, 2026 09:33
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