Skip to content

Commit c44e7c4

Browse files
committed
docs: restamp current-version claims to 1.2.0 / 8.2.0; add pydantic extra to the Python package
1 parent 89a6774 commit c44e7c4

10 files changed

Lines changed: 33 additions & 17 deletions

File tree

‎AGENTS.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The first four ship per-language today across the five ports (TS / C# / Java / P
2222

2323
## Status
2424

25-
_Last refreshed 2026-10-26._
25+
_Last refreshed 2026-10-30._
2626

2727
**1.0 gating — the quiet period is RETIRED (2026-09-06).** `docs/1.0-readiness.md` §G3 no
2828
longer asks for "one coordinated release with no metamodel-breaking change." It measured a
@@ -39,9 +39,9 @@ because a conformance corpus gates the ports against each other and never agains
3939
in ADR-0035 **Amendment 3**. Do not reintroduce a waiting gate in any form.
4040

4141

42-
**Where the versions are.** `latest` is **`1.1.4`** on npm, **`8.1.4`** on Maven Central,
43-
**`1.1.4`** on PyPI and **`1.1.4`** on NuGet (the Maven major is always **npm major + 7**, so
44-
1.1.4 is 8.1.4). **1.1.0, 1.1.1, 1.1.2, 1.1.3 and 1.1.4 are released.** 1.0.13 is the last 1.0.x release; the four registries moved together on 1.0.13, 1.0.12, 1.0.11, 1.0.10 and 1.0.9 (Maven skipped 8.0.8), and earlier Maven alone took 1.0.6 (8.0.6) while the other three skipped that
42+
**Where the versions are.** `latest` is **`1.2.0`** on npm, **`8.2.0`** on Maven Central,
43+
**`1.2.0`** on PyPI and **`1.2.0`** on NuGet (the Maven major is always **npm major + 7**, so
44+
1.2.0 is 8.2.0). **1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4 and 1.2.0 are released.** 1.0.13 is the last 1.0.x release; the four registries moved together on 1.0.13, 1.0.12, 1.0.11, 1.0.10 and 1.0.9 (Maven skipped 8.0.8), and earlier Maven alone took 1.0.6 (8.0.6) while the other three skipped that
4545
number. Both patterns are the convergent-publishing rule working as intended. **1.0 is CUT** and **1.1 is released**: the 1.0.0-rc candidates through 1.0.13 are superseded, and npm's `next` tag is REPOINTED onto each release — not deleted, because
4646
`dist-tag rm` 403s for every token we hold (`docs/RELEASING.md` §4).
4747
`metamodelVersion` read **`1.0`** through 1.0.13 — C4 landed and G4 shipped it, and no 1.0.x patch
@@ -80,7 +80,7 @@ PyPI has had no product change since `0.25.0` — nothing is broken.
8080

8181
**Key cross-language features shipped:** FR5 family (a/b/c/d/e + WARN envelope-shape — actionable loader errors per ADR-0009); FR-003 (Java RDB runtime persistence + projections; schema migrations are TS-only — the Java migration engine was removed); FR-006 (template.output parser-on-receipt codegen per ADR-0010 in all 5 ports); FR-008 + FR-009 (cross-port REST API contract + the nine filter operators); FR-018 (M:N relationship codegen in all 5 ports — entity navigation + idiomatic ORM wiring [Drizzle m2m / EF Core `UsingEntity` / Spring repo+JPA / Exposed / Pydantic+route as the SQLAlchemy-secondary equivalent] + REST traversal `GET /<source-plural>/{id}/<relation>` + Tier-2 docs, gated by the shared api-contract m2m corpus in both lanes + persistence-conformance; the TanStack M:N client hook is a deferred client-ergonomics follow-up); SP-H (field-subtype end-to-end hardening: every concrete `field.*` subtype write+read round-trips cross-port via the persistence `op: roundtrip` gate; cut `field.byte`/`field.short`/`field.class` non-functional stubs; cross-port filter-op reconciliation for uuid/currency); source v2 paradigm (ADR-0007); metadata-ktx Kotlin facade; per-target output directories (TS codegen); FR-044 (the reporting vocabulary — `dimension.attribute`/`dimension.time`, `measure.aggregate`/`measure.ratio`, `segment.filter`, `object.report`, `@spine` on a report to take rows from a to-one dimension entity, `@default` on a measure for empty aggregates, plus the relative-date filter value — registered and loader-validated in all five ports; a report that declares a read-only `source.rdb @kind: view` is lowered to a SQL view by `meta migrate` and read by every port, and served by a generated read-only list route in every port, gated by the api-contract `report/` sub-corpus; the TypeScript `cube-model` reference generator writes the vocabulary as Cube data-model files, gated by the `fixtures/cube-model/` corpus and a `cube` lane that loads the output into a real Cube; a served report gets the generated TanStack list hook (`use<R>List`) but no grid or form, see [docs/features/reporting.md](docs/features/reporting.md) and [docs/features/cube-export.md](docs/features/cube-export.md)).
8282

83-
**Release 1.1.0** (released; npm `1.1.0`, PyPI `1.1.0`, NuGet `1.1.0` and Maven Central `8.1.0`; the latest is 1.1.4 / 8.1.4). The reporting release (FR-044): declare dimensions, measures, segments and an `object.report`, and get a SQL view, a served read-only list route in every port, a generated TanStack list hook, and a Cube data model, with `@spine` for rows that have no facts and `@default` for an empty measure. Also carries the first slice of requirements (the gate in every port's `verify`), the derived-key parity fix across the ports, and the list-hook and nested-average fixes found by the first adopter. See the `CHANGELOG.md` 1.1.0 section for the full scope, pre-release RC history, and the diffs to expect when you upgrade (ejected generators and keyless projections). It also makes documentation a set of generators in every port (ADR-0034 Amendment 9): the docs commands are removed, and `docs/features/migrations/docs-are-generators.md` is the upgrade path. The last 1.0.x release, 1.0.13 (2026-10-03), was a PATCH on 1.0.x.
83+
**Release 1.1.0** (released; npm `1.1.0`, PyPI `1.1.0`, NuGet `1.1.0` and Maven Central `8.1.0`; the latest is 1.2.0 / 8.2.0). The reporting release (FR-044): declare dimensions, measures, segments and an `object.report`, and get a SQL view, a served read-only list route in every port, a generated TanStack list hook, and a Cube data model, with `@spine` for rows that have no facts and `@default` for an empty measure. Also carries the first slice of requirements (the gate in every port's `verify`), the derived-key parity fix across the ports, and the list-hook and nested-average fixes found by the first adopter. See the `CHANGELOG.md` 1.1.0 section for the full scope, pre-release RC history, and the diffs to expect when you upgrade (ejected generators and keyless projections). It also makes documentation a set of generators in every port (ADR-0034 Amendment 9): the docs commands are removed, and `docs/features/migrations/docs-are-generators.md` is the upgrade path. The last 1.0.x release, 1.0.13 (2026-10-03), was a PATCH on 1.0.x.
8484

8585
Active and planned work lives in GitHub: issues labelled `FR`, milestones for releases, and the MetaObjects Roadmap project board. `spec/roadmap.md` keeps the release direction and the FR → issue → spec index. Process: `docs/ROADMAP-PROCESS.md`.
8686

‎CHANGELOG.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ here.**
1010

1111
## [Unreleased]
1212

13+
### Added
14+
15+
- **A `pydantic` extra on the Python package.** `pip install "metaobjects[pydantic]"` installs
16+
`pydantic>=2.8`, the minimum the generated Python models need, so an adopter can get the enforced
17+
floor with the package. The base install is unchanged.
18+
1319
## [1.2.0] — 2026-10-30
1420

1521
_npm `1.2.0` (full lockstep across all 14 `@metaobjectsdev/*` publish candidates)._

‎README.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,11 @@ first-week wedge plan — and `meta init` picks up from there.
160160

161161
| Language | Status | Quickstart | Source |
162162
|---|---|---|---|
163-
| TypeScript | **npm `1.1.4`** — the `@metaobjectsdev/*` packages | [`docs/ports/typescript.md`](docs/ports/typescript.md) | [`server/typescript/`](server/typescript/) · [`client/web/`](client/web/) |
164-
| Java | **Maven Central `8.1.4`** (`com.metaobjects:*` — the JVM major is npm major + 7) — loader + OMDB + render + Maven plugin all shipped; full conformance green | [`docs/ports/java.md`](docs/ports/java.md) | [`server/java/`](server/java/) |
165-
| Kotlin | **Maven Central `8.1.4`** — codegen tier on top of Java: 17 generators (entity, Exposed table, names, relations, repository, output-parser, output-prompt, render-helper, extractor, filter-allowlist, validator, Spring config, storedProc, Spring controller, requirement-tests, api-docs, report-export); 24 / 24 persistence-conformance | [`docs/ports/kotlin.md`](docs/ports/kotlin.md) | [`server/java/codegen-kotlin/`](server/java/codegen-kotlin/) · [`server/java/metadata-ktx/`](server/java/metadata-ktx/) |
166-
| C# | **NuGet `1.1.4`** — loader + conformance + EF Core codegen + render engine + `dotnet meta` CLI all shipped | [`docs/ports/csharp.md`](docs/ports/csharp.md) | [`server/csharp/`](server/csharp/) |
167-
| Python | **PyPI `1.1.4`** — loader + conformance + render + entity-model codegen + ObjectManager runtime shipped; schema migrations are TS-owned (ADR-0015) | [`docs/ports/python.md`](docs/ports/python.md) | [`server/python/`](server/python/) |
163+
| TypeScript | **npm `1.2.0`** — the `@metaobjectsdev/*` packages | [`docs/ports/typescript.md`](docs/ports/typescript.md) | [`server/typescript/`](server/typescript/) · [`client/web/`](client/web/) |
164+
| Java | **Maven Central `8.2.0`** (`com.metaobjects:*` — the JVM major is npm major + 7) — loader + OMDB + render + Maven plugin all shipped; full conformance green | [`docs/ports/java.md`](docs/ports/java.md) | [`server/java/`](server/java/) |
165+
| Kotlin | **Maven Central `8.2.0`** — codegen tier on top of Java: 17 generators (entity, Exposed table, names, relations, repository, output-parser, output-prompt, render-helper, extractor, filter-allowlist, validator, Spring config, storedProc, Spring controller, requirement-tests, api-docs, report-export); 24 / 24 persistence-conformance | [`docs/ports/kotlin.md`](docs/ports/kotlin.md) | [`server/java/codegen-kotlin/`](server/java/codegen-kotlin/) · [`server/java/metadata-ktx/`](server/java/metadata-ktx/) |
166+
| C# | **NuGet `1.2.0`** — loader + conformance + EF Core codegen + render engine + `dotnet meta` CLI all shipped | [`docs/ports/csharp.md`](docs/ports/csharp.md) | [`server/csharp/`](server/csharp/) |
167+
| Python | **PyPI `1.2.0`** — loader + conformance + render + entity-model codegen + ObjectManager runtime shipped; schema migrations are TS-owned (ADR-0015) | [`docs/ports/python.md`](docs/ports/python.md) | [`server/python/`](server/python/) |
168168

169169
## Capability matrix
170170

‎docs/ports/csharp.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ objects you keep sourceless.
4242

4343
## Install
4444

45-
Published to [NuGet](https://www.nuget.org/packages/MetaObjects) at `1.1.4` — four
45+
Published to [NuGet](https://www.nuget.org/packages/MetaObjects) at `1.2.0` — four
4646
packages, version-locked to the C# port version: `MetaObjects` (loader), `MetaObjects.Codegen`,
4747
`MetaObjects.Render` and the `MetaObjects.Cli` tool.
4848

@@ -69,7 +69,7 @@ SQLite so it runs with nothing else installed; the same generated code runs on P
6969
<Nullable>enable</Nullable>
7070
</PropertyGroup>
7171
<ItemGroup>
72-
<PackageReference Include="MetaObjects.Codegen" Version="1.1.4" />
72+
<PackageReference Include="MetaObjects.Codegen" Version="1.2.0" />
7373
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.11" />
7474
</ItemGroup>
7575
<ItemGroup>

‎docs/ports/java.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ requirement gate) and `eject -Dlist` (owned-copy status) are the diagnostics the
5454

5555
## Install
5656

57-
Set `${metaobjects.version}` to the current Maven Central release (`8.1.4`) — both
57+
Set `${metaobjects.version}` to the current Maven Central release (`8.2.0`) — both
5858
the dependency and plugin blocks below resolve it from one `<properties>` entry. The
5959
artifacts and the generated records need Java 21, so set the compiler level here too (Maven
6060
defaults to Java 8, where `mvn compile` fails with "records are not supported in -source 8"):
6161

6262
```xml
6363
<!-- pom.xml -->
6464
<properties>
65-
<metaobjects.version>8.1.4</metaobjects.version>
65+
<metaobjects.version>8.2.0</metaobjects.version>
6666
<spring-boot.version>3.3.5</spring-boot.version>
6767
<maven.compiler.release>21</maven.compiler.release>
6868
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

‎docs/ports/kotlin.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ your own `<groupId>`, `<artifactId>` and `<version>`:
6161
```xml
6262
<!-- pom.xml -->
6363
<properties>
64-
<metaobjects.version>8.1.4</metaobjects.version>
64+
<metaobjects.version>8.2.0</metaobjects.version>
6565
<kotlin.version>2.0.21</kotlin.version>
6666
<spring-boot.version>3.3.5</spring-boot.version>
6767
<exposed.version>0.55.0</exposed.version>

‎docs/ports/python.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ Requires **Python 3.11+**. Published to PyPI as **`metaobjects`**:
2525
pip install metaobjects # or: uv add metaobjects
2626
```
2727

28+
Generated models import Pydantic 2.8 or newer. `pip install "metaobjects[pydantic]"` installs
29+
that minimum alongside the package.
30+
2831
> **On an older default interpreter?** Many systems (e.g. Ubuntu 22.04) still
2932
> ship `python3` = 3.10, where `pip install metaobjects` fails with a confusing
3033
> `ERROR: No matching distribution found for metaobjects` (the wheel is

‎docs/ports/typescript.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# TypeScript port
22

3-
The reference implementation. Published to npm at `1.1.4` as 14
3+
The reference implementation. Published to npm at `1.2.0` as 14
44
`@metaobjectsdev/*` packages on the `latest` tag. Targets Node-compatible
55
runtimes: the generated code and the CLI run on stock Node (via `tsx` or after a `tsc`
66
build), and Bun is simply the fastest dev workflow in this repo.

‎server/python/pyproject.toml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ mysql = ["PyMySQL>=1.1"]
6666
# `.jinja` / `.j2` / `.jinja2` template is rendered or checked, so a Mustache-only project
6767
# installs nothing extra.
6868
jinja = ["jinja2>=3.1"]
69+
# Pydantic 2.8 is the minimum for generated Python models (1.2.0). Generated code imports
70+
# pydantic; the core loader does not, so it stays out of the base dependencies.
71+
pydantic = ["pydantic>=2.8"]
6972

7073
[[tool.mypy.overrides]]
7174
# PyMySQL ships no type information.

‎server/python/uv.lock‎

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)