Contact Us 1-800-596-4880

APIkit 4.0.0 Release Notes

November 19, 2017

These release notes briefly describe changes, known issues, and limitations in APIkit 4.0.0.

What’s New

  • Performance improvements have been achieved through the support of a non-blocking strategy for APIKit operations.

  • API Console no longer appears in Studio. The URL for launching the Console appears in the logs in Studio when you create an APIkit API. To launch the Console, enter the URL in a browser.

  • You can now configure APIkit Router properties to enable or disable the validations of query parameters and headers.

  • APIkit now processes the operations declared after the APIkit router component.

  • Only one of two 3.x-supported methods of configuring the Console is supported in this release.

  • You can configure the Console only from within the apikit:config element.

  • Retrieving the RAML is supported from the Console, but not from the API.

  • Generated XML code differs from that generated by APIkit 3.x. The XML code complies with new Mule 4.0 components as shown in the following snippets:

    3.x

    <apikit:config name="api-config" raml="api.raml" consoleEnabled="true" consolePath="console" doc:name="Router" keepRamlBaseUri="false" />

    Mule 4.0

    <apikit:config name="api-config" raml="api.raml" outboundHeadersMapName="outboundHeaders" httpStatusVarName="httpStatus" />

Compatibility

  • Mule Runtime 4.0.0

  • Anypoint Studio 7.0.0

  • Java Parser RAML 1.0 v1.0.16

  • Java Parser RAML 0.8 v0.8.20

  • API Console 4.2.0

Now available in this release

  • Non-blocking requests

  • DataSense metadata

  • The Community edition

Limitations

This release does not support the following:

  • Inbound endpoints

  • APIkit for SOAP

  • OData

Post requests using form parameters are supported, but not validated.

Features and Functionality

Enhancement requests fulfilled are:

  • Check that custom headers are not duplicated. [APIKIT-868]

  • Strict validation of query parameters and headers. [APIKIT-869]

Fixed in this release

  • PUT and POST requires a request body. [APIKIT-793]

  • Form Parameter type is not being validated. [APIKIT-839]

  • Fixing Exception caused by trying to load a JSON Schema from a path with spaces. [APIKIT-850]

  • APIkit scaffolder is generating mule-deploy.properties file. [APIKIT-873]

  • Critical vulnerability in Jackson prior to 2.8.9. [APIKIT-876]

  • Expose Console Resources to the RAML GW Proxy. [APIKIT-889]

  • Resource found in RAML but not in config, throws 500 server error. [APIKIT-901]

  • Console source location should be saved to a file. [APIKIT-902]

  • Error 500 when sending a request to a resource without schema defined. [APIKIT-925]

  • Scaffolder: Build fails when mule version is not sent (default CE version). [APIKIT-931]

  • Metadata is not reported for APIKit routes. [APIKIT-940]

  • Use single quote on set-variable tag. [APIKIT-942]

  • Porting to 4.0: Only one HTTP Response code evaluated for return from APIKit Rest Requests. [APIKIT-949]

  • Ensure multiple success status defined in RAML are considered for the REST response in APIKIT 4. [APIKIT-951]

  • ApikitErrorTypes is using a not exported mule-core class. [APIKIT-956]

  • Use Optional instead of null in FlowMetadata. [APIKIT-963]

  • Multipart: Bad request when expecting default value in the response. [APIKIT-973]

  • APIKit console does not start. Error : "No listener for endpoint: /console/". [APIKIT-994]

  • Mule4 :APIKit fails on XML starting with BOM and containing tab character. [APIKIT-957]

  • #428 Fixing float value in 'multipleOf' causes a 'Cannot divide by zero' exception

  • #429 JSON Schema validation fails when relative '$ref' is used

  • #434 Apply traits when having unimplemented optional methods with resourcePathName in type

  • #437 Upgrade jackson to version 2.9.2

  • #413 Upgrade json-schema-validator to version 2.2.8

  • #400 Upgrade commons-beanutils to 1.9.3

  • #377 displayName is not valid for methods with RAML 0.8