Versioning
Aegis is at 0.x. This page says what that means and what will not change under you.
What 0.x means#
- The ten core names are stable:
signal,computed,effect,batch,html,island,mount,resource,wireForm,swap. Their signatures and behaviour are the ones 1.0 ships with. - Extended names can change between minor versions (0.7 → 0.8). A change is listed in the changelog under “Changed”, with the migration in one line.
- Deprecated names keep working through 0.x. They are marked
@deprecatedinaegis.d.tswith the replacement and are removed in 1.0. - Patch versions (0.7.1) fix behaviour and never change an API.
What never changes#
- A versioned file.
https://aegisjs.com/0.7.0/aegis.min.jsis the file at the git tagv0.7.0, byte for byte, forever. The hash in your import map is the proof. - The unversioned
https://aegisjs.com/aegis.jsis the latest release and does change. Use it for experiments, not for a deployed page.
Upgrading#
- Read the changelog entry for the new version.
- Run your page with
window.__AEGIS_DEV__ = true: deprecated names and changed behaviour are reported with a code and the fix. - Change the version and the hash in the import map. Installation lists both for every version.
The road to 1.0#
1.0 is not a feature release. It is the point where the extended API stops moving, deprecated aliases are gone and the suite has run for a while on production pages other than the author's. Until then, the promise is narrower: pinned files never change, the core ten never change, and every change to the rest is written down.