Skip to content
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a5731ed
feat(purge): add Action Scheduler constants for auto-purge migration
PatelUtkarsh May 19, 2026
f53d64e
feat(purge): wire Admin to AS-based auto-purge callbacks
PatelUtkarsh May 19, 2026
42a92ed
feat(purge): schedule auto-purge via Action Scheduler
PatelUtkarsh May 19, 2026
1acd832
feat(purge): replace inline DELETE with AS chain enqueue
PatelUtkarsh May 19, 2026
e08d680
feat(purge): add batched auto_purge_batch worker
PatelUtkarsh May 19, 2026
dafcbdd
feat(purge): add terminal orphan reaper to auto-purge chain
PatelUtkarsh May 19, 2026
a5641a6
feat(purge): add manual 'Clean Orphaned Meta' link on Settings \u2192…
PatelUtkarsh May 19, 2026
86a31bf
test(e2e): cover manual orphan-meta cleanup link
PatelUtkarsh May 19, 2026
afa5ec5
fix(purge): ensure forward progress on tables with concurrent writes
PatelUtkarsh May 19, 2026
31e3366
style: address PHPCS findings in auto-purge implementation
PatelUtkarsh May 19, 2026
185fab8
docs(changelog): note XWPENG-28 auto-purge migration
PatelUtkarsh May 19, 2026
ea7911b
fix(purge): harden missing-option fallback against filtered defaults
PatelUtkarsh May 19, 2026
0c18b4b
feat(purge): consult wp_stream_is_large_records_table for small-table…
PatelUtkarsh May 19, 2026
735a4b4
feat(purge): expose Admin::is_running_auto_purge() state probe
PatelUtkarsh May 19, 2026
c6546ec
feat(purge): hide manual Clean Orphaned Meta link while chain is running
PatelUtkarsh May 19, 2026
9d6e0ea
test(e2e): cover purge-active and purge-idle UI states
PatelUtkarsh May 19, 2026
b4c8f28
test(e2e): harden orphan-cleanup spec against activation races
PatelUtkarsh May 19, 2026
19b5db3
docs(changelog): note small-table fast path + running-state UX
PatelUtkarsh May 19, 2026
7324212
fix(e2e): drop unused catch binding for ESLint
PatelUtkarsh May 19, 2026
b7e433a
test: drop two low-value auto-purge unit tests
PatelUtkarsh May 19, 2026
e1779d3
review: address code review feedback
PatelUtkarsh May 19, 2026
1d0a454
review: address second round of code review feedback
PatelUtkarsh May 20, 2026
e7524fc
review: address third round of code review feedback
PatelUtkarsh May 20, 2026
1a48b49
fix(e2e): pass --user www-data to docker compose exec
PatelUtkarsh May 20, 2026
e2adc0c
Merge remote-tracking branch 'origin/develop' into feature/XWPENG-28-…
PatelUtkarsh May 20, 2026
f81ac45
refactor(e2e): use Playwright baseURL for admin URLs
PatelUtkarsh May 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Stream Changelog

## Unreleased

### Bug Fixes

- Fix unbounded growth of `stream` / `stream_meta` tables: the TTL-based auto-purge now runs via Action Scheduler with batched deletion (default 250,000 rows per batch via the existing `wp_stream_batch_size` filter), resolving database bloat on sites where the previous WP-Cron-driven purge silently failed or timed out on large tables (XWPENG-28).
- Fix orphan `stream_meta` rows accumulating across repeated purge cycles: a terminal orphan reaper now runs at the end of every auto-purge chain, healing installs that have residual orphans from historical interrupted purges.

### Enhancements

- Add **Clean Orphaned Meta** link under **Settings → Advanced** for one-shot cleanup on already-bloated installs. The link is hidden while the auto-purge chain is running and reappears once the chain drains.
- Replace the legacy `wp_stream_auto_purge` WP-Cron event with a recurring Action Scheduler action. Run history and failures are now visible under **Tools → Scheduled Actions**.
- Auto-purge consults the existing `wp_stream_is_large_records_table` filter (default threshold: >1M rows) so small tables get a single inline DELETE while bloated tables go through the batched chain — same knob as the manual reset path.

### Notes

- The `wp_stream_auto_purge` action continues to fire once per purge cycle for backward compatibility. The legacy WP-Cron event of the same name is automatically unscheduled on upgrade.

## 4.1.2 - February 19, 2026

### Bug Fixes
Expand Down
Loading
Loading