Skip to main content
The SDK uses an evergreen model, which means it receives continuous updates over time. Smile.js v1 is the latest version of the SDK, however new major versions may be released from time to time.

Types of changes

Optimizations & new features - These are the most common types of changes we make, along with bug and security fixes. All SDK users will automatically receive these updates without any required integration changes. Examples of these changes include:
  • Optimizing the internal caching strategy of the SDK
  • Adding a new optional parameter to a method call
  • Adding a new field or method to an object
Breaking changes - These are things that could cause your integration to appear broken or fail, and will only be rolled out as part of new major versions (e.g. v2, v3, etc). Examples include:
  • Removing parameters or configuration options
  • Changing the return value of a method

How versioning works

There are two ways to include the SDK, and both ensure you always receive all non-breaking updates within your chosen major version.

With a script tag

When including the SDK with a script tag, the script tag’s URL determines which major version you are using (e.g. /v1/). You’ll automatically receive all updates within that major version, without ever needing to update your integration.
<script src="https://sdk.smile.io/smile-js/v1/smile.js"></script>

With the npm package

When including the SDK using the @smile-io/smile-js npm package, each major package version is pinned to a single version of the SDK. In practice, this means that any package version in the 1.x.x range (e.g. @smile-io/smile-js@1.0.0, @smile-io/smile-js@1.1.0, etc) will load the latest release of Smile.js v1 from Smile’s CDN. The result is that regardless of which version of the npm package you’re using, you’ll always get the latest version of the SDK for that same major version. While we still recommend keeping up to date with the latest version of the @smile-io/smile-js package, minor and patch version bumps will only represent changes to:
  • TypeScript type updates (new fields, methods, or resources)
  • Improvements or bug fixes to the code that loads the script from Smile’s CDN
Important: We may occasionally release new minor and patch versions of @smile-io/smile-js with small but backwards-incompatible fixes to the type declarations. These changes will not affect the behavior of the SDK itself.