Skip to content

Release history

DreamFactory releases

Turns any SQL/NoSQL/Structured data into Restful API.

All releases

8 shown

Review required
7.6.0 Breaking risk
Auth RBAC RCE / SSRF +1 more

AI services + security hardening

7.5.0 Breaking risk
⚠ Upgrade required
  • Security fixes are cumulative — upgrading is recommended for all deployments.
  • Password‑reset / invite URLs now include an `/auth/` prefix; update any external tooling that builds or parses these links.
  • MCP transport change to JSON responses is server‑side and transparent, but verify custom MCP clients handle JSON as expected.
Breaking changes
  • MCP server transport switched from SSE streams to JSON responses
  • Password‑reset and email‑invite URLs now require an `/auth/` prefix
Security fixes
  • df-core: Fixed auth bypass, widened OAuth filter blocklist, removed token logging, reverted narrowing change to protect all OAuth methods
  • df-core: Replaced `rand()` with `random_int()` in `generateConfirmationCode()` (timing‑attack mitigation)
  • df-oauth: Fixed unsafe deserialization and timing‑attack vector
Notable features
  • GitHub as a first‑class MCP utility service with admin UI configuration
  • Custom‑tool lookup picker in the admin UI for inserting DreamFactory lookups
  • Unsaved‑changes guard for custom MCP tools preventing silent loss of changes
Full changelog

DreamFactory v7.5.0

DreamFactory v7.5.0 delivers a platform-wide 2026-04 security hardening pass (auth bypass, SQL injection, SSRF, unsafe deserialization, and timing-attack fixes across most packages), introduces GitHub as a first-class MCP utility service, adds a custom-tool lookup picker and unsaved-changes save guard to the admin UI, switches the MCP server from SSE streams to JSON responses with stale-stream eviction to prevent PHP worker lockups, and ships a new Jest + Playwright CI test harness for the admin interface.

New Features

GitHub MCP Utility Service

  • New DreamFactory utility-service integration for GitHub — custom MCP tooling can call GitHub as a first-class service so AI agents reach repositories, issues, and pull requests without custom auth plumbing
  • Admin UI elements for configuring the GitHub integration end-to-end

Custom MCP Tool Lookup Picker

  • Added a lookup picker for custom MCP tools — admins can insert DreamFactory lookup values into custom-tool configuration through the UI instead of hand-typing keys
  • Inline JSON/JS lint-error display for custom tool bodies, with error notifications on static-header JSON

Unsaved-Changes Guard for MCP Custom Tools

  • Added a save guard that detects unsaved custom-tool changes when saving an MCP service and surfaces a contextual popup with persist/discard options (replaces the previous silent-drop behavior)
  • Fixed a related issue where custom tools were not persisted on first service creation or on re-save without IDs

MCP OAuth Direct Redirect Workflow

  • MCP services can now declare an OAuth service for direct redirect — the MCP client is sent straight through the OAuth flow, skipping the DreamFactory UI login and removing a step from the desktop MCP connect experience

Security

Authentication & Authorization

  • df-core: Fixed auth bypass, widened the OAuth filter blocklist, removed token logging; reverted an earlier change that had narrowed OAuth method coverage so all meth
    ods are now protected again
  • df-core: Replaced rand() with random_int() in generateConfirmationCode()
  • df-core: Added /auth/ prefix to password-reset and email-invite URLs so they route through the authenticated handler
  • df-system: Removed the admin flag from password-reset email URLs
  • df-script: Replaced uniqid() with random_bytes(32) for script auth tokens
  • df-oauth: Fixed unsafe deserialization, a timing-attack vector, an open-redirect, and a name-field bug

SQL Injection Hardening

  • df-sqldb: Fixed SQL injection in MySQL INOUT stored-procedure parameters (regression test added)
  • df-sqldb: Fixed SQL injection in ORDER BY, GROUP BY, filter, and expression handling; widened expression/filter checks from allowlist to blocklist
  • df-database: db_function template value substitution now uses quoteValue() to prevent injection via template expansion

SSRF & Request Integrity

  • df-system: Added SSRF validation to import_url endpoints on Package, Import, and App resources
  • df-mcp-server: Fixed host-header injection, OAuth-redirect issues, and session leaks; CORS posture re-widened explicitly for MCP's inherently-external clients after
    being tightened in the scan

Admin UI

  • df-admin-interface: Added a same-origin check to handleRedirectIfPresent
  • df-admin-interface: Updated npm dependencies to eliminate critical CVEs surfaced by the scan

