September 2023
FDK 9.0.5 - Minor engineering enhancements:- Request Method enhancements:
In requests.json, if a request call’s query parameters are defined in <equestTemplateName>.schema.query and during runtime if this is accessible, these query parameters take precedence over the parameters that might be passed as arguments of invokeTemplate(). Previously this prioritization was not defined. This has now been fixed.
Template substitutions enable the usage of variables in <requestTemplateName>.schema.host and during runtime, it was possible to populate the variable with non-secure iparam values. The variable limitation has now been relaxed for serverless and SMI apps. Variables in <requestTemplateName>.schema.host can be now populated with contextual data and non-secure iparams, for serverless and SMI apps.
August 2023
FDK 9.0.4- Engineering enhancements:- Request Method enhancements:
When configuring request templates, if <requestTemplateName>.schema attributes contained oauth_iparams, the variables were not being populated with the corresponding oauth_iparam values. This has now been fixed and oauth_iparams can be used in template substitutions.
Previously, due to auto-encoding of the <requestTemplateName>.schema.query object, the HTTP requests that were placed using the Request Method were failing. This has been fixed.
July 2023
FDK 9.0.3: Minor engineering enhancement - Request Method enhancement: It was possible to configure up to a maximum of 50 request templates in the requests.json file. Now, the limit has been increased to 100 templates.
June 2023
FDK 9.0.2- Minor engineering enhancements:
- Request Method enhancements:
When configuring request templates, if the <requestTemplateName>.schema.host attribute contained port numbers as part of the absolute domain name, it was considered as an invalid host. This has been fixed now and host can be an absolute domain name that contains port numbers.
It was possible to configure up to a maximum of 25 request templates in the requests.json file. Now, the limit has been increased to 50 templates.
The Request Method feature has been enhanced to display an appropriate error message, if the third-party HTTP request or its corresponding response exceeds 6 MB.
FDK CLI bug fix: On running the fdk generate command and entering appropriate parameter values for a selected file, a prompt was being displayed asking for confirmation to overwrite the current file even when the file was not present. This bug has now been fixed. The prompt is displayed only when the selected file exists and the parameter values need to be modified.
App ratings and reviews: In the Freshworks Marketplace, which hosts 1000+ apps, there can be multiple apps that serve the same use case. Currently, app users rely on their own research to compare apps and zero-in on the app that best suits their requirements. The introduction of the Ratings and Reviews feature eases the app selection process for our customers/app users. As part of this feature, the Freshworks Marketplace has been enhanced to provide the following app insights:
Ratings: A cumulative rating out of 5.
Reviews: The reviews that the app users have provided for the app.
Count of the number of ratings and reviews.
Count of the number of app installations.
As the app’s developer, you can use the above metrics to assess your app’s usability. You can engage with your app users by responding to the reviews. For information on how to view the app insights from the developer portal and respond to reviews, see Freshworks apps > View app insights.
May 2023
FDK 9.0.1- Minor engineering enhancements: When using the templated request method, specific validations are run on the requests.json > schema object. These validations have been enhanced to ensure that they apply even in scenarios when schema.host and schema.path contain variables that can be populated at run time through template substitutions.
To enable successful testing of external events with ngrok, the FDK has been enhanced to be compatible with the latest stable ngrok version.
March 2023
The What’s New feature for Freshworks Apps: For an existing Freshworks app, the app’s developer can build and submit a new app version. After the new version is reviewed and published, it is available for app users, if they want to update their existing app.
The What’s New feature has been introduced to,
- Enable app developers to provide a What’s New/Release Notes write-up, when submitting a new version of an app.
- Help app users understand the enhancements in the new version. When app users view the list of installed apps, if a new version of the app is available, a What’s New link is displayed along with the Update button. App users can click this link to read the release notes and then take a call on whether to update the app.
For more information, see Freshworks apps.
Documentation updates:
- This App SDK document has been updated with information on how to provide selective, account-based access to your app through a shared URL.
- This App SDK document has been updated with information on how to view useful app insights that can help assess your deployed apps.
Test App Versions: [Currently supported only for custom apps]: The developer platform has been enhanced to enable app developers to upload multiple versions of a custom app, test the versions, and publish the most appropriate versions for app users, as part of the app submission process. Using this feature app developers can,
February 2023
FDK 9.0.0: The developer platform has been upgraded to run published apps on Node.js version 18. FDK 9.0.0 contains the corresponding changes to support app creation, testing, validation, and packing in a local developer environment that is based on Node.js 18. Support for Node.js 14.xx will be deprecated shortly. Ensure to migrate to FDK 9.0.0 before the deprecation. For any migration related information, see Migration overview.
Platform version upgrade: To enable developers to build secure apps, the app development platform has been upgraded to version 2.3. The upgrade introduces a new request method that facilitates apps to make secure HTTP calls to third-party domains. Platform version 2.2 is scheduled to be deprecated by Jul 31, 2023. Ensure to migrate to the latest platform version before the deprecation.
Request Method: Previously, app developers had to whitelist the hosts to which the apps make HTTP calls; the methods, paths, query parameters, headers, body, and other options were accepted dynamically at runtime. This allowed making arbitrary requests to white-listed hosts and also inadvertently, provided means for app users to meddle with calls from the app (as the entire request was constructed, at runtime, in the browser). Our Request Method has been revamped to provide a more secure and deterministic way of request proxying. In our new model, app developers provide a snapshot of all the requests that the app is expected to make, through a configuration file that is packed as part of the app files. During run time, apps provide dynamic context. The developer platform applies the context to the appropriate templated request and places the HTTP call. For information on how to configure and use the new Request Method in your app, see Request Method. Our latest platform version is platform 2.3. If you are on platform version 2.2 (scheduled for deprecation on July 31, 2023) and building an app that uses the Request Method, see Request Method with domain whitelisting. To migrate your existing app that uses the Request method with domain whitelisting to the new templated request method, see the migration section.
CLI changes:
The short-hand notation of the --skip-validation option typically used with the Run, Pack, and Validate commands, has been modified from -v to -V.
A search command has been introduced to enable searching the developer community for content related to a specified query-string. For information on syntax, usage, and description of the command, see Freshworks CLI > Search.
The content displayed on our command line interface has been enhanced to provide a better viewing experience.
The FDK has been upgraded to use npm Commander as the FDK’s command line argument parser. As a result of this, the CLI now provides an enhanced developer experience.
Minor engineering enhancements: When the fdk run command is run, the dependencies listed in manifest.json are installed in the node_modules folder. This eliminates the need for package-lock.json. Therefore, the FDK has been updated such that package-lock.json is not generated if manifest.json has dependencies listed in it.
November 2022
FDK 8.6.7: In the local testing of apps that use the Request Method to make third-party HTTP requests, the default request timeout has been 5 seconds. In production, two configurable timeouts - five and ten seconds are available. This FDK version introduces a configurable environment variable - REQUEST_TIMEOUT that enables developers to simulate the production configuration during local testing. For more information see, Request Method Testing.
The FDK has been enhanced to ensure that apps are built on a supported version of the app development platform. When developers validate, pack, or run apps that are built using an unsupported platform version, an appropriate error message is displayed. For more information, see platform version updates.
FDK 8.6.6: An issue in generating appropriate code coverage reports has been fixed. When generating a code coverage report for a serverless app, if the app code has been modified since the last time the report was generated, the old report is deleted and a new report is generated for the modified app code.
October 2022
FDK 8.6.5: An issue in generating appropriate code coverage reports has been fixed.
FDK 8.6.4: Minor engineering enhancements have been made.
FDK 8.6.3: Support has been added to store and retrieve installation parameters, configured through the Custom Installation page, by using the postConfigs() and getConfigs() methods in iparams.js. Previously, these methods could only be used in iparams.html.
FDK 8.6.2: Minor engineering enhancements have been made.
September 2022
FDK 8.6.1: Minor engineering enhancements have been made.
FDK 8.6.0: The developer platform has been upgraded to support a new app setup event - afterAppUpdate. The event is triggered after an app user updates the app and thereby installs its latest available version. This enables you to perform appropriate app actions based on the event or revert to the earlier installed app version, in case of any errors. For more information, see afterAppUpdate.
August 2022
FDK 8.5.0: For oAuth authorization, the redirect/callback URL for app testing is provided in the third-party domain. If the callback URL contained white spaces, the handshakes were failing. This has been fixed.
In end-to-end testing, the app setup event listeners in manifest.json were not triggered appropriately due to a minor bug. This has been fixed.
June 2022
FDK 8.4.0: Previously, due to a minor bug, when iparams were used to construct the manifest.json > whitelisted-domains values, the values were not being constructed appropriately. This has been fixed and URL type iparams, which are used in whitelisted-domains, are successfully substituted with appropriate values. For the valid format of specifying whitelisted-domains, when using iparams, see App Manifest.
Previously, the comparison mechanism to verify if a request URL is whitelisted in the manifest was such that even if the hostnames matched there were errors displayed due to a strict string comparison. This has been fixed.
Previously, if whitelisted-domains had a local host listed, the domains listed after the local host were not verified for errors. This has been fixed and appropriate error messages are displayed if any of the whitelisted-domains values are not valid.
FDK 8.3.3: Minor engineering enhancements have been made.
FDK 8.3.2: The FDK has been enhanced to ensure that the sensitive iparams retrieved through request methods are secure. If secure iparams are used in the request body or URL, the values for these iparams are not substituted and an error is displayed. For more information, see Request method.
May 2022
FDK 8.3.1: Minor engineering enhancements have been made.
FDK 8.3.0: Known issues and minor bugs have been fixed.
April 2022
FDK 8.2.0: Known issues and minor bugs have been fixed.
FDK 8.1.1: Known issues and minor bugs have been fixed.
FDK 8.1.0: The FDK has been updated to manage app dependencies efficiently. During the Freshworks CLI installation, ensure to use an appropriate npm version (the version shipped with the Node.js that you are using) instead of other npm versions or other package managers such as yarn. For information on supported Node versions, see FDK and compatible Node.js versions.
FDK 8.0.1: Support has been added to enable the use of ES2020 features when building back-end/serverless apps.
FDK 8.0.0: The developer platform has been upgraded to run published apps on Node.js version 14. FDK 8.0.0 contains the corresponding changes to support app creation, testing, validation, and packing in a local developer environment that is based on Node.js 14. Support for Node.js 12.xx will be deprecated shortly. Ensure to migrate to FDK 8.0.0 before the deprecation. For any migration related information, see Migration overview.
Support has been added to enable the use of ES2020 features when building front-end apps.
March 2022
FDK 7.5.0 and FDK 7.5.1: Known issues and minor bugs have been fixed.
FDK 7.4.2: Known issues and minor bugs have been fixed.
February 2022
FDK 7.4.1: Known issues and minor bugs have been fixed.
FDK 7.4.0: In the near term, after you update your FDK to the latest version, a link to the changelog that details the modifications in the current version over the previous version will be displayed. In this FDK release, a placeholder for the changelog link has been added.
--skip-update-check: This root command option has been added to prevent the FDK from checking for version updates, when the Freshworks CLI commands are run. For more information, see the version update lifecycle.
December 2021
FDK 7.3.0: Known issues and minor bugs have been fixed.
FDK 7.2.0 and FDK 7.2.1: Known issues and minor bugs have been fixed.
FDK 7.1.0, FDK 7.1.1, and FDK 7.1.2: Known issues and minor bugs have been fixed.
September 2021
FDK 7.0.1: Support has been added to enable the use of ES6+ (ES2018) features when building front-end apps. This enables using ES6+ constructs such as async/await.
FDK 7.0.0: The developer platform has been upgraded to run published apps on Node.js version 12.22.xx. FDK 7.0.0 contains the corresponding changes to support app creation, testing, validation, and packing in a local developer environment that is based on Node.js 12.22.xx. Support for Node.js 10.xx has been deprecated.
To enable the FDK to validate that the appropriate node and FDK versions are used, an attribute - engines - has been provided in manifest.json. When developers use FDK 7.0.0 to create an app, the engines value is auto-populated. When developers validate existing apps that were built by using the earlier versions of the FDK, the FDK prompts developers to update manifest.json. For information on the steps involved in app validation, see Validate. For more information on the engines attribute, see App Manifest.
Support has been added to enable the use of ES6+ (ES2018) features when building back-end/ serverless apps. This enables using ES6+ constructs such as async/await.
FDK 6.13.1 and FDK 6.13.2: Known issues and minor bugs have been fixed.
FDK 6.13.0: As part of our ongoing initiatives that enable developers to build secure apps, the app development platform has been upgraded. The latest platform version is 2.2. When building apps on the latest platform version,
- Ensure that all SMI functions/methods, defined in the serverless component of an SMI app, are registered (allow listed) in the app manifest. To enable this, a new attribute (functions) has been introduced in manifest.json. The functions attribute also contains a provision to specify function-based app execution timeouts for an SMI app.
- Ensure that all events defined in the server.js file of a serverless app and the corresponding callback methods are registered in manifest.json. To enable this, an attribute (events) has been introduced in manifest.json.
For more information, see App Manifest, Severless - Overview, and Server Method Invocation.
FDK 6.12.0: Known issues and minor bugs have been fixed.
July 2021
FDK 6.11.1: Known issues and minor bugs have been fixed.
May 2021
FDK 6.11.0: The FDK has been enhanced to ensure that all Request method calls to third-party domains are secure. This is achieved through domain whitelisting. For more information, see App Manifest.
FDK 6.9.8, FDK 6.9.9, and 6.10.0: Known issues and minor bugs have been fixed.
April 2021
End-to-end testing: A mechanism to test the lifecycle events of locally running apps, without having to use a custom UI, has been introduced. For more information, see End-to-End Testing.
March 2021
FDK 6.9.5, 6.9.6, and 6.9.7: Known issues and minor bugs have been fixed.
The App Management Portal (AMP)/Apps gallery that can be accessed through Admin Settings > Apps has been enhanced to provide a better user experience. For information on the different types of apps and how to submit an app through the new AMP, see Marketplace Listing.
December 2020
FDK 6.9.0, 6.9.1, 6.9.2, 6.9.3, and 6.9.4: Known issues and minor bugs have been fixed.
FDK 6.8.0: Known issues and minor bugs have been fixed.
October 2020
FDK 6.7.0, 6.7.1, and 6.7.2: Known issues and minor bugs have been fixed.
September 2020
FDK 6.6.1, 6.6.2, and 6.6.3: Known issues and minor bugs have been fixed.
FDK 6.5.5, 6.5.6, and 6.6.0: The FDK has been enhanced to enable support for the upcoming end-to-end app testing capability. Minor bugs have been fixed.
August 2020
Routing automation - custom actions: The custom actions feature that enables creating a serverless app with the functions necessary for Routing Automation has been added.
July 2020
iparams callback functionality: A new feature to invoke a callback function when an event associated with an iparam occurs has been added. This feature enables making an installation page dynamic.
June 2020
FDK v6.5.4: Known issues and bugs have been fixed.
FDK v6.5.3: Known issues and bugs have been fixed.
FDK v6.5.2: Support has been added for a new iparams attribute, visible, that enables displaying or hiding an iparam on the installation page.
FDK v6.5.1: Support has been added to detect sensitive iparams when running the fdk validate and fdk pack commands and display a warning to mark them as secure.
FDK v6.5.0: Known issues and bugs have been fixed.
FDK v6.4.0: Known issues and bugs have been fixed.
May 2020
FDK v6.3.2: Known issues and bugs have been fixed.
April 2020
As part of CLI v6.3.1, the OAuth refresh token handler has been enhanced to use appropriate refresh tokens to retrieve access tokens. At times, third-party resource providers do not issue new refresh tokens as part of their refresh strategy. The handler uses the old refresh token in such cases.
As part of CLI v6.3.0, the FDK has been enhanced to include a testing framework (beta) that enables creating automated unit tests for serverless apps. The framework uses the popular mochaV5. For information on how to write and run tests, see the Testing Framework documentation.
As part of CLI v6.2.7, the --fix option has been added to the validate command, to enable auto-fixing certain lint errors.
As part of CLI v6.2.6, some FDK bugs have been fixed.
As part of CLI v6.2.5, some FDK bugs have been fixed.
Support has been added for two new types of installation parameters, domain and api_key, to validate the domain name and API key specified for a product, during app installation.
As part of CLI v6.2.4, the FDK has been updated to load static resources over HTTPS, by default.
March 2020
As part of CLI v6.2.2, we have added fixes for number of bugs.
We have documented Lint validations which happen when running the fdk validate and fdk pack commands on an app.
February 2020
As part of CLI v6.1.1, we have added fixes for a number of minor bugs.
To accommodate the changes in Chrome 79 and higher versions, where HTTPS pages only load secure subresources, the app testing process has been modified. According to the latest Chrome release notes, HTTPS pages will only be able to load secure subresources, with changes from Chrome 79 to Chrome 81.
January 2020
The following enhancement has been made: in Request method, added new options, maxAttempts and retryDelay, and a new attribute, attempts.
As part of CLI v6.0.1, you need to uninstall the previous CLI version by using the npm uninstall fdk -g command and install the latest CLI version.
As part of CLI v6.0.0, added support for Node 10.x. Support for Node 8.10.x has been deprecated.
December 2019
As part of CLI v5.4.0, the iparam_test_data.json file has been deprecated. Before testing the app, navigate to http://localhost:10001/custom_configs and enter appropriate values for the configured installation parameters.
As part of CLI v5.3.0, added fixes for a number of minor bugs.
November 2019
As part of CLI v5.2.8, you can add external assets, such as .css and .js, in the config/assets folder to render the Custom Installation page.
As part of CLI v5.2.6, added fixes for a number of minor bugs.
October 2019
As part of CLI v5.2.5, added fixes for a number of minor bugs.