hardening 2.3: 2meet-data-optimizer 1.3.0 (flat-table DDL outside web requests, routed count cache, audit fixes) #7
Reference in New Issue
Block a user
Delete Branch "hardening/2.3"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Release 2.3 (1.3.0): flat-table DDL outside web requests, routed count cache, audit fixes.
Commits:
Acceptance: notes/tmdo-acceptance-2.3-2026-09-27.md (dev36, 902k listings).
🤖 Generated with Claude Code
- blocked POST /listings/{id}/view requests update wpdo_rl_stats 1 in 10, each sample adding 10: anonymous traffic no longer turns 1:1 into DB writes, and the admin top list stays representative (unbiased estimate) - Verify: RestApiTest counts option writes (about 20 for 200 blocked requests), unit 698, integration 577, phpcs, stan - PR: PR-094- the main page's form handlers move unchanged from render_page() to handle_post(), hooked on load-{page}: inside render_page() the admin header was already sent, so their wp_safe_redirect() calls could not work - the setup wizard's step 4 snapshot post moves to handle_snapshot_post() on its load hook; a failure redirects with snap_failed=1 for the notice - Verify: unit 701, integration 577, phpcs, stan; dev36 load hook handles a posted reset and redirects before output - PR: PR-097- keyword searches carry wpdb's placeholder escape for "%" ({<hash>}), which is new in every request, so md5(count SQL) never matched across requests and every keyword search recounted (the 2.2 "keyword + filter routed slower than native" finding). The key now uses remove_placeholder_escape() - found in the 2.3 acceptance: dev36 keyword + price routed 6.2 s vs native 4.9 s; PR-091's in-process check reused one process, one escape - Verify: PostQueryRouterFoundRowsTest (two escapes, one COUNT), integration 588, unit 703, phpcs, stan; dev36 front-end - PR: PR-116 (2.3 acceptance)