Releases
We aim to release the Grammarly Text Editor SDK in a consistent, predictable way. Learn more about how we release functionality below.
Semantic versioning
The Text Editor SDK follows semantic versioning. Each version (e.g. 2.3.18
) is of the format MAJOR.MINOR.PATCH
. To learn more about semantic versioning, visit semver.orgopen in new window.
Release frequency
We typically release new versions of the SDK on Tuesdays. We occasionally release urgent patches on other days of the week. Check the changelog for when each version was released and a summary of what was included in each release.
Automatic use of the latest patch release
Your app will automatically use the latest patch release of the major and minor version you specify. This means your app will always get the latest backward-compatible fixes and improvements without you needing to upgrade any dependencies. Please note that even if you specify a particular patch version, Grammarly will use the latest patch version.
EXAMPLE
If you specify a patch version such as 2.3.1
, Grammarly will automatically use version 2.3.18
because it is the latest patch release for version 2.3.x
.
How does this work behind the scenes? The Text Editor SDK packages (@grammarly/editor-sdk, @grammarly/editor-sdk-react, and @grammarly/editor-sdk-vue) contain thin wrapper scripts that dynamically load the latest patch release of the Text Editor SDK code.
Specifying the version of the Text Editor SDK
You can choose to specify the version of the Text Editor SDK your app should use. The methods vary slightly based on how you add the Text Editor SDK to your app: with the script tag or with an npm package.
Keep in mind that in all cases the latest patch release of the major and minor version you specify will be used. See the previous section for more details.
Adding the SDK with the script tag
If you are installing the Text Editor SDK by using the <script>
tag, you can specify the version in the src
attribute of the tag:
<script src="https://cdn.jsdelivr.net/npm/@grammarly/editor-sdk@2.5?clientId=YOUR_CLIENT_ID"></script>
If you want to use the latest version of the Text Editor SDK, you can specify @latest
as the version. We do not recommend using @latest
in production instances, because breaking changes could be introduced in future releases.
<script src="https://cdn.jsdelivr.net/npm/@grammarly/editor-sdk@latest?clientId=YOUR_CLIENT_ID"></script>
Adding the SDK with an npm package
If you are adding the Text Editor SDK to your app using npm, you can specify the version of the SDK package you’d like to use in the npm install
command. For example, you could install the latest patch release of version 2.5
of the JavaScript npm package:
npm install @grammarly/editor-sdk@2.5
If you want to install or update to the latest version of the Text Editor SDK, you can use @latest
as the version.
Experimental functionality
We occasionally release experimental functionality, so you can preview it and provide feedback. Experimental functionality can be removed or changed without warning and may not follow semantic versioning. On a per-release basis, experimental functionality might be available to all developers or a subset of developers.
Because of its likelihood to change, you should not use experimental functionality in production except for limited testing.
How will you know if functionality is experimental? In the API reference, look for the experimental
tag. A warning message will also be displayed on the documentation page(s).
We use experimental releases to do early testing on new features, and your feedback on these features is valuable! If you're trying out experimental features, we encourage you to share your feedbackopen in new window.
Deprecated functionality
We will occasionally deprecate functionality, meaning that parts of the API may be removed in a future major release. In alignment with semantic versioning, we will always release at least one minor version with a deprecation notice before removing functionality in a future major release.
Look for the deprecated
tag in the API reference to see if functionality is deprecated.