CHANGELOG¶
v1.1.0 (2026-05-28)¶
Bug fixes¶
Build system¶
Features¶
feat: improve indexability and other fixes (
9ee6734)
v1.0.1 (2026-04-08)¶
Bug fixes¶
Build system¶
Continuous integration¶
ci: split ci/cd workflows and update workflow docs (
4a5c401)
Documentation¶
docs: update project status to active (
0510fc9)
Refactoring¶
refactor: format code and address pylint issues (
85e0d2d)
v1.0.0 (2026-02-18)¶
Bug fixes¶
Build system¶
build: update environment (
c1b4c18)
Continuous integration¶
ci: define explicit permissions for CI/CD pipeline (
21b8c3b)
v0.7.1 (2026-01-30)¶
Bug fixes¶
fix: remove null kwargs appearances in JSON output (
4f2de82)
Build system¶
Refactoring¶
refactor: add warning suppression to validation utility (
d07a6cb)
v0.7.0 (2025-11-26)¶
Build system¶
Features¶
feat: update for SPASE 2.7.1 and other minor fixes (
c92fb2c)
Refactoring¶
refactor: apply formatting to c92fb2c (
339f14e)
v0.6.2 (2025-10-31)¶
Bug fixes¶
fix: rename logging.py to avoid standard library conflict (
66295f9)
v0.6.1 (2025-10-23)¶
Bug fixes¶
fix: fix reference to soso PyPI listing (
71c4781)
v0.6.0 (2025-10-23)¶
Continuous integration¶
ci: check for release before uploading to PyPI (
a2ecce9)
Features¶
Refactoring¶
v0.5.4 (2025-10-07)¶
Bug fixes¶
fix: address suffixes and first name initials (
5041016)
v0.5.3 (2025-09-02)¶
Bug fixes¶
fix: update sidebar HTML _template/ reference (
8217482)
v0.5.2 (2025-09-02)¶
Bug fixes¶
fix: bump Zenodo release workflow (
828fa5f)
Continuous integration¶
ci: fix .zenodo.json contributor types (
ef66b31)
v0.5.1 (2025-09-02)¶
Bug fixes¶
fix: conditionally run release steps in workflow (
3c83694)
Continuous integration¶
v0.5.0 (2025-09-02)¶
Bug fixes¶
Build system¶
build: remove deprecated Poetry dev dependencies (#255) (
d4615ab)
Continuous integration¶
Documentation¶
docs: add missing docstring (
d7eaea0)docs: remove text from logo to be DRY (
9b98e21)docs: add example vignette for more complex cases (#237) (
f76cbda)docs: support unrecognized properties in SOSO records (#243) (
adcf6af)docs: accommodating shared infrastructure code (#237) (
913deb5)docs: add Zenodo DOI badge (#241) (
e2b730b)docs: update the documentation on skipping tests (
ca734f4)docs: fix sidebar, changelog, and logo references (
eac4ff1)docs: make minor editing for consistency (
4133086)docs: add a logo for branding (
40b12b8)docs: improve the visibility of the Code of Conduct (#239) (
fead0ee)docs: enhance contributing guidelines for clarity (#238) (
1565297)docs: refine project scope for clarity and focus (#236) (
4cf2b23)docs: update pyproject.toml with SPASE authors (#234) (
abf7963)
Features¶
feat: complete SPASE strategy implementation (
df49632)
Refactoring¶
Testing¶
v0.4.0 (2025-01-17)¶
Bug fixes¶
fix: translate docstrings into comments (#213, #222) (
ba74a46)
Build system¶
build: configure Read the Docs for explicit path to config.py (
a1a54c0)
Features¶
feat: add spatial coverage support for SPASE (#213) (
4c3154b)
Refactoring¶
refactor: address Pylint issues in SPASE strategy integrations (
e793798)
v0.3.0 (2024-12-12)¶
Bug fixes¶
Features¶
Testing¶
test: add missing
@idproperty to test fixture (#213) (5d980c8)
v0.2.0 (2024-09-27)¶
Bug fixes¶
Continuous integration¶
ci: fix code coverage report generation (
3bed01d)
Documentation¶
docs: enforce
schema:URLtype for@idin EML strategy SSSOM (9a5149d)docs: update SSSOM file for EML strategy (
97ad0b7)docs: update codecov badge to reflect current coverage (
8f70c10)docs: correct branch reference for codecov and documentation (
490d382)docs: enhance README with installation and quickstart (
851ed49)docs: correct _templates/ structure for proper rendering (
5a3e878)
Features¶
v0.1.0 (2024-07-30)¶
Bug fixes¶
fix: adjust mapping implementations (
df72499)fix: future deprecation warning (
5a74275)fix: geo time
xsd:decimalcould be string (635d0ed)fix: add missing contributors (
daaf1e3)fix: limit textual properties to 5000 characters (
c53bce9)fix: get_description returns incomplete value (
ea993a3)fix: get_checksum errors on no checksum value (
f64de9c)fix: get_content_size errors when unit not present (
f85f972)fix: strategy_instance returns class, not PosixPath (
16c205d)fix: don’t list nested properties as “unmappable” (
316c525)fix: consistent representation of metadata acronyms (
fad2836)fix: convert SPDX license URL to URI for EML (
dea8bfe)fix: add missing prefixes to top-level properties (
88e956f)fix: use contentUrl not contentURL (
158330e)fix: correct typo in EML SSSOM (
114080b)fix: differentiate persons from organizations (#5) (
4d3218e)fix: resolve pylint warning regarding long line (
f3bd1ea)fix: note publisher is unmappable (#5) (
215d24c)fix: note provider is unmappable (#5) (
e664f01)fix: return None creator/contributor for readability (
0d62bdf)fix: add missing return type to method docstring (#5) (
3654bd1)fix: update spatialCoverage mapping dates (#5) (
bcb2a4f)fix: fix distribution in EML SSSOM (#5) (
5c29cc2)fix: revert to previous SSSOM practices (#5) (
05816b3)fix: fully represent properties with ‘schema’ prefix (#5) (
17e5953)fix: add missing note to EML strategy (#5) (
5978c78)fix: specify expected string format (
a3f9b30)fix: deprecation warnings issued by pytest (
fcee9df)fix: return JSON-LD str not JSON dict (
6fa9ff8)
Build system¶
Continuous integration¶
ci: fix failing release workflow (
ee76c39)ci: ignore Pylint too-many-instance-attributes (
25d33e2)ci: ignore Pylint ‘too many arguments’ (
83ca931)ci: ignore pylint R0912 for is_property_type (
e64906b)ci: use ‘black’ version 23.7.0 (
c84d8b3)ci: ignore pylint c-extension-no-member messages (
7d6e9cc)ci: simplify pylint calls with pyproject.toml (
7578728)
Documentation¶
docs: reformat changelog for better readability (
11a952e)docs: encourage contribution (
60b6e5d)docs: review and edit documentation (
04df73f)docs: update mapping guidelines (
042db8e)docs: update SSSOM mapping for EML (
b0f0baa)docs: improve design requirement clarity (
f44c8d7)docs: define “acceptable mapping implementation” (
93b5526)docs: don’t coerce SSSOM mapping predicates (
318c6a6)docs: install from GitHub (
3c9e17b)docs: clean up code in “Wrapping it All Up” demo (
4a882e6)docs: establish consistent mapping terminology (
622b25c)docs: new strategy methods should use delete_null_values (
1b58b0b)docs: remove “precision-based property control” (
955b895)docs: de-emphasize section headings of quickstart notes (
504521d)docs: consistently emphasize package name (
fc6e357)docs: remove mention of Numpy docstrings (
ac7b2f2)docs: relocate code of conduct (
2024f40)docs: sync sidebar html docs (
9d203c7)docs: use Poetry in dev workflow (
119fdb7)docs: link to quickstart guide for customization (
63428c3)docs: add support for a new metadata standard (
43b45ed)docs: remove architecture heading from design docs (
0cb7200)docs: design docs don’t belong in contributor guide (
6334512)docs: refactor remaining system details of design docs (
ccf46be)docs: simplify detailed testing section of design docs (
3290bcc)docs: remove unused advanced section (
249e4da)docs: add quickstart notes (
2cbfe2d)docs: remove lingering docstring type descriptions (
05711b8)docs: demo wrapper function construction (
3fb2796)docs: demo property method override (
75fcf95)docs: demo property overwrite (
11fa452)docs: update title of property addition demo (
e6d091d)docs: note how to test positive and negative cases (
db90863)docs: use reST rather than Numpy formatting for consistency (
f971227)docs: describe new approach to property override with kwargs (
6e7a9e4)docs: disambiguate property definitions (
918ff1a)docs: override methods for advanced customization (
50769f8)docs: note mapping via params (#111) (
21056b9)docs: eliminate redundant statement (
f6aaa9b)docs: add unmappable EML properties via parameters (
9f25733)docs: streamline customization via parameters (
72d6885)docs: create unmappable properties with params (
634bca8)docs: stay up-to-date with Science-On-Schema.Org (
13eec9e)docs: explain logic of is_property_type function (
531d7f0)docs: add basic usage to the quickstart guide (
4f54279)docs: fix reference to old GitHub (
823fcd1)docs: improve narrative in opening examples (
d03f96b)docs: remove short list of features (
e344d86)docs: fix typo in opening example (
072d4df)docs: align project description with SOSO (
bfe3914)docs: update project description in README (
644c48a)docs: list features of this application (
997e93f)docs: demonstrate basic usage (
5aa0cd4)docs: add design docs for effective contributions (
f93f568)docs: note unmappable property for CRS (
1a1863f)docs: improve delete_unused_vocabularies description (
01ad124)docs: define “null” in rm_null_values function (
69ad083)docs: improve strategy return type descriptions (
fc8c0e5)docs: fix broken reference URLs in Maintainer Guide (
d2f17d6)docs: fix local test instructions (
9da4dce)docs: note nuances of EML object identifiers (#5) (
a281c93)docs: refine project descriptions (
9933d45)
Features¶
feat: convert multiple versions of source metadata (
0a200f5)feat: cast value to numeric type (
503fc52)feat: make ‘file’ argument accessible to strategy methods (
a132797)feat: override any top-level SOSO property via kwargs (
158a924)feat: create expires via parameter for EML (
b1bde5b)feat: create dateCreated via parameter for EML (
e55a3ef)feat: create includedInDataCatalog via parameter for EML (
0388a78)feat: create citation via parameter for EML (
475cc62)feat: create isAccessibleForFree via parameter for EML (
1198b09)feat: create version via parameter for EML (
7bff72b)feat: create sameAs via parameter for EML (
da8b3d8)feat: create url via parameter for EML (
e912c7e)feat: get checksum from EML (
14026f8)feat: generate citation from DOI (
f7a3faf)feat: add measurementTechnique to EML strategy (
df81edb)feat: add get_subject_of method for EML strategy (
3791795)feat: get encoding format of EML record (
2966cf0)feat: apply rm_null_values to strategy methods (
76c7cd0)feat: remove null values from properties (
d229402)feat: get encodingFormat from file extension (#5) (
d663bc4)feat: get wasGeneratedBy from argument (#5) (
7fddca7)feat: get isBasedOn from EML (#5) (
150e044)feat: get wasDerivedFrom from EML (#5) (
ab43abc)feat: get wasRevisionOf from argument (#5) (
c90caaa)feat: get license from EML (#5) (
ba18e06)feat: get funding from EML (#5) (
667d043)feat: get provider from argument (#5) (
ed2911f)feat: get publisher from EML (#5) (
f5f8f82)feat: get contributor from EML (#5) (
a42bd11)feat: get creator from EML (#5) (
eb89309)feat: get spatialCoverage from EML (#5) (
e888fb7)feat: get temporalCoverage from EML (#5) (
ff55894)feat: get expires from argument (#5) (
c684ab2)feat: get datePublished from EML (#5) (
85050cf)feat: get dateModified from EML (#5) (
d94c583)feat: get dateCreated from argument (#5) (
f7720c0)feat: get potentialAction from argument (#5) (
5a4e9d8)feat: get distribution property from EML (#5) (
dc5cb9d)feat: get subjectOf from argument (#5) (
b0f89ce)feat: get includedInDataCatalog from argument (#5) (#29) (
48e06fe)feat: get variableMeasured property from EML (#5) (
42f6a86)feat: get citation property from argument (#5) (
9cc297e)feat: get identifier property from EML (#5) (
60c7373)feat: get keywords property from EML (#5) (
e78012d)feat: get isAccessibleForFree property from argument (#5) (
707bf1a)feat: get version property from argument (#5) (
2a336ed)feat: get sameAs property from argument (#5) (
6460d08)feat: remove empty properties from graph (
1228b05)feat: get url property from argument (#5) (
d81d719)feat: get description property from EML (#5) (
ff96f2b)feat: get name from EML (#5) (
ee9f2f7)feat: read metadata for strategy method access (
3598d06)feat: read SSSOM for flow control logic (
4301349)feat: map SOSO to EML with SSSOM (#5) (
2a7dfe6)feat: validate graph against the dataset SHACL shape (
a1abc3f)
Refactoring¶
refactor: remove unused SSSOM functions (
0157622)refactor: list subjectOf as unmappable, not contentUrl (
d76eade)refactor: improve parsing of empty metadata (
e467c86)refactor: exception handling for EML file types (
4ea27cb)refactor: add missing type hints to strategies (
860f826)refactor: use type hints for static code analysis (
ec9eab8)refactor: use method override for unmapped properties (
dd276b8)refactor: apply consistent name prefixes for clarity (
65491ee)refactor: remove unused vocabularies from @context (
74622ce)refactor: add common vocabularies to @context (
00a1e9e)refactor: fix typo (
e667878)refactor: use consistent variable names for readability (
eb6b491)refactor: rename method for readability (
dcf34e8)refactor: enhance clarity of the public-facing API (
de7260d)refactor: re-enable pylint checks to improve code (
dee39e9)refactor: use “strategy” instead of “standard” (
941c37f)refactor: comment out stubs for implementation (
f5f5829)refactor: remove TODO and FIXME to silence pylint (
7def44d)refactor: match test and code module names (
baeb00e)
Testing¶
test: nest abstract of test EML (
c4c0f59)test: use empty metadata for testing negative cases (
336dd7b)test: instantiate strategy with parameters (
c881dcd)test: fix typo in test code (
68bf7c9)test: add missing info to test EML file (
11346c1)test: update rationale for skipped test (
15e9fb7)test: reduce false positive test results (
fbc8ce5)test: add verification test for conversion strategies (
292ce9a)test: add missing negative cases for is_not_null (
e0be5cf)test: strategy methods return None, not null values (
7313f1b)test: implement function for property type testing (
542aea2)test: add full EML record for tests and examples (
4cf04ea)