API Builder Standalone - 31 August 2018

API Builder Standalone - Dublin

Summary

This release includes:

Features

  • #4967: Support Intercom in API Builder
  • #5004: Swagger plugin is generating many config files after editing one
  • #5008: Support for plugin load failure terminating server

Fixes

  • #4976: Swagger: Generated swagger for services does not set "security"
  • #4982: Versions of @axway/api-builder-plugin-dc-mysql prior to '2.2.0' are incompatible with API Builder when the `usePrimaryKey` feature flag is enabled

Release Notes

  • #4967: Added Intercom to the API Builder Console UI.

  • #4976: Previously, the /apidoc/swagger.json did not set the security requirements and generated Swagger in a way that was not representative of the services security mechanisms. Now, the generated Swagger document has a security requirement that ensures the security is correct.

  • #4982: Previously, the usePrimaryKeyType feature flag was not compatible with versions of @axway/api-builder-plugin-dc-mysql prior to 2.2.0. Now, when the feature flag is enabled API Builder is compatible with these versions of the plugin.

  • #5004: Previously, the config generation did not behave correctly and did not preserve the service name during the creation of the service config if the initially generated config had its service name manually changed, ending up in generating configs endlessly on system restart. Now, the generated configs by the swagger plugin preserve the service name and stops once a config for the given service is created.
  • #5008: Previously, errors when loading plugins were ignored. Now, these errors will terminate the service by default. This is enabled with a feature flag. See deprecation #6.

New Deprecations 

When upgrading to this release, you should consider the complete list of deprecated features

Updated Modules

Updated Plugins

Known Issues

  • #3825: Filtering the API Builder Console administrator access using IPv6 addresses may cause ENOTFOUND errors.

  • #3867: When attempting to create and save a flow for an imported Swagger endpoint that contains a path or paths defined by references the save will fail.

  • #3960: API Builder has issues with recognizing a required consumes value if anything is appended to it, for example multipart/form-data; charset=utf-8.

  • #3979: Attempting to delete an endpoint in the UI that was created as a result of dereferencing a JSON $ref will yield a 404. API Builder will fail to locate the method since it only exists when the whole Swagger document is dereferenced. An example of a Swagger document using $ref:

    {
    	"swagger": "2.0",
    	"paths" {
    		"x-path": {
    			"get": {}
    		},
    		"/find": {
    			"$ref": "#/paths/x-path"
    		},
    		"/search": {
    			"$ref": "#/paths/x-path"
    		}
    
    	}
    }
    
  • #4050: When rendering the flow editor, the API Builder Console may fail to render the Scalable Vector Graphics (SVG) icons correctly in the Firefox browser. The render failure may result in blank icons being displayed in the tool panel and in the flow diagram. This is due to a long-standing bug in Firefox that fails to scale SVG graphics correctly. To fix, edit the SVG icon and add height and width. For example: <svg ... height="80" width="80" />

  • #4280: Editing large object parameters on the API Orchestration page in the API Builder Console may cause multiple, confusing flow-node configuration panel scrollbars to appear.

  • #4716: Given a data connector that generates models from a database, and is configured to auto-generate the API for those models (modelAutogen is set to true), and there exists a table with no primary key, then the API Builder will not be able to handle the following methods: Update, Delete, Find By ID, Find and Modify, and Upsert.

  • #4736: Given a swagger with an extension, for example, on the path item object, the Swagger flow-node plugin can fail to load the swagger file, resulting in an error:

    Error loading plugin: @axway/api-builder-plugin-fn-swagger. Cannot convert undefined or null to object
    
  • #4752: The format of a distinct query's response depends on the type of the connector.

  • #4759: Calling Update or FindAndModify on a Model that uses the composite connector and contains required fields may fail and cause the server to terminate.

  • #4795: The MongoDB plugin api-builder-plugin-dc-mongo does not correctly support primary keys that are not object identifiers. The MongoDB specification allows for primary keys of other types. As a result, trying to use the plugin will result in errors:

     { "message": "Invalid Value for Find By ID: "YOUR_STRING_PK_NAME", "success": false, "request-id": "c118f187-2090-4a68-b939-37367ac55b80" }
    
  • #4813: If the endpoint swagger file in /endpoints contains special characters in its name, for example [test].json, the endpoint is not rendered correctly in the UI.

  • #4865: The Swagger flow-node plugin strips characters from valid object definition names which can result in schema ID collisions.

  • #4865: The Swagger flow-node plugin does not handle valid object definition names with ~ or / in their name and can result in an invalid schema references in swagger flow-nodes.

  • #4961: Having the '%' symbol in various file names can cause problems in the API Builder Console and with direct linking. It is therefore advisable to avoid using '%' in API, Endpoint, Flow, Model, and Configuration file names. This is a result of an issue in react-router/history. https://github.com/ReactTraining/history/issues/505

  • #4966: API Builder will generate invalid Swagger for programmatic API in ./apis that bind to a path other than the apiPrefix defined in the configuration. These API must be bound to the same root path as is defined by apiPrefix.

Related Links