v0.9.4
Latest
2026-06-10
Fixed
- Task queue filtering by pipeline with "All owners" returned HTTP 400 — empty optional query parameters are now treated as absent, so unset filters no longer reject valid requests
- Updates page now shows the actual release date of the latest version alongside the license update window, on both the "Update available" and "Up to date" cards
v0.9.3
Stable
2026-06-04
Fixed
- New Deal form opened from a modal (Reports, Pipeline, or deal list) displayed a raw AJAX payload instead of rendering the board after Save — modal
contentTemplatenow targets the rendering controllers directly. Full-page create/edit was unaffected
v0.9.2
Stable
2026-06-04
Fixed
- Complete, verified build — the v0.9.1 archive was built from a stale source and omitted required controller classes, causing HTTP 500 on deal pages for fresh installs. Release archives are now produced solely from the canonical packaging step
- v0.9.1 is withdrawn — anyone on v0.9.1 should upgrade to v0.9.2 or later. v0.9.0 is unaffected
v0.9.1
Withdrawn
2026-03-26
Fixed
- Sub-controller container injection causing 500 errors on deal routes — replaced
container->get()calls with reflection-based constructor injection - Null guard missing on
getDateModified()in stale deals dashboard widget — prevented crash when date is unset - Null guard missing on
getDueAt()in deal view task list — prevented crash when task has no due date - ViewModel DI exclusion for Mautic 5/6 (Symfony 5.x does not support
excludeon tagged service registrations) - Table name prefix in E2E seed queries — corrected to
mautic_dealflow_*prefix - CI upgrade workflow: v0.8.0 compat patch now uses
setMethodCalls()instead ofsetArguments()
Improved
- Test suite expanded to 1,693 tests (1,683 unit + 10 integration), 3,929 assertions — mutation score index raised toward 65%
- Multi-version CI pipeline — gate, integration, E2E, and upgrade workflows covering Mautic 5, 6, and 7
- Pipeline and stage listing API endpoints added for n8n integration
- CI now uses full Mautic checkout for gate workflow (replaces stale core-lib approach)
v0.9.0
Stable
2026-03-25
Added
- Mautic 7 compatibility — all controllers registered as services, forward() pattern for sub-controller delegation
- Compat layer:
MauticVersionAdapterand Twig extension for cross-version rendering differences (Mautic 5/6/7) - Deprecation subscriber — instruments legacy routes with structured logging for future removal
- UI layer decomposition: ViewModels, extracted JavaScript assets, and reusable template partials
- CLI update command — replaces web-request file operations for safer plugin self-updates
- Integration tests for DBAL table name resolution in
DealRepositoryandDealAuditEventRepository - Domain rebrand: all internal references updated from
mauticdealflow.comtodealflowplugin.com
Fixed
- API controller crash caused by
container->get()—serializeDeal()now acceptsDealFieldManageras a parameter - Deal title blank TypeError —
setTitle()signature made nullable (?string) - Add note CSRF: controller now reads
mauticAjaxCsrfheader and handles XHR branch correctly - Deal note errors: proper error feedback, HTML rendering of note body, edit button wiring
- Stage move via kanban now uses AJAX fetch instead of full-page form POST
- Circular reference: removed duplicate GlobalSearch service registration
- Mautic 5/6 compatibility shim for
indexButtonblock alongsidepreHeader
Improved
- DealRepository refactoring: shared query filters, grouped aggregates, set-based SQL for batch operations
- DealManager single-flush refactor — eliminated double-flush pattern to prevent race conditions
- Webhook curl test suite for inbound webhook sources
- README and
composer.jsonupdated for multi-version support and brand compliance
v0.8.8
Stable
2026-03-25
Added
- Pipeline Velocity Calculator — new service computing average days per stage, conversion rates by stage type, and deal throughput over configurable time windows
- Stage count display on kanban board now shows deal count and total amount per stage
- Responsive styles for all Deal Flow views — tested at 375px, 768px, and 1440px viewports
Fixed
- Deal status not syncing when moved to won/lost stages —
moveToStage()now writes status alongside stage_id in the same DBAL update - DealField form: Chosen.js dropdown show/hide broken when switching field type — replaced vanilla
addEventListenerwith Mautic®'smQueryevent binding - DealField form: empty submit caused a 500 — added client-side and server-side validation
- WYSIWYG editors: migrated note fields from CKEditor 4 to Mautic 7's CKEditor 5 API
- Pre-existing test failures in 4 categories resolved (36 tests)
Improved
- Removed global subnav includes from all Deal Flow views — navigation is now context-appropriate per page
- Kanban board: white board background, debounced search, cleaner stage empty states
v0.8.7
Stable
2026-03-23
Added
- License system with per-subdomain key enforcement
- Auto-update check — Deal Flow checks for new versions and prompts in the Mautic admin
- Integration tests for critical database operations (Doctrine lifecycle, flush/persist)
- Mutation testing infrastructure (Infection PHP) — 61% MSI baseline
Fixed
- CSRF token validation on kanban stage move
- API stage move returning 500 on certain pipeline configurations
- Plugin overlay showing incorrect status during activation
v0.8.0
Initial Release
2026-03-15
Added
- Kanban pipeline board with drag-and-drop stage moves
- Buying Committee table with role assignment per contact
- Inbound webhooks with per-source HMAC signing
- Outbound events via Mautic's native webhook system
- Dashboard widgets with AJAX config popovers
- Contact timeline injection in deal view
- Global search integration
- Deal CRUD — create, edit, view, and batch archive with full field set
- Multiple pipelines with configurable stages (open, won, lost types)
- Deal notes posted to the deal timeline
- Deal tasks with due dates and assignees
- Contact association — link Mautic contacts to deals
- Custom deal fields (text, select, date, number types)
- Pipeline reports with won/lost metrics and velocity
- Task queue view across all deals
- Permission system (view own, view other, edit, delete per entity)
- Deal attachments with download links
- Audit log — every deal change tracked with user and timestamp