Skip to content

Commit 76cf6da

Browse files
authored
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.
1 parent c4c7a07 commit 76cf6da

4 files changed

Lines changed: 27 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,21 @@ For more detail see #29.
9696
## Release 0.5.1 (2026-04-02)
9797

9898
- 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.

build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
fp.write(f"from . import ({', '.join(sorted(module_list))})\n")
155155

156156
context = {
157-
"version": "0.5.1",
157+
"version": "0.6.0",
158158
}
159159

160160
with open("target/pyproject.toml", "w") as fp:

pipeline/src/codemeta.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@
5858
"@id": "https://orcid.org/0000-0003-4509-6969",
5959
"givenName": "Reema",
6060
"familyName": "Gupta"
61+
},
62+
{
63+
"@type": "Person",
64+
"@id": "https://orcid.org/0000-0002-2247-2418",
65+
"givenName": "Geneviève",
66+
"familyName": "Fleury"
6167
}
6268
]
6369
}

pipeline/src/pyproject_template.toml.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ authors = [
99
{ name="Louisa Köhnen" },
1010
{ name="Peyman Najafi" },
1111
{ name="Raphaël Gazzotti" },
12-
{ name="Reema Gupta" }
12+
{ name="Reema Gupta" },
13+
{ name="Geneviève Fleury" }
1314
]
1415
requires-python = ">=3.9"
1516
license = "MIT"

0 commit comments

Comments
 (0)