Skip to content

Releases: escalated-dev/escalated-wordpress

v1.2.0

27 Apr 03:42
dc2cc49

Choose a tag to compare

Added

  • Pattern B contactsescalated_contacts table dedupes guest submitters by email; Contact model + find_or_create_by_email (#27).
  • Public-ticket guest policy — admin settings page lets host pick unassigned / guest_user / prompt_signup; TicketService::create_guest honors the mode (#34, #36).
  • Workflow stackWorkflowExecutorService dispatches 8 action types (#28), WorkflowRunnerService fires them on event triggers (#39), WorkflowListener bridges WP hooks → runner (#41), delay action with deferred-job queue (#40).
  • RFC 5322 email threadingMessage_Id_Util for stable Message-ID + signed Reply-To headers, wired into Email_Threading (#31, #38).
  • Activator::maybe_upgrade() — runs idempotent steps on version bump from plugins_loaded; skips create_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_page with parent slug fired the callback on the page-load hook twice) (#43).
  • Public-ticket submissions now honor guest_policy_mode instead 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_contacts
  • escalated_workflows, escalated_workflow_logs
  • escalated_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

06 Apr 17:43

Choose a tag to compare

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

  • @mpge made their first contribution in #1

Full Changelog: v1.0.1...v1.1.0

v1.0.1

16 Feb 05:11

Choose a tag to compare

Escalated v1.0.1

Bug fix release addressing CI test failures and schema issues.

Fixed

  • API token column mismatchApiToken model referenced token_hash column but the database schema uses token. Fixed create_token() and find_by_token() methods.
  • Missing updated_at column — Added updated_at column to the api_tokens table schema, which update_last_used() and update() both write to.
  • Static method call errorTicketService::create() was called statically from the ticket controller but is an instance method. Now uses Ticket::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

v1.0.0

16 Feb 00:56

Choose a tag to compare