Every release, what it changed, and what it asks of you.
One entry per version, written for the engineer who has to upgrade. Breaking changes come first with the steps to take. Nothing ships without a line here.
Our first release. View, edit, annotate and fill PDFs in the browser: every document is rendered and changed on the client, and nothing opened leaves the browser. Everything the SDK does, every option and every API, is described in the documentation.
Read the documentation
What a version number promises.
The contract is everything the package exports, the error codes and when each is thrown, the events and their payloads, and the theme tokens and class names the documentation lists. A change that breaks any of it lands only in a major version.
Semantic versions
Majors may break the contract, minors add to it, patches fix. Anything marked @internal, the rendered page structure beyond the documented class names, and the engine's behavior on a malformed file are outside it.
Deprecations
Before anything is removed, the old form keeps working for at least one minor version and six months, marked @deprecated in the type declarations and warned about once per page load in the console. This changelog names the version that removes it.
Pinning
Pin the major: @kernstra/pdf-web-sdk@1. Every minor and patch within it is safe to take.