Skip to content

Commit d432d41

Browse files
committed
release 0.3.0
1 parent cddae1d commit d432d41

6 files changed

Lines changed: 30 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,31 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline
1111

1212
<!-- changelog -->
1313

14+
## [v0.3.0](https://github.com/diffo-dev/diffo/compare/v0.2.2...v0.3.0) (2026-05-17)
15+
16+
### Breaking Changes
17+
18+
* `Diffo.Provider.Relationship` no longer stores assignment records. Assignment relationships are now on `Diffo.Provider.AssignedToRelationship`. Any existing graph data with `type: :assignedTo` on `Relationship` nodes will need to be migrated.
19+
* `instance.forward_relationships` no longer contains assignment records — use `instance.assignments` instead.
20+
* `Diffo.Provider.create_assignment_relationship` removed — use `Diffo.Provider.create_assigned_to_relationship`.
21+
22+
### Notable Changes
23+
24+
* `Diffo.Provider.BaseRelationship` — new Ash Resource Fragment providing common attributes and behaviour for all relationship types
25+
* `Diffo.Provider.AssignedToRelationship` — new dedicated resource for pool assignment relationships, split out from `Diffo.Provider.Relationship`
26+
* `Diffo.Provider.Relationship` — now TMF-only; `pool`, `thing`, `assigned` attributes and `:create_assignment` action removed
27+
* `instance.assignments` — new `has_many` on `BaseInstance` for pool assignment relationships; included in JSON encoding and default loads
28+
* `Diffo.Provider.BaseCharacteristic` — new Ash Resource Fragment for typed characteristic resources; `ShelfCharacteristic`, `CardCharacteristic` etc. now extend this rather than using plain `Ash.TypedStruct`
29+
* `pools do` DSL — new section on Instance resources replacing the old `characteristic :name, AssignableValue` pattern; generates `pools/0` and `pool/1` introspection functions
30+
* Module naming convention — Instance resources must be suffixed `…Instance`, Characteristic resources `…Characteristic` to avoid Neo4j label collisions (documented in `usage-rules.md` and `AGENTS.md`)
31+
* `Diffo.Provider.Extension` — unified Spark DSL extension consolidating the prior per-kind extensions
32+
33+
### What's Changed
34+
35+
* provider extension consolidation by @matt-beanland in https://github.com/diffo-dev/diffo/pull/130
36+
* base characteristic by @matt-beanland in https://github.com/diffo-dev/diffo/pull/133
37+
* assigner refactor — BaseRelationship, AssignedToRelationship, pools DSL, resource naming by @matt-beanland in https://github.com/diffo-dev/diffo/pull/135
38+
1439
## [v0.2.2](https://github.com/diffo-dev/diffo/compare/v0.2.1...v0.2.2) (2026-05-08)
1540

1641
## Notable Changes

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Alternatively, add `diffo` to your list of dependencies in `mix.exs` manually:
4747
```elixir
4848
def deps do
4949
[
50-
{:diffo, "~> 0.2.1"}
50+
{:diffo, "~> 0.3.0"}
5151
]
5252
end
5353
```

diffo.livemd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
99
```elixir
1010
Mix.install(
1111
[
12-
{:diffo, "~> 0.2.2"}
12+
{:diffo, "~> 0.3.0"}
1313
],
1414
consolidate_protocols: false
1515
)

documentation/how_to/use_diffo_provider_versioning.livemd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
99
```elixir
1010
Mix.install(
1111
[
12-
{:diffo, "~> 0.2.1"}
12+
{:diffo, "~> 0.3.0"}
1313
],
1414
config: [
1515
diffo: [ash_domains: [Diffo.Provider]]

documentation/how_to/use_diffo_type.livemd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
99
```elixir
1010
Mix.install(
1111
[
12-
{:diffo, "~> 0.2.1"}
12+
{:diffo, "~> 0.3.0"}
1313
],
1414
consolidate_protocols: false
1515
)

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule Diffo.MixProject do
66
@moduledoc false
77
use Mix.Project
88

9-
@version "0.2.2"
9+
@version "0.3.0"
1010
@name "Diffo"
1111
@description "TMF Service and Resource Manager with a difference"
1212
@github_url "https://github.com/diffo-dev/diffo"

0 commit comments

Comments
 (0)