You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #102 from apdavison:prepare-release
* fix warning about invalid escape
* Release 0.6.0
Update CHANGELOG and set the version identifier to 0.6.0.
This is a minor rather than a patch release because #100 and #103 add new options to `by_name()`, and because #95 and #101 both change behaviour in ways that may require changes in downstream code, even though they are bug fixes.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,3 +96,21 @@ For more detail see #29.
96
96
## Release 0.5.1 (2026-04-02)
97
97
98
98
- Changed `embed_linked_nodes` from boolean to LinkedNodeEmbedding enum [#92](https://github.com/openMetadataInitiative/openMINDS_Python/pull/92). This adds an option "if necessary", which embeds linked nodes inline when they lack an @id, and otherwise uses a reference — useful for mixed scenarios where some nodes don't yet have identifiers. This is backwards compatible: True is accepted in place of "always" and False in place of "never.
99
+
100
+
101
+
## Release 0.6.0 (2026-08-20)
102
+
103
+
Note that this release contains two changes in behaviour which, although they are bug fixes, may require changes in downstream code. See "Changes in behaviour" below.
104
+
105
+
- New options for the `by_name()` method [#100](https://github.com/openMetadataInitiative/openMINDS_Python/pull/100), [#103](https://github.com/openMetadataInitiative/openMINDS_Python/pull/103):
106
+
-`case_sensitive` (default `True`); set it to `False` to ignore case when matching.
107
+
- a third `match` mode, `"within"`, which finds instances whose name-like property is contained in the string you provide (the mirror image of `"contains"`).
108
+
-`ignore_accents` (default `False`); set it to `True` to ignore accents and other diacritical marks when matching, and to treat special letters such as ß, æ, ø and ł as their closest plain-letter equivalents. For example, `SovereignState.by_name("Republique francaise", ignore_accents=True)` finds "France". Combine it with `case_sensitive=False` to ignore differences in case as well.
109
+
- Bug fixes in `by_name()`[#100](https://github.com/openMetadataInitiative/openMINDS_Python/pull/100):
110
+
- a crash when an instance did not have one of the name-like properties set.
111
+
-`by_name(..., all=True)` could return the same instance more than once, where it matched through several keys (e.g. a name that is also listed as one of its own synonyms).
112
+
113
+
### Changes in behaviour
114
+
115
+
- Cross-references between instance library instances are now resolved to typed openMINDS objects instead of being left as raw dicts [#95](https://github.com/openMetadataInitiative/openMINDS_Python/pull/95), fixing [#94](https://github.com/openMetadataInitiative/openMINDS_Python/issues/94). For example, `Accessibility.direct_virtual_open_access.payment_models[0]` is now a `PaymentModelType` object, where previously it was a dict. Code that treated such values as dicts will need updating. As part of this fix, `Node._resolve_links()` now keeps an unresolvable `Link` in a list-valued property rather than raising `KeyError`.
116
+
- IRI validation has moved from the `IRI` constructor to the `validate()` method [#101](https://github.com/openMetadataInitiative/openMINDS_Python/pull/101), fixing [#93](https://github.com/openMetadataInitiative/openMINDS_Python/issues/93). Creating an `IRI` with an invalid value no longer raises `ValueError`; the problem is instead reported as a validation failure, with a specific hint to replace spaces with "%20" where that would make the IRI valid.
0 commit comments