chore: drop the core to 0.1.0 and restate the stability promise

The API has one set of consumers and no outside users, so declaring 1.0.0
with a stability guarantee was premature. Until 1.0.0 any minor bump may
reshape the API; the written guarantee starts there. Plugins pin 0.1.0.
This commit is contained in:
dualfroz committed 2026-08-05 20:40:32 +02:00
1 parent d8da766684
commit 39c7c12fb3
5 files changed
+29 -16

No files matched your search

+9 -7
View File
@@ -10,7 +10,7 @@ Minimal plugin:
from nemoRepoCore import (coreConfig, findRepoRoot, localDirectoryPath,
repoCache, requireCore)
requireCore("1.0.0")
requireCore("0.1.0")
coreConfig.registerDefaults({"indicators": {"mine": {"enabled": True}}})
@@ -28,12 +28,14 @@ Minimal plugin:
Stability policy for everything listed in __all__:
* Within a major version, names are never removed and signatures only ever
gain optional arguments. New helpers may appear; a plugin that asked for
1.0.0 keeps working on 1.4.0.
* A major bump may remove or reshape anything. requireCore() refuses to
load a plugin against a different major, so a mismatch is a clear error
at startup instead of a subtle misbehaviour later.
* The core is 0.x, so the API is not settled yet: any 0.x minor bump may
remove or reshape anything. requireCore() knows this and treats the minor
as the breaking component while the major is 0, so a plugin that asked
for 0.1.0 refuses to load against 0.2.0 instead of misbehaving later.
* From 1.0.0 on the usual guarantee applies: within a major version names
are never removed and signatures only ever gain optional arguments, so a
plugin that asked for 1.0.0 keeps working on 1.4.0, and only a major bump
may reshape anything.
* Names not in __all__, and anything with a leading underscore, are
internal and may change in any release.
"""