pub.leaflet.blocks.membersOnlyDelimiter

leaflet.pub

Schema Diff

+15 -4

From

CID
bafyreibntgibqn2...
Indexed At
2026-08-15 19:29 UTC
View this version

To

CID
bafyreifx75uo5wu...
Indexed At
2026-08-19 17:20 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

5 breaking changes, 5 non-breaking changes.

Breaking Changes (5)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter", src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.audience", kind: "prop", name: Some("audience") }
  • RemovedVertex RemovedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tiers" }
  • RemovedVertex RemovedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tiers:items" }
  • RemovedEdge RemovedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tiers", kind: "prop", name: Some("tiers") }
  • RemovedEdge RemovedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter.tiers", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tiers:items", kind: "items", name: None }
Non-Breaking Changes (5)
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.audience" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds:items" }
  • AddedEdge AddedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds", kind: "prop", name: Some("tierIds") }
  • AddedEdge AddedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds:items", kind: "items", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tiers" }
  • RemovedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tiers:items" }

Added Elements

  • AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.audience" }
  • AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds" }
  • AddedVertex { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds:items" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "pub.leaflet.blocks.membersOnlyDelimiter", src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.audience", kind: "prop", name: Some("audience") }
  • Breaking: RemovedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tiers", kind: "prop", name: Some("tiers") }
  • Breaking: RemovedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter.tiers", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tiers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds", kind: "prop", name: Some("tierIds") }
  • Non-breaking: AddedEdge { src: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds", tgt: "pub.leaflet.blocks.membersOnlyDelimiter.tierIds:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "Marks where members-only content begins; blocks after this delimiter are only served to readers with an active paid membership.",
5 +
      "description": "Marks where members-only content begins and declares which publication members can read past it.",
6 6
      "properties": {
7 -
        "tiers": {
8 -
          "description": "Ids of the membership tiers whose members can read past the delimiter. Absent means every paid tier.",
7 +
        "audience": {
8 +
          "description": "Whether access is available to all subscribers, all paid members, or selected paid tiers.",
9 +
          "knownValues": [
10 +
            "subscribers",
11 +
            "paid",
12 +
            "tiers"
13 +
          ],
14 +
          "type": "string"
15 +
        },
16 +
        "tierIds": {
17 +
          "description": "Paid tier ids that grant access when audience is tiers. An empty selection grants no membership access.",
9 18
          "items": {
10 19
            "type": "string"
11 20
          },
12 21
          "type": "array"
13 22
        }
14 23
      },
15 -
      "required": [],
24 +
      "required": [
25 +
        "audience"
26 +
      ],
16 27
      "type": "object"
17 28
    }
18 29
  },
19 30
  "id": "pub.leaflet.blocks.membersOnlyDelimiter",
20 31
  "lexicon": 1
21 32
}

Compare Other Versions

Lexicon Garden

@