---
schema_version: "1"
id: aad6357fb072621921b03cb556636b9e63a32b2fc89967d55d9fc37b488959e6
title: APIkit 4.0.0 Release Notes
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/release-notes/apikit/apikit-4.0-release-notes.md
canonical_url: https://docs.mulesoft.com/release-notes/apikit/apikit-4.0-release-notes
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 43e3134281d5d04dc27bd1e3fe6a5337fd9980d7506b954a8b0a0f49d18122a0
description: MuleSoft Documentation Site
latest: true
---
---
product: Release Notes
version: master
---

# APIkit 4.0.0 Release Notes

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

**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](https://docs.mulesoft.com/apikit/latest/validate-4-task) 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\]

**[Github RAML Java Parser](https://github.com/raml-org/raml-java-parser/releases) Issues Fixed**

- #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

## See Also

- [Known Issues](https://help.salesforce.com/s/issues)
