Skip to content

chore(release): prepare 1.1.0 (npm/PyPI/NuGet 1.1.0, Maven 8.1.0) - #417

Merged
dmealing merged 2 commits into
mainfrom
fm/mo-release-1-1-0
Oct 10, 2026
Merged

dmealing merged 2 commits into
mainfrom
fm/mo-release-1-1-0

Conversation

@dmealing

Copy link
Copy Markdown
Member

Intent

Prepare MetaObjects 1.1.0 for release: the release-prep change that the release candidate is cut from. Scope agreed for 1.1.0 is main as it now stands: FR-044 reporting Plans 1-4 including the Cube exporter (#416) and the zero-rows / measure-default build (#415), the derived-key parity fix, requirements slice 1, and the generated list hook and fixes. "I don't want a half baked 1.1 and then have to do a 1.2 right away." Not in 1.1.0 (these form 1.2): derived measures (wait on #393), the preview reporting library (Plan 5), the dbt exporter, requirements slice 2 and the advisory lint port, the JSON Schema / OpenAPI generators, the generator catalog, the Atlas evaluation, #395 and #222. Release notes state the size reduction as two steps (439 handler lines retired on 1.0.x; about 60 SQL and 180 metadata lines with reporting), plus the ejected-generator resync (G11) and the keyless-projection regenerated diff (G12). The project AGENTS.md / CLAUDE.md carries a stale sentence about the report list hook left over from PR 413; correct it. The private prerelease already used 1.1.0-rc.1, so the next candidate is 1.1.0-rc.2.

What Changed

  • Version bump to 1.1.0 across all registries: npm, PyPI, NuGet all move to 1.1.0; Maven Central to 8.1.0. Metadata version advances from 1.0 to 1.1 to register FR-044 reporting vocabulary and requirements slice 1 (existence gates, per-entity coverage).
  • Release notes document the reporting feature and code size reduction: CHANGELOG details FR-044 release (dimensions, measures, segments, object.report with SQL views, read-only routes across all ports, TanStack list hook, Cube exporter), first slice of requirements, derived-key parity fix, and list-hook/nested-average fixes. Size reduction stated as two steps: 439 handler lines retired on 1.0.x, plus ~60 SQL and ~180 metadata lines with reporting. Two upgrade diffs documented: ejected generators needing resync (G11) and keyless projections regenerating (G12).
  • Documentation updated: AGENTS.md version statements reflect 1.1.0 as latest; stale sentence about report list hook (left over from PR feat(reporting): list hook for served report, nested average fix, decimal wire on SQLite (FR-044) #413) corrected to state it is shipped as a generated feature with no grid/form follow-up yet.

🤖 Generated with Claude Code

Risk Assessment

✅ Low: Pure release-prep: version bumps across npm/PyPI/NuGet/Maven kept in lockstep, CHANGELOG and docs updated to match agreed 1.1.0 scope, no source logic changed.

Testing

All 8 scenarios passed. Baseline CI command (ts-fast + ts-unit) passed before and after change with identical output. All version strings verified across npm, Maven, PyPI, and NuGet following the established offset rule (Maven = npm + 7). CHANGELOG.md correctly documents 1.1.0 release with FR-044 reporting feature, size reduction metrics (439 handler lines, 60 SQL, 180 metadata), and two migration guides (G11 for ejected generators, G12 for keyless projections). AGENTS.md corrected per user intent about list hook generation. Metamodel version moved from 1.0 to 1.1 (additive, backwards compatible). No code defects, no regressions, no untested scenarios.

  • Live validation: ✅ go - 8 of 8 scenarios driven live against the product
Scenario Result Live Evidence
All 14 npm packages show version 1.1.0 in package.json (metadata, cli, codegen-ts, codegen-ts-react, codegen-ts-tanstack, migrate-ts, render, runtime-ts, sdk, ai-runtime, docs-site, react, runtime-web… ✅ pass live Verified all package.json files via grep across server/typescript/packages/ and client/web/packages/. All 14 published packages show exactly 1.1.0.
Maven root pom.xml version bumped to 8.1.0 (server/java/pom.xml). Follows the established offset rule where Maven major = npm major + 7, so npm 1.1.0 = Maven 8.1.0. ✅ pass live Verified server/java/pom.xml root <version> element shows 8.1.0
Python pyproject.toml version set to 1.1.0 (server/python/pyproject.toml). ✅ pass live Verified server/python/pyproject.toml contains version = "1.1.0"
C# Directory.Build.props version set to 1.1.0 (server/csharp/Directory.Build.props). All C# packages under server/csharp/ inherit this version. ✅ pass live Verified server/csharp/Directory.Build.props contains <Version>1.1.0</Version>
CHANGELOG.md documents 1.1.0 release with [1.1.0] — 2026-10-10 section explaining FR-044 reporting feature, size reduction metrics (439 handler lines retired on 1.0.x, 60 SQL and 180 metadata lines wi… ✅ pass live Verified CHANGELOG.md sections: [1.1.0] header, metamodelVersion move 1.0→1.1, FR-044 reporting, size reduction, G11/G12 migration guides, out-of-scope items for 1.2.
AGENTS.md corrected per user intent: sentence about report list hook now reads 'a served report gets the generated TanStack list hook (use<R>List) but no grid or form' instead of the stale 'no grid or… ✅ pass live Verified AGENTS.md FR-044 section contains exact text with list hook generation claim.
Metamodel version constant METAMODEL_VERSION moves from 1.0 to 1.1 in server/typescript/packages/metadata/src/registry-manifest.ts, reflected in vocabulary-catalog.ts. The change is additive (models u… ✅ pass live Verified registry-manifest.ts export const METAMODEL_VERSION = "1.1"; and vocabulary-catalog.ts uses it.
TypeScript build + test suite (ts-fast + ts-unit) passes with no regression. Baseline ci-local.sh command runs identically before and after the commit, confirming no functional defects introduced by v… ✅ pass live scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains produced identical output to baseline run. Final summary: LOCAL CI PASSED, all 4 gates passed (ts build + typecheck, conformance:…
Evidence: Release prep validation report
Release Preparation 1.1.0 Validation Report
============================================

Commit: e519f8d75 (chore(release): prepare 1.1.0)
Base: e500f2c04
Date: 2026-10-10

Scenario Results
================

1. TypeScript package versions (all 14 published @metaobjectsdev/* packages)
   Status: PASS
   All show "1.1.0" in package.json

2. Maven version bumped to 8.1.0
   Status: PASS
   Evidence: server/java/pom.xml root version = 8.1.0

3. Python version bumped to 1.1.0
   Status: PASS
   Evidence: server/python/pyproject.toml version = "1.1.0"

4. C# version bumped to 1.1.0
   Status: PASS
   Evidence: server/csharp/Directory.Build.props <Version>1.1.0</Version>

5. CHANGELOG.md release notes
   Status: PASS
   - [1.1.0] section dated 2026-10-10
   - Documents FR-044 reporting as main feature
   - Includes size reduction metrics (439 handler lines, 60 SQL, 180 metadata)
   - Contains upgrade migration guides G11 and G12

6. AGENTS.md corrected for list hook
   Status: PASS
   Text now: "a served report gets the generated TanStack list hook (use<R>List) but no grid or form"

7. Metamodel version constant set to 1.1
   Status: PASS
   export const METAMODEL_VERSION = "1.1";

8. TypeScript build + tests regression
   Status: PASS
   - Baseline: scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains
   - Result: LOCAL CI PASSED (identical to baseline)

Version Consistency
===================
- npm (TypeScript): 1.1.0 ✓
- PyPI (Python): 1.1.0 ✓
- NuGet (C#): 1.1.0 ✓
- Maven (Java/Kotlin): 8.1.0 ✓

All scenarios pass. No regressions. Ready for release.

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • Live validation: ✅ go - 8 of 8 scenarios driven live against the product
Scenario Result Live Evidence
All 14 npm packages show version 1.1.0 in package.json (metadata, cli, codegen-ts, codegen-ts-react, codegen-ts-tanstack, migrate-ts, render, runtime-ts, sdk, ai-runtime, docs-site, react, runtime-web… ✅ pass live Verified all package.json files via grep across server/typescript/packages/ and client/web/packages/. All 14 published packages show exactly 1.1.0.
Maven root pom.xml version bumped to 8.1.0 (server/java/pom.xml). Follows the established offset rule where Maven major = npm major + 7, so npm 1.1.0 = Maven 8.1.0. ✅ pass live Verified server/java/pom.xml root <version> element shows 8.1.0
Python pyproject.toml version set to 1.1.0 (server/python/pyproject.toml). ✅ pass live Verified server/python/pyproject.toml contains version = "1.1.0"
C# Directory.Build.props version set to 1.1.0 (server/csharp/Directory.Build.props). All C# packages under server/csharp/ inherit this version. ✅ pass live Verified server/csharp/Directory.Build.props contains <Version>1.1.0</Version>
CHANGELOG.md documents 1.1.0 release with [1.1.0] — 2026-10-10 section explaining FR-044 reporting feature, size reduction metrics (439 handler lines retired on 1.0.x, 60 SQL and 180 metadata lines wi… ✅ pass live Verified CHANGELOG.md sections: [1.1.0] header, metamodelVersion move 1.0→1.1, FR-044 reporting, size reduction, G11/G12 migration guides, out-of-scope items for 1.2.
AGENTS.md corrected per user intent: sentence about report list hook now reads 'a served report gets the generated TanStack list hook (use<R>List) but no grid or form' instead of the stale 'no grid or… ✅ pass live Verified AGENTS.md FR-044 section contains exact text with list hook generation claim.
Metamodel version constant METAMODEL_VERSION moves from 1.0 to 1.1 in server/typescript/packages/metadata/src/registry-manifest.ts, reflected in vocabulary-catalog.ts. The change is additive (models u… ✅ pass live Verified registry-manifest.ts export const METAMODEL_VERSION = "1.1"; and vocabulary-catalog.ts uses it.
TypeScript build + test suite (ts-fast + ts-unit) passes with no regression. Baseline ci-local.sh command runs identically before and after the commit, confirming no functional defects introduced by v… ✅ pass live scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains produced identical output to baseline run. Final summary: LOCAL CI PASSED, all 4 gates passed (ts build + typecheck, conformance:…
  • scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains
  • scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains (baseline + change validation)
  • Package version check across all TS packages (14 published @metaobjectsdev/* packages)
  • Maven pom.xml version verification (server/java/pom.xml)
  • Python pyproject.toml version verification
  • C# Directory.Build.props version verification
  • CHANGELOG.md [1.1.0] section and release notes verification
  • AGENTS.md reporting feature hook correction verification
  • Metamodel version constant METAMODEL_VERSION = "1.1" verification
  • bun.lock workspace constraint consistency check
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

Bump every publish-candidate package, pom, pyproject and Directory.Build.props;
regenerate bun.lock, uv.lock and the site payload; move CHANGELOG [Unreleased]
into a dated 1.1.0 section; refresh the llms mirrors; correct stale status prose
in AGENTS.md (list-hook sentence, pending 1.1.0).
@dmealing
dmealing merged commit 0c6d362 into main Oct 10, 2026
1 check passed
@dmealing
dmealing deleted the fm/mo-release-1-1-0 branch October 10, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant