Skip to content

Conversation

@davebelais
Copy link
Collaborator

This pull request introduces several enhancements and bug fixes to the model handling logic in the oapi library, primarily focusing on improved support for recursive type definitions, better property type management, and some minor code maintenance. The most significant changes are grouped below.

Recursive type handling and deferred callbacks

  • Added a mechanism to register and execute deferred callbacks for schema-relative URL pointers, enabling proper handling of recursive type definitions. This ensures that property types referencing themselves (directly or indirectly) are correctly resolved after all types are available. [1] [2] [3] [4]

Property type management improvements

  • Updated the logic in _append_property_type to remove parent types when appending a subclass, preventing duplicate or unnecessary types in property definitions. Also corrected a comment typo ("supercedes" to "supersedes"). [1] [2]

Code maintenance and documentation

  • Added TODO comments to merge_array_schemas and merge_dictionary_schemas methods to indicate that these may be candidates for deletion. [1] [2]
  • Improved the string representation of model metadata by using sob.utilities.represent instead of repr, ensuring more consistent output.

Version bump

  • Bumped the library version from 2.6.0 to 2.7.0 to reflect the new features and fixes.

@davebelais davebelais merged commit d245c63 into main Jan 11, 2026
13 checks passed
@davebelais davebelais deleted the bugfix/append-property-type branch January 11, 2026 00:07
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.

2 participants