Skip to content

Commit ac51343

Browse files
committed
chore(release): bump all versions to 1.4.4
Ship the #117 cross-type attribute lookup work under v1.4.4 by bumping every workspace version string and regenerating Cargo.lock. Also fix a stale type_bridge.__version__ that was missed by the 1.4.2 and 1.4.3 bump commits — it still read "1.4.1" before this change. Files touched: - pyproject.toml: version + type-bridge-core>= pin - type-bridge-core/pyproject.toml - type-bridge-core/crates/{core,orm,orm-derive,python,server}/Cargo.toml: self version and intra-workspace dependency pins - type-bridge-core/Cargo.lock: regenerated via cargo update -w - type_bridge/__init__.py: __version__ 1.4.1 -> 1.4.4 (carried over) - CHANGELOG.md: new 1.4.4 section summarizing #117 Refs #117
1 parent b13b9a6 commit ac51343

10 files changed

Lines changed: 34 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@ All notable changes to TypeBridge will be documented in this file.
44

55
## [Unreleased]
66

7+
## [1.4.4] - 2026-04-09
8+
9+
### New Features
10+
11+
#### Cross-type attribute lookup (PR #117)
12+
13+
`Entity.has` / `Relation.has` / `<Concrete>.has` — find all instances that own a
14+
given attribute, optionally filtered by value or expression.
15+
16+
##### Python ORM — `type_bridge.crud.has_lookup`
17+
- **Cross-type form**`Entity.has(db, Name)` returns mixed concrete subtypes across all entities owning `Name`.
18+
- **Concrete-class narrowing**`HLPerson.has(db, Name)` narrows to that type and its TypeDB subtypes via `isa` polymorphism. Abstract base subclasses get subtype matching for free.
19+
- **Role-player hydration** — relation results always include hydrated role players. Entity lookups remain single-query; relations are re-fetched per result through `concrete_class.manager(connection).get(_iid=iid)`.
20+
- **`Attribute.get_owners()`** — static discovery of attribute owners without a database connection, backed by a reverse `_attribute_owners` index in `ModelRegistry`.
21+
722
## [1.4.3] - 2026-04-05
823

924
### Bug Fixes

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "type-bridge"
7-
version = "1.4.3"
7+
version = "1.4.4"
88
description = "A modern, Pythonic ORM for TypeDB with an Attribute-based API"
99
readme = "README.md"
1010
requires-python = ">=3.13"
@@ -29,7 +29,7 @@ dependencies = [
2929
"lark>=1.1.9",
3030
"jinja2>=3.1.0",
3131
"typer>=0.15.0",
32-
"type-bridge-core>=1.4.3",
32+
"type-bridge-core>=1.4.4",
3333
]
3434

3535
[project.urls]

type-bridge-core/Cargo.lock

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

type-bridge-core/crates/core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "type-bridge-core-lib"
3-
version = "1.4.3"
3+
version = "1.4.4"
44
edition = "2024"
55
description = "TypeQL AST, schema parser, query compiler, and validation engine for type-bridge"
66
license.workspace = true

type-bridge-core/crates/orm-derive/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "type-bridge-orm-derive"
3-
version = "1.4.3"
3+
version = "1.4.4"
44
edition = "2024"
55
description = "Derive macros for type-bridge-orm: TypeBridgeEntity, TypeBridgeAttribute, TypeBridgeRelation"
66
license.workspace = true
@@ -14,7 +14,7 @@ proc-macro = true
1414
proc-macro2 = "1"
1515
quote = "1"
1616
syn = { version = "2", features = ["full", "extra-traits"] }
17-
type-bridge-core-lib = { path = "../core", version = "1.4.3" }
17+
type-bridge-core-lib = { path = "../core", version = "1.4.4" }
1818

1919
[lints]
2020
workspace = true

type-bridge-core/crates/orm/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "type-bridge-orm"
3-
version = "1.4.3"
3+
version = "1.4.4"
44
edition = "2024"
55
description = "Async ORM for TypeDB built on type-bridge-core-lib"
66
license.workspace = true
@@ -21,13 +21,13 @@ typedb = ["dep:typedb-driver", "dep:futures"]
2121
derive = ["dep:type-bridge-orm-derive"]
2222

2323
[dependencies]
24-
type-bridge-core-lib = { path = "../core", version = "1.4.3" }
24+
type-bridge-core-lib = { path = "../core", version = "1.4.4" }
2525
tokio = { version = "1", features = ["full"] }
2626
serde = { version = "1.0", features = ["derive"] }
2727
serde_json = "1.0"
2828
thiserror = "2"
2929
tracing = "0.1"
30-
type-bridge-orm-derive = { path = "../orm-derive", version = "1.4.3", optional = true }
30+
type-bridge-orm-derive = { path = "../orm-derive", version = "1.4.4", optional = true }
3131

3232
# Optional: real TypeDB backend
3333
typedb-driver = { version = "3", optional = true }

type-bridge-core/crates/python/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "type-bridge-core"
3-
version = "1.4.3"
3+
version = "1.4.4"
44
edition = "2024"
55
description = "PyO3 bindings exposing the type-bridge Rust core to Python"
66
license.workspace = true
@@ -12,7 +12,7 @@ name = "type_bridge_core"
1212
crate-type = ["cdylib", "rlib"]
1313

1414
[dependencies]
15-
type-bridge-core-lib = { path = "../core", version = "1.4.3" }
15+
type-bridge-core-lib = { path = "../core", version = "1.4.4" }
1616
pyo3 = { version = "0.23", features = ["extension-module"] }
1717
pythonize = "0.23"
1818
serde = { version = "1.0", features = ["derive"] }

type-bridge-core/crates/server/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "type-bridge-server"
3-
version = "1.4.3"
3+
version = "1.4.4"
44
edition = "2024"
55
description = "Query-intercepting proxy server for TypeDB with validation and audit logging"
66
license.workspace = true
@@ -23,7 +23,7 @@ axum-transport = ["dep:axum", "dep:tower-http"]
2323
test-helpers = []
2424

2525
[dependencies]
26-
type-bridge-core-lib = { path = "../core", version = "1.4.3" }
26+
type-bridge-core-lib = { path = "../core", version = "1.4.4" }
2727
tokio = { version = "1", features = ["full"] }
2828
serde = { version = "1.0", features = ["derive"] }
2929
serde_json = "1.0"

type-bridge-core/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "type-bridge-core"
7-
version = "1.4.3"
7+
version = "1.4.4"
88
description = "Rust core for type-bridge ORM"
99
requires-python = ">=3.13"
1010
classifiers = [

type_bridge/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
from type_bridge.session import Connection, Database, TransactionContext
5252
from type_bridge.typedb_driver import Credentials, TransactionType, TypeDB
5353

54-
__version__ = "1.4.1"
54+
__version__ = "1.4.4"
5555

5656
__all__ = [
5757
# Database and session

0 commit comments

Comments
 (0)