Repository navigation
Releases: Aloecraft-org/aloeschema
Release list
v0.3.3
[0.3.3] - 2026-09-13
v0.3.3 · schema.org 30.0
registerCustomProperty accepts datatype ranges again.
It rejected every one of them -- Text, Number, Boolean, Date,
DateTime -- with PROPERTY_RANGE_TYPE_NOT_RECOGNIZED, which is the
second example in the README. Only class ranges worked. The bug dates
from when enumeration support went in; it was invisible because no
test registered a property with a datatype range, and the README
example that does could not run at all until 0.3.2 shipped the data.
Added
tests/test_readme.pyexecutes both README examples and covers
datatype ranges, class ranges and unknown ranges. Both bugs fixed
in 0.3.2 and 0.3.3 were on that path and neither was covered.
Fixed
- The range guard raises only when the range is neither a valid type
nor a valid value type, which is what its error message says. It
usedor, and becauseIsValidValueTypeis a subset of
IsValidType, a validTextrange satisfied the second arm and
raised. The code immediately below it records datatype ranges in
properties[name]["datatype"], which the guard made unreachable.
v0.3.2
[0.3.2] - 2026-09-12
v0.3.2 · schema.org 30.0
The first release whose wheel contains the schema.org data.
aloeschema.data was missing from every wheel and sdist ever
published, so load_schema_org() raised ModuleNotFoundError on any
pip install -- the first example in the README, broken since at
least 0.2.0. Anyone who hit it was not doing anything wrong.
Editable installs were unaffected, which is why it went unnoticed:
pip install -e . resolves the package straight from src/, so the
test suite passed against the source tree while the artifact it
produced did not work.
Added
- The release pipeline installs the built wheel into a clean
environment and callsload_schema_org()through it before
publishing. Verified against the published 0.3.1 wheel, which it
rejects. tests/test_packaging.pyfails when a package directory under
src/is missing from the declared package list, catching the same
defect at test time.
Fixed
[tool.setuptools].packagesdeclaresaloeschema.data. setuptools
does not imply subpackages from their parent, and only the parent
was listed.
v0.3.1
[0.3.1] - 2026-09-12
v0.3.1 · schema.org 30.0
A release-pipeline fix. No library code changed between 0.3.0 and
0.3.1, and the vendored ontology is the same schema.org 30.0.
0.3.0 is on GitHub but never reached PyPI, which is why PyPI skips
from 0.2.3 to 0.3.1. Its upload was refused with invalid-publisher:
PyPI's trusted publisher is a tuple of owner, repository, workflow
filename and environment, and the release workflow had been renamed
from publish.yml to release.yml, which revoked the grant. Every
other claim matched. Nothing was published, so no version was spent.
Fixed
- The release workflow is
publish.ymlagain, the filename PyPI is
configured for, and says at the top of the file that its name is
load-bearing. The constraint was invisible, which is what made the
rename look free. BUILDINFO.txtrecords the default branch rather than whichever
branch sorts first alphabetically. A released commit is normally on
bothmainand the branch it was developed on, so 0.3.0 shipped
branch: claude/charming-mayer-foqboidespite being released from
main.
v0.3.0
[0.3.0] - 2026-09-12
v0.3.0 · schema.org 30.0
The vendored schema.org snapshot is now a pinned, named, verifiable
release. Before this, it was an unreproducible capture of
version/latest taken partway through schema.org's 30.0 development
window: it matched no published release, carried two synthetic root
nodes present in no release at all, and nothing anywhere recorded
which ontology it was.
Added
schemaorg_releaseis recorded on every release from here on, in the
changelog entry and inBUILDINFO.txt, andsrc/data/release.py
carries it alongside a fingerprint of the ontology graph.load_schema_org()returnsschemaorg_releasein its result dict.script/vendor_schemaorg.pyregenerates the snapshot from a pinned
release, so it can be reproduced and verified rather than trusted.script/checks.pyfails the build when the snapshot, the recorded
release and the changelog entry disagree.
Changed
- The vendored ontology is schema.org release 30.0. Relative to the
capture it replaces this adds 34 terms -- among them
schema:Credential,schema:jobDurationand the DE and IT nonprofit
enumerations -- and drops two synthetic root nodes that were never
part of schema.org. Net: one more type, eighteen more properties, one
fewer enumeration. More input validates than before, which is why
this is a minor rather than a patch. load_schema_org(fetch=True)now warns withSchemaOrgReleaseWarning
when what it fetched is not the vendored release. schema.org publishes
no version marker inside the JSON-LD, so an unrecognised document
reportsschemaorg_release: Nonerather than guessing.- Release tooling is the shared technoproj engine, and versions follow
the Aloecraft scheme indoc/ALIGNMENT.md.