| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 7.6.0 source code.tar.gz | 2026-05-28 | 33.2 MB | |
| 7.6.0 source code.zip | 2026-05-28 | 33.3 MB | |
| README.md | 2026-05-28 | 10.0 kB | |
| Totals: 3 Items | 66.5 MB | 1 | |
# DreamFactory v7.6.0
DreamFactory v7.6.0 launches governed AI/LLM connectivity as a first-class platform capability — a new AI Connection service type (df-ai), an AI chat experience over your own data (df-ai-chat), and an AI Gateway analytics dashboard backed by per-tool-call MCP audit logging. It also extends the security hardening pass to the full connector, authentication, and integration surface (SQL injection, SSRF, LDAP/SOQL/JS injection, zip-slip, JWKS/JWT validation, secret redaction, and more across ~20 packages), modernizes the MongoDB stack off the abandoned jenssegers/mongodb driver, and forward-ports every package to Laravel 13 compatibility. The admin interface gains AI management screens, a reusable RBAC role-scope control, overview landing pages, portable config-package export, and GitHub-linked server scripts.
New Features
AI Connection Service (df-ai) — COMMERCIAL
A new ai_connection service type providing unified, governed REST access to LLM providers, exposed as DreamFactory endpoints with role-based access control and identity passthrough.
- Providers: Anthropic (Claude), OpenAI (GPT), xAI (Grok), Ollama (local), and any OpenAI-compatible endpoint
- Resources per service:
POST /{service}/completion— single-turn text completionPOST /{service}/chat— multi-turn conversationPOST /{service}/embeddings— vector embeddingsGET /{service}/models— list available modelsGET /{service}/health— provider health checkGET /{service}/usage— usage statistics and token counts
- df-core adds an
AI_CHATservice-type group so AI services slot into the standard service taxonomy
### AI Chat Over Your Data (df-ai-chat) — COMMERCIAL A new package to chat with your DreamFactory-governed data using AI together with MCP tools — combining the AI Connection service and the MCP server so agents reason over live data through existing role-based access controls.
AI Gateway Analytics Dashboard (Admin UI + df-mcp-server)
- New AI Gateway dashboard in the admin interface: cost tracking, per-application attribution, multi-dimensional cost charts, most-expensive-call drill-downs, latency percentiles with deltas and sparklines, budget UI, and a dedicated MCP section
- Backed by new per-tool-call request logging and a Gateway aggregator endpoint in df-mcp-server, with an
mcp:prune-request-logscommand and configurable retention - AI usage analytics surface through
/_internal/ai/usage, reading theai_usage_log
Admin UI: AI Management
- Full configuration screens for AI Connection services — model picker, "test connection" with saved-key fallback, chip-style picker for allowed roles, and inline code-block rendering
- Browser-based AI chat UI at
/ai/chat("Conversations") with a prerequisites picker panel above the chat-service config form - AI navigation split into Connections / Chat / MCP sub-routes
Admin UI: RBAC Role Scope
- New reusable
df-role-scopecomponent and scope route, wired into the RBAC navigation, for scoping role access (includingservice_id=0wildcard handling) — embedded directly in the AI chat-service config form
Admin UI: Overview Landing Pages & Config Package Export
- New overview landing pages with service-category tiles and config-package tooling
- df-system adds portable config-package export, surfaced through the new admin UI config-package tools
GitHub-Linked Server Scripts
- df-script + admin UI: scripts can now be linked to GitHub with a repository explorer, live fetch, and webhook-based cache invalidation
- df-script adds an
_eventmetadata object (pre/post, service, script name) accessible inside scripts, plus a recursion guard for file-script services whose trigger path matches the file service
Snowflake Enhancements (df-snowflake)
- Snowflake key-pair authentication
- Stored-function handlers, including cross-database/cross-schema function calls, with a dedicated
SnowflakeFunctionSchemaand payload-driven parameter filtering
Security
This release extends DreamFactory's security hardening to the full connector, auth, and integration surface.
Authentication & Identity
- df-user: hardened AlternateAuth against filter injection and plaintext/MD5 handling
- df-oauth: strict redirect-host matching, rejection of credentials embedded in URLs, and constant-time comparison (
hash_equals) - df-oidc: never trust
id_tokenclaims without signature validation; JWKS algorithm allowlist (RS256/RS384/RS512 only) - df-saml: JWT requirement for metadata-endpoint access; bumped
onelogin/php-samlto^4.3.1 - df-adldap:
ldap_escapeon user-supplied values and sanitized LDAP group-filter fragments - df-mcp-server: hardened OAuth flow, daemon shared-secret, and Referrer-Policy
SQL & Query Injection
- df-database: validate relationship-filter PK values; quote identifiers in DDL helpers; validate
CREATE TABLEoptions append; harden single-id relationship upsert filter - df-sqldb: parameterized MySQL + PostgreSQL
getTableConstraintsschema lookups and routine/schema metadata lookups - df-sqlsrv: quote INOUT parameter values in T-SQL
SETstatements (dblib/FreeTDS path); parameterize schema-name interpolation; quote identifiers indropColumns - df-oracledb: parameterize OracleSchema lookups; quote
dropColumnsidentifiers - df-snowflake: removed
eval()fromloadParameters; parameterized routine lookups - df-salesforce: validate SOQL identifiers before concatenation
- df-mongodb: reject MongoDB filter operators that execute server-side JavaScript
SSRF, File & Transport Safety
- df-soap: SSRF, TLS-bypass, and symlink-traversal hardening
- df-file: refuse zip entries that escape the extraction target (zip-slip); refuse
asFullPath()results that escape the storage root - df-email: validate URL imports; configurable, hardened allowlist for the Local mailer executable
- df-scheduler: gate crontab install to CLI only, lock it, and escape the path
Secrets & Logging
- df-logger: redact credentials before shipping log payloads to a remote aggregator
- df-cache: unit-separator delimiter in cache keys to prevent key collisions
- df-limits: bucket numeric/UUID/hash path segments in the rate-limit endpoint key (prevents key explosion)
Data Layer
MongoDB Driver Modernization
- df-mongodb (0.22.1) and df-mongo-logs (1.3.1) migrated from the abandoned
jenssegers/mongodbto the maintainedmongodb/laravel-mongodb ^5.7. Themongodbconnection driver name andLOGSDB_*variables are unchanged — existing Mongo services and logging keep working without configuration changes. - df-mongodb: preserved nested field paths (no longer rewrites
_id.Id→_id), maintaining correct dot notation
Connector Fixes
- df-sqlsrv: fixed null values in Additional SQL Statements causing service errors at startup
- df-sqldb (pgsql): correctly detect primary keys when loading columns
- df-databricks: fixed connector creation; removed a dead reserved-keyword class (
Function) that could trigger a PHP parse error - df-dremio: fixed connector installation issues
- df-azure-ad: fixed get/set inheritance for role-per-app fields
- df-email: allow the default sendmail transport
- df-logger: correct Monolog v3 log-level integer conversion
Admin UI Fixes
- Event Scripts: fixed the "Add path to file" radial not saving state and not clearing service details in the event-script service config screen
- API Docs: pinned swagger-ui to 4.15.5 to restore the API Docs UI
- Overview tiles navigate on first click and remain stable across dashboard pages; category pages render before data loads; clicks no longer blocked by the loading overlay
- AI UI: corrected camelCase form-key handling, hid
ai_service_id/ai_role_idwhen type isai_chat, stopped sending the maskedapi_key, improved light-mode legibility, and aligned font sizing - Performance: reduced navigation churn and cached AI usage lookup datasets
Platform & Compatibility
Laravel 13 Forward-Compatibility
- Every package was updated for Laravel 13 compatibility (e.g., replacing the removed
Connection::withTablePrefix()with the L13Grammar($this)constructor in df-sqlsrv, anddispatchNow()→Bus::dispatchSync()in df-script) - df-core adds PHP 8.5 readiness fixes (autoload preloading and incomplete-class guards around cached schema/CORS reads)
## Upgrade Notes
- Security fixes are cumulative — upgrading is recommended for all deployments. This release hardens SQL injection, SSRF, LDAP/SOQL injection, server-side-JS injection, zip-slip, JWT/JWKS validation, secret logging, and crontab handling across ~20 packages.
- Platform baseline is unchanged from 7.5.0 (PHP 8.3 / Laravel 11). No host-level upgrade is required — this is an in-place upgrade. All packages are now Laravel 13-ready, but 7.6.0 ships on the validated L11 stack.
- MongoDB driver swap: df-mongodb and df-mongo-logs now use
mongodb/laravel-mongodbinstead of the deprecatedjenssegers/mongodb. Themongodbconnection driver name andLOGSDB_*variables are unchanged; ensure themongodbPHP extension is present (already included in the official Docker images). - MongoDB field paths: nested
_idfield paths are now preserved in dot notation. If you built downstream logic around the previous_id.Id→_idrewrite, re-verify those queries. - OIDC/SAML hardening: OIDC now enforces
id_tokensignature validation and an RS256/384/512 JWKS allowlist; SAML requires a JWT for metadata-endpoint access and bumpsonelogin/php-saml. Verify identity-provider configurations after upgrading. - Standard upgrade process applies for all other changes. Existing services, roles, and API keys are preserved.