MCP Server

Transport & Stability

  • Switched MCP responses from SSE streams to JSON, with guards around remaining SSE streams to prevent PHP worker lockups when multiple MCP session connections arrive concurrently
  • Stale-SSE-stream eviction on reconnect — resolves 409 errors clients previously saw when reconnecting to an MCP session

Custom Tools

  • Fixed order-of-operations for custom-tool role checks against services — role rules now evaluate consistently with other service-level authorization
  • Custom tools persist correctly on first service creation and on re-save without IDs

Admin UI

Event Scripts

  • Script Type dropdown now populates for services whose names contain underscores
  • Fixed scriptMethod wiring and added fallback behavior when the method name is empty
  • Event-script services are fetched lazily on open (events on service selection), cutting initial page load on large instances
  • /system/event responses exempted from the snake→camelCase interceptor so event identifiers are returned raw

Editor & Loading States

  • Permitted top-level await in the Ace JavaScript lint worker under module:true
  • Fixed a stuck loading spinner that could persist after rapid concurrent requests

SQL Databases

  • df-sqldb: Fixed a regression where null values in additional SQL init statements caused service errors at startup
  • Blocklist-based filter/expression validation (from the security hardening above) now applies uniformly across all SQL connectors

Performance

  • df-system: Added a services_only fast path to the system/event resource, avoiding a full event walk when callers only need the service enumeration
  • df-admin-interface: Deferred event-script fetching until the user opens the section, with a secondary fetch on service selection

Testing & CI

  • df-admin-interface: Jest wired into CI with regression specs covering the 2026-04 fixes
  • df-admin-interface: Playwright scaffold with smoke specs and a dedicated CI workflow, scoped to manual/nightly to keep PR CI fast
  • df-admin-interface: UI automation affordances added and a discovery spec reporting navigation automation limits
  • df-admin-interface: Dropped the pre-existing lint gate from default CI (lint still runs, just non-blocking)
  • Test-suite hardening across df-sqldb (PHPUnit 9 compatibility, driver/host config, reliable cleanup), df-database (void return type on tearDown()), df-syst
    em
    (explicit admin auth, order-independent assertions, stronger fixture passwords), and df-user (fixture passwords updated for stronger strength policy)

Upgrade Notes

  • Security fixes are cumulative — upgrading is recommended for all deployments. The 2026-04 security scan covers auth bypass, SQL injection, SSRF, unsafe deserializati
    on, and timing-attack vectors across multiple packages.
  • Password-reset / invite URLs now include an /auth/ prefix. Update any external tooling that parses or constructs DreamFactory reset URLs.
  • MCP transport: The MCP server now returns JSON instead of SSE for most flows. Compliant MCP clients require no changes — the switch is server-side and transparent.
  • MCP custom tool persistence: Tools that previously appeared to be "lost" on service creation in 7.4.x will now persist correctly; re-verify any that were affected.
  • Password strength policy: The df-user fixture-password hardening reflects a stronger strength policy. Deployments relying on weak programmatic passwords (e.g., old C
    I fixtures or seeded test accounts) may need to update them.
  • Platform baseline is unchanged from 7.4.x (PHP 8.3 / Laravel 11). No host-level upgrade is required.
  • Standard upgrade process applies for all other changes.

Full Changelog: https://github.com/dreamfactorysoftware/dreamfactory/compare/7.4.5...7.5.0

7.4.5 New feature
⚠ Upgrade required
  • MCP server users: The new `aggregate_data` tool is automatically available on all database services connected to your MCP server. No configuration changes are required.
  • Server‑side aggregate expression support in the `fields` parameter is backward‑compatible; existing queries remain unaffected.
Notable features
  • Dedicated `aggregate_data` MCP tool for SUM, COUNT, AVG, MIN, MAX with server‑side grouping (`groupBy`) and filtering.
  • Server‑side aggregate expressions supported in the `fields` query parameter across all SQL connectors.
Full changelog

DreamFactory v7.4.5 introduces a dedicated aggregate data tool for MCP-connected AI agents, adds server-side aggregate expression support in the SQL fields parameter, improves MCP server stability with request timeout guards and crash prevention, fixes OAuth connectivity for Cursor IDE and desktop MCP clients, and resolves admin UI issues for non-sysadmin users.

New Features

