Skip to content

Phase 10: public security and bug fixes - #632

Merged
kevindb merged 12 commits into
mainfrom
phase-10-fixes
Nov 1, 2026
Merged

kevindb merged 12 commits into
mainfrom
phase-10-fixes

Conversation

@kevindb

@kevindb kevindb commented Nov 1, 2026

Copy link
Copy Markdown
Member

Phase 10 of docs/plans/modernization.md: the public part of the security and bug fixes.

Review findings (docs/research/security-review.md)

  • Finding 4: the Rails CSRF token is added only to same-origin iframe uploads.
  • Finding 6: controls named like form members (elements, setAttribute, removeAttribute, action) no longer break formToArray or the iframe transport. The clk expandos stay on the form until 5.x.
  • Finding 7: hasOwnProperty is called through the prototype. This clears the three no-prototype-builtins warnings, and the rule is now an error.
  • Finding 8: clicks on orphan submit controls no longer throw. Fragment-only actions and hashed GET urls keep the form data. data: {} no longer adds an empty FormData field, and FormData uploads honor the global traditional setting.

Issues

Iframe transport (docs/research/coverage-findings.md)

  • An emulated 2xx status no longer turns a parser error into success.
  • An abort completes the upload once, rejects the returned Deferred, and fires ajaxComplete and ajaxStop.

Verification

  • 7 it.fails records are now it, and every fix has new tests.
  • Coverage stays at 100%. The jQuery 1.7.2, 3.7.1 and 4.0.0 matrix passes locally.
  • A local CodeQL run reports the same 3 alerts as main.
  • Consumer-visible changes are in docs/research/4x-behavior-changes.md, and the Phase 10 column is in docs/metrics.md. The CI and CodeQL cells are filled in after this PR's run.

The label lookup record and #597 land with the remaining Phase 10 items on release day.

🤖 Generated with Claude Code

@kevindb
kevindb merged commit eff1ea9 into main Nov 1, 2026
7 checks passed
@kevindb
kevindb deleted the phase-10-fixes branch November 1, 2026 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant