Release Notes

From DreamFactory
Jump to: navigation, search
DreamFactoryRelease Notes

Version 2.4.0 (Released November 18, 2016)

  • Added Couchbase database service type (dreamfactory/df-couchbase)
  • Added Microsoft Azure DocumentDB service type (dreamfactory/df-azure)
  • Added Lookup modifiers and modifier configuration options, i.e. {urlencode(my_lookup)}
  • Added a pre-configured local file service for the logs directory
  • Added parameter and header options to scripting inline calls using platform
  • Added support for schema merge in package import
  • Reworked Virtual Foreign Keys, now called Virtual Relationships, a.k.a. DataMesh, to support all relationship types, including provisioning/retrieving from MongoDB services
  • Added new API paths for database table field and related management (_schema/<table_name>/_field and _schema/<table_name>/_related). Old field access with _schema/<table_name>/<field_name> will be deprecated in later releases
  • Added ability to define fields for MongoDB tables (primarily for Virtual Relationships but will be expanded for validations, etc. in coming releases)
  • Fixed AWS SNS service API issues
  • Update CORS to use the latest laravel-cors with additional options and new path matching
  • Removed array wrapping of event.request.headers values
  • Use null for empty service doc instead of default JSON object
  • Protecting user, role, and app lookups against duplicate named entries
  • Preventing timeout on package export manifest by only showing top level folders for file services
  • Node.js and Python scripting improvements
  • Don't format null to defined param type on stored procedure output paramters
  • Clean up database extras upon dropping table or column
  • Casting boolean values correctly for Sqlite, IBM DB2

Version 2.3.1 (Released October 4, 2016)

  • Added configurable role per app for open registration, OAuth, and AD/LDAP services
  • Added Log service supporting Logstash (commercial packages)
  • Added AWS Redshift service support (beta)
  • Added Python command path setting to distributed env file
  • Added 'count_only' option to query parameters to return count of records filtered, but not the records
  • Made user registration and password reset confirmation code length configurable
  • Made user registration and password reset confirmation expiration configurable
  • Made file services support chunking for downloading large files
  • Changed core models to allow for encryption and protection control
  • Changed passwords, secret keys, etc. in service configurations to be protected, i.e. can be set but not retrieved through API
  • Cleaned up cached Service model usage
  • Make server-side filter usage case-insensitive like the rest of record processing
  • Improve related data queries by pushing full dataset down to per relationship handling
  • Changed OAuth services to return token after OAuth authentication, improved consistency across all OAuth providers
  • Added WSDL and Salesforce REST API version selection options for service config
  • Added example WSDL file for Salesforce connections
  • Added OAuth config options to Salesforce service access via Salesforce OAuth
  • Session token management for Salesforce API now cached and handles both authentication modes


Version 2.3.0 (Released August 23, 2016)

  • Added Cassandra database service type (dreamfactory/df-cassandra)
  • Added Cache service type, currently supporting local configured cache as well as Redis and Memcached configurations (dreamfactory/df-cache).
  • Added Queue-able option to system event scripts (<service>.<resource>.<verb>.queued) and script service types for queueing scripts to run after processing of API requests.
  • Added Microsoft Live OAuth2 option to OAuth service type.
  • Added 'doc' to every service listing (api/v2/system/service), replacing optional relationship parameter.
  • Added 'is_base64' option for retrieving content of file along with properties for file services.
  • Moved event script CRUD operations to 'api/v2/system/event_script', 'api/v2/system/event' now only lists events, or only scriptable events when 'scriptable' parameter set to true.
  • Allows post-process scripting to always run, even when processing throws exception.
  • Allows pre-process to circumvent processing request by returning response directly.
  • Fixed public path trailing slash usage on file storage services.
  • Fixed scripting bug where the system failed to check a script file path.
  • Fixed showing wrong disk name for local file service container config options.
  • Fixed stored procedure response wrapping issue.
  • Fixed Node.js remote calls issue when URL has port in it.
  • Cleaned up the update schema handling to avoid sending unnecessary changes to database.
  • Workaround for v8js segfault issue in PHP 7.0.