MCP Aggregate Data Tool

  • New aggregate_data MCP tool — AI agents can now compute SUM, COUNT, AVG, MIN, and MAX directly on the database server through a single MCP tool call, eliminating the need to fetch and manually aggregate raw rows
  • Supports groupBy for efficient server-side grouping (e.g., total revenue by country, average order value by status, row count by category)
  • Supports filter to narrow rows before aggregation using the same filter syntax as get_table_data
  • Improved MCP tool descriptions to guide AI agents toward using aggregate_data instead of attempting aggregation through get_table_data

Server-Side Aggregate Expressions in Fields Parameter

  • SQL database services now support aggregate expressions directly in the fields query parameter (e.g., SUM(amount), COUNT(*), AVG(price))
  • Updated GROUP and FIELDS option descriptions across the API to document aggregate expression support
  • Applies to all SQL database connectors (MySQL, PostgreSQL, SQL Server, Oracle, Snowflake, etc.)

MCP Desktop OAuth Success Page

  • Added a post-redirect success page for desktop MCP OAuth flows — after completing authentication, users now see a confirmation page instead of a blank browser tab
  • Improves the onboarding experience for Claude Desktop, Cursor, and other MCP desktop clients

MCP Server

Stability & Reliability

  • Request timeout guards — Added timeout guards to MCP daemon requests to prevent PHP worker lockups when external requests fail or hang
  • Global error handlers — Added process-level error handlers to prevent unhandled exceptions from crashing the MCP daemon
  • Custom tool auth injection — DreamFactory authentication headers are now automatically injected into custom tool API requests, so custom tools can call DreamFactory-hosted services without manual auth configuration

OAuth & Authentication Fixes

  • Fixed OAuth connection issue for Cursor IDE — Resolved compatibility problems when connecting Cursor to the DreamFactory MCP server
  • Fixed duplicate scope keys in OAuth createCode calls that could cause authentication failures
  • Fixed general MCP OAuth connection issue affecting desktop clients
  • Fixed MCP tools disabling — Resolved an issue where toggling tools off in the admin UI was not being correctly persisted

Query Hints

  • Added filter syntax hint for field names containing spaces — MCP tool descriptions now instruct AI agents not to quote or escape field names with spaces in filter expressions

Admin UI

Non-Sysadmin Database Filtering

  • Enhanced logic for non-sysadmin users' database filtering by role — Resolved edge cases where certain database services were incorrectly shown or hidden based on the user's assigned role

OAuth Redirect Fix

  • Fixed an issue where a stale redirect URL caused the login screen to become stuck between states, returning an empty response after OAuth redirect — the admin UI now properly detects and cleans up stale redirect URLs

Logging

Monolog v3 Compatibility

  • Fixed log level conversion for Monolog v3 — Log levels are now properly converted to integers, resolving compatibility issues with the Monolog v3 API that expects integer severity levels instead of strings

Upgrade Notes

  • MCP server users: The new aggregate_data tool is automatically available on all database services connected to your MCP server. No configuration changes are required.
  • The server-side aggregate expression support in the fields parameter is backward-compatible — existing queries are unaffected.
  • Standard upgrade process applies for all other changes.
7.4.4 New feature
⚠ Upgrade required
  • MCP server users: Run `php artisan migrate` after upgrading to add the `disabled_tools` column and `custom_tools` table.
  • Google OAuth users: Verify configuration as group‑to‑role mapping now uses Google Identity Provider instead of Admin SDK.
Notable features
  • AI‑optimized `_spec` endpoint on database services with `?model=true` and `?stock=true` parameters, automatic relationship detection, and `spec_url` discoverability
  • Custom tool definitions in MCP server enabling HTTP requests to external REST APIs with configurable parameters, static headers, Zod schemas, 30‑second timeout, and case‑insensitive Content-Type handling
  • Granular per‑service/per‑tool toggle controls via new `disabled_tools` column and role‑based service discovery in the admin UI
Full changelog

DreamFactory v7.4.4 delivers an AI-optimized data model endpoint for LLM and MCP integrations, adds custom tool support to the MCP server, introduces granular MCP tool management in the admin UI, and includes fixes for Google OAuth group mapping, Azure AD role-per-app fields, and MCP OAuth redirect handling.

New Features

AI-Optimized Data Model Endpoint

  • New _spec endpoint on database services — Returns a condensed ~14KB data model payload containing all tables, columns, types, primary keys, foreign keys, row counts, and structural patterns in a single response
  • Automatic relationship pattern detection — Identifies self-referencing hierarchies (tree structures) and junction tables (many-to-many relationships) so AI agents can navigate complex schemas correctly
  • ?model=true parameter for LLM-optimized compact output; ?stock=true toggle for enriched metadata including query templates, field semantic hints, and sample data
  • spec_url added to the service listing response for programmatic discoverability

