Filed by the PM loop while verifying the framework's v17 release docs against the GA cut. Recording only — not triaged, not claimed.
Observation
@objectstack/spec@17.0.0 and the rest of the family went GA on 2026-08-14 (prerelease: false; the framework's .changeset/pre.json is gone from main). objectui still declares the pre-release range:
package.json:78 — "@objectstack/spec": "^17.0.0-rc.6"
apps/console/package.json:92-93 — "@objectstack/client": "^17.0.0-rc.6", "@objectstack/spec": "^17.0.0-rc.6"
QUICK_REFERENCE.md:116-118 mirrors both, and is therefore correct as long as the manifests read this way — it should move with them, not before them.
Why this is a finding and not a queue card
^17.0.0-rc.6 resolves to >=17.0.0-rc.6 <18.0.0, and 17.0.0 satisfies it — so a fresh install already picks up GA and nothing is broken today. The cost is legibility: the declared range reads as "pinned to a release candidate" when the platform has shipped, and a prerelease-tagged range keeps prerelease versions of any 17.x in the resolvable set.
Historical CHANGELOG.md entries naming 17.0.0-rc.N are frozen records of what those releases actually tracked — they are correct and must not be rewritten.
Re-check
git fetch origin main
git show origin/main:package.json | grep '@objectstack/spec'
git show origin/main:apps/console/package.json | grep '@objectstack/'
Companion to objectstack-ai/objectstack#8882 (the framework-side release-page fix), which found this while sweeping for stale pre-release references.
Filed by the PM loop while verifying the framework's v17 release docs against the GA cut. Recording only — not triaged, not claimed.
Observation
@objectstack/spec@17.0.0and the rest of the family went GA on 2026-08-14 (prerelease: false; the framework's.changeset/pre.jsonis gone frommain). objectui still declares the pre-release range:package.json:78—"@objectstack/spec": "^17.0.0-rc.6"apps/console/package.json:92-93—"@objectstack/client": "^17.0.0-rc.6","@objectstack/spec": "^17.0.0-rc.6"QUICK_REFERENCE.md:116-118mirrors both, and is therefore correct as long as the manifests read this way — it should move with them, not before them.Why this is a finding and not a queue card
^17.0.0-rc.6resolves to>=17.0.0-rc.6 <18.0.0, and17.0.0satisfies it — so a fresh install already picks up GA and nothing is broken today. The cost is legibility: the declared range reads as "pinned to a release candidate" when the platform has shipped, and a prerelease-tagged range keeps prerelease versions of any 17.x in the resolvable set.Historical
CHANGELOG.mdentries naming17.0.0-rc.Nare frozen records of what those releases actually tracked — they are correct and must not be rewritten.Re-check
Companion to objectstack-ai/objectstack#8882 (the framework-side release-page fix), which found this while sweeping for stale pre-release references.