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