MCP Server Custom Tools

  • Custom tool definitions — Admins can now define custom MCP tools that make HTTP requests to external REST APIs, with configurable parameters, HTTP methods, static headers, and auto-generated Zod schemas
  • Custom tools management UI — New table view and inline add/edit form in the MCP service configuration page for creating and managing custom tool definitions
  • 30-second request timeout and case-insensitive Content-Type handling for robust external API integration

MCP Server Tool Management

  • Per-service and per-tool toggle controls — Enable or disable individual built-in MCP tools (database and file operations) directly from the admin UI
  • New disabled_tools column in MCP server configuration for persistent tool state
  • Role-based service discovery — MCP tool listing now respects DreamFactory role permissions, only exposing services and tools the authenticated user is authorized to access

Google OAuth Group-to-Role Mapping

  • Switched from Google Admin SDK to Google Identity Provider for the group-to-role mapping workflow, improving compatibility and reducing configuration complexity
  • Enhanced OAuth flow logging with appropriate log levels (info, warning, debug) for easier troubleshooting

Bug Fixes

Azure AD / Entra ID

  • Fixed get and set inheritance for role-per-app fields in the Azure AD connector

MCP Server

  • Fixed OAuth redirect passthrough — Changed from localStorage to sessionStorage for redirect auth URLs, resolving stale redirect issues
  • Fixed N+1 query in syncToolsForService by bulk-fetching with keyBy
  • Fixed text double-serialization in non-JSON custom tool responses
  • Used forceDelete to avoid soft-delete and unique constraint conflicts when removing tools

Upgrade Notes

  • MCP server users: A new database migration adds the disabled_tools column to the MCP server configuration table and a custom_tools table. Run php artisan migrate after upgrading.
  • Google OAuth users: If you are using the map-group-to-role feature with Google, this release switches from the Google Admin SDK to Google Identity Provider. Verify your Google OAuth configuration after upgrading.
  • Standard upgrade process applies for all other changes.
7.4.3 New feature
Notable features
  • df-mcp-server v1.2.0 adds ability to enable/disable MCP tools via the MCP Server configuration page
Full changelog

New Features

MCP Server Integration

  • df-mcp-server v1.2.0 — Introduces ability to toggle on/off MCP tools from the MCP Server configuration page.
7.4.2 Breaking risk
⚠ Upgrade required
  • MCP server users must reconfigure API connections using the updated multi‑API interface after upgrading.
  • Google OAuth users must run `php artisan migrate` to add `map_group_to_role` column and create the `role_google` table.
Breaking changes
  • Removed `api_name` column from MCP server configuration table; multi-API architecture requires reconfiguration.
Notable features
  • Data Explorer: visual database browsing with schema tree, filtering, and foreign‑key navigation.
  • MCP Server Multi‑API & File Support: connect AI agents to multiple DreamFactory services and interact with file management APIs.
  • Google Workspace Group‑to‑Role Mapping: map Google groups to roles via OAuth config toggle and role_google table.
Full changelog

DreamFactory v7.4.2 delivers a new Data Explorer for visual database browsing, expands MCP server capabilities with multi-API and file support, introduces Google Workspace group-to-role mapping, and improves PostgreSQL stored procedure handling.

New Features

Data Explorer

  • New admin UI feature — Browse database tables, view schema details, filter and search data, navigate foreign key relationships, and inspect row details directly from the API Connections section of the admin panel
  • Schema tree navigation with table and column visibility
  • Built-in filtering and foreign key link navigation for exploring related data

MCP Server Multi-API & File Support

  • Multi-API connector support — MCP server is no longer limited to a single API; connect AI agents to multiple DreamFactory services simultaneously
  • File API tools — AI agents can now interact with DreamFactory's file management services through MCP
  • OAuth discovery — Added RFC 8414 .well-known URI support for standard OAuth server metadata discovery
  • Claude Desktop fix — Resolved OAuth Dynamic Client Registration (DCR) compatibility issue for Claude Desktop MCP integration

Google Workspace Group-to-Role Mapping

  • Map Google Workspace groups directly to DreamFactory roles using the Google Admin SDK
  • New map_group_to_role toggle in OAuth configuration for Google providers
  • Automatic group resolution and role assignment during SSO login
  • New role_google database table for managing group-to-role mappings

OAuth & Authentication Fixes

  • Fixed Azure AD / Entra ID UI page being incorrectly overwritten by the generic OAuth UI
  • Resolved incorrect field population for OAuth providers on the Authentication configuration page

Database Connectors

PostgreSQL

  • Stored procedure & function fixes — Improved compatibility with PostgreSQL v12+ when invoking stored procedures and functions
  • Added SELECT * fallback when field resolution fails during procedure execution

SQL Database (General)

  • Virtual relationship transactions — Virtual relationship operations are now wrapped in proper database transactions via RelationTransactionContext, ensuring data consistency across related table operations
  • Updated df-database dependency across all database connector packages for improved compatibility

Upgrade Notes

  • MCP server users: The api_name column has been removed from the MCP server configuration table in favor of the new multi-API architecture. Existing MCP configurations will need to be reconfigured to specify connected APIs through the updated interface.
  • Google OAuth users: A new database migration adds the map_group_to_role column and role_google table. Run php artisan migrate after upgrading.
  • Standard upgrade process applies for all other changes.
7.4.1 Maintenance

Minor fixes and improvements.

Changelog

Fix Swagger and df-apidoc versions

7.4.0 Breaking risk
⚠ Upgrade required
  • No breaking changes; standard upgrade process applies
  • Users leveraging Azure AD/Entra ID should review the new group‑to‑role mapping feature to simplify permission management
Security fixes
  • PTT-2025-032 — Security vulnerability patched across df-core and df-system packages
  • SQL Injection fix in RBAC via parameterized queries and service ID input validation
  • XSS prevention through server‑side validation (max 80 chars for labels, max 255 for descriptions) and HTML tag stripping
Notable features
  • MCP (Model Context Protocol) server support via df-mcp-server v1.0.0 for AI-powered API interactions
  • Azure AD/Entra ID group‑to‑role mapping with automatic permission sync on login and enhanced UI role‑per‑app settings
Full changelog

DreamFactory v7.4.0 delivers significant security hardening, introduces MCP (Model Context Protocol) server support, and enhances Azure AD/Entra ID integration with group-to-role mapping capabilities.

New Features

MCP Server Integration

  • New Package: df-mcp-server v1.0.0 — Introduces Model Context Protocol (MCP) server capabilities, enabling AI-powered applications to interact with DreamFactory APIs
  • Custom login page support for MCP Services

Azure AD / Entra ID Group-to-Role Mapping

  • Map Entra ID groups directly to DreamFactory roles for seamless permission management
  • Automatic permission synchronization when users log in — group membership changes are now detected and applied
  • Enhanced service configuration UI with role-per-app settings display

OAuth & Authentication Enhancements

  • Active Directory / Entra Client Credentials Flow — Full support for service account authentication
  • Session token support for client credentials authentication
  • New toggle in OAuth configuration to allow/deny new user creation during SSO login
  • PostgreSQL system database compatibility improvements for NOT NULL constraints

API Documentation & Filtering

  • Filter services by roles and permissions in API Docs UI — Users now only see services they have access to
  • IIS compatibility fix for parameter key handling as HTTP verbs

Security Fixes

  • PTT-2025-032 — Security vulnerability patched across df-core and df-system packages
  • SQL Injection Fix (RBAC) — Replaced string concatenation with parameterized queries in role-based service filtering; added input validation for service IDs
  • XSS Prevention — Server-side input validation for service labels (max 80 characters) and descriptions (max 255 characters); HTML tag stripping implemented
  • Private Key File Validation — Added validation checks for private key files to prevent misconfigurations

Database Connectors

Oracle Database

  • New toggle in database creation/edit screens to enable full decimal type for null or unassigned integer types, matching Oracle's native defaults

AWS (DynamoDB/S3)

  • Added support for virtual relationships, enabling cross-table relationship definitions without foreign keys

Schema Management

  • Fixed virtual foreign key slider in schema tab when creating new virtual fields

Infrastructure & Connectors

HTTP/RWS Connector

  • Cleaned up HTTP/Remote Web Service connector with improved curl support
  • Better error handling and connection management

Logging

  • Refactored GelfLogger class to support Stringable message objects for modern PHP compatibility

Upgrade Notes

  • No breaking changes; standard upgrade process applies
  • Users leveraging Azure AD/Entra ID should review the new group-to-role mapping feature to simplify permission management

Beta — feedback welcome: [email protected]