Version 2.2.1 (Released July 11, 2016)

  • SQL Database Stored Procedure and Function access and usage enhancements. HTTP GET using the "ids" parameter returns details about procedure and function requirements. Now call procedures and functions with just the required parameters. Also added the ability to pass procedure and function parameters as URL parameters, inline, or via a "params" array in the payload.
  • Added Active Directory support for group hierarchy when mapping to DreamFactory roles.
  • Added event modification configuration setting to pre- and post-process scripts, replacing usage of "content-changed" flag in the script itself.
  • Added data import support for packages, initial support for database record importing.
  • Added event matching from Swagger documentation paths to support event firing on exact and matching paths for HTTP Services.
  • Added event support for individual SOAP methods defined in the given WSDL.
  • Fixed Swagger model generation for SOAP service, now supports WSDL enumerations in types.
  • Fixed file streaming using file service over CORS connections.
  • Fixed role exporting.
  • Fixed table export issue in packaging feature.
  • Fixed encoding of resources forwarded on in HTTP Services.
  • Caching fixes and speed improvements.
  • Enhanced error message for some APIs, particularly in authentication and authorization areas.
  • Admin application UI tooltip enhancements.
  • Cleanup of API Docs.
  • General cleanup of usage of utility functions.
  • Testcases reworked for more dynamic services.

Version 2.2.0 (Released May 31, 2016)

The following services are now under a commercial license and have been removed from the default installation: AD/LDAP, SOAP, Salesforce, MS SQL Server, SAP SQL Anywhere, Oracle, and IBM DB2. Please contact [email protected] for further information.

  • Redesigned services, script engines, and system resources management to be more flexible and dynamic. Now using ServiceProviders for all service type on-boarding.
  • New service type migration command for pre-2.2 database upgrade (php artisan dreamfactory:service-type-migrate), run after migration and seeding.
  • SQL DB driver types now available as their own service types, "sql_db" type retired.
  • Script languages now available as their own service types, "script" type retired.
  • Converts old services types to new format during import in packaging.
  • API Doc now supports OpenAPI (fka Swagger) YAML format, as well as JSON.
  • Service Definition system now adds service name to all defined paths and tags automatically
  • Support for service definition (Swagger doc) on service import/export in packaging.
  • Added platform.api support for Node.js and Python scripting
  • Python scripting improvements, like allow empty script, correcting script output
  • Node.js scripting improvement, like allow returning output from async callback functions
  • Including predis/predis package by default for using Redis for caching
  • Including df-azure using microsoftazure/storage by default, used sdk that required pear in prior releases
  • Auto login enabled after creating first admin and other speed improvements
  • Now using guzzle 6
  • Added laravel/homestead support for php5.6 and php7 for dev installs

Version 2.1.2 (Released April 26, 2016)

  • Redesigned Packaging feature, including new system/package API and artisan commands for import and export.
  • Data Mesh feature now supports SQL to MongoDB virtual relationships.
  • Added Redis and Memcached config options to dreamfactory:setup command
  • Added Memcached config values in environment
  • Updated dreamfactory:import-pkg command to use new package
  • Updating initial setup to import any packages available
  • Handling file stream output using StreamedResponse
  • Added artisan dreamfactory:config-hhvm command to create hhvm config file
  • Basic support for www-form-urlencoded payload in API requests
  • Cleanup service providers
  • Add rewrite rule to allow basic auth on AWS cloud and VM.

