Changelog
All notable changes to Data Machine will be documented in this file.
[0.36.0] – 2026-03-03
Added
- cron expressions for flow scheduling (#482)
- wp datamachine auth CLI commands (#508)
- GA4 CLI batch — new actions, sorting, hostname filter, period comparison (#538, #548)
- IndexNow integration for instant search engine notification (#443)
- datamachine_github_issue_repos filter for extension plugin repo registration (#315)
- HandlerAbilities unit tests for getConfigFields (#532, #558)
- Homeboy CI workflow for automated PR lint and test
Changed
- extract tool config save into BaseTool, remove wp_send_json exits (#535)
Fixed
- prevent LogHandler crash during bootstrap when abilities not yet registered (#557)
- jobs list status prefix matching and –since date filter
- display structured error details in jobs show for failed jobs
- persist structured error context in engine_data on job failure
- auto-run DB migrations on deploy without activation hook
- single-handler steps show blank settings display (#528)
- merge base handler settings fields into getConfigFields for validation (#541)
- ensure UNIQUE index on processed_items and deduplicate existing rows (#542)
- update composer.lock to match composer.json (#559)
[0.35.0] – 2026-03-03
Added
- pipeline batch fan-out — PipelineBatchScheduler (#504)
- flow-scoped memory files with shared MemoryFilesReader (#500)
- handler multi-return — all fetch handlers return multiple items (#507)
- max_items setting for fetch handlers with cap at 100 (#510)
- jobs cleanup CLI command and auto-expiry via Action Scheduler (#519)
- queue validate CLI subcommand (#512)
- inject-category deterministic internal link injection (#521)
Changed
- unified DataPacket wrapping in FetchHandler.get_fetch_data() (#506)
- consolidate dedup into FetchHandler base class (#516)
- seed child job engine data from DataPacket metadata (#515)
- extract site-specific title patterns into filterable hook in crosslinker
- MetaDescriptionTask writes to post_excerpt instead of custom meta key (#522)
- SKILL.md rewritten as discovery-first CLI guide (#494)
Fixed
- PublishWordPressAbility bypasses WordPressSettingsResolver — posts get post_author 0 in headless contexts (#525, #527)
- WordPressSettingsResolver hardcoded user ID 1 fallback — now looks up first administrator (#527)
- rename PostTrackingTrait.php to match PostTracking class name (#518)
- use valid JobStatus for batch cancellation (#517)
- CLI –url flags renamed to avoid WP-CLI global parameter conflict (#493)
[0.34.0] – 2026-03-02
Added
- wp datamachine image CLI command (#407)
- GitHub integration — fetch handler, abilities, CLI, chat tools (#413)
- meta description system task for SEO generation (#480, #490)
- unified posts list command with combinable tracking filters (#465, #491)
- expose pipeline memory files in pipelines show + memory-files CLI (#470, #475)
- flows get shows detailed view with step configs (#469, #474)
Changed
- extract SelectionMode utility for taxonomy selection logic (#299) (#457)
- auto-fix PHPCS lint warnings across codebase
- FlowStepNormalizer::getEffectiveSlug() — single source of truth for config slug resolution (#488)
- refactor PostTrackingTrait into automatic PostTracking in base handlers (#464)
Fixed
- align GitHubAbilities and GitHubTools with codebase conventions (#462)
- resolveHandlerStep checks handler_slugs only, remove multi-pattern drift (#461)
- set-prompt no longer wipes handler config, detects agent_ping steps (#458, #459)
- normalizer wiping handler config for non-handler steps (#485)
- provide actionable guidance on PageSpeed 429 rate limiting (#486)
- parse Bing date format, add staleness detection and days filter (#484)
- move annotations inside meta for WP 6.9 Abilities API compatibility (#483)
- replace flat title word scoring with IDF-weighted scoring in crosslinker (#481)
- agent files created with group-writable permissions 0664 (#467)
- OAuth2 proactive refresh self-heals when token expires (#468)
- move post tracking meta keys from namespace constants to class constants (#466)
[0.33.0] – 2026-02-27
Added
- agent files CLI and namespace refactor (#454)
- add GD template image generation engine for branded social graphics
- add token lifecycle management to BaseOAuth2Provider
- deterministic scheduling stagger + consolidate scheduling code paths
Changed
- temporary revert for PR
- remove Reddit handler and dead docs from core
- Add BaseOAuth2Provider test coverage for token lifecycle management
- BaseOAuth2Provider token lifecycle management
- remove default flow auto-creation from create-pipeline
- remove dead build_command — wordpress module handles builds
Fixed
- Fix workspace read offset/limit and directory permissions (#453)
- Fix workspace read offset/limit and directory permissions
- sync version targets and add modules to homeboy.json (#436)
- match trySetFeaturedImage return type with parent class (#434)
[0.32.0] – 2026-02-26
Added
- System Task Runner step type (#277)
- add parent_job_id column for first-class job hierarchy
- batch tracking with parent jobs, cancellation, and CLI commands
- backfill undo support to AltTextTask and ImageGenerationTask
- Generic job undo system with effects tracking (#425)
- self-healing scaffolding — recreate missing agent files on first read
Changed
- Add batch scheduling to prevent Action Scheduler flooding (#417)
- Split audit into focused abilities with caching, REST API, and chat tool
- Add internal link audit ability: scan content, build link graph, find orphans
- Add NetworkSettings for network-wide defaults with per-site override cascade
- Add BaseAuthProvider tests covering site-level option storage
- Share auth provider credentials across multisite network
- Include network-activated plugins in multisite scaffolding
- Populate agent scaffolding with WordPress site data instead of empty placeholders
Fixed
- ability registration timing for CLI context (#430)
- add skip_default_flow to create-pipeline ability (#429)
- internal linking scores by title similarity, not just taxonomy (#416) (#426)
- jobs show displays engine data for all job types (#422) (#423)
- memory system improvements — date bug, n escaping, daily memory tool, SOUL.md guidance (#406)
[0.31.0] – 2026-02-25
Added
- Google Analytics (GA4) and PageSpeed Insights integrations with CLI and REST layers
- Chat sessions abilities API (create, get, list, delete)
- Engine abilities API — migrate execution actions to abilities layer
- Memory search ability for agent and daily memory files
- Agent memory file size guardrails with actionable warnings
- Posts recent CLI command (wp datamachine posts recent)
- Workspace @file syntax for write and edit commands
- Post context (post_id, post_type, published_url) in agent ping payload
- Multisite support for plugin activation and new site creation
- Comprehensive uninstall cleanup with multisite support
Changed
- Decompose Chat.php god file into abilities + ChatOrchestrator
- Route all file endpoints through abilities layer
- Condense SKILL.md for agent operators (784 → 289 lines)
- Comprehensive SKILL.md audit and rewrite
- Update README to reflect current plugin scope and features
Fixed
- Conversation loop multi-handler bug (#328)
- PageSpeed category casing and guard page_filter for non-pagePath actions
- Use direct function call for engine data merge in publish ability
- Protect agent files from deletion
- Clean up file-level side effects, misplaced namespace, and duplicated date parsing
- Exclude all core memory files from pipeline memory picker
[0.30.0] – 2026-02-24
Added
- Inbound webhook trigger for flow execution (#342)
- Webhook rate limiting (#351)
- Agent workspace for managed repo operations (#337)
- Agent memory read/write as first-class ability (#332)
- Expose agent memory as global AI tool
- Agent Ping Callback API (#309)
- Daily memory system — YYYY/MM/DD.md files for agent cognitive history (#348, #352)
- System Tasks tab on Agent page with daily memory generation (#358)
- Jobs delete CLI command
- Workspace file operations with security hardening — read, write, edit, ls (#360)
- Validate containment for workspace file paths
- Support pre-authenticated context in PermissionHelper for webhook triggers (#356)
- Default memory file creation on activation (SOUL.md, MEMORY.md, USER.md)
- Enforce duplicate validation on queue-add ability (#326)
Changed
- Extract FlowsQueueCommand and FlowsWebhookCommand from FlowsCommand (#349)
- Move flows commands to Commands/Flows/ namespace
- Rename agent CLI namespace to memory (#354)
- Replace filter-based registry with OOP MemoryFileRegistry
- Replace individual memory directives with CoreMemoryFilesDirective (#330)
- Extract QueueValidator::validate() as shared API
- Wire daily_memory_enabled to job lifecycle and ability gate (#355)
- Comprehensive documentation audit and updates for v0.29.0 codebase
- New documentation: WordPress as persistent memory for AI agents guide
- Documented new abilities: analytics, content, internal linking, media, system
Fixed
- Rename dm_ prefix to datamachine_ across all post meta and transients (#327)
- Use UTC timestamps consistently in AgentPing (#336)
- Fix conversation loop completing after first handler in multi-handler steps (#334)
- Remove duplicate set() method in EngineData
- Remove dead settings, stale comments, style cleanup
- Remove AgentMemoryMigration (superseded by MemoryFileRegistry)
- Remove uploads fallback for workspace directory (#362)
[0.29.0] – 2026-02-23
Added
- Agent memory system — MEMORY.md auto-injected as directive at Priority 22
- Fetch abilities for Reddit and RSS
- WordPress post abilities (get, query, fetch media)
--handler-configflag forflows updateCLI command
Changed
- Handlers delegate to Abilities API for execution logic
- Refactor UpdateWordPressAbility — delegate block operations to EditPostBlocksAbility, adopt HTML-attribute-safe text replace, use shared BlockSanitizer
- Expose full tool schema (title, updates, block_updates, taxonomies) in wordpress_update pipeline handler
- Rebase directive priorities with even spacing (10-80) for extensibility
- Extract social media handlers (Twitter, Facebook, Threads, Bluesky, Pinterest) to data-machine-socials plugin
- Remove Pinterest abilities from core (moved to data-machine-socials plugin)
- Update documentation to reflect social media handler extraction
Fixed
- WordPress update handler uses wp_get_ability instead of nonexistent wp_execute_ability
- Register FetchWordPressMediaAbility and fix handler syntax errors
- Add missing EngineData::set() method
- Remove arbitrary limitation preventing last handler removal from flow steps
- Remove Google Sheets handler references after extraction to data-machine-business
[0.28.3] – 2026-02-20
Fixed
- update remaining self:: calls to FlowStepNormalizer in ability classes
- rename Chat::get_table_name() to avoid static override conflict
- update tests for disabled_tools opt-out pattern
- Move handler CLI commands from pipelines to flows (correct scope)
[0.28.2] – 2026-02-20
Fixed
- update activation hook for disabled_tools opt-out pattern
[0.28.1] – 2026-02-20
Added
- CLI commands for managing publish step handlers
Changed
- Remove debug log for system agent task handlers loaded
- Remove pipeline context files (replaced by memory system)
Fixed
- extract FlowStepNormalizer from trait to fix PHP 8.x deprecation
[0.28.0] – 2026-02-19
Added
- Block content editing abilities — get, edit, replace Gutenberg blocks by index (GetPostBlocksAbility, EditPostBlocksAbility, ReplacePostBlocksAbility)
- WP-CLI blocks command (wp datamachine blocks list|edit|replace)
- Pinterest board selection — three modes: pre-selected, AI decides, category mapping
- PinterestAbilities class with board sync, caching, and resolution
- WP-CLI pinterest command (wp datamachine pinterest sync-boards|list-boards|status)
- URL Inspection and Sitemaps endpoints for Google Search Console tool
Changed
- Shared TabPanel styles across all admin pages (Agent, Logs, Settings)
- InternalLinkingTask refactored to use block-level abilities for granular paragraph editing
- Agent SOUL.md directive docs updated for 6-tier system
Fixed
- Agent page response shape — query hooks now unwrap { success, data } responses
- SOUL.md deletion hardening — FileAbilities now blocks deletion with error return
[0.27.0] – 2026-02-18
Added
- Multi-handler steps — configure multiple publish handlers (WordPress + Pinterest) in a single pipeline step (#233)
- Per-agent default provider/model configuration — assign different models to chat, pipeline, and system agents
- Agent memory system — SOUL.md file-based identity, agent admin page with file browser/editor, settings migration (#279)
- Pipeline memory file references — select agent memory files as AI context per-pipeline (#280)
- Internal linking system agent task (#228)
- Image generation insert mode with smart content-gap placement
Changed
- Handler config normalized to handler_slugs/handler_configs as single source of truth (lazy migration, zero downtime)
- Agent page consolidates memory files + configuration (tools, model, site context, max turns, webhook)
- Settings page simplified — General, API Keys, Handler Defaults only
- All tabbed admin pages now use @wordpress/components TabPanel
- Frontend state management cleanup — eliminated local state mirroring in favor of TanStack Query
Fixed
- Jobs page Unknown Pipeline/Flow resolved with fallback name lookup
- InlineStepConfig race condition on initial page load
- Non-handler step types (Agent Ping, Webhook Gate) preserve handler_config during normalization
- Image generation sets featured image for standalone post_id calls
- Empty prompt queue treated as skipped, not failure
- Missing API endpoint registrations restored
[0.26.0] – 2026-02-17
Added
- ChatErrorBoundary wraps chat sidebar with retry UI
- BaseRepository abstract class for database CRUD patterns
Changed
- ToolServiceProvider centralizes all 39 tool registrations — removed self-instantiation from global tools
- Bootstrap consolidated: 48 require_once lines → single inc/bootstrap.php
- EngineData consolidated: static retrieve/persist/merge methods + forJob() factory, procedural wrappers kept for compat
- BaseRepository extracted: shared constructor, find_by_id, delete_by_id, count_rows, log_db_error — 6 repos migrated
- Chat messages use TanStack Query cache as single source of truth (fixes dual-state race conditions)
- Chat backend: executeConversationTurn() helper eliminates 3-way duplication across handle_chat/continue/ping
- Request ID transient set before AI loop to prevent duplicate sessions on retry
- Consolidated duplicate tool resolution — ToolExecutor delegates to ToolManager
- Action closures extracted to dedicated Handler classes (FailJob, JobComplete, Log, LogManage, MarkItemProcessed)
- datamachine_log split into write-only (LogHandler) + management (LogManageHandler via datamachine_log_manage)
- Chat session dropdown replaced with @wordpress/components Dropdown
- Chat sidebar CSS split into 5 component-aligned files with @import entry point
Removed
- Legacy PHP settings tabs, sanitize callback, and vanilla JS (dead code, -1,045 lines)
- Dead function datamachine_get_enabled_global_tools() (used wrong filter)
- No-op identity filter registrations in Admin, DataMachineFilters, Handlers
- Self-instantiation from all Global tool files
Fixed
- Settings sanitization wiping cross-tab values (seeded from existing values + isset guards)
- Chat message duplication and missing responses (#4/#5) via single source of truth + transient timing fix
[0.25.0] – 2026-02-17
Added
- Bing Webmaster Tools analytics connector
- Webhook Gate step type — pause pipeline until external webhook fires
- Google Search Console connector
- Agent Soul structured identity directive
- GitHub Issue creation tool for System Agent
- Amazon Affiliate Link tool
- Chat sidebar tools: ManageJobs, ManageQueue, SendPing, SystemHealthCheck
- Image prompt refinement via DM AI engine
Changed
- FlowStepCard schema-driven refactor (658 → 198 lines)
- Settings tabs use useFormState + shared SettingsSaveBar
- Scoped queue cache invalidation to specific pipeline
- Flow reconciliation polling extracted to useFlowReconciliation hook
- Modal callbacks moved from PipelinesApp into zero-prop ModalManager
- Consolidated duplicate API client + queryClient into shared modules
- Removed legacy PHP settings tabs, sanitize callback, and vanilla JS (-1,045 lines)
Fixed
- WP-CLI settings set fatal when ability returns WP_Error
- ImageGenerationTask undefined $params in handleSuccess()
- Settings sanitization wiping cross-tab values
- DATAMACHINE_VERSION constant synced with header
[0.24.0] – 2026-02-16
Added
- Pinterest publish handler (#175)
- Job fail/retry abilities and CLI commands (#171)
- CLI logs commands (#170)
- Job show/list improvements with source-aware display and Action Scheduler status (#172)
- Pipeline –set-system-prompt CLI flag (#164)
Fixed
- JPEG conversion crash — use wp_get_image_mime() instead of protected get_mime_type() (#165)
- Sideloaded image JPEG conversion for smaller file sizes (#161)
- Queue subcommands show proper –help output (#176)
[0.23.2] – 2026-02-16
Fixed
- Use correct Replicate models endpoint for image generation (fixes 422 errors)
[0.23.1] – 2026-02-16
Added
- Bing Webmaster Tools analytics connector
Fixed
- WP-CLI settings set fatal when ability returns WP_Error
- ImageGenerationTask undefined $params in handleSuccess()
[0.23.0] – 2026-02-16
Added
- System Agent architecture with task-based async processing
- Image generation tool (global)
- Queue validator tool for duplicate detection
- site_url and wp_path in Agent Ping payload
- flows show alias for flows get
Changed
- Alt text generation refactored as ability primitive
- Image generation refactored as ability primitive; tool wraps it
Fixed
- Deferred ability instantiation to init hook (textdomain notice on WP 6.7+)
- Deferred admin page filter registration to init hook
- Synced DATAMACHINE_VERSION constant
[0.22.4] – 2026-02-16
Changed
- Refactored image generation as ability primitive; tool wraps it
[0.22.3] – 2026-02-15
Changed
- Maintenance release
[0.22.2] – 2026-02-14
Fixed
- Rebuild stale JS assets — Jobs page now correctly shows Pipeline/Flow source instead of ‘unknown’
[0.22.0] – 2026-02-11
- feat(agent-ping): add reply_to field for custom channel routing (#111)
- feat(queue): add queue-validate ability to check for duplicates (#110)
- refactor(FlowStepCard): unify Agent Ping config handlers
- Add Queue Performance settings to admin UI
- Remove noisy queue tuning log
[0.21.5] – 2026-02-10
- Queue validation: queue-add ability now checks for duplicate prompts in queue and similar existing posts before adding
[0.21.4] – 2026-02-08
- Fix: pin webpack to 5.104.1 for security; remove legacy CircleCI config
[0.21.3] – 2026-02-08
Changed
- Revert "release: v0.21.2"
- v0.21.2
Fixed
- Fix prompt display when queue enabled but empty
[0.21.2] – 2026-02-08
- CLI: Added –set-prompt option to flows update command for updating handler step prompts via WP-CLI
- CLI: flows get now shows prompt preview column (truncated to 50 chars)
[0.21.1] – 2026-02-05
Added
- add datamachine_session_title_prompt filter for customizing session title generation
[0.21.0] – 2026-02-05
Added
- add scheduled cleanup for stale Action Scheduler claims with configurable max age (default 24h)
[0.20.5] – 2026-02-05
Fixed
- Only check scheduled cleanup jobs in admin context
[0.20.4] – 2026-02-04
Fixed
- allow Action Scheduler queue runs to pass ability permission checks
[0.20.3] – 2026-02-04
Added
- re-queue prompt on job failure
Fixed
- only clear backup on successful re-queue, fix WPCS indentation
[0.20.2] – 2026-02-04
Changed
- Remove –allow-root from examples, add note about root usage
- Add Data Machine agent skill in OpenClaw format
Fixed
- handle WP_Error from ability execution
[0.20.1] – 2026-02-03
Added
- wire alt_text_auto_generate_enabled to SettingsAbilities
- Add toggle for alt text auto-generation on upload
[0.20.0] – 2026-02-03
Added
- centralize term resolution with datamachine/resolve-term ability
- system agent alt text generation with scheduled processing
- flows delete and flows update CLI subcommands
- auto-apply site handler defaults to unconfigured flow steps
Fixed
- site-wide handler defaults not applied in handler details API endpoint
- alt-text scheduling gated on provider/model config
- taxonomy resolution null guard and Abilities API alignment
[0.19.16] – 2026-02-03
Added
- auto-resolve queueable step when –step omitted
Fixed
- store failure reasons in job status using compound format
- correct timezone for next_run display
[0.19.15] – 2026-02-03
Fixed
- normalize shorthand flow scheduling intervals before validation
[0.19.13] – 2026-02-03
Changed
- Clarify Agent Ping outbound-only loop patterns and REST triggers in docs
- Align cache management and direct execution sentinel docs; drop stale cache endpoint example
[0.19.12] – 2026-02-02
Changed
- BREAKING: Replaced
enabled_toolswithdisabled_toolsin AI step configuration- Empty array now means "use all globally enabled tools" (no exclusions)
- Non-empty array explicitly excludes those tools from the step
- Behavior change: Steps with old
enabled_toolsconfig will now have access to ALL globally-enabled tools (old config is ignored, not migrated)
- Tool enablement logic:
Available = Globally enabled − Step disabled
Fixed
- Empty array now means "use all globally enabled tools" (no exclusions)
- Non-empty array explicitly excludes those tools from the step
- Behavior change: Steps with old
enabled_toolsconfig will now have access to ALL globally-enabled tools (old config is ignored, not migrated)
[0.19.11] – 2026-02-02
Added
- Empty array now means "use all globally enabled tools" (no exclusions)
- Non-empty array explicitly excludes those tools from the step
- Behavior change: Steps with old
enabled_toolsconfig will now have access to ALL globally-enabled tools (old config is ignored, not migrated)
Fixed
- Tool enablement bug where empty
enabled_toolsarray disabled all tools instead of using defaults
[0.19.10] – 2026-02-02
Added
- add Agent Ping auth header fields to the pipeline builder UI
Changed
- default handler_slug to step_type for non-handler steps when saving handler_config
[0.19.9] – 2026-02-02
Changed
- add optional auth header settings for Agent Ping webhooks
Fixed
- include optional auth header in Agent Ping webhook requests
[0.19.8] – 2026-02-02
Added
- Merge pull request #69 from saraichinwag/fix/engine-step-failure-detection
- Merge pull request #68 from saraichinwag/fix/agent-ping-flow-id
Changed
- detect step failure from packet metadata
- fix(agent-ping): get flow_id/pipeline_id from flow_step_config
Fixed
- feat(agent-ping): add url_list field type with + button UI
- feat(agent-ping): support multiple webhook URLs
[0.19.7] – 2026-02-02
Changed
- Merge pull request #67 from saraichinwag/feature/agent-ping-multi-url
Fixed
- fix(url-list): use CSS classes and add sanitization
[0.19.6] – 2026-02-02
Changed
- Merge pull request #66 from Extra-Chill/fix/agent-ping-settings-display
Fixed
- suppress step settings display when configured
[0.19.5] – 2026-02-02
Added
- Merge pull request #64 from saraichinwag/fix/cli-pipeline-config-flag
- Merge pull request #65 from saraichinwag/fix/cli-step-parameter
Changed
- return updated_fields from executeUpdatePipelineStep
- add wp_unslash, is_array guards, restore JSON output
- add missing –step parameter declaration for queue commands
- implement –config flag for pipeline update command
Fixed
- add move command and step-level CLI support
- scope prompt queue per flow step
[0.19.4] – 2026-02-02
Added
- Merge pull request #61 from saraichinwag/docs/agent-orchestration
- Merge pull request #62 from saraichinwag/feat/queue-management
- Merge pull request #63 from Extra-Chill/feat/step-queue-inline-agent-ping
Changed
- keep queue enabled state when clearing
Fixed
- add PromptField component and Agent Ping configuration
[0.19.3] – 2026-02-02
Changed
- Merge pull request #58 from saraichinwag/feat/promptfield-agent-ping-config
- Merge pull request #57 from saraichinwag/fix/ghost-step-filter
- Merge pull request #56 from saraichinwag/fix/tools-display-sync
Fixed
- remove Agent Ping from API client (AI-only)
- remove pipeline-level Agent Ping UI/API/display
- revert to handler_config, set hasPipelineConfig false
- align Agent Ping config source of truth to pipeline_config
- wire WebhookUrlField, dedupe URL validation, remove dead state
- filter ghost steps without step_type from pipeline display
- sync tools display with global settings – correct logic
[0.19.2] – 2026-02-02
Changed
- Merge pull request #55 from saraichinwag/fix/agent-ping-wp-error-handling
Fixed
- fix(agent-ping): handle WP_Error from ability execution
[0.19.1] – 2026-02-02
Fixed
- Merge pull request #54 from saraichinwag/fix/engine-all-method
[0.19.0] – 2026-02-02
Added
- fix(agent-ping): use engine->all() not getAll()
Changed
- Align release metadata after the 0.19.0 tag
[0.18.6] – 2026-02-01
Changed
- QueueableTrait for shared queue pop functionality across step types
- Agent Ping step now supports prompt queue (same as AI step)
Fixed
- AIStep refactored to use QueueableTrait instead of inline queue logic
- Agent Ping includes
from_queueflag in webhook payload
[0.18.5] – 2026-02-01
Changed
- Merge pull request #52 from saraichinwag/fix/restore-prompt-field
Fixed
- use addToQueue when queue is empty
- restore prompt field alongside queue modal button
[0.18.4] – 2026-02-01
Changed
- Merge pull request #51 from saraichinwag/fix/queue-modal-from-step
- Merge pull request #50 from saraichinwag/fix/remove-footer-queue
[0.18.3] – 2026-02-01
Changed
- open queue modal from step card button
- remove queue button from flow footer
[0.18.2] – 2026-02-01
Changed
- Hide handler badge for non-handler steps
- Allow adding prompt to queue when empty
[0.18.1] – 2026-02-01
Changed
- Document agent self-orchestration in README and overview
- Extend Agent Ping payload with engine_data context
Fixed
- Document AI agent integration in new SKILL.md
- Hide Configure button for non-handler steps while keeping settings display
[0.18.0] – 2026-02-01
Added
- Remove deprecated CLI agent command (#37)
Changed
- fix(agent-ping): use flow-level handler_config via abilities pattern (#38)
- fix(agent-ping): use flow-level handler_config instead of pipeline config (#36)
- engine data access bugs in AI step and queue (#35)
[0.17.0] – 2026-02-01
Added
- add CLI CRUD commands for pipelines (#33)
Fixed
- modularize abilities files for maintainability (#34)
[0.16.3] – 2026-02-01
Added
- add React UI for prompt queue management (#30)
[0.16.2] – 2026-02-01
- initialize queue before WP_Ability check for CLI compatibility (#28)
[0.16.1] – 2026-01-30
Fixed
- Prompt Queue for AI Flows (#27)
[0.16.0] – 2026-01-30
Changed
- Bump ai-http-client to v2.0.13
Fixed
- Update DirectoryManager type hints to support direct execution mode (int|string for pipeline/flow IDs)
[0.15.2] – 2026-01-28
Changed
- Migrate all file operations to WordPress WP_Filesystem API for Plugin Check compliance
- Add centralized FilesystemHelper for filesystem initialization
- Remove forbidden fallback pattern in RemoteFileDownloader
- Modularize FlowAbilities and FlowStepAbilities into focused ability classes with shared helper traits
- Add explicit selection modes to configure_flow_steps: flow_step_ids array, global handler scope, all_flows opt-in
Fixed
- Fix configure_flow_steps bulk mode to require explicit opt-in (prevents accidental pipeline-wide updates)
[0.15.1] – 2026-01-28
- Improve create_pipeline UX for AI agents
- Update documentation for clarity and accuracy
[0.15.0] – 2026-01-27
Changed
- Fix array alignment per WordPress coding standards
- Fix system prompt not appearing in Configure Step modal
- Fix taxonomy selection mismatch between card and modal
- Fix React/API synchronization for step creation and chat invalidation
- Fix chat timestamps incorrectly showing "just now"
- Fix chat loading state bleeding across sessions
[0.14.12] – 2026-01-27
Fixed
- Add BaseCommand class with standard WP-CLI format options (table, json, csv, yaml, ids, count)
- Fix type safety and code quality issues across codebase
[0.14.11] – 2026-01-27
Changed
- Add async turn-by-turn chat execution
- Add bulk mode to pipeline and flow creation abilities
- improved error handling for chat tools
- Remove PHPUnit from composer dependencies
- Update @wordpress/scripts to fix lodash vulnerabilities
Fixed
- Fix flows run CLI subcommand argument parsing
[0.14.10] – 2026-01-27
Changed
- Remove orphaned ToolRegistrationTrait require
[0.14.9] – 2026-01-27
Fixed
- Complete truncated test function
[0.14.8] – 2026-01-26
Changed
- Unified BaseTool architecture for all AI tools
[0.14.7] – 2026-01-26
Added
- Add ChatToolErrorTrait for consistent WP_Error handling in chat tools with error_type classification to prevent AI infinite retry loops
[0.14.6] – 2026-01-26
Changed
- expand jobs.status column to varchar(255) for compound statuses with reasons
[0.14.5] – 2026-01-26
Changed
- Add ‘flows run’ CLI subcommand for immediate/scheduled flow execution (#13)
[0.14.4] – 2026-01-26
Changed
- add stuck job recovery feature with abilities-first architecture
- made sure default model assigned to new pipeline ai steps (based on global settings)
[0.14.3] – 2026-01-26
- Add unified system health check ability with filter-based registration
[0.14.2] – 2026-01-25
Removed
- Add current_date to SiteContext for AI date awareness
Fixed
- Add dry-run support to base PublishHandler class for all publish handlers
[0.14.1] – 2026-01-25
Fixed
- Delete deprecated SessionTitleGenerator.php (superseded by SystemAbilities)
[0.14.0] – 2026-01-25
- Move chat session title generation after database persistence to fix stale data issue (#7)
[0.13.6] – 2026-01-25
Fixed
- Fix WordPress Abilities API usage – use wp_get_ability()->execute() instead of non-existent wp_execute_ability()
- Fix malformed .gitignore entry that prevented build directory from being ignored
- Clean up duplicate version targets in homeboy configuration for reliable version bumping
[0.13.5] – 2026-01-24
Fixed
- Added System Agent Architecture – Hook-based system for infrastructure operations with automatic chat session title generation
[0.13.4] – 2026-01-24
Changed
- Fix pipeline step deletion to sync flows and clean processed items
Fixed
- Fix WP Abilities API late registration warnings causing ‘category string’ notices in WP-CLI commands
[0.13.3] – 2026-01-24
- Restructure documentation from api-reference to development/hooks directory
[0.13.2] – 2026-01-24
- Fix undefined variable warnings in chat tools by adding missing self:: prefix to static property references
[0.13.1] – 2026-01-24
- Fix uninitialized property errors by initializing instance properties before static registration guard
[0.13.0] – 2026-01-22
- Remove duplicate datamachine ability category registration
[0.12.5] – 2026-01-22
- Fix duplicate ability registrations during WP-CLI execution by adding static registration guards to all 14 ability classes
[0.12.4] – 2026-01-20
Added
- BREAKING: Consolidate singular/plural abilities – remove 7 redundant singular abilities (get-flow, get-job, get-pipeline, get-pipeline-step, get-flow-step, get-handler, get-step-type) in favor of plural abilities with optional ID parameters for single lookups
Changed
- fix: Correct undefined variable references in DateFormatter static methods
- test: Add DateFormatterTest for comprehensive coverage
Fixed
- ToolExecutor now validates required parameters before execution with clear error messages
- LocalSearchAbilities class for WordPress 6.9 Abilities API
[0.12.3] – 2026-01-20
- LocalSearch tool now delegates to LocalSearchAbilities (Abilities API integration)
[0.12.2] – 2026-01-20
- Log clearing functions renamed for clarity (datamachine_clear_log_files to datamachine_clear_all_log_files, datamachine_clear_log_file for single agent)
[0.12.1] – 2026-01-20
Fixed
- Fix React admin pages blank due to const vs window. declaration mismatch
[0.12.0] – 2026-01-20
Added
- Fixed regex pattern in admin asset enqueue – now correctly matches WordPress hook suffix format for all admin pages
Changed
- Resolved blank React admin pages after Abilities API migration by refactoring asset enqueueing to use direct slug extraction instead of options storage
Removed
- WordPress 6.9 Abilities API integration with 64 registered abilities across 13 ability classes
- PipelineAbilities with 8 abilities for pipeline CRUD and import/export operations
- PipelineStepAbilities with 6 abilities for step management
- FlowAbilities with 6 abilities for flow CRUD and duplication
- FlowStepAbilities with 4 abilities for flow step configuration
- JobAbilities with 6 abilities for execution, health monitoring, and problem flow detection
- FileAbilities with 5 abilities for file management and uploads
- ProcessedItemsAbilities with 3 abilities for deduplication tracking
- SettingsAbilities with 7 abilities for plugin and handler settings
- AuthAbilities with 3 abilities for OAuth authentication management
- LogAbilities with 6 abilities for logging operations
- HandlerAbilities with 6 abilities for handler discovery and configuration
- StepTypeAbilities with 3 abilities for step type discovery and validation
- PostQueryAbilities with unified query-posts ability supporting handler/flow/pipeline filters
[0.11.6] – 2026-01-19
- Minimum WordPress requirement bumped to 6.9 for Abilities API support
- REST API endpoints now delegate to Abilities for all business logic
- CLI commands execute Abilities directly for consistent behavior
- Chat tools delegate to Abilities for all mutation operations
- Cache invalidation moved from CacheManager to individual ability classes
[0.11.5] – 2026-01-19
- Services layer deleted – HandlerService, StepTypeService, PipelineManager, PipelineStepManager, FlowManager, FlowStepManager, ProcessedItemsManager, JobManager, AuthProviderService, LogsManager, CacheManager (~3000 lines removed)
[0.11.4] – 2026-01-18
- Fixed Yoda fixer breaking null comparisons (self::null -> null)
[0.11.3] – 2026-01-17
- Added PostTrackingTrait for upsert operations
- Linter and documentation fixes
- Test infrastructure now handled by Homeboy
[0.11.3] – 2026-01-17
- Fixed: DATAMACHINE_VERSION constant now matches plugin header version (0.11.3)
[0.11.2] – 2026-01-16
- {"component_id":"data-machine","type":"Removed","summary":"Removed unused post_date_source setting"}
[0.11.1] – 2026-01-16
- {"component_id":"data-machine","type":"Removed","summary":"Removed unused post_date_source setting"}
[0.11.0] – 2026-01-15
- Fixed: Chat session deduplication now catches sessions with status=processing in metadata, preventing duplicate sessions on Cloudflare timeout
- Changed: Updated ai-http-client to 2.0.12 for improved invalid JSON response handling
[0.10.3] – 2026-01-15
- Fixed: Pass explicit agent_type in chat session creation and API queries to fix session listing and creation errors
[0.10.2] – 2026-01-08
Changed
- Add WP-CLI agent command for chat interactions.
- Chat sessions table now records agent_type for chat and CLI sessions.
[0.10.1] – 2026-01-08
Fixed
- Docs: clarify direct execution cycle and WP-CLI agent usage.
- Docs: expand wp-ai-client migration blocker details for handler tools.
[0.10.0] – 2026-01-08
Added
- Chat tool message grouping –
inc/Core/Admin/Pages/Pipelines/assets/react/components/chat/ChatMessages.jsxnow groups tool call/result messages within a single exchange using position-based buffering and pairs tool calls/results by tool name for display. - Chat request id propagation –
inc/Core/Admin/Pages/Pipelines/assets/react/components/chat/ChatSidebar.jsxnow generates arequestIdonce per send and passes it into the request;inc/Core/Admin/Pages/Pipelines/assets/react/queries/chat.jsnow acceptsrequestIdfrom the caller rather than generating it internally.
Changed
- WordPress publish empty-content guard –
inc/Core/Steps/Publish/Handlers/WordPress/WordPress.phpnow validates thatcontentis not empty afterwp_filter_post_kses()sanitization and returns a structured error response when sanitization strips everything, preventing accidental publication of empty posts.
Improved
- ExecutionContext – New
inc/Core/ExecutionContext.phpcentralizes flow vs direct execution context, deduplication checks, engine snapshot access, file context, and handler-scoped logging helpers.
Fixed
- Flows scheduling contract –
inc/Api/Flows/Flows.phpnow delegates schedule updates toinc/Api/Flows/FlowScheduling.phpand standardizes manual/one-time/recurring scheduling updates. - Flow status metadata sourcing – Flow list/response metadata now derives last-run status/running state and next scheduled run from jobs history + Action Scheduler rather than flow row fields.
- Job status finalization –
inc/Core/Database/Jobs/JobsStatus.phpnow validates completion usingJobStatus::isStatusFinal()(supports compound statuses). - Fetch handler execution context –
inc/Core/Steps/Fetch/Handlers/FetchHandler.phpand fetch handlers (Files/RSS/Reddit/Google Sheets/WordPress*) now consumeExecutionContextfor consistent engine data access (e.g.source_url,image_file_path) and direct-mode compatibility.
Testing
- Flows UI status display –
inc/Core/Admin/Pages/Pipelines/assets/react/components/flows/FlowCard.jsxandinc/Core/Admin/Pages/Pipelines/assets/react/components/flows/FlowFooter.jsxnow display a "Running" state and refine last-run status styling.
[0.9.16] – 2026-01-07
Improved
- Direct execution job IDs –
inc/Api/Execute.phpnow creates direct execution jobs withpipeline_id='direct'andflow_id='direct'for consistent downstream handling. - Direct execution file context –
inc/Api/Files.phpnow supportsflow_id='direct'inget_file_context().
Changed
- Updated
tests/Unit/Services/FlowManagerTest.phpto reflect the new flow metadata and scheduling behavior.
[0.9.15] – 2026-01-07
Improved
- Chat session durability –
inc/Api/Chat/Chat.phpnow persists the user message immediately (statusprocessing) and records failures as session statuserrorwitherror_messagewhen the AI loop returns an error or throws. - Chat completion status –
inc/Api/Chat/Chat.phpnow includesstatus=completedin the final session metadata. - ApiQuery parameter validation –
inc/Api/Chat/Tools/ApiQuery.phpnow requires eitherendpoint(single mode) orrequests(batch mode) and returns a clear error directing external URLs toweb_fetch.
Changed
- Direct execution identifiers –
inc/Api/Execute.phpnow marks direct execution jobs withpipeline_id='direct'andflow_id='direct'in engine configs (stored as0in the DB). - Job creation direct-mode normalization –
inc/Core/Database/Jobs/JobsOperations.phptreats'direct'(or0,0) as direct execution and stores IDs as0while still rejecting mixed/invalid pipeline/flow ID combinations. - FetchHandler flow ID typing –
inc/Core/Steps/Fetch/Handlers/FetchHandler.phpnow supportsflow_id='direct'in handler configs and returnsint|stringfromgetFlowId().
[0.9.14] – 2026-01-07
Improved
- Admin status display unification –
inc/Core/Admin/assets/css/root.cssadds shared status utility classes (success/error/warning/neutral) andinc/Core/Admin/Pages/Jobs/assets/react/components/JobsTable.jsxnow applies them based on the base job status (including compound statuses). - Flow last-run status visibility –
inc/Core/Admin/Pages/Pipelines/assets/react/components/flows/FlowFooter.jsxnow displays the last run job status next to the last-run timestamp. - LocalSearch missing-query guidance –
inc/Engine/AI/Tools/Global/LocalSearch.phpnow returns a more actionable error message whenqueryis missing.
Fixed
- DateFormatter status suffix removal –
inc/Core/Admin/DateFormatter.phpnow returns only formatted timestamps and no longer appends status-specific suffixes. - Jobs page status CSS –
inc/Core/Admin/Pages/Jobs/assets/css/jobs-page.cssremoves job-status color classes in favor of the shared status utilities. - Dependency update –
composer.lockupdateschubes4/ai-http-clientfromv2.0.10tov2.0.11.
[0.9.13] – 2026-01-06
Improved
- Chat sessions table name hardening –
inc/Core/Database/Chat/Chat.phpnow centralizes table name sanitization/escaping and uses an identifier placeholder (%i) for safer table-name interpolation. - Engine data packet retrieval –
inc/Engine/Actions/Engine.phpnow retrieves step input packets viaFileRetrieval::retrieve_data_by_job_id()using file context derived from the step’sflow_id.
Fixed
- Core action parameter validation –
inc/Engine/Actions/DataMachineActions.phpnow validates required params andjob_idfordatamachine_mark_item_processed(and logs clearer errors) before writing processed items.
Added
- Block-aware Source Attribution –
inc/Core/WordPress/WordPressPublishHelper.phpnow detects if content contains Gutenberg blocks and appends source attribution using proper<!-- wp:paragraph -->markup when necessary, preventing mixed HTML/block validation errors.
[0.9.12] – 2026-01-06
Improved
- Build exclusions –
.buildignoreupdated to use/build/pattern for better directory matching.
Fixed
- Unit tests for WordPressPublishHelper –
tests/Unit/WordPress/WordPressPublishHelperTest.phpprovides coverage for the new block-aware attribution logic.
Refined
- ApiQuery tool error reporting –
inc/Api/Chat/Tools/ApiQuery.phpnow provides specific error messages and HTTP status codes for failed requests, improving diagnostic visibility for AI agents.
[0.9.11] – 2026-01-06
Added
- Flow selection dropdown in Jobs UI –
inc/Core/Admin/Pages/Jobs/assets/react/queries/jobs.jscorrects the data path (response.data.flows) for fetching flows, fixing the empty dropdown in the Jobs filter.
Changed
- Chat Sidebar UI tool result labeling –
inc/Core/Admin/Pages/Pipelines/assets/react/components/chat/ChatSidebar.jsxnow explicitly labels tool results with name and success/failure status, and filters redundant assistant tool-call messages for a cleaner conversation history. - Duplicate tool call handling –
inc/Engine/AI/AIConversationLoop.phpandinc/Engine/AI/ConversationManager.phpnow treat duplicate tool calls as failed tool results rather than user correction messages, improving consistency in the conversation loop.
Fixed
- LocalSearch fallback search strategies –
inc/Engine/AI/Tools/Global/LocalSearch.phpadds a title-only query mode (title_only=true) and automatic fallbacks (title matching and comma/semicolon split queries) when a standard WordPress search returns no results.
[0.9.10] – 2026-01-06
Added
- Jobs table schema supports compound statuses –
inc/Core/Database/Jobs/Jobs.phpexpands thedatamachine_jobs.statuscolumn size fromvarchar(20)tovarchar(100)and includes an upgrade path that alters the column on existing installs.
Improved
- Engine refresh captures tool-set job status –
inc/Engine/Actions/Engine.phprefreshesEngineDataafter step execution so tools likeskip_itemcan reliably setjob_statusbefore the job is finalized.
[0.9.9] – 2026-01-06
Changed
- Chat request idempotency support –
inc/Api/Chat/Chat.phpacceptsX-Request-IDand caches the REST response in a 60s transient to avoid duplicate AI runs when the client re-sends the same request.
[0.9.8] – 2026-01-06
Added
- Chat UI double-submit hardening –
inc/Core/Admin/Pages/Pipelines/assets/react/components/chat/ChatInput.jsxadds a lightweight submit cooldown to prevent rapid-fire Enter submissions;inc/Core/Admin/Pages/Pipelines/assets/react/components/chat/ChatSidebar.jsxprevents concurrent "create new session" requests. - Chat request headers –
inc/Core/Admin/Pages/Pipelines/assets/react/queries/chat.jsgenerates a request UUID and sends it asX-Request-IDwith chat POST requests. - WordPress Post Reader tool contract –
inc/Engine/AI/Tools/Global/WordPressPostReader.phpclarifies thatsource_urlmust be a WordPress permalink/shortlink and explicitly rejects REST API URLs.
Improved
- Chat session list query –
inc/Core/Database/Chat/Chat.phpupdates the sessions query toSELECT *and adds null-safe handling formessages,title,created_at, andupdated_atwhen assembling the sessions list response. - Pipelines UI styling –
inc/Core/Admin/Pages/Pipelines/assets/css/pipelines-page.cssconstrains the.datamachine-pipeline-selectorwidth on desktop breakpoints.
Fixed
- Persistent Chat Session Listing/Deletion – New REST endpoints
GET /datamachine/v1/chat/sessions(paginated) andDELETE /datamachine/v1/chat/{session_id}with user ownership enforcement. - Automatic Chat Session Titles – New
ChatTitleGeneratorgenerates titles from the first user message (AI-generated when possible, with deterministic truncation fallback) and storestitle,provider, andmodelper session. - Chat Sessions UI Components – New React components for switching sessions (
ChatSessionSwitcher.jsx) and browsing session history (ChatSessionList.jsx).
Technical Details
- Chat Session DB Contract –
datamachine_chat_sessionsrecords now persisttitle,provider, andmodel, and exposeupdated_atordering for recent sessions. - RunFlow Tool Behavior – Tool definition and handler enforce: omit
timestampfor immediate execution; supportcount(1–10) for multiple immediate runs; rejecttimestampwithcount > 1. - Pipeline Builder Chat Sidebar – UI and React Query layer updated to handle multiple sessions and improved message/session loading flows.
- Settings UI (General Tab) – Added/updated global settings fields in React (
GeneralTab.jsx) and settings REST contract to support them.
[0.9.7] – 2026-01-05
Added
- Job Status Naming in Docs/Tools – Consistently use
processingfor running jobs across docs and tool descriptions.
Improved
- New Chat session queries: Added query/mutation helpers in
inc/Core/Admin/Pages/Pipelines/assets/react/queries/chat.jsfor sessions list, session delete, and session switching. - Database methods: Expanded
inc/Core/Database/Chat/Chat.phpwithget_user_sessions()/get_user_session_count()and session update semantics.
Technical Details
- JobStatus Value Object – Centralized job status management in
inc/Core/JobStatus.phpwith support for compound statuses likeagent_skipped - reason. - SkipItemTool – New AI tool for fetch-type handlers allowing agents to explicitly skip items that don’t meet processing criteria.
- Tools Display in Pipeline Builder – Added a "Tools" label to the Pipeline Step Card to show enabled AI tools for each step.
[0.9.6] – 2026-01-05
Fixed
- Job Monitoring – Enhanced
JobManager,Engine, andFlowsto useJobStatusfor more granular status tracking and consecutive failure/no-items monitoring. - Date Formatting – Updated
DateFormatterto support localized display of skipped reasons and other compound statuses.
Improved
- Compound Status Support: Implemented base status and reason parsing in
JobStatusfor better diagnostic visibility in logs and UI. - Tool Registration: Automated
skip_itemtool registration for all fetch-type handlers viaFetchHandler::init(). - Code Consolidation: Replaced scattered status strings with
JobStatusconstants across core services.
Technical Details
- Tool Name Consistency – Corrected references from
configure_flow_steptoconfigure_flow_stepsacross AddPipelineStep, ConfigurePipelineStep, and CreatePipeline tools - ApiQuery Parameter Naming – Fixed UpdateFlow tool parameter from
scheduletoscheduling_configfor consistency with codebase patterns - Chat Tool Response Format – Added
tool_nameto AuthenticateHandler success/error responses for consistent tool identification
Improved
- ApiQuery Tool Simplification – Streamlined to GET-only read operations, removed method and data parameters to enforce separation of discovery and mutation operations
- Tool Description Clarity – Updated ApiQuery documentation to clearly direct mutation operations to focused tools, reducing AI agent confusion
- Parameter Documentation – Enhanced ConfigureFlowSteps flow_step_id parameter description with clear format specification
Technical Details
- ApiQuery Refactoring: Removed HTTP method support (POST/PUT/PATCH/DELETE), simplified request handling to GET-only mode
- Code Reduction: ApiQuery simplified by ~60 lines through parameter removal and logic simplification
- Naming Standardization: Unified tool references across 4 chat tools for better developer experience
[0.9.4] – 2026-01-05
Fixed
- Scheduling Documentation Centralization – Created
SchedulingDocumentationclass to provide JSON-formatted scheduling interval documentation for chat tools, eliminating duplicate interval definitions across multiple tools - Chat Tool Descriptions – Simplified and streamlined tool descriptions across chat tools (AddPipelineStep, ApiQuery, CopyFlow, CreateFlow, CreatePipeline, ExecuteWorkflowTool, UpdateFlow) for improved AI agent comprehension
- ApiQuery Tool – Removed verbose documentation and examples, focusing on key endpoints for better discoverability
- ExecuteWorkflowTool – Removed embedded handler documentation to reduce prompt overhead; now uses
api_querytool for handler config discovery
Technical Details
- New Utility: Added
inc/Api/Chat/Tools/SchedulingDocumentation.php(67 lines) with cached JSON interval output - Code Reduction: Net -80 lines across 7 modified tools through documentation simplification and centralized interval management
- Parameter Cleanup: Removed deprecated
scheduling_configparameter from UpdateFlow tool (usescheduleinstead)
[0.9.3] – 2026-01-05
Added
- React Query Cache Invalidation – Enhanced cache management to handle all paginated queries instead of exact matches only
- Flow Deletion Total Count – Fixed
totalcount decrement when deleting flows from paginated lists - Cache Context Restoration – Improved error recovery in
useUpdateUserMessagewith proper paginated query context handling
Technical Details
- Frontend: Updated
setFlowInCache,patchFlowInCache, anduseDeleteFlowin/inc/Core/Admin/Pages/Pipelines/assets/react/queries/flows.jsto usesetQueriesDatawith{ exact: false }for broader cache updates - Data Structure: Improved data structure handling to support both simple arrays and paginated responses with
{ flows: [...], total: n }format - FlowCard: Updated cache mutation in
/inc/Core/Admin/Pages/Pipelines/assets/react/components/flows/FlowCard.jsxto usesetQueriesDatawith consistent data structure handling
[0.9.2] – 2026-01-05
Fixed
- AssignTaxonomyTerm Tool – New AI chat tool for assigning taxonomy terms to one or more posts with append or replace modes
- MergeTaxonomyTerms Tool – New AI chat tool for merging duplicate taxonomy terms with post reassignment, optional metadata merging, and source term deletion
Technical Details
- New Tools: Added inc/Api/Chat/Tools/AssignTaxonomyTerm.php (190 lines) and MergeTaxonomyTerms.php (260 lines)
- Taxonomy Validation: Both tools leverage TaxonomyHandler for system taxonomy checks and term resolution
- Meta Merging: MergeTaxonomyTerms includes smart metadata merging that only fills empty target values
[0.9.1] – 2026-01-04
Added
- API Response Spreading – Added response property spreading in api.js utility to ensure all response fields (beyond success, data, message) are available to callers
Improved
- Frontend: Updated
request()response handler in/inc/Core/Admin/Pages/Pipelines/assets/react/utils/api.jsto spread all response properties - Compatibility: Ensures backward compatibility while providing access to additional response metadata
Technical Details
- Shared Pagination Component – Reusable Pagination component for consistent UI across admin pages
- Flows Pagination – Added pagination support to Pipelines > Flows section for better performance with large flow lists
- Settings-based Page Limits – Configurable per-page limits for jobs (jobs_per_page) and flows (flows_per_page) via Settings API
[0.9.0] – 2026-01-04
Added
- Code Deduplication – Removed duplicate JobsPagination component (~74 lines) and CSS styles (~50 lines)
- API Consistency – Flows API now supports standard pagination parameters (per_page, offset)
- React Query Optimization – Paginated flows queries reduce initial payload for pipelines with many flows
- Shared Architecture – Extracted pagination logic to /inc/Core/Admin/shared/ for cross-page reusability
Improved
- Shared Components: Created @shared/components/Pagination and @shared/styles/pagination.css
- React Refactoring: Migrated JobsApp and PipelinesApp to use shared pagination
- Query Enhancement: Updated useFlows hook to return paginated data structure
- API Enhancement: fetchFlows() accepts {page, perPage} options with offset calculation
- Settings Integration: New settings.js query hook for retrieving per-page configuration
Technical Details
- Troubleshooting Problem Flows System – Complete flow monitoring and diagnostics system for production workflows:
- GetProblemFlows Chat Tool – AI agent can identify and troubleshoot failing/idle flows
completed_no_itemsJob Status – Distinguishes "no new items" from actual "failures"- Flow Monitoring Counters – Automatically tracks
consecutive_failuresandconsecutive_no_itemsin scheduling configuration /flows/problemsREST API – Retrieve flows exceeding threshold with pipeline context and status history- Configurable Thresholds –
problem_flow_thresholdsetting (default: 3) via Settings API - Smart Counter Reset – Resets on successful runs, increments based on failure/no-items status
- Troubleshooting Documentation – Comprehensive guide for diagnosing flow issues (auth, configuration, source exhaustion)
- Universal Web Scraper Architecture (
datamachine-events) – High-performance multi-layered event data extraction:- 17+ Specialized Extractors – Platform-specific extraction (AEG/AXS, Red Rocks, Squarespace, Wix, WordPress, Timely, etc.)
- Schema.org Support – JSON-LD and Microdata structured data extraction
- AI-Enhanced HTML Fallback – Identifies candidate sections and passes to AI for structured parsing
- Centralized Processing –
StructuredDataProcessorfor venue overrides, engine data storage, deduplication - Smart Captcha Handling – Dual-mode header strategy for bot detection
- Automatic Pagination – Up to 20 pages with integrated deduplication
- Single Item Execution Model – Processes exactly one event per cycle for isolation and reliability
Notes
This release marks a new era of Data Machine with systematic flow monitoring and troubleshooting capabilities. The problem flow system enables production-grade reliability by automatically identifying and flagging flows that need attention, while the universal web scraper provides enterprise-grade event extraction from virtually any website.
[0.8.18] – 2026-01-04
Added
- GetProblemFlows Chat Tool – AI agent can identify and troubleshoot failing/idle flows
completed_no_itemsJob Status – Distinguishes "no new items" from actual "failures"- Flow Monitoring Counters – Automatically tracks
consecutive_failuresandconsecutive_no_itemsin scheduling configuration /flows/problemsREST API – Retrieve flows exceeding threshold with pipeline context and status history- Configurable Thresholds –
problem_flow_thresholdsetting (default: 3) via Settings API - Smart Counter Reset – Resets on successful runs, increments based on failure/no-items status
- Troubleshooting Documentation – Comprehensive guide for diagnosing flow issues (auth, configuration, source exhaustion)
Improved
- 17+ Specialized Extractors – Platform-specific extraction (AEG/AXS, Red Rocks, Squarespace, Wix, WordPress, Timely, etc.)
- Schema.org Support – JSON-LD and Microdata structured data extraction
- AI-Enhanced HTML Fallback – Identifies candidate sections and passes to AI for structured parsing
- Centralized Processing –
StructuredDataProcessorfor venue overrides, engine data storage, deduplication - Smart Captcha Handling – Dual-mode header strategy for bot detection
- Automatic Pagination – Up to 20 pages with integrated deduplication
- Single Item Execution Model – Processes exactly one event per cycle for isolation and reliability
Technical Details
- GetProblemFlows Chat Tool – AI agent can identify and troubleshoot failing/idle flows
completed_no_itemsJob Status – Distinguishes "no new items" from actual "failures"- Flow Monitoring Counters – Automatically tracks
consecutive_failuresandconsecutive_no_itemsin scheduling configuration /flows/problemsREST API – Retrieve flows exceeding threshold with pipeline context and status history- Configurable Thresholds –
problem_flow_thresholdsetting (default: 3) via Settings API - Smart Counter Reset – Resets on successful runs, increments based on failure/no-items status
- Troubleshooting Documentation – Comprehensive guide for diagnosing flow issues (auth, configuration, source exhaustion)
[0.8.17] – 2026-01-04
Improved
- 17+ Specialized Extractors – Platform-specific extraction (AEG/AXS, Red Rocks, Squarespace, Wix, WordPress, Timely, etc.)
- Schema.org Support – JSON-LD and Microdata structured data extraction
- AI-Enhanced HTML Fallback – Identifies candidate sections and passes to AI for structured parsing
- Centralized Processing –
StructuredDataProcessorfor venue overrides, engine data storage, deduplication - Smart Captcha Handling – Dual-mode header strategy for bot detection
- Automatic Pagination – Up to 20 pages with integrated deduplication
- Single Item Execution Model – Processes exactly one event per cycle for isolation and reliability
Technical Details
- Jobs API Filtering – Enhanced
get_jobs_count()andget_jobs_for_list_table()with flow_id, pipeline_id, and status filters - Jobs Query Security – Refactored to use prepared statements with column whitelist instead of match statements
- Engine Execution Logic – Smart distinction between "no new items" and "first run with nothing" for fetch steps
- ProcessedItems Manager – Added
hasProcessedItems()method for flow history checking - Database Operations – Added
has_processed_items()in ProcessedItems for first-run detection - Flow Scheduling Tracking –
update_flow_last_run()now manages consecutive failure/no-items counters with proper reset logic
[0.8.16] – 2026-01-04
Added
- New Tool:
inc/Api/Chat/Tools/GetProblemFlows.php(139 lines) - Database Method:
Flows::get_problem_flows()with JSON_EXTRACT for counter filtering - Flow Logic: Counter increment/reset on
completed,completed_no_items,failedstatuses - API Endpoint:
GET /flows/problemswith customizable threshold parameter - Documentation:
docs/core-system/troubleshooting-problem-flows.md(50 lines) - Extension Docs:
docs/handlers/fetch/universal-web-scraper.md(75 lines) - Engine Enhancement:
Engine.phpchecks processed items history before marking empty fetch as failure - Jobs Operations: Refactored from match statements to prepared queries with column validation
Improved
- Delete File Tool – New
delete_filechat tool for removing uploaded files by filename - Delete Flow Tool – New
delete_flowchat tool for deleting flows by ID - Delete Pipeline Tool – New
delete_pipelinechat tool for deleting pipelines and all associated flows - Delete Pipeline Step Tool – New
delete_pipeline_stepchat tool for removing steps from pipelines (affects all flows) - Reorder Pipeline Steps Tool – New
reorder_pipeline_stepschat tool for reordering steps within pipelines
Technical Details
- ApiQuery Tool – Refined documentation to focus on read-only operations (discovery and monitoring)
- Tool Architecture – Added specialized deletion and reordering tools for better AI agent workflow management
[0.8.15] – 2026-01-04
Improved
- Chat Tools: Added 5 new tools following ToolRegistrationTrait pattern
- API Integration: All new tools wrap existing REST API endpoints
- Code Addition: +467 lines across 5 new tool files
- Consistency: Aligned ApiQuery documentation with new specialized deletion tools
Fixed
- Google Sheets Lazy Auth – Refactored
GoogleSheetspublish handler to lazy-load its authentication provider only when an execution is actually triggered, reducing initialization overhead. - Auth Provider Caching – Added
clearCache()toAuthProviderServiceand integrated it intoCacheManager::clearHandlerCaches()for robust synchronization during dynamic handler registration. - Tool Documentation Cleanup – Simplified the
execute_workflowchat tool documentation by removing redundant taxonomy configuration sections, improving prompt clarity.
Technical Details
- Core: Added
AuthProviderService::clearCache()to manage static cache state. - Core: Updated
CacheManager::clearHandlerCaches()to include auth provider invalidation. - Handlers: Updated
GoogleSheets.phpwithget_auth()lazy-loader.
[0.8.14] – 2026-01-04
Improved
- Tool Configuration UI – Introduced a new modal-based configuration interface in the Settings -> Agent tab, allowing users to configure tool-specific settings (e.g., API keys, endpoints) directly for global AI tools.
- Tool Configuration API – Added
GETandPOSTREST API endpoints for managing tool-specific configurations, including server-side secret masking. - Update Taxonomy Term Tool – Formally documented and integrated the
update_taxonomy_termglobal AI tool, enabling agents to modify existing terms and custom meta (e.g., venue data).
Technical Details
- ConfigureFlowSteps Tool – Enhanced the
configure_flow_stepschat tool to support unique handler settings per flow during bulk pipeline-scoped operations via the newflow_configsparameter. - Tool Registration – Added
get_config_fieldssupport toToolRegistrationTrait, allowing tools to dynamically define their configuration schemas for the new UI. - Universal Web Scraper – Expanded engine documentation and handler overviews to include the unified
universal_web_scraperarchitecture.
[0.8.13] – 2026-01-04
Added
- Frontend: Created
ToolConfigModal.jsxandqueries/tools.jsfor React-based tool management. - Core: Added
handle_get_tool_configand registered routes inSettings.php. - Core: Updated
ToolManagerto support translation readiness and configuration state tracking. - Documentation: Updated
tools-overview.md,fetch-handler.md, andhandlers-overview.md.
Improved
- Tool Call Extraction – Refactored
ConversationManagerto prioritize metadata for tool call extraction, improving reliability of tool execution tracking. - Chat UI Word Wrapping – Enhanced
chat-sidebar.csswithoverflow-wrap: anywherefor message content and code blocks, preventing layout breaks with long strings. - Chat Input Loading States – Refined
ChatInput.jsxandChatSidebar.jsxto properly handle loading states, disabling buttons while maintaining input focus when appropriate.
Technical Details
- Tool Parameter Truncation – Removed aggressive string truncation (50 chars) for tool parameters in
ConversationManager, ensuring complete data is preserved in conversation history. - OAuth Handler Status – Standardized
OAuthPopupHandler.jsxto use the unified/statusendpoint instead of the redundant/oauth-urlroute.
[0.8.12] – 2026-01-04
Added
- Core: Removed
handle_get_oauth_urland associated route fromAuth.php. - Core: Updated
formatToolCallMessageandextractToolCallFromMessageinConversationManager.phpfor better metadata handling. - Testing: Added unit test for non-truncated tool parameters in
FlowManagerTest.php.
Improved
- ConfigureFlowSteps Chat Tool – Added support for handler switching with automated field mapping, enabling AI agents to migrate flow step configurations between different handlers while preserving compatible settings.
- Bulk Flow Configuration – Enhanced the
configure_flow_stepstool to support per-flow configuration overrides in bulk mode, allowing for granular adjustments across multiple flows in a single operation.
Technical Details
- Core: Added
target_handler_slugandfield_mapparameters toConfigureFlowSteps.phpfor intelligent handler migration. - Core: Added
flow_configsparameter toConfigureFlowSteps.phpfor per-flow overrides in bulk operations. - Core: Standardized
flow_idhandling to integer types across configuration methods.
[0.8.11] – 2026-01-04
Added
- UpdateTaxonomyTerm AI Tool – New specialized chat tool enabling AI agents to update existing taxonomy terms, including core fields and custom meta (e.g., venue data).
- Single Item Execution Model – Formally introduced the reliability-first execution model where jobs process exactly one item per cycle to ensure isolation and prevent timeouts.
Improved
- AI Model Selection UI – Refactored AI provider and model selection into a shared
ProviderModelSelectorcomponent used across both Pipeline and Settings interfaces. - Query Optimization – Decoupled provider queries from tool queries in the Pipeline interface for better performance.
- Architectural Alignment – Comprehensive updates to technical documentation aligning core components with the Single Item Execution Model.
Changed
- Frontend: Migrated
ConfigureStepModal.jsxandAgentTab.jsxto use the standardizedProviderModelSelector. - Core: Added
inc/Api/Chat/Tools/UpdateTaxonomyTerm.phpand registered it in the main plugin file. - Docs: Significant updates to
architecture.md,engine-execution.md, and handler documentation.
Technical Details
- Shared Authentication Support – Handlers can now share credentials by declaring an
auth_provider_keyduring registration. This allows multiple publish destinations (e.g., Facebook and Threads) to use a single set of Meta credentials. - Enhanced Flow Summaries – Added
settings_summaryto flow steps in the REST API, providing a clean string representation of configuration for UI overviews.
[0.8.10] – 2026-01-04
Added
- Flow Duplication Logic – Refined
FlowManagerto ensure only scheduling intervals are copied during flow duplication, preventing run history and status metadata from leaking into new flows. - Handler Configuration Switching – The system now automatically strips legacy configuration fields when switching handlers in a flow step, preventing configuration bloat and potential conflicts.
- Venue Field Handling – Improved
SettingsDisplayServiceto suppress manual venue fields in summaries when a primary venue taxonomy term is selected.
Improved
- Services: Updated
AuthProviderServiceto support provider key resolution via handler metadata. - Frontend: Renamed the localized settings object to
dataMachineSettingsConfigto prevent collisions with other Data Machine components. - Testing: Enhanced
tests/bootstrap.phpwith support for thedatamachine-eventsextension and additional database table initialization for jobs and processed items.
Technical Details
- Incremental Flow Step Config – New
PATCH /flows/steps/{id}/configREST endpoint for updating handler slugs and configuration without full state replacement. - Pipeline Retrieval API – New
GET /pipelines/{id}REST endpoint for retrieving individual pipeline details. - Centralized Scheduler Intervals – Introduced
SchedulerIntervals.phpto provide a single source of truth for all background task intervals.
[0.8.9] – 2026-01-04
Added
- FlowStepManager Service – Enhanced
updateHandlerto support optional handler slugs, allowing for configuration-only updates. - ConfigureFlowSteps Chat Tool – Refined validation logic and parameter handling for more reliable AI-led configuration.
Improved
- Admin Page Management – Removed the "Enabled Pages" setting; all registered admin pages (Pipelines, Jobs, Logs, Settings) are now enabled by default to simplify onboarding.
Technical Details
- API: Updated
FlowSteps.phpandPipelines.phpwith new REST routes. - Service: Modified
inc/Services/FlowStepManager.phpto handle merged handler settings. - Settings: Cleaned up
SettingsFilters.php,Settings.php, andGeneralTab.jsxto remove legacy page toggling logic.
[0.8.8] – 2026-01-04
Changed
- Markdown Support in Chat – Integrated
react-markdownfor rich text rendering of AI responses, including headers, lists, and formatted code blocks. - Enhanced Chat Styling – Added comprehensive CSS for the chat sidebar to properly render Markdown elements with distinct styling for user and assistant messages.
Fixed
- Scheduling Architecture – Decoupled recurring intervals from
manualandone_timescheduling logic inSchedulerIntervals.php, providing a cleaner single source of truth for background tasks. - AI Tool Reliability – Updated
CreateFlow,UpdateFlow,CopyFlow, andCreatePipelinechat tools to explicitly support the full range of scheduling options including non-recurring modes. - Build Process – Cleaned up stale React build assets and updated
.gitignoreto prevent tracking of unnecessary build artifacts.
[0.8.7] – 2026-01-04
Added
- Frontend: Added
react-markdowndependency topackage.jsonand updatedChatMessage.jsx. - CSS: Refactored
chat-sidebar.csswith dedicated styles for Markdown-rendered HTML elements. - Core: Refined
datamachine_get_default_scheduler_intervals()to focus on recurring tasks while maintaining tool-level support for manual/one-time execution.
Improved
- Ephemeral Workflows – Support for temporary workflows that execute without database persistence, utilizing sentinel values and dynamic snapshots.
- Expanded Scheduling Intervals – Added high-frequency and periodic intervals:
every_5_minutes,every_2_hours,every_4_hours,qtrdaily, andtwicedaily. - Chat Tool UI Enhancements – New
ToolMessage.jsxcomponent for better AI tool interaction feedback and expanded interval support inCreateFlow/UpdateFlowtools.
Technical Details
- Batch Pipeline Creation – Enhanced
PipelineManager::createWithSteps()for atomic creation of pipelines with multiple predefined steps and flows. - Engine Execution Cycle – Standardized on a robust four-action cycle (
run_now→execute_step→schedule_next→run_later) for both database and ephemeral workflows. - REST API Capabilities – Refactored
Executeendpoint to support complex ephemeral workflow payloads and provided better job status feedback. - Settings UI Reliability – Added defensive checks for API key rendering and improved AI provider key synchronization.
- Testing Infrastructure – Adjusted PHPUnit and Polyfills dependencies to v9.6 and v2.0 respectively for better environment compatibility.
[0.8.6] – 2026-01-03
Added
- Engine: Implemented job snapshots in
EngineDatato ensure configuration consistency during long-running background jobs. - Scheduling: Centralized interval definitions in
datamachine_get_default_scheduler_intervals()with filter support. - Documentation: Comprehensive updates to core system guides (engine-execution.md, ephemeral-workflows.md) to reflect the standardized execution cycle and ephemeral support.
- API: Enhanced
inc/Api/Execute.phpwith ephemeral workflow generation logic and better error handling.
Improved
- Settings UI Optimization – Simplified AI provider API key configuration by reverting masking in the React frontend while maintaining server-side security.
- Autoloading Refactor – Removed manual file loading in
composer.jsonin favor of standardized PSR-4 autoloading for improved performance and cleaner dependency management. - Composer Configuration – Updated Composer settings and scripts for better development workflow.
Technical Details
- Testing Bootstrap – Enhanced
tests/bootstrap.phpwith improved mock functions and environment definitions to ensure consistent unit testing across environments.
[0.8.5] – 2026-01-04
Added
- AI Provider Key Masking – Implemented server-side masking for AI provider API keys in the Settings API to improve security.
- Key Status Feedback – Added visual "Saved" badges and improved "Clear" functionality for API keys in the Settings UI.
- WP-Unit Testing Suite – Integrated
wp-phpunit/wp-phpunitand standard WordPress test bootstrap for better automated testing.
Improved
- Settings UI Robustness – Improved API key management with better visibility toggling and validation logic to prevent accidental masking overrides.
- Dependency Management – Upgraded
chubes4/ai-http-clientto v2.0.9 for improved HTTP handling.
Technical Details
- API Security: Refactored
inc/Api/Settings.phpto mask keys before sending to frontend and handle masked inputs during updates. - UI Components: Enhanced
inc/Core/Admin/Settings/assets/react/components/tabs/ApiKeysTab.jsxwith status indicators and improved interaction states. - Testing Infrastructure: Added
bin/install-wp-tests.sh,tests/bootstrap.php, andphpunit.xml.distfor WordPress-native testing.
[0.8.4] – 2026-01-03
Added
- Handler Defaults System – Implemented a global configuration system for handler settings, allowing users to define default values across all flows.
- New AI Chat Tools – Added
GetHandlerDefaultsandSetHandlerDefaultstools for agent-led configuration management. - Jobs React Page – Completed migration of the Jobs management interface to React, featuring real-time job status monitoring and improved filtering.
- Settings React Page – Migrated the main Settings interface to React, including consolidated AI provider management and tool toggle controls.
Improved
- Chat Agent Decisiveness – Refined
ChatAgentDirectiveto promote a more decisive, "ACT FIRST" personality for faster workflow configuration. - API Metadata – Enhanced Step Types and Settings endpoints to provide enriched metadata (handler counts, provider keys) for the new React UI.
- Chat Message Structure – Standardized user message objects in
Chat.phpwith explicit type markers for better frontend rendering. - Tool UI Discovery – Added handler count metadata to Step Types API to improve step selection guidance in the UI.
Technical Details
- UI Migration: Replaced legacy vanilla JS and CSS in
inc/Core/Admin/Pages/Jobs/andinc/Core/Admin/Settings/with modern React components. - Core Services: Integrated
HandlerServiceandStepTypeServicemore deeply into the API layer for consistent data resolution. - Scheduling: Refactored
UpdateFlowchat tool to support a unifiedscheduleparameter with interval validation.
[0.8.3] – 2026-01-03
Added
- Chat API Validation – Added strict provider and model validation to the Chat REST API.
- AI Default Fallbacks – Implemented automatic fallbacks to system-default provider and model settings in the chat endpoint.
Improved
- AI Architecture Roadmap – Updated migration documentation to reflect a temporary pause in
wp-ai-clientintegration due to dynamic API key requirements. - Dependency Management – Upgraded
chubes4/ai-http-clientto v2.0.8.
Technical Details
- Chat API: Enhanced
inc/Api/Chat/Chat.phpwith sanitized provider/model extraction andWP_Errorfeedback for missing configurations. - Migration: Updated
WP-AI-CLIENT-MIGRATION.mdwith critical blocker details regarding custom storage locations.
[0.8.2] – 2026-01-03
Added
- New AI Chat Tools – Expanded agent capabilities with four new specialized tools:
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
- Enhanced Logging System – Centralized logging in the
Stepbase class that automatically injectsjob_id,pipeline_id, andflow_idcontext into all step-related logs.
Improved
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
Technical Details
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
[0.8.1] – 2026-01-03
Added
- Log Filtering API – Added support for filtering log content by
pipeline_idandflow_idin the REST API andLogsManager. - UI State Management – Implemented optimistic updates for log clearing and a visual "Copied!" feedback state for the log copy button.
- Agent Intelligence – Updated
ChatAgentDirectivewith improved guidance for taxonomy discovery and management. - Code Consistency – Refactored
FetchStepandWordPresshandlers to use the improved centralized logging system.
Improved
- New Chat Tools:
inc/Api/Chat/Tools/ReadLogs.php,inc/Api/Chat/Tools/ManageLogs.php,inc/Api/Chat/Tools/CreateTaxonomyTerm.php,inc/Api/Chat/Tools/SearchTaxonomyTerms.php. - API Enhancements:
LogsManager::getContent()andGET /logs/contentnow acceptpipeline_idandflow_idparameters. - Log Context: Logging now automatically extracts context from
engine->getJobContext().
Technical Details
- New AI Chat Tools – Expanded agent capabilities with four new specialized tools:
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
- Enhanced Logging System – Centralized logging in the
Stepbase class that automatically injectsjob_id,pipeline_id, andflow_idcontext into all step-related logs.
[0.8.0] – 2026-01-03
Added
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
Improved
ReadLogs– Allows AI agent to retrieve and analyze execution logs for debugging.ManageLogs– Enables agent to clear logs and manage log levels.SearchTaxonomyTerms– Facilitates discovery of existing WordPress terms for better workflow configuration.CreateTaxonomyTerm– Allows agent to create new terms on-the-fly during workflow setup.
Changed
- Log Filtering API – Added support for filtering log content by
pipeline_idandflow_idin the REST API andLogsManager. - UI State Management – Implemented optimistic updates for log clearing and a visual "Copied!" feedback state for the log copy button.
- Agent Intelligence – Updated
ChatAgentDirectivewith improved guidance for taxonomy discovery and management. - Code Consistency – Refactored
FetchStepandWordPresshandlers to use the improved centralized logging system.
Removed
- New Chat Tools:
inc/Api/Chat/Tools/ReadLogs.php,inc/Api/Chat/Tools/ManageLogs.php,inc/Api/Chat/Tools/CreateTaxonomyTerm.php,inc/Api/Chat/Tools/SearchTaxonomyTerms.php. - API Enhancements:
LogsManager::getContent()andGET /logs/contentnow acceptpipeline_idandflow_idparameters. - Log Context: Logging now automatically extracts context from
engine->getJobContext().
[0.7.1] – 2026-01-02
Added
- Chat Persistence Architecture – Implemented conversation retrieval logic to maintain chat state across page refreshes.
- useChatQueryInvalidation Hook – New React hook for automatic TanStack Query cache invalidation when AI tools modify system state.
- REST Chat Retrieval – New
GET /chat/{session_id}endpoint for fetching historical conversation turns.
Improved
- Chat Session Management – Removed 24-hour expiration from
ChatDatabaseto support long-running development sessions. - UI Synchronization – Enhanced chat sidebar with prioritized reloading and query invalidation for better workflow continuity.
Technical Details
- New Core File:
inc/Core/Admin/Pages/Pipelines/assets/react/hooks/useChatQueryInvalidation.js - Session Continuity: Chat sessions now persist indefinitely in the database until manual deletion.
- Data Retrieval: Integrated
retrieve_session()method intoChatREST API class.
[0.7.0] – 2026-01-02
Added
- Cache Management Service – New
CacheManagerclass for centralized, cross-system cache invalidation. - Lazy Tool Resolution – Implemented lazy loading for AI tool definitions to prevent WordPress 6.7+ translation timing issues.
- Dynamic Invalidation Hooks – Added
datamachine_handler_registeredanddatamachine_step_type_registeredactions for real-time cache syncing.
Improved
- Service Layer Caching – Integrated high-performance caching into
HandlerService,StepTypeService, andHandlerDocumentation(2x faster discovery). - Chat Context Awareness – Enhanced AI chat endpoint with
selected_pipeline_idpayload, allowing agents to understand UI state. - Tool Registration Pattern – Updated
ToolRegistrationTraitand all chat tools to support callable definitions for lazy evaluation. - Documentation Utility – Optimized
HandlerDocumentationwith internal caching and slug-based invalidation detection.
Technical Details
- New Core File:
inc/Services/CacheManager.php - Lazy Loading: Tool definitions are now resolved only when first accessed, ensuring translations are loaded.
- Context Injection:
selected_pipeline_idpassed toChatPipelinesDirectivefor prioritized inventory awareness.
[0.6.25] – 2026-01-02
Added
- Integrated Chat Sidebar – New React-based AI chat interface embedded directly into the Pipeline Builder for real-time conversational workflow assistance.
- React Logs Interface – Complete migration of the Logs management page to a modern React architecture with improved filtering and performance.
- Step Type Registration Trait – Introduced
StepTypeRegistrationTraitto standardize registration for AI, Fetch, Publish, and Update steps. - AI Agent Context & Types – New
AgentContextandAgentTypeclasses for managing specialized AI personalities and execution contexts. - Shared Admin UI – Consolidated React components and styles into
/inc/Core/Admin/shared/for cross-page reusability.
Improved
- Service Layer Consistency – Refined
PipelineManagerandPipelineStepManagerwith standardized patterns and error handling. - Webpack Configuration – Updated to support multiple React entry points (Pipelines and Logs).
- Log Management – Enhanced
LogsManagerandLogsAPI for better filtering and retrieval of execution records.
Technical Details
- Step Architecture Refactoring – Removed individual filter classes for core steps in favor of trait-based registration.
- Migration Roadmap – Updated
WP-AI-CLIENT-MIGRATION.mdto target v0.9.0 for native AI client integration.
[0.6.24] – 2026-01-02
Added
- Legacy Logs Assets – Deleted legacy
admin-logs.jsand associated PHP template logic. - Step Filter Classes – Removed
AIStepFilters,FetchStepFilters,PublishStepFilters, andUpdateStepFilters.
Improved
- AI Context Enrichment – Enhanced
ChatPipelinesDirectiveto include flow summaries (ID, name, and active handlers) in the pipeline inventory, enabling the agent to learn from established configuration patterns. - Centralized Default Application – Added
HandlerService->applyDefaults()to provide a single source of truth for merging handler schema defaults with configuration.
Technical Details
- Chat Agent Directive – Refined
ChatAgentDirectivewith a focus on architecture-aware guidance, emphasizing handler roles and documented configuration patterns. - Flow Update Consistency – Refactored
FlowStepManagerandFlowsAPI to utilize the centralized default application logic, ensuring consistent configuration state across all entry points. - Classmap Cleanup – Removed legacy/unused tool entries from
composer.jsonto streamline the classloader.
[0.6.23] – 2025-12-30
Added
- New Service Method: Added
applyDefaults(string $handler_slug, array $config)toinc/Services/HandlerService.php. - Logic Consolidation: Removed
merge_handler_defaults()frominc/Api/Flows/Flows.phpin favor ofHandlerService. - Directive Updates: Significant content revision in
inc/Api/Chat/ChatAgentDirective.phpand context expansion ininc/Api/Chat/ChatPipelinesDirective.php.
Improved
- Modular AI Directive System – Complete overhaul of AI system prompts into a modular architecture using
DirectiveInterface,DirectiveRenderer, andDirectiveOutputValidator - Service Layer Expansion – Migrated
AuthProviderServiceandStepTypeServiceto the OOP services layer for better performance and maintainability - ChatPipelinesDirective – New specialized directive for handling pipeline-related context in AI conversations
- Cross-Pipeline Flow Copying – (v0.6.25) Implemented advanced flow duplication between different pipelines with automatic step mapping
Technical Details
- AI Architecture – Decoupled directive logic from monolithic strings into dedicated classes, improving agent reliability and prompt consistency
- PromptBuilder – Updated to utilize the new modular directive rendering engine
- Service Layer Performance – Enhanced
HandlerService,PipelineManager, andPipelineStepManagerwith standardized patterns - API Response Standardization – Unified response formats across Chat, Auth, Execute, and Flows endpoints
[0.6.22] – 2025-12-26
Changed
- New Core Components:
inc/Engine/AI/Directives/DirectiveInterface.php,inc/Engine/AI/Directives/DirectiveRenderer.php, andinc/Engine/AI/Directives/DirectiveOutputValidator.php - New Directives: Added
inc/Api/Chat/ChatPipelinesDirective.phpfor conversational pipeline management - New Services: Migrated
inc/Services/AuthProviderService.phpandinc/Services/StepTypeService.php - Plan Update: Updated
WP-AI-CLIENT-MIGRATION.mdto target v0.8.0 for native AI client integration
Technical Details
- Cross-Pipeline Flow Copying – Implemented advanced flow duplication that allows copying flows between different pipelines, with automatic step mapping and compatibility validation
- CopyFlow Chat Tool – New AI tool enabling the chat agent to perform complex flow copies with configuration overrides and schedule customization
- Step Configuration Overrides – Support for overriding handler settings and user messages during the flow copy process, enabling rapid creation of variations
[0.6.21] – 2025-12-25
Improved
- FlowManager Service – Enhanced with
copyToPipeline()method and internal mapping logic for robust flow duplication - Pipeline Compatibility Validation – Added systematic checks to ensure source and target pipelines have matching step structures before allowing cross-pipeline copies
Technical Details
- New Tool: Added
inc/Api/Chat/Tools/CopyFlow.phpfor conversational flow duplication - Service Enhancement: Refactored
inc/Services/FlowManager.phpto support cross-pipeline logic and configuration remapping - Validation Logic: Implemented
validatePipelineCompatibility()to ensure structural alignment between pipelines
[0.6.20] – 2025-12-25
Fixed
- Strict Handler Configuration Validation – Implemented automated schema-based validation for AI tools (
ConfigureFlowSteps), rejecting unknownhandler_configfields to improve agent reliability - Enhanced AI Tool Documentation – Refactored
HandlerDocumentationutility to include field types and descriptions in tool definitions, providing AI agents with better context for parameter selection
Improved
- AI Directives – Updated
ChatAgentDirectivewith refined guidance on pattern-based discovery, instructing agents to query existing flows before creating new workflows - Tool Logic – Enhanced
ConfigureFlowStepsandCreateFlowtool descriptions to emphasize pattern discovery and schema compliance
Technical Details
- Validation Logic: Added
validateHandlerConfig()method toinc/Api/Chat/Tools/ConfigureFlowSteps.phpfor real-time parameter checking - Documentation Refactoring: Updated
inc/Api/Chat/Tools/HandlerDocumentation.phpto parse and format field types and truncated descriptions - Directive Updates: Refined "Discovery" and "Configuration" sections in
inc/Api/Chat/ChatAgentDirective.php
[0.6.19] – 2025-12-24
Changed
- HandlerService – New centralized service for handler discovery, validation, and lookup across the plugin, improving architectural consistency and reliability
- Atomic CreateFlow Configurations – Enhanced the
CreateFlowAI tool to support optionalstep_configsduring flow creation, enabling the AI to create and fully configure a flow in a single step
Fixed
- AI Tool Performance – Optimized
CreateFlowtool to utilizeFlowStepManagerandHandlerServicefor more robust step-level configuration and validation
Technical Details
- New Service Layer Component: Added
inc/Services/HandlerService.phpto centralize handler-related business logic - Tool Logic Refactoring: Updated
inc/Api/Chat/Tools/CreateFlow.phpto support complex object parameters for atomic flow setup - Atomic Configuration: AI agents can now provide
handler_slug,handler_config, anduser_messagefor multiple steps duringcreate_flowtool calls
[0.6.18] – 2025-12-23
Improved
- TaxonomyHandler Logging Simplification – Removed unnecessary
logTaxonomyOperation()method and replaced with directdo_action('datamachine_log', ...)calls for cleaner code
Fixed
- Code Simplification: Eliminated 8 lines by removing intermediate logging method abstraction
- No Functional Changes: Logging behavior unchanged; removed unnecessary method wrapper
Technical Details
- WordPress Publish Schema Documentation – Enhanced content field description in WordPress publish handler schema to clarify that source URL attribution and images are handled automatically by the system
[0.6.17] – 2025-12-23
Improved
- Schema Clarity: Updated field description to prevent duplicate attribution or image handling in AI-generated content
- WordPress Publish Handler: Single line modified in schema definition for improved user/developer understanding
Technical Details
- Pipeline Step Configuration – Fixed AI provider property names from
ai_provider/ai_modeltoprovider/modelin PipelineStepCard inline editing - Mutation Pattern – Migrated ConfigureStepModal from direct API call to useUpdateSystemPrompt mutation for proper React Query integration
- Modal Success Callback – Added onSuccess prop propagation to ModalManager baseProps for consistent modal callback handling
[0.6.16] – 2025-12-23
Improved
- Tool Selection Logic – Removed unnecessary
configuredcheck from AIToolsSelector, now only filters byglobally_enabled - Code Cleanliness – Removed unused
useRefimport from ConfigureStepModal - Success Callback Handling – Simplified ConfigureStepModal success callback to remove redundant onSuccess check
Fixed
- React Query Pattern: ConfigureStepModal now uses mutation with automatic cache invalidation
- Data Contract Consistency: Fixed property name mismatch in PipelineStepCard inline editing
- Code Changes: 3 React components modified with improved mutation patterns and cleaner code
Technical Details
- WordPress Publishing Simplification – Removed content sanitization methods for duplicate prevention (reverts v0.6.18 approach)
- Removed
stripDuplicateSourceAttribution()andstripFeaturedImageFromContent()from WordPressPublishHelper - Simplified WordPress publish handler to rely on standard WordPress content sanitization
- Fixed indentation in WordPress publish handler
- Removed
[0.6.15] – 2025-12-23
Improved
- Removed
stripDuplicateSourceAttribution()andstripFeaturedImageFromContent()from WordPressPublishHelper - Simplified WordPress publish handler to rely on standard WordPress content sanitization
- Fixed indentation in WordPress publish handler
Technical Details
- Removed
stripDuplicateSourceAttribution()andstripFeaturedImageFromContent()from WordPressPublishHelper - Simplified WordPress publish handler to rely on standard WordPress content sanitization
- Fixed indentation in WordPress publish handler
[0.6.14] – 2025-12-23
Improved
- PHP Requirement Documentation – Corrected PHP requirement from 8.0 to 8.2 across all documentation files
- Version Inconsistencies – Updated composer.json version from 0.6.13 to current 0.6.19
Technical Details
- Code Reduction: -101 lines removed from WordPressPublishHelper.php
- Simplification: Content attribution and image handling now managed through standard WordPress sanitization only
[0.6.13] – 2025-12-23
Added
- WordPress Publishing Duplication Prevention – Added content sanitization to prevent duplicate source attribution and featured image references when AI-generated content is published
- Removes AI-generated source links before system adds its own attribution
- Removes featured image references from content (figure blocks, img tags, markdown images)
- Cleaner published content without redundant elements
Technical Details
- Removes AI-generated source links before system adds its own attribution
- Removes featured image references from content (figure blocks, img tags, markdown images)
- Cleaner published content without redundant elements
[0.6.12] – 2025-12-20
Improved
- Removes AI-generated source links before system adds its own attribution
- Removes featured image references from content (figure blocks, img tags, markdown images)
- Cleaner published content without redundant elements
Technical Details
- AI Step Configuration Loading State – Fixed race condition where AI step form could initialize before tools data finished loading
- Added
isLoadingToolsstate tracking to ConfigureStepModal - Form now waits for both providers and tools data before resetting
- Dropdowns properly disabled during async data loading
- Added
[0.6.11] – 2025-12-20
Added
- Added
isLoadingToolsstate tracking to ConfigureStepModal - Form now waits for both providers and tools data before resetting
- Dropdowns properly disabled during async data loading
Improved
- Added
isLoadingToolsstate tracking to ConfigureStepModal - Form now waits for both providers and tools data before resetting
- Dropdowns properly disabled during async data loading
Technical Details
- WordPressPublishHelper: Added
stripDuplicateSourceAttribution()with comprehensive regex patterns for duplicate detection - WordPressPublishHelper: Added
stripFeaturedImageFromContent()to prevent image duplication in published content - ConfigureStepModal: Enhanced useEffect with loading state checks to prevent premature form initialization
[0.6.10] – 2025-12-20
Improved
- OAuth2 Token Exchange Headers – Enhanced OAuth2Handler to support custom HTTP headers during token exchange (required for Reddit OAuth authentication which uses Basic Auth instead of standard Authorization header)
Changed
- OAuth2Handler::exchange_token(): Added custom header extraction and merging logic, allowing providers to override default Accept/Content-Type headers via
params['headers']parameter - Reddit OAuth Support: Enables proper token exchange for Reddit OAuth provider which requires Basic Authentication header
- Backward Compatibility: Default headers maintained for existing OAuth2 providers; custom headers only used when explicitly provided
Fixed
- OAuth Authentication Security – OAuth authorization URL now fetched from REST API before opening popup to ensure proper server-side state parameter generation
- OAuth Authentication UX – Added loading state with "Connecting…" indicator during OAuth URL fetch
- File Cleanup Scheduling Reliability – Changed from
inithook toaction_scheduler_inithook for more consistent scheduling
Technical Details
- AI Providers Tab – Fixed variable name in label
forattribute causing incorrect HTML ID references
[0.6.9] – 2025-12-20
Improved
- OAuthPopupHandler Component: Now calls
/auth/{handler_slug}/oauth-urlendpoint before opening popup, ensuring state parameter is created server-side - Security Enhancement: Server-side OAuth URL generation improves CSRF protection consistency
- Error Handling: Added try/catch block for OAuth URL fetch with proper error callback
Changed
- OAuth State Generation – Replaced WordPress nonces with cryptographically secure random bytes for OAuth 2.0 state parameter generation
- Changed
create_state()fromwp_create_nonce()tobin2hex(random_bytes(32))for stronger cryptographic security - Updated
verify_state()to remove nonce verification, now validates directly against transient storage with hash_equals() - Improved protection against CSRF attacks in OAuth callback flows across all OAuth2 providers
- Changed
Technical Details
- Changed
create_state()fromwp_create_nonce()tobin2hex(random_bytes(32))for stronger cryptographic security - Updated
verify_state()to remove nonce verification, now validates directly against transient storage with hash_equals() - Improved protection against CSRF attacks in OAuth callback flows across all OAuth2 providers
[0.6.8] – 2025-12-19
Improved
- Changed
create_state()fromwp_create_nonce()tobin2hex(random_bytes(32))for stronger cryptographic security - Updated
verify_state()to remove nonce verification, now validates directly against transient storage with hash_equals() - Improved protection against CSRF attacks in OAuth callback flows across all OAuth2 providers
Technical Details
- Security Enhancement: cryptographically secure 64-character hexadecimal state values (256-bit entropy) vs WordPress nonce limitations
- OAuth Providers: Applies to Google Sheets, Reddit, Facebook, and Threads OAuth authentication flows
- Validation: Simplified state verification logic with direct transient comparison and timing-attack safe hash_equals()
- Code Change: 2 lines modified in OAuth2Handler.php for cleaner, more secure OAuth state management
[0.6.7] – 2025-12-17
Improved
- OAuth Handler Refactoring – Removed duplicate OAuth state validation code from individual handler callback methods
- Centralized state verification now handled entirely by OAuth2Handler::handle_callback()
- Eliminated redundant state parameter validation across GoogleSheets, Reddit, Facebook, and Threads handlers
- Added proper PHPCS suppression comments explaining OAuth state parameter provides CSRF protection
Fixed
- Centralized state verification now handled entirely by OAuth2Handler::handle_callback()
- Eliminated redundant state parameter validation across GoogleSheets, Reddit, Facebook, and Threads handlers
- Added proper PHPCS suppression comments explaining OAuth state parameter provides CSRF protection
Technical Details
- Centralized state verification now handled entirely by OAuth2Handler::handle_callback()
- Eliminated redundant state parameter validation across GoogleSheets, Reddit, Facebook, and Threads handlers
- Added proper PHPCS suppression comments explaining OAuth state parameter provides CSRF protection
[0.6.6] – 2025-12-16
Improved
- Code Reduction: Removed ~30 lines of duplicate validation code from 4 OAuth handler files
- Security: CSRF protection maintained through centralized OAuth2Handler state verification
- Architecture: Cleaner separation of concerns with OAuth2Handler managing state validation logic
- Handler Updates: GoogleSheetsAuth, RedditAuth, FacebookAuth, ThreadsAuth simplified to delegate callback handling
Technical Details
- Plugin Activation Redirect – Users are automatically redirected to the Data Machine admin page after plugin activation for improved onboarding experience
- Smart redirect handling that skips bulk/network activation to prevent disruption
[0.6.5] – 2025-12-16
Changed
- New Function:
datamachine_activation_redirect()handles activation redirect with proper transient management - UX Enhancement: 30-second transient timeout ensures redirect only happens immediately after activation
- Safety Checks: Bulk/network activation detection prevents unwanted redirects
Technical Details
- Scheduler Group Migration: Updated Action Scheduler group from
'datamachine'to'data-machine'across all scheduled actions for WordPress.org compliance - Flow Re-scheduling on Activation: Added comprehensive flow re-scheduling logic in plugin activation to automatically resume scheduled flows after plugin reactivation or updates
- Plugin Activation Enhancements: Enhanced
datamachine_activate_plugin()with improved documentation and safety checks for flow re-scheduling operations - Code Cleanup: Removed redundant HTTP filter logic and streamlined code in DataMachineFilters.php
[0.6.4] – 2025-12-15
Added
- New Functions:
datamachine_activate_scheduled_flows()handles re-scheduling of recurring and one-time flows with error handling for fresh installs - Action Scheduler: Updated hook group references to
'data-machine'for proper scheduled action management - Logging: Added info-level logging for flow re-scheduling operations
- Safety Checks: Added checks to prevent re-scheduling on fresh installs without existing flows
Improved
- Flow Re-scheduling on Activation – Automatically re-schedules all flows with non-manual scheduling intervals when plugin is activated, ensuring workflows resume after plugin reactivation or updates
Fixed
- Plugin Activation – Enhanced
datamachine_activate_plugin()with comprehensive documentation and flow re-scheduling logic - Scheduler Reliability – Added safety checks and logging for flow re-scheduling operations
[0.6.3] – 2025-12-15
Improved
- New Functions:
datamachine_activate_scheduled_flows()handles re-scheduling of recurring and one-time flows on activation - Interval Support: Handles all scheduling intervals (every_5_minutes, hourly, every_2_hours, every_4_hours, qtrdaily, twicedaily, daily, weekly)
- Logging: Added logging for re-scheduling operations
- Backward Compatibility: Gracefully handles fresh installs and deployments without existing flows
[0.6.2] – 2025-12-14
Fixed
- React Query Cache Consistency: Fixed systematic query invalidation issues across pipeline step mutations (add, delete, reorder) to maintain cache coherency when pipelines and flows are modified
- Pipeline Creation UX: Enhanced
useCreatePipelinehook with callback support, enabling automatic pipeline selection after creation without manual state management - Code Cleanliness: Removed unused React hooks and API calls (
useFlow,usePipeline,fetchFlow) that were no longer serving any purpose in the application - Plugin Uninstallation: Added comprehensive cleanup of plugin-generated directories during uninstall (datamachine-files/ and datamachine-logs/ in uploads folder)
- Mutation Architecture: Improved separation of concerns by moving state updates from component callbacks to mutation
onSuccesshandlers
Added
- Query Invalidation Patterns: Consolidated single-pipeline queries to full pipeline list invalidation for more predictable cache behavior across all step-related mutations
- Callback Handling: Migrated from manual result handling in components to mutation option callbacks for cleaner, more maintainable code patterns
- Plugin Cleanup: Enhanced uninstall.php with recursive directory deletion helper and proper file cleanup sequence
Improved
- Cache Invalidation: Fixed
useAddPipelineStep,useDeletePipelineStep, anduseReorderPipelineStepsmutations to properly invalidate both pipelines and flows queries - Flow Execution: Removed unnecessary queryClient invalidation in
useRunFlowthat was invalidating non-existent single flow query - Plugin Hygiene: Added proper cleanup of temporary files and logs directory when plugin is uninstalled
[0.6.1] – 2025-12-10
Added
- React Query: Query invalidation now uses consistent patterns across all pipeline-related mutations
- Mutations: Enhanced
useCreatePipelineto accept options object for better extensibility and callback support - Cleanup: New
datamachine_recursive_delete()function in uninstall.php handles nested directory removal safely - Code Reduction: Removed ~30 lines of unused hook and query code
- Architecture: Improved component callback patterns following React best practices for mutation handling
Enhanced
- WordPress.org Plugin Repository Compliance: Standardized text domain from
'datamachine'to'data-machine'across entire codebase (~80 files, 200+ occurrences) to align with plugin slug requirement - Database Security Hardening: Refactored
JobsOperations::get_jobs_for_list_table()to use WordPress prepared statement parameters (%ifor table names) instead of manual validation logic - Plugin Architecture: Updated plugin filename from
datamachine.phptodata-machine.phpfor proper WordPress directory compatibility - Source Code Documentation: Added comprehensive "Source Code" section in readme.txt documenting React admin interface location, build instructions, and dependencies
Improved
- Plugin Filename: Main plugin file renamed from
datamachine.phptodata-machine.phpfor WordPress.org compliance (existing installations should verify plugin activation after update) - Build Process: Updated build.sh to reference new plugin filename and produce
data-machine.zipoutput - Action Scheduler: Updated hook group references from
'datamachine'to'data-machine'for proper scheduled action cleanup
Removed
- Text Domain Migration: Updated 80+ PHP files including API classes, admin pages, settings UI, fetch/publish/update handlers, OAuth providers, and service managers
- Database Query Security: Eliminated manual orderby/order validation in favor of explicit prepared queries for each allowed column (j.pipeline_id, j.flow_id, j.status, j.completed_at, p.pipeline_name, f.flow_name)
- Code Quality: Added proper phpcs directives (WordPress.DB.DirectDatabaseQuery, WordPress.DB.PreparedSQL) for standards compliance in database operations
- Build Validation: Enhanced build.sh to validate essential files exist and development files are properly excluded from production package
Documentation
- AI Tool Response Architecture: Refactored success message handling from filter-based system to direct tool-provided messages for better performance and structure
- Conversation Manager: Enhanced response formatting with key identifier extraction (flow IDs, pipeline IDs, post IDs) for clearer AI agent feedback
- CreateFlow Tool: Added duplicate flow detection to prevent creation of flows with identical names in the same pipeline
[0.6.0] – 2025-12-08
Milestone Release
- Code Changes: Removed filter-based message handlers across 4 global AI tools, consolidated message logic in ConversationManager
- Performance: Eliminated WordPress filter overhead in tool success message processing
- Architecture: Simplified tool response handling while maintaining backward compatibility
Enhanced
- Fetch Handler Consistency: Standardized empty response handling across all fetch handlers to return consistent empty arrays
- API Documentation: Updated processed-items API documentation to use "deduplication tracking" terminology for better clarity
- React Component Reliability: Added type-safe ID comparison utilities to prevent type coercion bugs in React components
- Version Number Consistency: Fixed inconsistent version numbers across plugin files and documentation
Changed
- Type Safety: Implemented ID utility functions (
isSameId,includesId,normalizeId) to handle string/number ID comparisons reliably - Component Updates: Updated FlowCard, FlowSteps, PipelineCheckboxTable, and flows query components to use type-safe ID utilities
Technical Details
- Code Cleanup: Standardized empty array returns in GoogleSheetsFetch and WordPressAPI handlers
- Documentation: Comprehensive API documentation updates for deduplication tracking endpoints
- React Improvements: New utils/ids.js utility file with type-safe ID comparison functions
[0.5.8] – 2025-12-05
Security
- Deduplication Tracking: Renamed "ProcessedItems" endpoints to "Deduplication Tracking" throughout documentation for better clarity
- Fetch Handler Consistency: Standardized empty response handling across GoogleSheets and WordPressAPI fetch handlers
- API Settings Display: Updated FlowSteps API to use improved handler settings display method for better configuration management
Enhanced
- Documentation: Updated API documentation to use consistent "deduplication tracking" terminology
- Code Cleanup: Removed inconsistent empty array returns in fetch handler methods
- API Enhancement: Improved handler settings retrieval in flow step configuration endpoints
Fixed
- License Update: Changed project license from proprietary to GPL-2.0-or-later for open-source compatibility
- PHP Version Requirement: Increased minimum PHP version from 8.0 to 8.2 for improved performance and features
- Dependency Updates: Updated composer dependencies including TwitterOAuth (^7.0 → ^8.1), PHPUnit (^10.0 → ^12.0), and WordPress stubs (^6.8 → ^6.9)
- Node.js Dependencies: Minor updates to @wordpress/scripts (^31.0.0 → ^31.1.0) and React Query (5.90.10 → 5.90.12)
- File Repository Architecture: Enhanced file cleanup directory naming to include flow ID for better isolation
- Fetch Handler Refactoring: Simplified base FetchHandler by removing unused successResponse() and emptyResponse() helper methods
- Handler Compatibility: Updated GoogleSheets and Reddit fetch handlers to use direct array returns instead of removed helper methods
[0.5.7] – 2025-12-05
Security
- Code Reduction: -19 lines from FetchHandler refactoring
- Compatibility: PHP 8.2+ now required; existing PHP 8.0/8.1 installations must upgrade
- Security: Updated dependencies address potential vulnerabilities in older versions
Fixed
- Optimistic UI Updates: Added optimistic updates and reconciliation logic for flow execution in FlowCard component
Documentation
- React Query Integration: Refactored flow components to use query hooks instead of direct API calls
- Flow Execution UX: Enhanced flow execution with queued status display and automatic result reconciliation
- API Documentation: Synchronized auth.md and handlers.md with actual response structures and authentication metadata
- Code Quality: Cleaned up excessive comments and improved prop handling across flow components
[0.5.6] – 2025-12-03
Enhanced
- Stable Tag: Updated README.md stable tag to reflect current version 0.6.3
Added
- React Components: Code cleanup and refactoring in flow-related components (FlowCard, FlowStepHandler, FlowsSection)
- Code Quality: Removed excessive comments, improved prop handling, and fixed linting issues
Technical Details
- Build Process: Fixed version extraction in build.sh to automatically parse from plugin file headers instead of requiring manual setting
- Pipeline UI: Fixed type consistency issues in React components where pipeline ID comparisons failed due to string/number mismatches
[0.5.5] – 2025-12-02
Fixed
- Optimistic Updates: Added optimistic UI updates for pipeline creation providing immediate feedback while API requests process
- Debug Logging: Added debug logging to AI conversation loop for tool call execution and results tracking
Removed
- AI Chat Agent: Enhanced chat agent directive with action bias guidance, configuration section, and improved context understanding
- UI State Management: Improved pipeline selection state handling with better null checking and string normalization
Technical Details
- AuthenticateHandler Chat Tool – New conversational tool for managing handler authentication via natural language
- Actions: list (all statuses), status (specific handler), configure (save credentials), get_oauth_url (OAuth providers), disconnect
- Security-aware design with warnings about credential visibility in chat logs
- OAuth URL REST Endpoint – New
GET /auth/{handler_slug}/oauth-urlfor programmatic OAuth URL retrieval - Config Status in Auth Responses – Auth status now returns masked credential indicators for better UX
[0.5.4] – 2025-12-02
Removed
- Actions: list (all statuses), status (specific handler), configure (save credentials), get_oauth_url (OAuth providers), disconnect
- Security-aware design with warnings about credential visibility in chat logs
Enhanced
- Actions: list (all statuses), status (specific handler), configure (save credentials), get_oauth_url (OAuth providers), disconnect
- Security-aware design with warnings about credential visibility in chat logs
[0.5.3] – 2025-12-02
Fixed
- OAuth Authentication Modal – Added "Change API Configuration" button for connected handlers, improved form visibility management
- Handler Registration – Added
auth_provider_keymetadata for flexible handler/auth provider mapping - Social Media Handlers – Fixed auth provider key registration for Twitter, Facebook, Threads, and Bluesky
Technical Details
- FileCleanup Architecture – Replaced
wp_delete_directory()with native PHP recursive deletion for better cross-platform reliability
[0.5.2] – 2025-12-02
Fixed
- Redundant OAuth Filter – Removed
datamachine_oauth_urlfilter (functionality moved to REST API)
Technical Details
- Added AuthenticateHandler tool documentation
- Updated Auth API documentation with OAuth URL endpoint
[0.5.1] – 2025-12-01
Changed
- WordPress Plugin Check Compliance: Complete code cleanup and modifications to pass WordPress plugin directory standards
- Testing Phase: Version prepared for comprehensive testing prior to WordPress.org release
Fixed
- Core Architecture: Services layer refinements and function name standardization for better code organization
- API Improvements: Enhanced Files API with expanded functionality, Jobs API updates, and improved endpoint consistency
- Chat Tools: Updated ConfigureFlowSteps tool with improved bulk operations, ExecuteWorkflowTool enhancements, and ApiQuery refinements
- Database Operations: Chat database improvements, job operations enhancements, and pipeline data handling updates
- OAuth System: Authentication handler updates across Google Sheets, Reddit, Facebook, Threads, and Twitter providers
- File Management: Enhanced FileCleanup and RemoteFileDownloader with improved error handling and validation
Technical Details
- Function Naming: Standardized function names in main plugin file (datamachine_run_datamachine_plugin, datamachine_activate_plugin_defaults)
- Documentation: Updated CLAUDE.md to reflect ConfigureFlowSteps tool improvements
- Admin Interface: Settings page refinements and UI component updates for better user experience
[0.5.0] – 2025-12-01
Added
- Code Changes: 54 files modified with 707 insertions and 691 deletions
- Architecture: Maintained backward compatibility while improving code quality and WordPress standards compliance
- Performance: Optimized database queries and API operations for better reliability
Changed
- Additional package security updates and dependency fixes
Improved
- RunFlow Tool: Improved timestamp validation logic for more reliable flow execution scheduling
- React UI Components: Added Zustand hydration checks to prevent initialization race conditions
- State Persistence: Enhanced UI store with better persistence configuration for cross-session memory
Technical Details
- Package Version Mismatch: Corrected package-lock.json version to match current release
[0.4.9] – 2025-11-30
Enhanced
- Updated ai-http-client dependency from v2.0.3 to v2.0.7 for security fixes
- Updated node-forge from 1.3.1 to 1.3.3 in package dependencies
Improved
- React hydration timing issue in PipelinesApp component that could cause race conditions during initialization
Added
- Added comprehensive AI Directives System documentation
- Added Import/Export System documentation
- Updated version references in documentation
Fixed
- ConfigureFlowSteps Tool: Renamed from ConfigureFlowStep (singular) and enhanced with bulk pipeline-scoped operations for configuring multiple flow steps across all flows in a pipeline
- FlowStepManager: Handler configuration updates now merge into existing config instead of replacing, enabling incremental configuration changes
- AIStep Image Handling: Improved vision image processing to use engine data as single source of truth for file paths and metadata
- UI State Persistence: Added localStorage persistence for selected pipeline in React UI store for cross-session memory
Technical Details
- HttpClient Documentation: Comprehensive documentation for the centralized HTTP client architecture at
/docs/core-system/http-client.md
[0.4.8] – 2025-11-30
Enhanced
- Bulk Operations: ConfigureFlowSteps tool now supports both single-step and pipeline-wide bulk configuration modes
- Merge Behavior: Handler config updates use array_merge for incremental changes rather than full replacement
- UI Enhancement: Pipeline selection persists across browser sessions using Zustand persist middleware
Technical Details
- Timezone Handling: Standardized UTC timezone usage across DateFormatter, Chat database, Flows scheduling, and file operations for better cross-timezone compatibility
- API Parameter Bug: Fixed pipeline title update endpoint to use correct
pipeline_idparameter instead ofid - Date Consistency: Improved GMT timestamp handling using
current_time('mysql', true)for consistent timezone-aware operations
[0.4.7] – 2025-11-30
Enhanced
- DynamicToolProvider.php: Removed unused abstract base class that was relocated to datamachine-events extension
Improved
- Timezone Standardization: All database date operations now use UTC timezone for consistent storage and retrieval
- API Reliability: Fixed parameter handling bug in pipeline management endpoints
Technical Details
- DynamicToolProvider Base Class – Removed unused abstract base class from core
- Pattern relocated to datamachine-events where it’s actually used
- See datamachine-events
DynamicToolParametersTraitfor the active implementation
[0.4.6] – 2025-11-30
Removed
- Pattern relocated to datamachine-events where it’s actually used
- See datamachine-events
DynamicToolParametersTraitfor the active implementation
Changed
- Pattern relocated to datamachine-events where it’s actually used
- See datamachine-events
DynamicToolParametersTraitfor the active implementation
Improved
- OAuth Authentication UX: Added redirect URL display in authentication modals for OAuth providers
- Handlers API: Enhanced OAuth provider metadata with callback URL information
- WordPress Settings: Improved taxonomy field label formatting in settings handlers
Technical Details
- Date Handling: Improved timezone-aware date parsing across DateFormatter, Chat database, and Flows scheduling using DateTime instead of strtotime
- DateFormatter: Removed inconsistent relative time functionality for consistent absolute date display
- Session Management: Enhanced chat session expiration checking with proper error handling for invalid dates
- Flow Scheduling: Better timestamp calculations for scheduling intervals with timezone support
[0.4.5] – 2025-11-30
Changed
- Date Consistency: Standardized DateTime usage with wp_timezone() across core database operations
- Error Handling: Added try/catch blocks for invalid date formats in critical paths
Improved
- ExecuteWorkflowTool: Improved REST request error handling for better reliability
- Flow Scheduling: Preserve last_run_at and last_run_status when updating schedule configuration
- Flow Data: Include last_run_status in flow API responses for better status tracking
- Date Formatting: Enhanced display formatting to show status indicators for failed or no-items runs
- Handler Settings Modal: Prevent duplicate settings enrichment when handler details load asynchronously
- Job Status Updates: Properly update flow last_run_status when jobs complete
- Pipeline Configuration: Use array format instead of JSON strings for pipeline_config consistency
Technical Details
- Data Contract Consistency: Standardized pipeline_config as arrays across service layer
- Error Handling: Improved REST API error response handling in chat tools
- UI Reliability: Fixed race conditions in React modal settings enrichment
[0.4.4] – 2025-11-29
Added
- ExecuteWorkflow Tool Architecture – Consolidated modular directory structure into streamlined single-file architecture
- Removed
ExecuteWorkflow/subdirectory with 4 separate files (DefaultsInjector, DocumentationBuilder, ExecuteWorkflowTool, WorkflowValidator) - Added consolidated
ExecuteWorkflowTool.phpthat delegates execution to the Execute API - Added shared
HandlerDocumentation.phputility for dynamic handler documentation generation
- Removed
- Data Contract Standardization – Centralized JSON encoding at database layer
- Service managers now pass arrays to database operations
- Database layer exclusively handles JSON encoding via
wp_json_encode() - Eliminated dual-support fallbacks for string vs array input across 6 files
- ConfigureFlowStep Tool – Enhanced with dynamic handler documentation in tool description
Enhanced
- Removed
ExecuteWorkflow/subdirectory with 4 separate files (DefaultsInjector, DocumentationBuilder, ExecuteWorkflowTool, WorkflowValidator) - Added consolidated
ExecuteWorkflowTool.phpthat delegates execution to the Execute API - Added shared
HandlerDocumentation.phputility for dynamic handler documentation generation
Improved
- Service managers now pass arrays to database operations
- Database layer exclusively handles JSON encoding via
wp_json_encode() - Eliminated dual-support fallbacks for string vs array input across 6 files
Technical Details
- Removed
ExecuteWorkflow/subdirectory with 4 separate files (DefaultsInjector, DocumentationBuilder, ExecuteWorkflowTool, WorkflowValidator) - Added consolidated
ExecuteWorkflowTool.phpthat delegates execution to the Execute API - Added shared
HandlerDocumentation.phputility for dynamic handler documentation generation
[0.4.3] – 2025-11-29
Added
- Service managers now pass arrays to database operations
- Database layer exclusively handles JSON encoding via
wp_json_encode() - Eliminated dual-support fallbacks for string vs array input across 6 files
Changed
- Ephemeral Workflow Execution – Fixed parameter key from
configtohandler_configin Execute API step processing
Removed
- Code Reduction: -612 lines from ExecuteWorkflow modular structure
- Code Addition: +300 lines for consolidated architecture
- Net Change: -645 lines for cleaner, more maintainable codebase
- Architecture: Single source of truth for JSON encoding eliminates type ambiguity
Technical Details
- HttpClient Class – New centralized HTTP client (
/inc/Core/HttpClient.php) providing standardized request handling, error management, and logging across all handlers - @since 0.5.0 – Added version annotation to HttpClient class documentation
[0.4.2] – 2025-11-29
Added
- HTTP Request Architecture – Complete migration from filter-based HTTP requests to centralized HttpClient usage across all fetch and publish handlers
- Handler Base Classes – Updated
FetchHandlerandPublishHandlerto integrate HttpClient for consistent HTTP operations - OAuth and Authentication – Enhanced OAuth2Handler and provider classes with improved HTTP client integration
Enhanced
- Error Handling – Standardized HTTP error responses and logging across all external API interactions
- Code Consistency – Unified HTTP request patterns eliminating duplication across 16+ handler files
- Performance – Optimized HTTP operations with consistent timeout handling and browser simulation capabilities
Changed
- New File: +251 lines in HttpClient.php
- Refactored Files: 18 handlers updated to use HttpClient
- Code Reduction: -114 lines removed from DataMachineFilters.php HTTP filter logic
- Compatibility: No breaking changes, fully backward compatible
Improved
- UI Layout Improvements – Restructured flow header and footer components for better information hierarchy
- Moved Flow ID display from header title area to footer for cleaner header layout
- Improved flow card header structure with better action button organization
- Enhanced FlowHeader and FlowFooter component layouts
[0.4.1] – 2025-11-29
Added
- Moved Flow ID display from header title area to footer for cleaner header layout
- Improved flow card header structure with better action button organization
- Enhanced FlowHeader and FlowFooter component layouts
Enhanced
- Moved Flow ID display from header title area to footer for cleaner header layout
- Improved flow card header structure with better action button organization
- Enhanced FlowHeader and FlowFooter component layouts
Technical Details
- Chat Tool Documentation – Enhanced RunFlow tool parameter descriptions for clearer immediate vs scheduled execution
- Improved timestamp parameter documentation to prevent confusion
- Better tool description clarity for AI agent usage
[0.4.0] – 2025-11-29
BREAKING CHANGES
- Improved timestamp parameter documentation to prevent confusion
- Better tool description clarity for AI agent usage
Added
- Improved timestamp parameter documentation to prevent confusion
- Better tool description clarity for AI agent usage
Changed
- Comprehensive Chat Tool Documentation – Created complete documentation for all 8 specialized chat tools
- AddPipelineStep – Pipeline step management with automatic flow synchronization
- ApiQuery – REST API discovery and query tool with comprehensive endpoint documentation
- ConfigureFlowStep – Flow step configuration for handlers and AI messages
- ConfigurePipelineStep – Pipeline-level AI settings configuration
- CreateFlow – Flow creation from existing pipelines
- CreatePipeline – Pipeline creation with optional predefined steps
- RunFlow – Flow execution and scheduling tool
- UpdateFlow – Flow property update tool
Improved
- AddPipelineStep – Pipeline step management with automatic flow synchronization
- ApiQuery – REST API discovery and query tool with comprehensive endpoint documentation
- ConfigureFlowStep – Flow step configuration for handlers and AI messages
- ConfigurePipelineStep – Pipeline-level AI settings configuration
- CreateFlow – Flow creation from existing pipelines
- CreatePipeline – Pipeline creation with optional predefined steps
- RunFlow – Flow execution and scheduling tool
- UpdateFlow – Flow property update tool
Technical Details
- AddPipelineStep – Pipeline step management with automatic flow synchronization
- ApiQuery – REST API discovery and query tool with comprehensive endpoint documentation
- ConfigureFlowStep – Flow step configuration for handlers and AI messages
- ConfigurePipelineStep – Pipeline-level AI settings configuration
- CreateFlow – Flow creation from existing pipelines
- CreatePipeline – Pipeline creation with optional predefined steps
- RunFlow – Flow execution and scheduling tool
- UpdateFlow – Flow property update tool
Documentation
- Modal Navigation – Added "Back to Settings" button option in OAuth authentication modal
- CSS Layout – Improved flow header alignment and modal width handling for better responsive design
- Documentation Version Synchronization – Updated all version references from v0.4.6 to v0.4.9 across documentation
[0.3.1] – 2025-11-26
Added
- Documentation: Added 8 new comprehensive tool documentation files
- Code Changes: +15 lines added, -25 lines removed across 10 modified files
- UI Components: Enhanced FlowHeader, FlowFooter, and OAuth modal components
- Compatibility: No breaking changes, fully backward compatible
- Components: Improved React component structure and CSS styling
Changed
- Chat Tools: Improved CreatePipeline tool with AI step parameter support (provider, model, system_prompt) and clearer flow creation messaging to prevent duplicate flow creation
- UI Improvements: Added flow ID display in flow headers for better identification and enhanced flow card layouts with improved header structure
- API Messaging: Updated execution success messages for better async operation clarity and job status tracking
[0.3.0] – 2025-11-26
Added
- Code Changes: +47 lines for UI enhancements and chat tool improvements
- Compatibility: No breaking changes, fully backward compatible
- Components: Enhanced FlowHeader and FlowCard React components with better layout and information display
Changed
- AI System Extensibility – Improved dynamic provider and step type validation across chat and execution APIs
- Chat API now validates AI providers dynamically using
chubes_ai_providersfilter instead of hardcoded enum - Execute API validates step types dynamically using
datamachine_step_typesfilter instead of hardcoded array - Flow scheduling intervals now use dynamic validation via
datamachine_scheduler_intervalsfilter
- Chat API now validates AI providers dynamically using
Improved
- Chat API now validates AI providers dynamically using
chubes_ai_providersfilter instead of hardcoded enum - Execute API validates step types dynamically using
datamachine_step_typesfilter instead of hardcoded array - Flow scheduling intervals now use dynamic validation via
datamachine_scheduler_intervalsfilter
[0.2.10] – 2025-11-25
Added
- Chat API now validates AI providers dynamically using
chubes_ai_providersfilter instead of hardcoded enum - Execute API validates step types dynamically using
datamachine_step_typesfilter instead of hardcoded array - Flow scheduling intervals now use dynamic validation via
datamachine_scheduler_intervalsfilter
Changed
- PromptBuilder Architecture – Streamlined directive application process with simplified build method
- Removed verbose directive tracking and logging for cleaner code execution
- Maintained core functionality while reducing code complexity
- Improved performance through reduced overhead in directive processing
Fixed
- Removed verbose directive tracking and logging for cleaner code execution
- Maintained core functionality while reducing code complexity
- Improved performance through reduced overhead in directive processing
Removed
- Removed verbose directive tracking and logging for cleaner code execution
- Maintained core functionality while reducing code complexity
- Improved performance through reduced overhead in directive processing
Documentation
- Code Reduction: -31 lines net change in PromptBuilder.php for improved maintainability
- API Flexibility: Dynamic validation enables easier extension of providers, step types, and scheduling intervals
- Architecture: Enhanced filter-based extensibility for core system components
[0.2.9] – 2025-11-25
Removed
- Centralized Cache System – Eliminated
inc/Engine/Actions/Cache.php(329 lines) anddocs/core-system/cache-management.md(398 lines)- Removed Cache action class with granular invalidation patterns
- Removed cache management documentation and architectural patterns
- Simplified DataMachineActions.php by removing cache registration
Changed
- Removed Cache action class with granular invalidation patterns
- Removed cache management documentation and architectural patterns
- Simplified DataMachineActions.php by removing cache registration
Technical
- Removed Cache action class with granular invalidation patterns
- Removed cache management documentation and architectural patterns
- Simplified DataMachineActions.php by removing cache registration
[0.2.8] – 2025-11-25
Added
- Architecture Simplification – Streamlined codebase through distributed caching approach
- Maintained essential caching in PluginSettings, SiteContext, and EngineData
- Eliminated centralized cache management in favor of component-level caching
- Reduced code complexity and maintenance overhead
Changed
- Maintained essential caching in PluginSettings, SiteContext, and EngineData
- Eliminated centralized cache management in favor of component-level caching
- Reduced code complexity and maintenance overhead
Documentation
- Maintained essential caching in PluginSettings, SiteContext, and EngineData
- Eliminated centralized cache management in favor of component-level caching
- Reduced code complexity and maintenance overhead
[0.2.7] – 2025-11-24
BREAKING CHANGES
- Codebase Efficiency – Net reduction of 1,602 lines across 27 files
- Simplified database operation files and service managers
- Consolidated documentation and removed redundant content
- Enhanced maintainability through architectural simplification
Added
- Simplified database operation files and service managers
- Consolidated documentation and removed redundant content
- Enhanced maintainability through architectural simplification
Removed
- Simplified database operation files and service managers
- Consolidated documentation and removed redundant content
- Enhanced maintainability through architectural simplification
Changed
- Code Reduction: -1,602 lines net change across 27 modified files
- Architecture: Transition from centralized to distributed caching model
- Performance: Maintained caching benefits while reducing system complexity
- Compatibility: No breaking changes to APIs or user-facing functionality
Improved
- ChatAgentDirective – Simplified system prompt by removing verbose API documentation (-219 lines)
- Chat Agent UX – Streamlined directive from detailed handler tables to focused workflow guidance
- System Prompt Architecture – Shifted from comprehensive API reference to high-level workflow assistance
Documentation
- Chat Agent Performance – Reduced system prompt complexity for better AI agent focus
- Documentation Separation – API discovery now handled via
api_querytool instead of system prompt - Maintainability – Simplified directive structure easier to maintain and update
[0.2.6] – 2025-11-23
Added
- Code Reduction: -212 lines net change in ChatAgentDirective
- Architecture: Cleaner separation between system guidance and API discovery
- Focus: Chat agent now emphasizes workflow configuration over API documentation
Changed
- ConfigurePipelineStep Chat Tool – Specialized tool for configuring pipeline-level AI step settings including system prompt, provider, model, and enabled tools
- RunFlow Chat Tool – Dedicated tool for executing existing flows immediately or scheduling delayed execution with proper validation
- UpdateFlow Chat Tool – Focused tool for updating flow-level properties including title and scheduling configuration
Improved
- ChatAgentDirective – Updated system prompt documentation to include new specialized tools and improved workflow patterns
- ApiQuery Tool – Enhanced REST API query tool with comprehensive endpoint documentation for better discovery
- ExecuteWorkflowTool – Improved workflow execution with better error handling and response formatting
- DocumentationBuilder – Enhanced dynamic documentation generation from registered handlers
Fixed
- Chat Tool Architecture – Expanded specialized tool ecosystem for better AI agent performance and task separation
- Tool Validation – Added comprehensive parameter validation across all new chat tools
- Error Handling – Standardized error responses and success messages across new tools
- Documentation – Updated tool descriptions and parameter documentation for clarity
Documentation
- Tool Specialization: 3 new specialized tools added to chat agent toolkit
- Code Addition: +447 lines of new specialized chat tool functionality
- Enhanced Capabilities: Better AI agent performance through focused, operation-specific tools
[0.2.5] – 2025-11-20
Added
- Specialized Chat Tools System – Complete refactoring replacing generic MakeAPIRequest with focused, operation-specific tools:
- AddPipelineStep Tool – Adds steps to existing pipelines with automatic flow synchronization
- ApiQuery Tool – Dedicated REST API query tool with comprehensive endpoint documentation
- CreatePipeline Tool – Enhanced pipeline creation with optional predefined steps
- CreateFlow Tool – Streamlined flow creation from existing pipelines
- ConfigureFlowStep Tool – Focused tool for configuring handlers and AI messages
Changed
- AddPipelineStep Tool – Adds steps to existing pipelines with automatic flow synchronization
- ApiQuery Tool – Dedicated REST API query tool with comprehensive endpoint documentation
- CreatePipeline Tool – Enhanced pipeline creation with optional predefined steps
- CreateFlow Tool – Streamlined flow creation from existing pipelines
- ConfigureFlowStep Tool – Focused tool for configuring handlers and AI messages
[0.2.4] – 2025-11-20
Added
- AddPipelineStep Tool – Adds steps to existing pipelines with automatic flow synchronization
- ApiQuery Tool – Dedicated REST API query tool with comprehensive endpoint documentation
- CreatePipeline Tool – Enhanced pipeline creation with optional predefined steps
- CreateFlow Tool – Streamlined flow creation from existing pipelines
- ConfigureFlowStep Tool – Focused tool for configuring handlers and AI messages
Changed
- Chat Agent Architecture – Migrated from generic API tool to specialized tools for improved AI agent performance
- Tool Separation of Concerns – Clear division between workflow operations and API management
- Composer Autoload Configuration – Updated to include new specialized tools
Removed
- MakeAPIRequest Tool – Eliminated generic tool in favor of specialized, focused tools
Fixed
- Tool Specialization: 5 specialized tools replace 1 generic tool for better operation accuracy
- Code Optimization: Net +400 lines for dramatically improved AI agent capabilities
Technical Details
- CreateFlow Chat Tool – Specialized tool for creating flow instances from existing pipelines with automatic step synchronization
- Validates pipeline_id and scheduling configuration
- Returns flow_step_ids for subsequent configuration
- Supports all scheduling intervals (manual, hourly, daily, weekly, monthly, one_time)
- ConfigureFlowStep Chat Tool – Focused tool for configuring flow step handlers and AI user messages
- Supports handler configuration for fetch/publish/update steps
- Supports user_message configuration for AI steps
- Uses flow_step_ids returned from create_flow tool
[0.2.3] – 2025-11-20
Added
- Validates pipeline_id and scheduling configuration
- Returns flow_step_ids for subsequent configuration
- Supports all scheduling intervals (manual, hourly, daily, weekly, monthly, one_time)
Improved
- Supports handler configuration for fetch/publish/update steps
- Supports user_message configuration for AI steps
- Uses flow_step_ids returned from create_flow tool
Removed
- Validates pipeline_id and scheduling configuration
- Returns flow_step_ids for subsequent configuration
- Supports all scheduling intervals (manual, hourly, daily, weekly, monthly, one_time)
[0.2.2] – 2025-11-19
Added
- Supports handler configuration for fetch/publish/update steps
- Supports user_message configuration for AI steps
- Uses flow_step_ids returned from create_flow tool
Improved
- Chat API Response Structure – Added completion status and warning system
- Added
completedfield to indicate conversation completion status - Added
warningfield for conversation turn limit notifications - Improved response data organization for better client handling
- Added
Removed
- Added
completedfield to indicate conversation completion status - Added
warningfield for conversation turn limit notifications - Improved response data organization for better client handling
Technical Details
- Added
completedfield to indicate conversation completion status - Added
warningfield for conversation turn limit notifications - Improved response data organization for better client handling
[0.2.1] – 2025-11-18
Added
- MakeAPIRequest Tool Documentation – Updated to reference specialized tools for cleaner separation of concerns
- Removed flow creation and step configuration endpoints from tool scope
- Added clear references to create_flow and configure_flow_step tools
- Simplified endpoint documentation to focus on monitoring and management operations
Improved
- Removed flow creation and step configuration endpoints from tool scope
- Added clear references to create_flow and configure_flow_step tools
- Simplified endpoint documentation to focus on monitoring and management operations
[0.2.0] – 2025-11-14
Added
- Removed flow creation and step configuration endpoints from tool scope
- Added clear references to create_flow and configure_flow_step tools
- Simplified endpoint documentation to focus on monitoring and management operations
Changed
- Chat Tool Architecture – Better specialization with dedicated tools for specific workflow operations
- Conversation Management – Enhanced warning system when maximum conversation turns are reached
- Tool Separation – Clearer division between workflow creation/configuration (specialized tools) and API management (MakeAPIRequest)
Improved
- DynamicToolProvider Base Class – New abstract base class for engine-aware tool parameter providers
- Prevents AI from requesting parameters that already exist in engine data
- Centralized pattern for dynamic tool parameter filtering
Removed
- Prevents AI from requesting parameters that already exist in engine data
- Centralized pattern for dynamic tool parameter filtering
Deprecated
- Prevents AI from requesting parameters that already exist in engine data
- Centralized pattern for dynamic tool parameter filtering
Fixed
- ToolExecutor – Added engine_data parameter to getAvailableTools() for dynamic tool generation
- HandlerRegistrationTrait – Updated AI tools filter registration to pass 4 parameters (added engine_data)
- AIStep – Enhanced to pass engine data to tool executor for better tool availability determination
Improved
- AI Tool Intelligence: Tools now dynamically adjust parameters based on existing engine data values
- Parameter Filtering: Prevents redundant parameter requests in AI conversations
- Engine Awareness: Tool system now considers workflow context for parameter requirements
[0.1.2] – 2025-10-10
Security
- Complete Service Layer Migration – Replaced filter-based action system with direct OOP service manager architecture
- Removed
inc/Engine/Actions/Delete.php(581 lines) – UseDataMachineServices*Managerclasses instead - Removed
inc/Engine/Actions/Update.php(396 lines) – Use dedicated service managers - Removed
inc/Engine/Actions/FailJob.php(94 lines) – Integrated into service managers - Removed
inc/Engine/Filters/Create.php(540 lines) – Use service manager create methods - Note: All REST API endpoints maintain identical signatures – no breaking changes for frontend consumers
- Removed
Fixed
- Removed
inc/Engine/Actions/Delete.php(581 lines) – UseDataMachineServices*Managerclasses instead - Removed
inc/Engine/Actions/Update.php(396 lines) – Use dedicated service managers - Removed
inc/Engine/Actions/FailJob.php(94 lines) – Integrated into service managers - Removed
inc/Engine/Filters/Create.php(540 lines) – Use service manager create methods - Note: All REST API endpoints maintain identical signatures – no breaking changes for frontend consumers
Changed
- Removed
inc/Engine/Actions/Delete.php(581 lines) – UseDataMachineServices*Managerclasses instead - Removed
inc/Engine/Actions/Update.php(396 lines) – Use dedicated service managers - Removed
inc/Engine/Actions/FailJob.php(94 lines) – Integrated into service managers - Removed
inc/Engine/Filters/Create.php(540 lines) – Use service manager create methods - Note: All REST API endpoints maintain identical signatures – no breaking changes for frontend consumers
Improved
- Services Layer Architecture (
/inc/Services/) – New centralized business logic with 7 dedicated manager classes:- FlowManager – Complete flow CRUD operations with validation and error handling
- FlowStepManager – Flow step management with pipeline synchronization
- PipelineManager – Pipeline operations with cascade handling
- PipelineStepManager – Pipeline step management and ordering
- JobManager – Job lifecycle management and status tracking
- LogsManager – Centralized logging operations with filtering
- ProcessedItemsManager – Processed items tracking and cleanup operations
- Enhanced React Components – Improved form handling and modal management:
- HandlerSettingField.jsx – Better form validation and state management
- HandlerSettingsModal.jsx – Enhanced modal architecture with cleaner state handling
- FlowCard.jsx & FlowHeader.jsx – Improved UI consistency and interaction patterns
Removed
- FlowManager – Complete flow CRUD operations with validation and error handling
- FlowStepManager – Flow step management with pipeline synchronization
- PipelineManager – Pipeline operations with cascade handling
- PipelineStepManager – Pipeline step management and ordering
- JobManager – Job lifecycle management and status tracking
- LogsManager – Centralized logging operations with filtering
- ProcessedItemsManager – Processed items tracking and cleanup operations
[0.1.1] – 2025-09-24
Added
- HandlerSettingField.jsx – Better form validation and state management
- HandlerSettingsModal.jsx – Enhanced modal architecture with cleaner state handling
- FlowCard.jsx & FlowHeader.jsx – Improved UI consistency and interaction patterns
Removed
- FlowManager – Complete flow CRUD operations with validation and error handling
- FlowStepManager – Flow step management with pipeline synchronization
- PipelineManager – Pipeline operations with cascade handling
- PipelineStepManager – Pipeline step management and ordering
- JobManager – Job lifecycle management and status tracking
- LogsManager – Centralized logging operations with filtering
- ProcessedItemsManager – Processed items tracking and cleanup operations
Improved
- HandlerSettingField.jsx – Better form validation and state management
- HandlerSettingsModal.jsx – Enhanced modal architecture with cleaner state handling
- FlowCard.jsx & FlowHeader.jsx – Improved UI consistency and interaction patterns
Technical Details
- API Layer Refactoring – All REST endpoints now use service managers instead of filter indirection:
- Direct service instantiation:
$manager = new FlowManager() - Eliminated filter-based action calls:
do_action('datamachine_delete_flow', $flow_id) - Improved error handling with proper WP_Error objects
- Enhanced input validation and sanitization
- Direct service instantiation:
- Performance Optimization – 3x faster execution paths through direct method calls vs filter resolution
- Code Organization – Centralized business logic in dedicated service classes following single responsibility principle
- Enhanced FetchHandler – Improved base class with better error handling and logging
- Streamlined Engine Actions – Removed redundant cache management and simplified action handling
[0.1.0] – 2025-09-20
Added
- Direct service instantiation:
$manager = new FlowManager() - Eliminated filter-based action calls:
do_action('datamachine_delete_flow', $flow_id) - Improved error handling with proper WP_Error objects
- Enhanced input validation and sanitization