Skip to content

Releases: openedx/openedx-core

v1.0.1

30 Apr 12:55
d3750e8

Choose a tag to compare

What's Changed

  • fix: Handle Taxonomy CASCADE deletes in _is_explicit_tag_delete by @kdmccormick in #575

Full Changelog: v1.0.0...v1.0.1

v1.0.0

30 Apr 04:38
6d074b9

Choose a tag to compare

What's Changed

Full Changelog: v0.48.1...v1.0.0

v0.48.1

30 Apr 04:01

Choose a tag to compare

What's Changed

Full Changelog: v0.48.0...v0.48.1

v0.48.0

30 Apr 00:16
508be7d

Choose a tag to compare

What's Changed

Full Changelog: v0.47.0...v0.48.0

v0.47.0

29 Apr 00:43
0abc619

Choose a tag to compare

What's Changed

  • feat!: remove olx_importer app by @ormsbee in #568
  • Remove ability to add media to component versions after initialization by @ormsbee in #565

Full Changelog: v0.46.0...v0.47.0

v0.46.0

27 Apr 20:49
c22cc1b

Choose a tag to compare

What's Changed

Full Changelog: v0.45.0...v0.46.0

v0.45.0

24 Apr 16:30

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.44.0...v0.45.0

v0.44.0

23 Apr 16:40
beffc1f

Choose a tag to compare

What's Changed

Full Changelog: v0.43.0...v0.44.0

0.43.0

21 Apr 17:07
d0dc9cd

Choose a tag to compare

Release Notes: v0.39.2 → v0.43.0

Generated by Claude based on the commit messages, reviewed by @kdmccormick .

This release is dominated by the "keys cleanup" initiative (#322, OEP-68). Various key fields throughout the codebase have been renamed to be more descriptive and intentional: collection_code, component_code, container_code, entity_ref, package_ref, and path. The goal is to stop treating these fields as parseable pseudo-keys and instead make their roles explicit: "codes" are human-readable slugs scoped within a LearningPackage, while "refs" are opaque externally-supplied identifiers whose internal structure should not be assumed.

Additionally, PublishLogRecord now tracks whether each record was a direct or indirect result of a publish action, enabling richer publish history UX.

Backup-restore continues to read and write the old key field names in TOML files for backwards compatibility with Ulmo-era archives. This may change in a future "v2" format.

openedx_django_lib

  • Renamed key_field(...)ref_field(...).

models

  • Renamed LearningPackage.keyLearningPackage.package_ref.
  • Renamed PublishableEntity.keyPublishableEntity.entity_ref.
  • Renamed PublishableEntityMixin.keyPublishableEntityMixin.entity_ref.
  • Renamed property PublishableEntityVersion.keyPublishableEntityVersion.entity_ref.
  • Renamed Collection.keyCollection.collection_code. Now validates against [A-Za-z0-9\-\_\.]+.
  • Renamed Component.local_keyComponent.component_code. Now validates against [A-Za-z0-9\-\_\.]+ with max_length=255 (was 500).
  • Added Container.container_code field and Container.learning_package FK. UniqueConstraint on (learning_package, container_code) — unlike components, container codes are not scoped by type. For existing containers, container_code is backfilled from the entity key via data migration.
  • Renamed ComponentVersionMedia.keyComponentVersionMedia.path.
  • Added PublishLogRecord.direct field (nullable boolean). True = explicitly requested by the author, False = indirectly published/affected, None = pre-existing record where intent cannot be determined retroactively.

publishing

  • In create_learning_package(...), update_learning_package(...), learning_package_exists(...): renamed param keypackage_ref.
  • In create_publishable_entity(...): renamed param keyentity_ref.
  • Renamed get_publishable_entity_by_key(...)get_publishable_entity_by_ref(...), param keyentity_ref.
  • Renamed get_learning_package_by_key(...)get_learning_package_by_ref(...), param keypackage_ref.
  • PublishLogRecord.direct is now populated during publish operations to distinguish direct vs. indirect publish records.

components

  • Renamed Component.local_keyComponent.component_code in all API functions: create_component(...), create_component_and_version(...), get_component_by_key(...)get_component_by_code(...), component_exists_by_key(...)component_exists_by_code(...).
  • Removed get_or_create_component_type_by_entity_key().

containers

  • create_container(...), create_container_and_version(...), and their typed wrappers (create_unit_and_version(...), create_subsection_and_version(...), create_section_and_version(...)): param keycontainer_code.
  • Renamed get_container_by_key(...)get_container_by_code(...), param keycontainer_code.
  • Renamed get_container_children_entities_keys(...)get_container_children_entity_refs(...).

collections

  • All API functions (create_collection, get_collection, update_collection, delete_collection, restore_collection, add_to_collection, remove_from_collection, get_collection_entities): param key/collection_keycollection_code.
  • In get_entity_collections(...): renamed param entity_keyentity_ref.

media

  • In create_component_version_media(...): renamed param keypath.
  • In look_up_component_version_media(...): renamed param keypath, learning_package_keylearning_package_ref, component_keyentity_ref.
  • In the add_assets_to_component management command: renamed arguments learning_package_keylearning_package_ref, component_keyentity_ref.

backup_restore

  • In load_learning_package(...): renamed param keypackage_ref.
  • In the return dict, within ["lp_restored_data"]: renamed ["key"]["package_ref"], ["archive_lp_key"]["archive_package_ref"], ["archive_org_key"]["archive_org_code"], ["archive_slug"]["archive_package_code"]. If archive_package_ref cannot be parsed into {prefix}:{org_code}:{package_code}, then archive_org_code and archive_package_code will be None (previously raised ValueError).
  • Fixed a bug where version_num was incorrectly passed to create_next_container_version() when restoring archives with published containers, causing a TypeError.

Other

  • Upgraded Python testing requirements.

Full changelog

v0.39.2...v0.43.0

v0.39.2

13 Apr 21:55
5391abc

Choose a tag to compare

What's Changed

  • Better handling of IntegrityError in tagging REST APIs by @jesperhodge in #536
  • Tagging APIs can properly report implicit tag usage counts by @tbain in #506

New Contributors

Full Changelog: v0.39.0...v0.39.2