Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a075d75
Prepare wordpress.org release and add CI/release pipeline
lcswll Oct 1, 2026
192a53a
Rename to Mailspur – Email Log and close wordpress.org review gaps
lcswll Oct 1, 2026
6b89882
Remove stray root readme.txt from the repository (kept locally)
lcswll Oct 1, 2026
2890253
e2e: stop Playground once the self-test report exists, 10-minute timeout
lcswll Oct 1, 2026
969e85d
Fix hanging e2e jobs (Node 24) and never request blocked remote content
lcswll Oct 1, 2026
742f212
Remove stray root readme.txt again (now excluded locally)
lcswll Oct 1, 2026
98317b2
repo-checks: network errors on third-party hosts are warnings, dead l…
lcswll Oct 1, 2026
8315095
Import logs from other mail logging plugins
lcswll Oct 1, 2026
bdfe1ad
Import: skip emails already in the log from another source
lcswll Oct 1, 2026
01e834a
Module foundation: extension points for parallel feature development
lcswll Oct 2, 2026
56cce19
Notes module: delivery/rendering hints and error explanations
lcswll Oct 2, 2026
1c4224b
Test: wait for the page reload after import/undo; ignore agent worktrees
lcswll Oct 2, 2026
a267ba8
Merge module B: Notes and error explanations
lcswll Oct 2, 2026
ecdeade
Delivery module: sender DNS check, staging mode, send to another address
lcswll Oct 2, 2026
dd85f19
Test: wait for the page reload after import/undo; ignore agent worktrees
lcswll Oct 2, 2026
1c28ddd
Trace module: technical trail of every mail
lcswll Oct 2, 2026
d3243fb
Workflow module: more list filters, CSV/JSON export, WP-CLI, anonymis…
lcswll Oct 2, 2026
6e84723
Test: wait for the page reload after import/undo; ignore agent worktrees
lcswll Oct 2, 2026
381334d
Test: wait for the page reload after import/undo; ignore agent worktrees
lcswll Oct 2, 2026
b49fc0c
Merge module D: sender check, staging mode, send to another address
lcswll Oct 2, 2026
d1d521d
Insights module: statistics tab with charts, REST /stats, dashboard w…
lcswll Oct 2, 2026
2bd884b
Merge module A: Trace and .eml download
lcswll Oct 2, 2026
01eed74
Merge module C: statistics, charts, dashboard widget, alerts
lcswll Oct 2, 2026
b62d6f2
Merge module E: filters, export, WP-CLI, anonymisation
lcswll Oct 2, 2026
f7a90e4
Integrate modules: cross-module fixes, readme, directory screenshots
lcswll Oct 2, 2026
86d293c
gitleaks: accept the dummy SMTP password of the Trace test double
lcswll Oct 2, 2026
bc31c59
Browser tests: do not count the preview's CSP/sandbox reports as errors
lcswll Oct 2, 2026
4344fd5
Review hardening: kses the dashboard SVG, document the .eml download …
lcswll Oct 2, 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
4 changes: 2 additions & 2 deletions .claude/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"configurations": [
{
"name": "playground",
"runtimeExecutable": "npx",
"runtimeArgs": ["-y", "@wp-playground/cli@latest", "server", "--port=9400", "--mount=./outbox-mail-log:/wordpress/wp-content/plugins/outbox-mail-log", "--blueprint=./tools-playground-blueprint.json", "--login"],
"runtimeExecutable": "node",
"runtimeArgs": ["scripts/playground-server.mjs", "--port", "9400"],
"port": 9400
}
]
Expand Down
15 changes: 15 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# LF everywhere: reproducible release ZIPs (Windows and CI builds are byte-identical) and stable PHPCS results.
* text=auto eol=lf

*.png binary
*.jpg binary
*.gif binary
*.mo binary
*.zip binary

# Not part of `git archive` exports (the release ZIP is built by scripts/build-zip.mjs anyway).
/.github export-ignore
/tests export-ignore
/scripts export-ignore
/i18n export-ignore
/.wordpress-org export-ignore
4 changes: 4 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
# Fast local checks before every push (static analysis, unit tests, readiness, ZIP). Enable once with:
# git config core.hooksPath .githooks
exec node scripts/verify.mjs --fast
45 changes: 45 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Keeps the pinned actions (SHA + version comment), the Composer dev tools and the npm dev tools current.
# One grouped PR per ecosystem and week; every PR runs the full CI. cooldown: new versions are only proposed
# after 7 days – compromised releases are usually caught within the first days. Security updates ignore it.
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
cooldown:
default-days: 7
groups:
actions:
patterns: ['*']

- package-ecosystem: composer
directory: /
schedule:
interval: weekly
day: monday
cooldown:
default-days: 7
versioning-strategy: lockfile-only
ignore:
# Major jumps (PHPUnit 10+, …) need a deliberate migration.
- dependency-name: '*'
update-types: ['version-update:semver-major']
groups:
dev-tools:
patterns: ['*']

- package-ecosystem: npm
directory: /
schedule:
interval: weekly
day: monday
cooldown:
default-days: 7
ignore:
- dependency-name: '*'
update-types: ['version-update:semver-major']
groups:
npm-dev-tools:
patterns: ['*']
Loading