Maintainer tools
This page includes NO Interstate dependencies in the HTML. All Interstate styling and components are automatically loaded by your web components.
- Host websites don't need to include Interstate CSS or JavaScript
- Components work consistently across different websites
- Automatic fallback styling if Interstate CDN is unavailable
- Progressive enhancement with full Interstate features when available
Cache Busting Test Center
Test automatic cache busting: Monitor how cache parameters ensure fresh component loading
Current Cache Status
Test Actions
How to Test Cache Busting:
- Open browser DevTools → Network tab
- Click "Check Cache Parameters" to see current version
- Run
npm run buildin terminal to generate new version - Refresh this page and check for new version numbers
- Look for
?v=timestamp.hashparameters on JS files
Cache Test Log
For maintainers: how releases, release notes and the changelog are made
What MAJOR, MINOR and PATCH mean for a host
- MAJOR: Breaking changes. Upgrade deliberately and read the changelog first.
- MINOR: New, backward-compatible features. Safe to adopt within this major.
- PATCH: Fixes only. No contract change.
Labelling pull requests
Label a pull request to main semver:minor when it adds to the host-facing contract, or semver:major when it breaks it. An unlabelled pull request counts as a patch. Prepare release takes the highest label merged since the last release.
Writing a changelog entry
Add a section at the top of docs/changelog.md headed ## [Unreleased] — <story> (<title>). Start it with a ### Release notes subsection written for hosts: what changed for them, and what they need to do, if anything. The rest of the section is the changelog. A section without release notes shows "No release notes" on this page, and Prepare release warns about it.
Cutting a release
- Run the Prepare release workflow with
dry_runon. Its summary shows the version, the pull requests it counts, and the release notes it would write, with a warning for each section that has none. - Run it again with
dry_runoff. It opens a release pull request that sets the version, converts the changelog headings, and writes this page's release notes for that version. - Review the release pull request, including the release notes on this page: they are what hosts read.
- Merge it, and merge nothing else to
mainuntil it has merged. The Main Pipeline then creates the release branch, after checking that this page's notes name the version.
Hotfixes
Follow the hotfix steps in the README. On the hotfix branch, also update this page's release notes by hand: render the hotfix's changelog sections, replace what is between the release-notes markers, take out relative links and links to GitHub, and set the start marker to the hotfix version. The reviewer checks the marker. Hotfixes of 1.0.x to 1.2.x skip this, because those versions are not listed. The forward-port pull request to main leaves out the change to this page, as it leaves out npm version.
Where the process is maintained
README.md (Branches, labels and releases), docs/release-process.md and .github/workflows/prepare-release.yml. When the process changes, update this section too.