Skip to content

Commit a9a7eb4

Browse files
committed
chore(release): Maven Central 7.7.0 · PyPI 0.15.0 · NuGet 0.15.0
Coordinated minor with breaking changes — the metamodel-1.0 vocabulary program (field.uri/inet, @stringformat, @localTime instant-default timestamps, dbColumnType slim, reverse-nav finders) + the ADR-0039 own-accessor correctness fix (resolving accessors are the default; extends inheritance honored cross-port). All five ports conformance-gated. npm 0.15.0 follows via its RC flow. See CHANGELOG.md [0.15.0]. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GF9xLEQZaPus5Y6opk398n
1 parent 708fbf9 commit a9a7eb4

20 files changed

Lines changed: 57 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,44 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
77

88
## [Unreleased]
99

10+
## [0.15.0] — 2026-07-01
11+
12+
_Coordinated minor with breaking changes — Maven Central `7.7.0` · PyPI `0.15.0` · NuGet `0.15.0`
13+
· npm `0.15.0` (follows via RC). The metamodel-1.0 vocabulary program plus the ADR-0039
14+
own-accessor correctness fix, cross-port conformance-gated across all five ports._
15+
16+
### Added
17+
- **1.0 metamodel vocabulary program (ADR-0036/0037/0038).** `field.uri` (native URI, text
18+
column) and `field.inet` (native IP, Postgres `inet` column) field subtypes; a `@stringFormat`
19+
attribute (`{email, hostname}`) for validated-string content; reverse navigation via generated
20+
explicit FK finders (`find<Source>By<FkField>(id)` + batched `…In(ids)`) instead of lazy
21+
collections; a closed-value-set conformance gate (`allowedValues` in the registry manifest). A
22+
general decision framework (ADR-0037) now governs when a new concept becomes a subtype vs `@kind`
23+
vs an attribute.
24+
25+
### Changed
26+
- **BREAKING — `field.timestamp` is instant-by-default** (`timestamptz` / `Instant` /
27+
`DateTimeOffset` / aware `datetime`), with a boolean **`@localTime`** naive opt-out. Retires
28+
`@dbColumnType: timestamp_with_tz` (now derived from the subtype).
29+
- **BREAKING — `@dbColumnType` slim-and-derive.** Array-ness is derived (`isArray`) rather than
30+
spelled as `uuid_array` / `text_array`, and the `text` default is derived; `@kind: text` and the
31+
`*_array` column types are dropped. `@dbColumnType` narrows to the genuinely-physical escapes
32+
(`uuid`, `jsonb`).
33+
34+
### Fixed
35+
- **ADR-0039 — `own*()` accessors broke `extends` inheritance (all five ports).** `extends` is a
36+
super-reference, not a flatten: reading a field/node's effective property (`isArray`, `subType`,
37+
`@maxLength`, `@precision`, `@default`, `@objectRef`, `@storage`, …) or iterating its members via
38+
an own-only accessor silently dropped `extends`-inherited values, corrupting codegen and runtime.
39+
Resolving/effective accessors are now the default everywhere; `own*()` is reserved for its one
40+
legitimate use (codegen emitting a generated subclass's own members) plus the metamodel-internal
41+
serializer/overlay/`origin.*`/`@dbColumnType` cases. A concrete field or entity that `extends` an
42+
abstract parent now correctly inherits its properties and members, guarded permanently by a shared
43+
`extends-abstract-field-inheritance` conformance fixture. Notable bugs it surfaced: an entity
44+
inheriting its `source.rdb` via `extends` generated no table/controller; an M:N junction
45+
inheriting its `identity.reference` children was falsely rejected; a Python runtime path dropped
46+
an inherited M:N relationship.
47+
1048
## [0.14.2] — 2026-06-29
1149

1250
_npm `0.14.2` (full lockstep across all 13 `@metaobjectsdev/*` publish candidates)._

server/csharp/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
-->
99

1010
<PropertyGroup>
11-
<Version>0.14.0</Version>
11+
<Version>0.15.0</Version>
1212
<Authors>Doug Mealing</Authors>
1313
<Company>Doug Mealing LLC</Company>
1414
<Product>MetaObjects</Product>

server/java/codegen-base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.6.1-SNAPSHOT</version>
9+
<version>7.7.0</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-base</artifactId>

server/java/codegen-kotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>7.6.1-SNAPSHOT</version>
10+
<version>7.7.0</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-codegen-kotlin</artifactId>

server/java/codegen-mustache/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.6.1-SNAPSHOT</version>
9+
<version>7.7.0</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-mustache</artifactId>

server/java/codegen-plantuml/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.6.1-SNAPSHOT</version>
9+
<version>7.7.0</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-plantuml</artifactId>

server/java/codegen-spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.6.1-SNAPSHOT</version>
9+
<version>7.7.0</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-codegen-spring</artifactId>

server/java/core-spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.metaobjects</groupId>
88
<artifactId>metaobjects</artifactId>
9-
<version>7.6.1-SNAPSHOT</version>
9+
<version>7.7.0</version>
1010
</parent>
1111

1212
<artifactId>metaobjects-core-spring</artifactId>

server/java/integration-tests-kotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>7.6.1-SNAPSHOT</version>
10+
<version>7.7.0</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-integration-tests-kotlin</artifactId>

server/java/integration-tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.metaobjects</groupId>
99
<artifactId>metaobjects</artifactId>
10-
<version>7.6.1-SNAPSHOT</version>
10+
<version>7.7.0</version>
1111
</parent>
1212

1313
<artifactId>metaobjects-integration-tests</artifactId>

0 commit comments

Comments
 (0)