V2.1 cutover inventory¶
TypeBridge 2.1 completes the generated-only cutover. Split YAML is the sole
active schema and model authoring authority, and type-bridge schema generate
emits the Python, TypeScript/Node, and Rust application bindings. Generated
packages use a projection-owned runtime contract; they do not inherit from or
reconstruct handwritten schema classes.
The cutover is operation-preserving. The machine-checked parity inventory at
tests/fixtures/generated-only-operation-parity-inventory.json binds every
retained operation to generated-package evidence in each binding. The
source-to-successor map at
tests/fixtures/handwritten-operation-removal-map.json accounts for the
handwritten tests that were replaced.
The complete, fully qualified removal/replacement inventory was published in
the 2.0.2 compatibility notice
before 2.1. That notice expands the earlier schedule; it does not retroactively
change what 2.0.0 or 2.0.1 announced. Applications needing the retired APIs
should retain type-bridge>=2,<2.1 or @type-bridge/node: >=2 <2.1 while
moving to generated packages.
Removed in 2.1¶
Handwritten schema and model authoring¶
Python no longer exports handwritten Attribute, Entity, Relation,
Role, TypeDBType, flag/cardinality, descriptor, registry, scanner, or
manager declaration APIs. The defining type_bridge.attribute,
type_bridge.fields, and type_bridge.models barrels have no authoring
exports. The original TypeSchema, SchemaInfo, and SchemaManager public
facades are also absent.
Node no longer exports descriptor factories, handwritten entity/relation
builders, dynamic schema registries, or their declaration types. Rust no
longer exposes the handwritten ORM traits, derive macros, descriptor registry,
schema manager, include_schema!, or programmatic TypeQL model generator.
The replacement is always canonical generation:
type-bridge --manifest typebridge.yaml schema check
type-bridge --manifest typebridge.yaml schema generate
Application values remain concise and strongly typed. For example, generated Python bindings retain the single-type manager journey:
ada = Person(person_id=PersonId("ada"), age=Age(36))
Person.manager(db).put(ada)
people = Person.manager(db).filter(age__gte=18).all()
Generated Node and Rust packages expose equivalent model-owned managers and query terminals.
Retired provider support¶
TypeDB 3.8 and 3.10 support and their native provider packages are absent. TypeBridge 2.1 supports generated CRUD/query operations on TypeDB 3.11 and 3.12 through bands 8 and 9. Connected V2 migration apply/verify/adopt is deliberately narrower at exactly 3.12.3. An older known server or driver fails the relevant version gate before data work. No compatibility warning class, Node warning code, or Rust warning event is retained in 2.1.
Applications that cannot upgrade their TypeDB server must remain on a 2.0.x TypeBridge release. Read the current support matrix in TypeDB integration.
TOML and programmatic generator authoring¶
Direct schema.toml desired-schema routing,
generate_models(..., format="toml"), .toml generator auto-routing, and the
old programmatic TypeQL-to-model generator are absent. Split YAML replaces all
of them.
Read-only TOML conversion remains available through
type_bridge_core.toml_to_typeql. Its frozen parser renders existing TOML for
review and migration but cannot make TOML active schema authority.
Archived migration authoring¶
TypeBridge no longer creates new root NNNN_*.py/JSON migration histories or
treats them as active authority. Canonical V2 migration make, plan,
apply, verify, and adopt remain the writer path.
Readers for frozen histories, original checksum verification, applied-ledger import, snapshots, metadata, and the one-way frontier bridge remain read-only. They can recover and adopt old history; they cannot reopen its writer lane.
Retained query contracts¶
The low-level Query V2 APIs and generated model-oriented direct and remote facades remain public. The following V1 query contracts also remain because they have no removal schedule:
- Python
QueryandQueryBuilder; - Node
TypedQuery<T, Row>andTypedGroupByQuery<Row>; - Rust
MatchRequestand its entity, relation, and group-by query facades.
They may delegate to the shared Rust semantic engine, but they are not schema authoring authority and are not part of this removal.
Explicitly retained archival and wire surfaces¶
type_bridge_core.toml_to_typeqland its frozen TOML parser;- read-only archived migration loading, verification, adoption, snapshots, metadata, and ledger import;
- frozen compatibility fixtures required to prove recovery;
- Query V2 wire identifiers ending in
/v1, where/v1identifies the wire format revision rather than a handwritten product API.
Archive-only compatibility does not authorize new authoring. Any future removal requires a separately enumerated contract and acceptance evidence.