API Builder 4.x Save PDF Selected topic Selected topic and subtopics All content Deprecations 17 minute read API Builder regularly adds feature improvements, fixes, and occasionally identify and fix features that do not work as designed, or are orthogonal to the intended direction of the product. When these are identified, we mark them as deprecated and add them to this document. We intend to remove all the deprecated features in the next major release of the product. Note To ensure that you stay abreast of important updates and to make it easier to upgrade, you should pay attention to the deprecation warnings and address them as soon as possible. Direct or indirect use of deprecated features may result in a warning when the service starts. This should not affect the functionality of your service, but the flags should be an indication that, if ignored, your service may fall behind any future breaking changes and may increase the effort to upgrade to future major releases. Deprecation flags Where fixing a bug or introducing a feature would introduce a breaking change, we create a deprecation flag that is disabled by default, meaning that it will have no impact on your project. However, it should not be ignored. These flags are provided to allow you to manually review the change and be aware of a functional change that may also require code or config to be modified. When addressing deprecation warnings with corresponding flags, you should compare the following set of flags with those located in your ./conf/default.js. The full set of flags is below for convenience. In upgraded applications, the flags will be disabled. However, newly created applications will have these flags enabled. For each deprecation warning, you should find the corresponding deprecation below, read the document, and understand how it applies to your application. To ensure that your application continues to operate as expected, it is essential that you have unit-tests for all your interfaces. Enabling a flag, without understanding or testing the impact can have adverse effects. // ./conf/default.js module.exports = { // Flags to enable features that are not ready for production or // whose use may require manual upgrade steps in legacy services. flags: { // Enable support for Models that have no primary key. // Breaking change for old versions as previously the Create API returned a location // header. Also the model advertised unsupported methods. enableModelsWithNoPrimaryKey: false, // Generate APIs and flows that use primary key type rather than always assuming string. // Breaking change for old versions as the generated APIs will change when enabled. usePrimaryKeyType: false, // Enabling this flag will cause the service to exit when there is a problem loading a plugin. exitOnPluginFailure: false, // Enable support for aliases in comparison operators on composite models. // Breaking change for old versions as previously queries $lt, $gt, $lte, $gte, $in, $nin, // $eq would not have translated aliased fields. enableAliasesInCompositeOperators: false, // Enable support for the $like comparison operator in the Memory connector. enableMemoryConnectorLike: false, // Enabling this flag ensures that a plugin only receives the config relevant to that plugin. enableScopedConfig: false, // Enable support for model names being percent-encoded as per RFC-3986 in auto-generated API. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncoding: false, // Enable support for null fields coming from Models. enableNullModelFields: false, // Enable support for model names being percent-encoded as per RFC-3986 in API Builder's Swagger. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncodingInSwagger: false, // Enable support for model names being encoded whilst preserving the connector's slash. // This flag only applies when enableModelNameEncodingInSwagger is enabled. // Breaking change for old versions as previously model names that start with a connector name, // e.g. "oracle/foó" will now be encoded as "oracle/fo%C3%B3". enableModelNameEncodingWithConnectorSlash: false, // Enable support for overriding endpoint content-type using the flow's HTTP response headers. enableOverrideEndpointContentType: false, // Enable support for model flow-nodes having Error outputs. enableModelErrorOutputs: false, // Enabling this flag will cause the service to exit when there is an error validating the service // Swagger or any loaded JSON schema. exitOnSwaggerSchemaValidationError: false, // Enabling this flag will emit the log level in each log message. enableLoggingOfLevel: false, // Enabling this flag will ignore HTTP payload body on GET and HEAD methods. enableStrictBodyPayloads: false, // Disables endpoints disableEndpoints: false, } } List of deprecated features The following sections list the deprecated features. [D001] /apidoc/docs.json Introduced in release 4.0.0 (2018-06-29) Expected end of life Q3 2023 Status Active Swagger API docs are available on /apidoc/swagger.json and are mirrored on /apidoc/docs.json. Using the /apidoc/docs.json endpoint to access Swagger API documentation is deprecated and /apidoc/swagger.json should be used instead. [D002] apiDocPrefix Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.apiDocPrefix in the project configuration has been deprecated. Use apidoc.prefix instead. If both values are provided, apidoc.prefix will be preferred. [D003] disableAPIDoc Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.disableAPIDoc in the project configuration has been deprecated. [D004] enableModelsWithNoPrimaryKey Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active For models that do not have a primary key: The delete, findAndModify, findByID, upsert, and update APIs and endpoints will not be generated. The Model flow-node will not have delete, findAndModify, findByID, upsert, or update methods. The Create API will no longer return a location header. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of unsupported APIs on Models that do not have a primary key. [D005] usePrimaryKeyType Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active model IDs are based on the database's primary key type instead of being hard-coded as a string. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of strings as default Model IDs. [D006] exitOnPluginFailure Introduced in release Dublin (2018-08-31) Expected end of life Q3 2023 Status Active Errors when loading API Builder plugins will cause the service to terminate. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the loading of plugins when errors occur. [D007] enableAliasesInCompositeOperators Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active Queries on Composite Models will support comparison operators ($eq, $ne, $in, $nin, $lt, $lte, $gt, $gte, $like) on aliased fields. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of comparison operators on composite models. [D008] enableMemoryConnectorLike Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active queries on models using the Memory connector that also use the $like comparison operator will search using the query parameter instead of just returning an empty array. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of memory model queries using $like comparison operator. [D009] enableScopedConfig Introduced in release Istanbul (2018-11-23) Expected end of life Q3 2023 Status Active when loading an API Builder plugin, you will only receive the config relevant to the uploaded plugin. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way config is passed to plugins. [D010] perURLAuthentication Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active authentication has changed to make all paths secure, and public paths must be explicitly declared. For more information on how to be prepared for the change, refer to Change in the way of handling authentication and authentication plugins. [D011] API Builder Web Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active API Builder Web is deprecated and will be removed in a future major version. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder APIs. [D012] enableModelNameEncoding Introduced in release Osaka (2019-03-01) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are auto-generated for models will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in URI. [D013] enableNullModelFields Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active Queries on models, which have fields with null values, can now return that field in the response rather than hiding the field. Support for this behavior is dependent on the connector being used. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way null fields are returned in Models. [D014] enableModelNameEncodingInSwagger Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are created from "Generate endpoints for models" will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in Swagger. [D015] enableModelNameEncodingWithConnectorSlash Introduced in release Barcelona (2019-09-27) Expected end of life Q3 2023 Status Active model names which are prefixed with their connector name (in other words, oracle/user) will no longer have the slash encoded as %2F in auto-generated API paths. This depends on D012. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name with connector prefix is encoded in paths. [D016] Model.define Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Model.define is deprecated and will be removed in a future version of the product. Use Model.extend or APIBuilder.createModel instead. [D017] Model instance reduce and APIBuilder.Model.reduce Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Reducing a Model instance (i.e. Model.prototype.reduce) and APIBuilder.Model.reduce are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of the Model instance reduce and APIBuilder.Model.reduce functions. [D018] APIBuilder.removeModel Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeModel is deprecated and will be removed in a future version of the product. [D019] APIBuilder.removeConnector Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeConnector is deprecated and will be removed in a future version of the product. [D020] APIBuilder.removeBlock Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeBlock is deprecated and will be removed in a future version of the product. [D021] APIBuilder.removeAPI Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPI is deprecated and will be removed in a future version of the product. [D022] APIBuilder.removeAPIByFilename Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPIByFilename is deprecated and will be removed in a future version of the product. [D023] APIBuilder.removeRoute Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeRoute is deprecated and will be removed in a future version of the product. [D024] Model prefix Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Creating a Model with the prefix property is deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of Model prefix. [D025] Model.prototype.extend Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Extending a model instance (i.e. Model.prototype.extend) is deprecated and will be removed in a future version of the product. Use Model.extend instead. [D026] APIBuilder.app.locals Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.app.locals properties appc_external_url, appc_external_apidoc_path_legacy, appc_external_apidoc_path, or appc_external_apidoc_url are deprecated and will be removed in a future version of the product. [D027] APIBuilder.debug Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.debug is deprecated and will be removed in a future version of the product. [D028] Codeblocks Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active codeblocks are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of codeblocks. [D029] @axway/api-builder-react-engine Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active @axway/api-builder-react-engine is deprecated and will not receive any updates. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder Service APIs. [D030] APIBuilder.get Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.get is deprecated and will be removed in a future version of the product. [D031] APIBuilder.pluralize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.pluralizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D032] APIBuilder.singularize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.singularizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D033] APIBuilder.logger.stripColors Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.logger.stripColorsis deprecated and will be removed in a future version of the product. [D034] Model.fields[name].optional and API.parameters[name].optional Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Using the optional property on Model fields and API parameters is deprecated and will be ignored in a future version of the product. Use the required property instead. [D035] Logger.createDefaultLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createDefaultLoggeris deprecated and will be removed in a future version of the product. [D036] Logger.createRestifyLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createRestifyLoggeris deprecated and will be removed in a future version of the product. [D037] Sort Introduced in release Ennis (2019-11-22) Expected end of life Q3 2023 Status Active Creating an API or Route with the sort property is deprecated in favor of a more robust internal sort mechanism. [D038] Port Introduced in release Florence (2019-12-06) Expected end of life Q3 2023 Status Active Usage of port in the project configuration has been deprecated. Use http.port instead. [D039] Unmaintained Node.js versions Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active We introduced a Node.js support policy in which end-of-life Node.js versions are automatically deprecated by API Builder. See https://nodejs.org/en/about/releases for the versions which are actively maintained. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D040] Node.js v10 Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active Node.js v10 has been deprecated. See API Builder's Node.js support policy. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D041] logger.logRequest and logger.logResponse Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active The logRequest and logResponse functions on the API Builder logger are deprecated and will be removed in a future version of the product. [D042] enableOverrideEndpointContentType Introduced in release Tokyo (2020-07-31) Expected end of life Q3 2023 Status Active API Endpoints will no longer return the Content-Type application/json in all cases, the Content-Type will either be explicitly set from within a flow, or set according to the type of response body. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way Endpoints return Content-Type. [D043] enableModelErrorOutputs Introduced in release Ufa (2020-08-14) Expected end of life Q3 2023 Status Active Model flow-nodes will gain an additional output, Error. This will be the default behavior when flows are generated from models in all new services. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the outputs of Model flow-nodes. [D044] API.response Introduced in release Zagreb (2020-10-23) Expected end of life Q3 2023 Status Active The response property on the custom API is deprecated in favor of the model property. The model property serves the same purpose in that the named model is used to describe the response schema in the generated API Swagger documentation. [D045] exitOnSwaggerSchemaValidationError Introduced in release Bruges (2020-11-20) Expected end of life Q3 2023 Status Active Validation errors when loading JSON schemas will cause the service to terminate. Additionally, the service's Swagger API docs are now validated and will cause the service to terminate if found to be invalid. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Addition of Swagger and json schema validation on start. [D046] config.bodyParser Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The bodyParser config option is deprecated and will be removed in a future version of the product. [D047] config.busboy Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The busboy config option is deprecated and will be removed in a future version of the product. Use config.limits to configure limits for multipart/form-data requests and return 413 to clients when a limit it hit. [D048] undefinedMultipartPartSize Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The new config.limits config option should be configured with a value. Leaving it unset is deprecated behavior and the default behavior will change in a future version of the product to be equivalent to setting infinity (no limit). [D049] enableLoggingOfLevel Introduced in release Giza (2021-02-12) Expected end of life Q3 2023 Status Active each log message will display it's log level (e.g. INFO). This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in log message format for levels. [D050] enableStrictBodyPayloads Introduced in release Roberttown (2021-07-16) Expected end of life Q3 2025 Status Active HTTP methods GET and HEAD will ignore payload body. Enabling this flag is recommended for security purposes. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way body is handled for HTTP methods GET and HEAD. [D051] disableServerBanner Introduced in release Wrecsam (2021-09-24) Expected end of life Q3 2025 Status Active The disableServerBanner config option has been deprecated in favor of http.headers.server. [D052] runtimePeerDependency Introduced in release Kabul (2022-04-08) Expected end of life Q3 2025 Status Active Using dependencies with a peerDependency on @axway/api-builder-runtime has been deprecated and may cause issues when using npm 7 or higher. For more information on how to be prepared for the change, refer to Change in the way plugins document API Builder compatibility. [D053] disableEndpoints Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Endpoints are deprecated and have been replaced with the OpenAPI flow-trigger. Follow this guide to replace endpoints in your service. [D054] apidoc.disabled Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Usage of apidoc.disabled to stop OpenAPI documentation being accessible has been deprecated and should not be used. [D055] Node.js v14 Introduced in release Oyo (2022-06-03) Expected end of life Q3 2025 Status Active Node.js v14 has been deprecated. API compatibility will be maintained until API Builder v5. See API Builder's Node.js support policy. Last modified June 3, 2022: Oyo Release Notes (#86) (99e2cf0) Related Links
Deprecations 17 minute read API Builder regularly adds feature improvements, fixes, and occasionally identify and fix features that do not work as designed, or are orthogonal to the intended direction of the product. When these are identified, we mark them as deprecated and add them to this document. We intend to remove all the deprecated features in the next major release of the product. Note To ensure that you stay abreast of important updates and to make it easier to upgrade, you should pay attention to the deprecation warnings and address them as soon as possible. Direct or indirect use of deprecated features may result in a warning when the service starts. This should not affect the functionality of your service, but the flags should be an indication that, if ignored, your service may fall behind any future breaking changes and may increase the effort to upgrade to future major releases. Deprecation flags Where fixing a bug or introducing a feature would introduce a breaking change, we create a deprecation flag that is disabled by default, meaning that it will have no impact on your project. However, it should not be ignored. These flags are provided to allow you to manually review the change and be aware of a functional change that may also require code or config to be modified. When addressing deprecation warnings with corresponding flags, you should compare the following set of flags with those located in your ./conf/default.js. The full set of flags is below for convenience. In upgraded applications, the flags will be disabled. However, newly created applications will have these flags enabled. For each deprecation warning, you should find the corresponding deprecation below, read the document, and understand how it applies to your application. To ensure that your application continues to operate as expected, it is essential that you have unit-tests for all your interfaces. Enabling a flag, without understanding or testing the impact can have adverse effects. // ./conf/default.js module.exports = { // Flags to enable features that are not ready for production or // whose use may require manual upgrade steps in legacy services. flags: { // Enable support for Models that have no primary key. // Breaking change for old versions as previously the Create API returned a location // header. Also the model advertised unsupported methods. enableModelsWithNoPrimaryKey: false, // Generate APIs and flows that use primary key type rather than always assuming string. // Breaking change for old versions as the generated APIs will change when enabled. usePrimaryKeyType: false, // Enabling this flag will cause the service to exit when there is a problem loading a plugin. exitOnPluginFailure: false, // Enable support for aliases in comparison operators on composite models. // Breaking change for old versions as previously queries $lt, $gt, $lte, $gte, $in, $nin, // $eq would not have translated aliased fields. enableAliasesInCompositeOperators: false, // Enable support for the $like comparison operator in the Memory connector. enableMemoryConnectorLike: false, // Enabling this flag ensures that a plugin only receives the config relevant to that plugin. enableScopedConfig: false, // Enable support for model names being percent-encoded as per RFC-3986 in auto-generated API. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncoding: false, // Enable support for null fields coming from Models. enableNullModelFields: false, // Enable support for model names being percent-encoded as per RFC-3986 in API Builder's Swagger. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncodingInSwagger: false, // Enable support for model names being encoded whilst preserving the connector's slash. // This flag only applies when enableModelNameEncodingInSwagger is enabled. // Breaking change for old versions as previously model names that start with a connector name, // e.g. "oracle/foó" will now be encoded as "oracle/fo%C3%B3". enableModelNameEncodingWithConnectorSlash: false, // Enable support for overriding endpoint content-type using the flow's HTTP response headers. enableOverrideEndpointContentType: false, // Enable support for model flow-nodes having Error outputs. enableModelErrorOutputs: false, // Enabling this flag will cause the service to exit when there is an error validating the service // Swagger or any loaded JSON schema. exitOnSwaggerSchemaValidationError: false, // Enabling this flag will emit the log level in each log message. enableLoggingOfLevel: false, // Enabling this flag will ignore HTTP payload body on GET and HEAD methods. enableStrictBodyPayloads: false, // Disables endpoints disableEndpoints: false, } } List of deprecated features The following sections list the deprecated features. [D001] /apidoc/docs.json Introduced in release 4.0.0 (2018-06-29) Expected end of life Q3 2023 Status Active Swagger API docs are available on /apidoc/swagger.json and are mirrored on /apidoc/docs.json. Using the /apidoc/docs.json endpoint to access Swagger API documentation is deprecated and /apidoc/swagger.json should be used instead. [D002] apiDocPrefix Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.apiDocPrefix in the project configuration has been deprecated. Use apidoc.prefix instead. If both values are provided, apidoc.prefix will be preferred. [D003] disableAPIDoc Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.disableAPIDoc in the project configuration has been deprecated. [D004] enableModelsWithNoPrimaryKey Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active For models that do not have a primary key: The delete, findAndModify, findByID, upsert, and update APIs and endpoints will not be generated. The Model flow-node will not have delete, findAndModify, findByID, upsert, or update methods. The Create API will no longer return a location header. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of unsupported APIs on Models that do not have a primary key. [D005] usePrimaryKeyType Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active model IDs are based on the database's primary key type instead of being hard-coded as a string. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of strings as default Model IDs. [D006] exitOnPluginFailure Introduced in release Dublin (2018-08-31) Expected end of life Q3 2023 Status Active Errors when loading API Builder plugins will cause the service to terminate. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the loading of plugins when errors occur. [D007] enableAliasesInCompositeOperators Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active Queries on Composite Models will support comparison operators ($eq, $ne, $in, $nin, $lt, $lte, $gt, $gte, $like) on aliased fields. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of comparison operators on composite models. [D008] enableMemoryConnectorLike Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active queries on models using the Memory connector that also use the $like comparison operator will search using the query parameter instead of just returning an empty array. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of memory model queries using $like comparison operator. [D009] enableScopedConfig Introduced in release Istanbul (2018-11-23) Expected end of life Q3 2023 Status Active when loading an API Builder plugin, you will only receive the config relevant to the uploaded plugin. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way config is passed to plugins. [D010] perURLAuthentication Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active authentication has changed to make all paths secure, and public paths must be explicitly declared. For more information on how to be prepared for the change, refer to Change in the way of handling authentication and authentication plugins. [D011] API Builder Web Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active API Builder Web is deprecated and will be removed in a future major version. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder APIs. [D012] enableModelNameEncoding Introduced in release Osaka (2019-03-01) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are auto-generated for models will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in URI. [D013] enableNullModelFields Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active Queries on models, which have fields with null values, can now return that field in the response rather than hiding the field. Support for this behavior is dependent on the connector being used. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way null fields are returned in Models. [D014] enableModelNameEncodingInSwagger Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are created from "Generate endpoints for models" will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in Swagger. [D015] enableModelNameEncodingWithConnectorSlash Introduced in release Barcelona (2019-09-27) Expected end of life Q3 2023 Status Active model names which are prefixed with their connector name (in other words, oracle/user) will no longer have the slash encoded as %2F in auto-generated API paths. This depends on D012. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name with connector prefix is encoded in paths. [D016] Model.define Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Model.define is deprecated and will be removed in a future version of the product. Use Model.extend or APIBuilder.createModel instead. [D017] Model instance reduce and APIBuilder.Model.reduce Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Reducing a Model instance (i.e. Model.prototype.reduce) and APIBuilder.Model.reduce are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of the Model instance reduce and APIBuilder.Model.reduce functions. [D018] APIBuilder.removeModel Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeModel is deprecated and will be removed in a future version of the product. [D019] APIBuilder.removeConnector Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeConnector is deprecated and will be removed in a future version of the product. [D020] APIBuilder.removeBlock Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeBlock is deprecated and will be removed in a future version of the product. [D021] APIBuilder.removeAPI Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPI is deprecated and will be removed in a future version of the product. [D022] APIBuilder.removeAPIByFilename Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPIByFilename is deprecated and will be removed in a future version of the product. [D023] APIBuilder.removeRoute Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeRoute is deprecated and will be removed in a future version of the product. [D024] Model prefix Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Creating a Model with the prefix property is deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of Model prefix. [D025] Model.prototype.extend Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Extending a model instance (i.e. Model.prototype.extend) is deprecated and will be removed in a future version of the product. Use Model.extend instead. [D026] APIBuilder.app.locals Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.app.locals properties appc_external_url, appc_external_apidoc_path_legacy, appc_external_apidoc_path, or appc_external_apidoc_url are deprecated and will be removed in a future version of the product. [D027] APIBuilder.debug Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.debug is deprecated and will be removed in a future version of the product. [D028] Codeblocks Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active codeblocks are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of codeblocks. [D029] @axway/api-builder-react-engine Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active @axway/api-builder-react-engine is deprecated and will not receive any updates. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder Service APIs. [D030] APIBuilder.get Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.get is deprecated and will be removed in a future version of the product. [D031] APIBuilder.pluralize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.pluralizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D032] APIBuilder.singularize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.singularizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D033] APIBuilder.logger.stripColors Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.logger.stripColorsis deprecated and will be removed in a future version of the product. [D034] Model.fields[name].optional and API.parameters[name].optional Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Using the optional property on Model fields and API parameters is deprecated and will be ignored in a future version of the product. Use the required property instead. [D035] Logger.createDefaultLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createDefaultLoggeris deprecated and will be removed in a future version of the product. [D036] Logger.createRestifyLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createRestifyLoggeris deprecated and will be removed in a future version of the product. [D037] Sort Introduced in release Ennis (2019-11-22) Expected end of life Q3 2023 Status Active Creating an API or Route with the sort property is deprecated in favor of a more robust internal sort mechanism. [D038] Port Introduced in release Florence (2019-12-06) Expected end of life Q3 2023 Status Active Usage of port in the project configuration has been deprecated. Use http.port instead. [D039] Unmaintained Node.js versions Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active We introduced a Node.js support policy in which end-of-life Node.js versions are automatically deprecated by API Builder. See https://nodejs.org/en/about/releases for the versions which are actively maintained. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D040] Node.js v10 Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active Node.js v10 has been deprecated. See API Builder's Node.js support policy. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D041] logger.logRequest and logger.logResponse Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active The logRequest and logResponse functions on the API Builder logger are deprecated and will be removed in a future version of the product. [D042] enableOverrideEndpointContentType Introduced in release Tokyo (2020-07-31) Expected end of life Q3 2023 Status Active API Endpoints will no longer return the Content-Type application/json in all cases, the Content-Type will either be explicitly set from within a flow, or set according to the type of response body. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way Endpoints return Content-Type. [D043] enableModelErrorOutputs Introduced in release Ufa (2020-08-14) Expected end of life Q3 2023 Status Active Model flow-nodes will gain an additional output, Error. This will be the default behavior when flows are generated from models in all new services. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the outputs of Model flow-nodes. [D044] API.response Introduced in release Zagreb (2020-10-23) Expected end of life Q3 2023 Status Active The response property on the custom API is deprecated in favor of the model property. The model property serves the same purpose in that the named model is used to describe the response schema in the generated API Swagger documentation. [D045] exitOnSwaggerSchemaValidationError Introduced in release Bruges (2020-11-20) Expected end of life Q3 2023 Status Active Validation errors when loading JSON schemas will cause the service to terminate. Additionally, the service's Swagger API docs are now validated and will cause the service to terminate if found to be invalid. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Addition of Swagger and json schema validation on start. [D046] config.bodyParser Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The bodyParser config option is deprecated and will be removed in a future version of the product. [D047] config.busboy Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The busboy config option is deprecated and will be removed in a future version of the product. Use config.limits to configure limits for multipart/form-data requests and return 413 to clients when a limit it hit. [D048] undefinedMultipartPartSize Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The new config.limits config option should be configured with a value. Leaving it unset is deprecated behavior and the default behavior will change in a future version of the product to be equivalent to setting infinity (no limit). [D049] enableLoggingOfLevel Introduced in release Giza (2021-02-12) Expected end of life Q3 2023 Status Active each log message will display it's log level (e.g. INFO). This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in log message format for levels. [D050] enableStrictBodyPayloads Introduced in release Roberttown (2021-07-16) Expected end of life Q3 2025 Status Active HTTP methods GET and HEAD will ignore payload body. Enabling this flag is recommended for security purposes. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way body is handled for HTTP methods GET and HEAD. [D051] disableServerBanner Introduced in release Wrecsam (2021-09-24) Expected end of life Q3 2025 Status Active The disableServerBanner config option has been deprecated in favor of http.headers.server. [D052] runtimePeerDependency Introduced in release Kabul (2022-04-08) Expected end of life Q3 2025 Status Active Using dependencies with a peerDependency on @axway/api-builder-runtime has been deprecated and may cause issues when using npm 7 or higher. For more information on how to be prepared for the change, refer to Change in the way plugins document API Builder compatibility. [D053] disableEndpoints Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Endpoints are deprecated and have been replaced with the OpenAPI flow-trigger. Follow this guide to replace endpoints in your service. [D054] apidoc.disabled Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Usage of apidoc.disabled to stop OpenAPI documentation being accessible has been deprecated and should not be used. [D055] Node.js v14 Introduced in release Oyo (2022-06-03) Expected end of life Q3 2025 Status Active Node.js v14 has been deprecated. API compatibility will be maintained until API Builder v5. See API Builder's Node.js support policy. Last modified June 3, 2022: Oyo Release Notes (#86) (99e2cf0)
Deprecations 17 minute read API Builder regularly adds feature improvements, fixes, and occasionally identify and fix features that do not work as designed, or are orthogonal to the intended direction of the product. When these are identified, we mark them as deprecated and add them to this document. We intend to remove all the deprecated features in the next major release of the product. Note To ensure that you stay abreast of important updates and to make it easier to upgrade, you should pay attention to the deprecation warnings and address them as soon as possible. Direct or indirect use of deprecated features may result in a warning when the service starts. This should not affect the functionality of your service, but the flags should be an indication that, if ignored, your service may fall behind any future breaking changes and may increase the effort to upgrade to future major releases. Deprecation flags Where fixing a bug or introducing a feature would introduce a breaking change, we create a deprecation flag that is disabled by default, meaning that it will have no impact on your project. However, it should not be ignored. These flags are provided to allow you to manually review the change and be aware of a functional change that may also require code or config to be modified. When addressing deprecation warnings with corresponding flags, you should compare the following set of flags with those located in your ./conf/default.js. The full set of flags is below for convenience. In upgraded applications, the flags will be disabled. However, newly created applications will have these flags enabled. For each deprecation warning, you should find the corresponding deprecation below, read the document, and understand how it applies to your application. To ensure that your application continues to operate as expected, it is essential that you have unit-tests for all your interfaces. Enabling a flag, without understanding or testing the impact can have adverse effects. // ./conf/default.js module.exports = { // Flags to enable features that are not ready for production or // whose use may require manual upgrade steps in legacy services. flags: { // Enable support for Models that have no primary key. // Breaking change for old versions as previously the Create API returned a location // header. Also the model advertised unsupported methods. enableModelsWithNoPrimaryKey: false, // Generate APIs and flows that use primary key type rather than always assuming string. // Breaking change for old versions as the generated APIs will change when enabled. usePrimaryKeyType: false, // Enabling this flag will cause the service to exit when there is a problem loading a plugin. exitOnPluginFailure: false, // Enable support for aliases in comparison operators on composite models. // Breaking change for old versions as previously queries $lt, $gt, $lte, $gte, $in, $nin, // $eq would not have translated aliased fields. enableAliasesInCompositeOperators: false, // Enable support for the $like comparison operator in the Memory connector. enableMemoryConnectorLike: false, // Enabling this flag ensures that a plugin only receives the config relevant to that plugin. enableScopedConfig: false, // Enable support for model names being percent-encoded as per RFC-3986 in auto-generated API. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncoding: false, // Enable support for null fields coming from Models. enableNullModelFields: false, // Enable support for model names being percent-encoded as per RFC-3986 in API Builder's Swagger. // Breaking change for old versions as previously names like "foo/bar" will now be encoded as // "foo%2Fbar". enableModelNameEncodingInSwagger: false, // Enable support for model names being encoded whilst preserving the connector's slash. // This flag only applies when enableModelNameEncodingInSwagger is enabled. // Breaking change for old versions as previously model names that start with a connector name, // e.g. "oracle/foó" will now be encoded as "oracle/fo%C3%B3". enableModelNameEncodingWithConnectorSlash: false, // Enable support for overriding endpoint content-type using the flow's HTTP response headers. enableOverrideEndpointContentType: false, // Enable support for model flow-nodes having Error outputs. enableModelErrorOutputs: false, // Enabling this flag will cause the service to exit when there is an error validating the service // Swagger or any loaded JSON schema. exitOnSwaggerSchemaValidationError: false, // Enabling this flag will emit the log level in each log message. enableLoggingOfLevel: false, // Enabling this flag will ignore HTTP payload body on GET and HEAD methods. enableStrictBodyPayloads: false, // Disables endpoints disableEndpoints: false, } } List of deprecated features The following sections list the deprecated features. [D001] /apidoc/docs.json Introduced in release 4.0.0 (2018-06-29) Expected end of life Q3 2023 Status Active Swagger API docs are available on /apidoc/swagger.json and are mirrored on /apidoc/docs.json. Using the /apidoc/docs.json endpoint to access Swagger API documentation is deprecated and /apidoc/swagger.json should be used instead. [D002] apiDocPrefix Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.apiDocPrefix in the project configuration has been deprecated. Use apidoc.prefix instead. If both values are provided, apidoc.prefix will be preferred. [D003] disableAPIDoc Introduced in release Boston (2018-08-03) Expected end of life Q3 2023 Status Active Usage of admin.disableAPIDoc in the project configuration has been deprecated. [D004] enableModelsWithNoPrimaryKey Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active For models that do not have a primary key: The delete, findAndModify, findByID, upsert, and update APIs and endpoints will not be generated. The Model flow-node will not have delete, findAndModify, findByID, upsert, or update methods. The Create API will no longer return a location header. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of unsupported APIs on Models that do not have a primary key. [D005] usePrimaryKeyType Introduced in release Canberra (2018-08-17) Expected end of life Q3 2023 Status Active model IDs are based on the database's primary key type instead of being hard-coded as a string. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Removal of strings as default Model IDs. [D006] exitOnPluginFailure Introduced in release Dublin (2018-08-31) Expected end of life Q3 2023 Status Active Errors when loading API Builder plugins will cause the service to terminate. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the loading of plugins when errors occur. [D007] enableAliasesInCompositeOperators Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active Queries on Composite Models will support comparison operators ($eq, $ne, $in, $nin, $lt, $lte, $gt, $gte, $like) on aliased fields. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of comparison operators on composite models. [D008] enableMemoryConnectorLike Introduced in release Eden (2018-09-14) Expected end of life Q3 2023 Status Active queries on models using the Memory connector that also use the $like comparison operator will search using the query parameter instead of just returning an empty array. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the handling of memory model queries using $like comparison operator. [D009] enableScopedConfig Introduced in release Istanbul (2018-11-23) Expected end of life Q3 2023 Status Active when loading an API Builder plugin, you will only receive the config relevant to the uploaded plugin. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way config is passed to plugins. [D010] perURLAuthentication Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active authentication has changed to make all paths secure, and public paths must be explicitly declared. For more information on how to be prepared for the change, refer to Change in the way of handling authentication and authentication plugins. [D011] API Builder Web Introduced in release Lisbon (2019-01-18) Expected end of life Q3 2023 Status Active API Builder Web is deprecated and will be removed in a future major version. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder APIs. [D012] enableModelNameEncoding Introduced in release Osaka (2019-03-01) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are auto-generated for models will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in URI. [D013] enableNullModelFields Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active Queries on models, which have fields with null values, can now return that field in the response rather than hiding the field. Support for this behavior is dependent on the connector being used. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way null fields are returned in Models. [D014] enableModelNameEncodingInSwagger Introduced in release Quebec (2019-03-29) Expected end of life Q3 2023 Status Active model names are URI encoded as per RFC-3986, and the APIs that are created from "Generate endpoints for models" will bind to their URI equivalent. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name is encoded in Swagger. [D015] enableModelNameEncodingWithConnectorSlash Introduced in release Barcelona (2019-09-27) Expected end of life Q3 2023 Status Active model names which are prefixed with their connector name (in other words, oracle/user) will no longer have the slash encoded as %2F in auto-generated API paths. This depends on D012. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way model name with connector prefix is encoded in paths. [D016] Model.define Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Model.define is deprecated and will be removed in a future version of the product. Use Model.extend or APIBuilder.createModel instead. [D017] Model instance reduce and APIBuilder.Model.reduce Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Reducing a Model instance (i.e. Model.prototype.reduce) and APIBuilder.Model.reduce are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of the Model instance reduce and APIBuilder.Model.reduce functions. [D018] APIBuilder.removeModel Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeModel is deprecated and will be removed in a future version of the product. [D019] APIBuilder.removeConnector Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeConnector is deprecated and will be removed in a future version of the product. [D020] APIBuilder.removeBlock Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeBlock is deprecated and will be removed in a future version of the product. [D021] APIBuilder.removeAPI Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPI is deprecated and will be removed in a future version of the product. [D022] APIBuilder.removeAPIByFilename Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeAPIByFilename is deprecated and will be removed in a future version of the product. [D023] APIBuilder.removeRoute Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.removeRoute is deprecated and will be removed in a future version of the product. [D024] Model prefix Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Creating a Model with the prefix property is deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of Model prefix. [D025] Model.prototype.extend Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Extending a model instance (i.e. Model.prototype.extend) is deprecated and will be removed in a future version of the product. Use Model.extend instead. [D026] APIBuilder.app.locals Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.app.locals properties appc_external_url, appc_external_apidoc_path_legacy, appc_external_apidoc_path, or appc_external_apidoc_url are deprecated and will be removed in a future version of the product. [D027] APIBuilder.debug Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.debug is deprecated and will be removed in a future version of the product. [D028] Codeblocks Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active codeblocks are deprecated and will be removed in a future version of the product. For more information on how to be prepared for the change, refer to Removal of codeblocks. [D029] @axway/api-builder-react-engine Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active @axway/api-builder-react-engine is deprecated and will not receive any updates. If you are currently using Web Routes, consider switching to another modern web application architecture for your front end that consumes API Builder Service APIs. [D030] APIBuilder.get Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.get is deprecated and will be removed in a future version of the product. [D031] APIBuilder.pluralize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.pluralizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D032] APIBuilder.singularize Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.singularizeis deprecated and will be removed in a future version of the product. Use the pluralize module instead. [D033] APIBuilder.logger.stripColors Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active APIBuilder.logger.stripColorsis deprecated and will be removed in a future version of the product. [D034] Model.fields[name].optional and API.parameters[name].optional Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active Using the optional property on Model fields and API parameters is deprecated and will be ignored in a future version of the product. Use the required property instead. [D035] Logger.createDefaultLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createDefaultLoggeris deprecated and will be removed in a future version of the product. [D036] Logger.createRestifyLogger Introduced in release Cairo (2019-10-11) Expected end of life Q3 2023 Status Active The static function Logger.createRestifyLoggeris deprecated and will be removed in a future version of the product. [D037] Sort Introduced in release Ennis (2019-11-22) Expected end of life Q3 2023 Status Active Creating an API or Route with the sort property is deprecated in favor of a more robust internal sort mechanism. [D038] Port Introduced in release Florence (2019-12-06) Expected end of life Q3 2023 Status Active Usage of port in the project configuration has been deprecated. Use http.port instead. [D039] Unmaintained Node.js versions Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active We introduced a Node.js support policy in which end-of-life Node.js versions are automatically deprecated by API Builder. See https://nodejs.org/en/about/releases for the versions which are actively maintained. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D040] Node.js v10 Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active Node.js v10 has been deprecated. See API Builder's Node.js support policy. While the versions we deem as deprecated are not recommended, API compatibility will be maintained until an explicit breaking change removes it. Only use Active LTS or Maintenance LTS Node.js versions in production. [D041] logger.logRequest and logger.logResponse Introduced in release Jackson (2020-02-28) Expected end of life Q3 2023 Status Active The logRequest and logResponse functions on the API Builder logger are deprecated and will be removed in a future version of the product. [D042] enableOverrideEndpointContentType Introduced in release Tokyo (2020-07-31) Expected end of life Q3 2023 Status Active API Endpoints will no longer return the Content-Type application/json in all cases, the Content-Type will either be explicitly set from within a flow, or set according to the type of response body. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way Endpoints return Content-Type. [D043] enableModelErrorOutputs Introduced in release Ufa (2020-08-14) Expected end of life Q3 2023 Status Active Model flow-nodes will gain an additional output, Error. This will be the default behavior when flows are generated from models in all new services. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the outputs of Model flow-nodes. [D044] API.response Introduced in release Zagreb (2020-10-23) Expected end of life Q3 2023 Status Active The response property on the custom API is deprecated in favor of the model property. The model property serves the same purpose in that the named model is used to describe the response schema in the generated API Swagger documentation. [D045] exitOnSwaggerSchemaValidationError Introduced in release Bruges (2020-11-20) Expected end of life Q3 2023 Status Active Validation errors when loading JSON schemas will cause the service to terminate. Additionally, the service's Swagger API docs are now validated and will cause the service to terminate if found to be invalid. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Addition of Swagger and json schema validation on start. [D046] config.bodyParser Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The bodyParser config option is deprecated and will be removed in a future version of the product. [D047] config.busboy Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The busboy config option is deprecated and will be removed in a future version of the product. Use config.limits to configure limits for multipart/form-data requests and return 413 to clients when a limit it hit. [D048] undefinedMultipartPartSize Introduced in release Faro (2021-01-29) Expected end of life Q3 2023 Status Active The new config.limits config option should be configured with a value. Leaving it unset is deprecated behavior and the default behavior will change in a future version of the product to be equivalent to setting infinity (no limit). [D049] enableLoggingOfLevel Introduced in release Giza (2021-02-12) Expected end of life Q3 2023 Status Active each log message will display it's log level (e.g. INFO). This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in log message format for levels. [D050] enableStrictBodyPayloads Introduced in release Roberttown (2021-07-16) Expected end of life Q3 2025 Status Active HTTP methods GET and HEAD will ignore payload body. Enabling this flag is recommended for security purposes. This will be the default behavior in all new services. For more information on how to be prepared for the change, and to start using the new behavior now, refer to Change in the way body is handled for HTTP methods GET and HEAD. [D051] disableServerBanner Introduced in release Wrecsam (2021-09-24) Expected end of life Q3 2025 Status Active The disableServerBanner config option has been deprecated in favor of http.headers.server. [D052] runtimePeerDependency Introduced in release Kabul (2022-04-08) Expected end of life Q3 2025 Status Active Using dependencies with a peerDependency on @axway/api-builder-runtime has been deprecated and may cause issues when using npm 7 or higher. For more information on how to be prepared for the change, refer to Change in the way plugins document API Builder compatibility. [D053] disableEndpoints Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Endpoints are deprecated and have been replaced with the OpenAPI flow-trigger. Follow this guide to replace endpoints in your service. [D054] apidoc.disabled Introduced in release London (2022-04-22) Expected end of life Q3 2025 Status Active Usage of apidoc.disabled to stop OpenAPI documentation being accessible has been deprecated and should not be used. [D055] Node.js v14 Introduced in release Oyo (2022-06-03) Expected end of life Q3 2025 Status Active Node.js v14 has been deprecated. API compatibility will be maintained until API Builder v5. See API Builder's Node.js support policy. Last modified June 3, 2022: Oyo Release Notes (#86) (99e2cf0)