Skip to content

feat!: Mandate that usage_ids and definition_ids are OpaqueKeys - #809

Draft
kdmccormick wants to merge 8 commits into
openedx:masterfrom
kdmccormick:kdmccormick/scope-id-types
Draft

feat!: Mandate that usage_ids and definition_ids are OpaqueKeys#809
kdmccormick wants to merge 8 commits into
openedx:masterfrom
kdmccormick:kdmccormick/scope-id-types

Conversation

@kdmccormick

@kdmccormickkdmccormick commented Jan 7, 2025

Copy link
Copy Markdown
Member

Bumps XBlock version to 6.0.0

TODO: as noted in openedx/openedx-platform#37845 (comment), add a note about how block_type is now redundantly accessible via usage_id.

Part of:

Next:

BREAKING CHANGE: Raise an exception when scope IDs are missing or are not the
expected types. In particular, definition IDs must be DefinitionKey instances
and usage IDs must be UsageKey instances. This has been effectively true within
edx-platform (the lone production client of the XBlock library) for a long
time, but explictly enforcing it will now allow us to add strong type
annotations to XBlock in an upcoming release.
Bump version to 6.0.0.
Closes: openedx#708
@kdmccormick
kdmccormickforce-pushed the kdmccormick/scope-id-types branch from e7ed235 to d4e5e83CompareJanuary 17, 2026 05:07
@kdmccormickkdmccormick changed the title feat!: Assume that scope IDs are opaque key objects (WIP)feat!: Mandate that usage_ids and definition_ids are OpaqueKeysJan 24, 2026
Sign up for freeto 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

@kdmccormick