| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 7.5.0 source code.tar.gz | 2026-04-23 | 33.2 MB | |
| 7.5.0 source code.zip | 2026-04-23 | 33.3 MB | |
| README.md | 2026-04-23 | 7.4 kB | |
| Totals: 3 Items | 66.5 MB | 6 | |
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()withrandom_int()ingenerateConfirmationCode() - 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()withrandom_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_functiontemplate value substitution now usesquoteValue()to prevent injection via template expansion
SSRF & Request Integrity
- df-system: Added SSRF validation to
import_urlendpoints 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
scriptMethodwiring 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/eventresponses exempted from the snake→camelCase interceptor so event identifiers are returned raw
Editor & Loading States
- Permitted top-level
awaitin the Ace JavaScript lint worker undermodule: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_onlyfast path to thesystem/eventresource, 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 (
voidreturn type ontearDown()), 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