Skip to content

Spike/version beta components#149

Draft
andy-little wants to merge 5 commits intomainfrom
spike/version-beta-components
Draft

Spike/version beta components#149
andy-little wants to merge 5 commits intomainfrom
spike/version-beta-components

Conversation

@andy-little
Copy link
Contributor

A demo of how we might organise versioned components in the future (starting with beta components)

SPEC.md Outdated



/** @support prerelease */
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We’ll need some metadata, but I’m not sure this is quite right yet. My thinking behind pre-release is that it lets us merge work into spark without exposing the component in the insert menu, since it may not be implemented elsewhere in the content pipeline yet.

Deprecated might not be needed. It may be enough to say that once a newer version is supported, earlier versions are implicitly deprecated.

},
{
"$ref": "#/definitions/ContentTree.transit.InfoPair"
},
Copy link
Contributor Author

@andy-little andy-little Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't work as I hoped. I was envisaging a schema with something like:

"ContentTree.transit.AudioPlayer {
            "anyOf": [
               {
                    "$ref": "#/definitions/ContentTree.transit.AudioPlayerV1"
                },
                {
                    "$ref": "#/definitions/ContentTree.transit.AudioPlayerV2"
                },
                {
                    "$ref": "#/definitions/ContentTree.transit.AudioPlayerV3"
                }
            ]

But we end up flattening the union on bodyblock... which makes sense 🤔.

I think we can probably still work with this using the type property as a stable name

@andy-little andy-little force-pushed the spike/version-beta-components branch from 86ebff4 to 178bb82 Compare February 10, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant