Releases: escalated-dev/escalated-wordpress
Releases · escalated-dev/escalated-wordpress
v1.2.0
Added
- Pattern B contacts —
escalated_contactstable dedupes guest submitters by email;Contactmodel +find_or_create_by_email(#27). - Public-ticket guest policy — admin settings page lets host pick
unassigned/guest_user/prompt_signup;TicketService::create_guesthonors the mode (#34, #36). - Workflow stack —
WorkflowExecutorServicedispatches 8 action types (#28),WorkflowRunnerServicefires them on event triggers (#39),WorkflowListenerbridges WP hooks → runner (#41),delayaction with deferred-job queue (#40). - RFC 5322 email threading —
Message_Id_Utilfor stableMessage-ID+ signedReply-Toheaders, wired intoEmail_Threading(#31, #38). Activator::maybe_upgrade()— runs idempotent steps on version bump fromplugins_loaded; skipscreate_roles()to preserve admin role customizations (#37).- Brand chevron icon in wp-admin sidebar (replaces generic
dashicons-tickets-alt) (#42). - Demo Docker environment — one-command setup for local development (#25).
Fixed
- Ticket list rendered twice on the wp-admin Escalated page (duplicate
add_submenu_pagewith parent slug fired the callback on the page-load hook twice) (#43). - Public-ticket submissions now honor
guest_policy_modeinstead of unconditionally writing guest fields (#36). - Admin capability names aligned with the activator permission scheme (#24).
Schema migration
This release adds tables that existing installs need to pick up:
escalated_contactsescalated_workflows,escalated_workflow_logsescalated_settings
Activator::maybe_upgrade() runs the additive migrations on plugins_loaded once the version constant changes, so no manual reactivation is required.
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
Added
- SSO service with JWT and SAML validation
- Panel theme toggle (Auto/Light/Dark) in admin settings
- Dark mode support across admin and frontend CSS
- Ticket type categorization field with filtering
- Granular permission tables and seeder on activation
- "Powered by Escalated" badge with admin toggle
Fixed
- Validate ticket priority against allowed enum values (prevents invalid priorities)
- Activator tests updated for granular permission capabilities
- Replaced broken install-wp-tests.sh with direct WP test suite download
Changed
- License changed from GPL-2.0-or-later to MIT
What's Changed
- feat: add SSO service and JWT/SAML tests by @mpge in #1
- docs: improve README content and formatting by @mpge in #2
- fix: validate ticket priority against enum values by @mpge in #3
New Contributors
Full Changelog: v1.0.1...v1.1.0
v1.0.1
Escalated v1.0.1
Bug fix release addressing CI test failures and schema issues.
Fixed
- API token column mismatch —
ApiTokenmodel referencedtoken_hashcolumn but the database schema usestoken. Fixedcreate_token()andfind_by_token()methods. - Missing
updated_atcolumn — Addedupdated_atcolumn to theapi_tokenstable schema, whichupdate_last_used()andupdate()both write to. - Static method call error —
TicketService::create()was called statically from the ticket controller but is an instance method. Now usesTicket::create()directly. - PHPUnit compatibility — Downgraded from PHPUnit 10 to 9.6 for WordPress test library compatibility. Fixed test file naming to match class names.
- Composer platform constraint — Added
config.platform.php: "8.1.0"to prevent resolving packages that require PHP 8.4+. - API test token hashing — Test setup now stores SHA-256 hashed tokens in the database, matching how
find_by_token()performs lookups. - Test bootstrap activation — Plugin activation now runs once in the test bootstrap before test transactions start, ensuring
dbDelta()table creation isn't affected by the per-test transaction wrapper.
Full Changelog: v1.0.0...v1.0.1