Version 2.1.1 (Released March 15, 2016)

  • Upgraded Laravel framework to 5.2
  • Enhanced setup command
  • Now allowing login with JWT passed as URL parameter
  • Added log level support, see DF_LOG_LEVEL in .env-dist for options
  • Enhanced logging includes REQUEST and RESPONSE under log level INFO.
  • New and improved File Manager application is now loaded from a composer-controlled repo
  • API Docs (aka Swagger UI) updated for spec validation.
  • Added extra server side and client side information on the config tab of admin app.
  • Angular 2 and ReactJS sample apps added to listing in admin app.
  • Updated Node.js scripting to support callbacks in scripts and log all console.log output to DreamFactory's log.
  • Support non-DreamFactory (<dfapi>) XML wrapper on incoming data.
  • Support for simplified DB filter operators "contains", "starts with" and "ends with"
  • Lookups now supported in scripts. Lookup notations (i.e. {lookup_name}) get replaced before script is run.
  • Lookups now supported in parameters for SQL DB stored procedures.
  • Fixed a bug that prevented private lookup keys to be used in service credentials.
  • Better support for spaces in database column names.
  • API Docs for file services path root operations, adding back POST,PUT,PATCH,DELETE.
  • Fixed support for SQLite as server database.
  • Support for SQL Server legacy image type.
  • Fixed a cache reset issue on user-app-role assignment.
  • Updated AWS SDK version and support to latest 3.* release.

Version 2.1.0 (Released January 29, 2016, Retagged February 9, 2016 due to dependency issues)

Note: This release includes some breaking changes, not in the API itself, but with Live API Documentation (i.e. Swagger)!

  • Upgraded usage of OpenAPI Specification (fka Swagger) to 2.0 from 1.2. Prior service configuration (i.e. for remote web services) or client dependencies (old swagger-based SDKs) on the previously used 1.2 specification are not compatible and must be changed to comply with the 2.0 specification.
  • Swagger UI (supporting 2.0 spec) now included as an application and referenced in Admin application.
  • API Doc (i.e. Swagger UI) view is now Role-based, meaning that the view is based on the allowed services for that Role.
  • Event Scripting post-process scripts, and custom scripting services (V8Js, NodeJs, and PHP) now can utilize a "event.response" object that allows for custom status code and content type settings directly from script. Using the old-style "return" statements to return data still works and defaults to status code 200 as before.
  • Event Scripting now supported for File Services and Remote Web Services.
  • XML to JSON content conversion now handles namespaces (i.e. singular namespaces are used to pull data into JSON format).
  • Fixed bugs with configuration of Email services.
  • Fixed bugs for manipulating request content and parameters in pre-process scripts.
  • Fixed handling for database "read-only" fields like SQL Server rowversion.
  • SQL Server now supported as an option for the system database.

Version 2.0.3 (Released December 22, 2015)

  • Updating composer to allow PHP >= 5.5, i.e. PHP 7.0 tested and working!
  • Laravel Homestead configuration setup now part of install for quick testing.
  • Added ability to update related records on virtual foreign relationships for same or different SQL DB
  • Added alias editing via Admin console for Schema relationships
  • Fixed PostgreSQL, SQL Anywhere and Oracle databases issues with table names
  • Fixed API DB max records return limit usage
  • Fixed several DB filtering issues
  • Remove loading of lodash by default on V8js scripting, use require() instead if desired
  • Fix stored procedure on MySQL issue when no data sets returned
  • Fixing CORS config entries when using SQLite as system database
  • Added 'computer' resource for AD/LDAP services
  • Added LinkedIn OAuth 2.0 support

Version 2.0.2 (Released November 30, 2015)

  • Added ability to create virtual foreign keys across two tables on same or different SQL DB
  • Added aliases for virtual fields and relationships
  • Added ability to create virtual fields for db-supported functions, e.g., concat(field1, field2)
  • Added ability to create virtual fields for aggregation by field name
  • Added support for assigning AD users to DreamFactory roles based on AD group assignments


For details please see the relevant change logs on GitHub.

dreamfactory/dreamfactory dreamfactory/df-core dreamfactory/df-sqldb