Releases: linkml/linkml
Releases · linkml/linkml
v1.11.1
Note: This is a re-release of the v1.11.0-rc3 contents under the version
1.11.1. The previously published1.11.0was inadvertently built frommainrather than the rc3 commit, and has been yanked from PyPI.1.11.1is byte-identical tov1.11.0-rc3.
Breaking changes
- For your documentation to render correctly, you need to now add
attr_listandmd_in_htmlto your mkdocs.yml, see for example here.
What's Changed
- Update Schedule on the Community-Meetings.md by @sagehrke in #3452
- Update Linkml docs with new Slack signup form by @sagehrke in #3455
- Fix
enum.md.jinja2so that it can correctly expand/render dynamic enum elements by @sujaypatil96 in #3469 - Update Community-Meetings.md with Guidelines for presenting by @sagehrke in #3460
- Trigger CI on merge_group events to unblock the merge queue by @kevinschaper in #3472
- build(deps): bump the github-actions group across 1 directory with 5 updates by @dependabot[bot] in #3470
- Use
linkml.validatorinlinkml.utils.converterby @sneakers-the-rat in #2385 - terminusdb: updates to the modern schema format by @philocalyst in #3258
- feat(generators): add --xsd-anyuri-as-iri flag for cross-generator IRI consistency by @jdsika in #3292
- fix(jsonldcontextgen): emit scoped contexts for class-level range overrides by @amc-corey-cox in #3336
- fix(excelgen): move workbook.save outside loop by @noelmcloughlin in #3420
- Adding test for any_of at the class level. by @cmungall in #2292
- Update Metamodel files for 1.11.0-rc2 by @matentzn in #3484
New Contributors
- @philocalyst made their first contribution in #3258
Full Changelog: v1.11.0-rc2...v1.11.0-rc3
v1.11.0
linkml-lint note
linkml-lintis now more strict about type validation in schema files. The Python runtime still coerces many shorthand forms at load time, but schemas that previously passedlinkml-lintmay now fail type checks. Some specific patterns:- Multivalued slots must be YAML lists. Bare scalar shorthands under
comments,notes,in_subset,see_also,aliases, the*_mappingsfamily, and other multivalued metamodel slots are no longer accepted — you'll need to wrap them in a list. deprecatedis a string, not a boolean. The slot is defined to carry a human-readable reason for deprecation. To mark an element deprecated without a reason, it works to use a quoted string (e.g.deprecated: "true") — a bare value that yaml coerces to a boolean will fail the type check.examples.valuemust be a string. Useexamples.valuefor the canonical textual representation of an example. Non-string examples (mappings, numbers, booleans, nested objects) belong underexamples.object.
- Multivalued slots must be YAML lists. Bare scalar shorthands under
What's Changed
- Fix induced_slot setting alias equal to slot name by @kevinschaper in #3135
- fix: skip subproperty_of Literal expansion when range is class or enum by @vladistan in #3185
- Feature: Improve YARRRML generator object semantics & inline handling by @lapkinvladimir in #3131
- feat(plantumlgen): enum rendering, --all flag, format fix, mixin improvements by @mgskjaeveland in #3201
- mark more tests that use the metamodel as slow by @sneakers-the-rat in #3210
- Emit URIRef for xsd:anyURI values in RDF serialization by @amc-corey-cox in #3221
- Use vendored JSON-LD context in generators by @amc-corey-cox in #3224
- fix(owlgen): implement children_are_mutually_disjoint by @mgskjaeveland in #3187
- Submit releases to the LinkML Zenodo community by @dalito in #3206
- Add configurable list formatting for CSV/TSV serialization by @turbomam in #3134
- dont leave files open by @sneakers-the-rat in #3207
- build(deps): bump the github-actions group with 5 updates by @dependabot[bot] in #3232
- Add alumni section with contributors by @matentzn in #3195
- javagen: Represent boolean slots as Boolean-typed fields by default. by @gouttegd in #3178
- handle special ifabsent cases in ifabsent processor by @sneakers-the-rat in #2366
- Relax
clickdependency specification by @pkalita-lbl in #3240 - Fix/suppress vacuous axioms by @mgskjaeveland in #3192
- Create new generator sqlvalidationgen by @FlorianK13 in #3127
- Update Community-Meetings.md by @sagehrke in #3252
- cheaper docgen test and use threadpoolexecutor to generate classes by @sneakers-the-rat in #3220
- Add plugin-link for interactive LinkML viewing by @dkapitan in #3257
- downgrade null/empty enum errors to warnings for optional slots by @madanucd in #3227
- Fix: use kwargs in _normalize_inlined to support inherited classes by @dalito in #3247
- Remove obsolete info on testing from pre-monorepo times by @dalito in #3268
- Clean up obsolete files in linkml-runtime package and update references to new home by @dalito in #3271
- Follow-up of PR #3271 - remove xfails by @dalito in #3275
- Update index.rst by @sagehrke in #3288
- Create office-hours.md by @sagehrke in #3286
- improve plantuml generator help by @Silvanoc in #3290
- feat(owlgen): add covering axiom for abstract classes by @mgskjaeveland in #3219
- fix(generators): omit sh:class linkml:Any from SHACL output by @jdsika in #3278
- Add new decorator feature for compliance tests by @matentzn in #3302
- Implementing range_expression in jsonschemagen by @cmungall in #2860
- Fix pydantic generator ifabsent=bnode producing invalid code by @amc-corey-cox in #3238
- fix(rdflib): support Pydantic models in RDFLibDumper by @emmanuel-ferdman in #3234
- Sort type declaration classes in
pythongenaccording to inheritence graph by @christian-monch in #3045 - fix(generators): prefer literal coercion in mixed any_of unions by @jdsika in #3276
- fix(shacl): emit sh:BlankNodeOrIRI for nodeidentifier type by @jdsika in #3291
- feat(context): add --exclude-imports flag to ContextGenerator by @jdsika in #3294
- Fix issue #3011 test and add documentation for SHACL naming modes by @kevinschaper in #3090
- fix(shaclgen): migrate ShaclGenerator from SchemaLoader to SchemaView by @jdsika in #3293
- Enable parallel test execution with pytest-xdist by @amc-corey-cox in #3306
- Add AI-Assisted Discussions guidelines by @matentzn in #3150
- Make delimited file loader schema-aware to preserve string/enum columns by @Sigfried in #3289
- Consolidate GOLR biolink snapshots into single file by @amc-corey-cox in #3307
- Misc improvements to the Java code generator by @gouttegd in #3255
- Validate tutorial as part of standard tests by @dalito in #3272
- Refactor: cleanup dead code by @Silvanoc in #3265
- ifabsent enum serialization fix by @kevinschaper in #3308
- fix: handle None preconditions in doc-gen class template by @saschabuehrle in #3310
- Generator-level governance: add first stab at team proposal based on git blame line count by @matentzn in #3137
- fix(gen-json): include mixins/abstracts for union(anyof) support by @noelmcloughlin in #3274
- Add boolean truthy/falsy handling for CSV/TSV by @turbomam in #3144
- Fix linkml-runtime version floor for multivalued inlined slots (#3182) by @turbomam in #3183
- Fix broken doctests across both packages by @cmungall in #3230
- Update metamodel test fixtures from linkml-model by @github-actions[bot] in #3170
- normalize: Correctly recognise linkml:Any classes. by @gouttegd in #3328
- add doc and examples for instantiates vs implements by @sierra-moxon in #3284
- Create a pull request template by @matentzn in #3335
- Update Community-Meetings.md by @sagehrke in #3339
- Update CITATION.cff. by @gouttegd in #3342
- Fixes issue #3235: Summary generator prefixes enums in ranges with "Unknown_" by @sveinugu in #3236
- javagen: Render
uriorcurie-typed slots as String fields. by @gouttegd in #3311 - fix(example-runner): normalize hyphenated key names / linkml:Any handling by @noelmcloughlin in #3319
- oocodegen/javagen: Add option to honour slot aliases when deriving field names by @gouttegd in #3326
- Generate compliance dashboard by @matentzn in #3303
- Identifiers cannot be null by @Silvanoc in #2449
- Pydanticgen support class alias for class names which aren't valid python classes by @kevinschaper in #2534
- feat(sqla): add SQLAlchemy 2.x declarative code generation by @kevinschaper in #3231
- Consolidate SchemaBuilder: deprecate linkml copy in favor of linkml_runtime by @dalito in #3334
- Fix bug in generation of OWL union, intersection, and none of by @cthoyt in #3359
- Jinja template changes for documentation pages search bar optimizations by @sujaypatil96 in #3350
- Update CITATION.cff with new ORCID entries and paper by @matentzn in #3340
- test: warn when OWL coherency checks are skipped by @SproutSeeds in #3312
- test: reduce issue snapshot file count first pass by @SproutSeeds in #3315
- Make gen_doc output ordering deterministic by @sveinugu in #3368
- Update Community-Meetings.md by @sagehrke in https:/...
1.11.0 RC 3 release
What's Changed
- Update Schedule on the Community-Meetings.md by @sagehrke in #3452
- Update Linkml docs with new Slack signup form by @sagehrke in #3455
- Fix
enum.md.jinja2so that it can correctly expand/render dynamic enum elements by @sujaypatil96 in #3469 - Update Community-Meetings.md with Guidelines for presenting by @sagehrke in #3460
- Trigger CI on merge_group events to unblock the merge queue by @kevinschaper in #3472
- build(deps): bump the github-actions group across 1 directory with 5 updates by @dependabot[bot] in #3470
- Use
linkml.validatorinlinkml.utils.converterby @sneakers-the-rat in #2385 - terminusdb: updates to the modern schema format by @philocalyst in #3258
- feat(generators): add --xsd-anyuri-as-iri flag for cross-generator IRI consistency by @jdsika in #3292
- fix(jsonldcontextgen): emit scoped contexts for class-level range overrides by @amc-corey-cox in #3336
- fix(excelgen): move workbook.save outside loop by @noelmcloughlin in #3420
- Adding test for any_of at the class level. by @cmungall in #2292
- Update Metamodel files for 1.11.0-rc2 by @matentzn in #3484
New Contributors
- @philocalyst made their first contribution in #3258
Full Changelog: v1.11.0-rc2...v1.11.0-rc3
v1.11.0-rc2 release
What's Changed
- Identifiers cannot be null by @Silvanoc in #2449
- Pydanticgen support class alias for class names which aren't valid python classes by @kevinschaper in #2534
- feat(sqla): add SQLAlchemy 2.x declarative code generation by @kevinschaper in #3231
- Consolidate SchemaBuilder: deprecate linkml copy in favor of linkml_runtime by @dalito in #3334
- Fix bug in generation of OWL union, intersection, and none of by @cthoyt in #3359
- Jinja template changes for documentation pages search bar optimizations by @sujaypatil96 in #3350
- Update CITATION.cff with new ORCID entries and paper by @matentzn in #3340
- test: warn when OWL coherency checks are skipped by @SproutSeeds in #3312
- test: reduce issue snapshot file count first pass by @SproutSeeds in #3315
- Make gen_doc output ordering deterministic by @sveinugu in #3368
- Update Community-Meetings.md by @sagehrke in #3385
- Add regression tests for _normalize_inlined with comma-containing values by @matentzn in #3371
- docs: update feature dashboard by @github-actions[bot] in #3346
- feat(generators): add --exclude-external-imports flag for JSON-LD context generator by @jdsika in #3279
- doc: do point to Zenodo "transient" DOI by @yarikoptic in #3394
- fix(linter): always validate schema against metamodel before linting by @amc-corey-cox in #3403
- Fix identifier/key slots not marked required in induced_slot by @amc-corey-cox in #3348
- Update validation docs with details on rules by @matentzn in #3345
- feat: add TypeDB generator (gen-typedb) by @GullyBurns in #3382
- New tabular structure to render
unitmetaslot information on generated docs pages by @sujaypatil96 in #3404 - Update metamodel test fixtures from linkml-model by @github-actions[bot] in #3424
- cli: Accept -h as a short equivalent of --help. by @gouttegd in #3412
- fix(pythongen): skip runtime-computed ifabsent bakes for the metamodel by @amc-corey-cox in #3414
- YARRRML generator bug fixes and E2E tests update by @lapkinvladimir in #3338
- fix(induced_slot): resolve spaced/underscored slots to generators names by @noelmcloughlin in #3322
- feat: add C++ header generator (gen-cpp-header) by @Kieleth in #3332
- Bump the github-actions group with 8 updates by @dependabot[bot] in #3341
- fix(sqltablegen): performance optimization #3355 by @noelmcloughlin in #3356
- Convert leaf test files from unittest to pytest style by @amc-corey-cox in #3243
- Add support for schema dicts in SchemaLoader.importmap by @rly in #3391
- Clarify and consolidate schema validation tools by @amc-corey-cox in #3410
- [codex] Fix owlgen crash on none_of rule expressions by @cmungall in #3362
- fix(pythongen): improved sort_classes performance by @noelmcloughlin in #3363
- fix(schemaview): improve induced_slot #3352, _closure #3354 performance by @noelmcloughlin in #3364
New Contributors
- @cthoyt made their first contribution in #3359
- @SproutSeeds made their first contribution in #3312
- @GullyBurns made their first contribution in #3382
- @Kieleth made their first contribution in #3332
Full Changelog: v1.11.0-rc1...v1.11.0-rc2
v1.11.0-rc1 release
What's Changed
- Fix induced_slot setting alias equal to slot name by @kevinschaper in #3135
- fix: skip subproperty_of Literal expansion when range is class or enum by @vladistan in #3185
- Feature: Improve YARRRML generator object semantics & inline handling by @lapkinvladimir in #3131
- feat(plantumlgen): enum rendering, --all flag, format fix, mixin improvements by @mgskjaeveland in #3201
- mark more tests that use the metamodel as slow by @sneakers-the-rat in #3210
- Emit URIRef for xsd:anyURI values in RDF serialization by @amc-corey-cox in #3221
- Use vendored JSON-LD context in generators by @amc-corey-cox in #3224
- fix(owlgen): implement children_are_mutually_disjoint by @mgskjaeveland in #3187
- Submit releases to the LinkML Zenodo community by @dalito in #3206
- Add configurable list formatting for CSV/TSV serialization by @turbomam in #3134
- dont leave files open by @sneakers-the-rat in #3207
- build(deps): bump the github-actions group with 5 updates by @dependabot[bot] in #3232
- Add alumni section with contributors by @matentzn in #3195
- javagen: Represent boolean slots as Boolean-typed fields by default. by @gouttegd in #3178
- handle special ifabsent cases in ifabsent processor by @sneakers-the-rat in #2366
- Relax
clickdependency specification by @pkalita-lbl in #3240 - Fix/suppress vacuous axioms by @mgskjaeveland in #3192
- Create new generator sqlvalidationgen by @FlorianK13 in #3127
- Update Community-Meetings.md by @sagehrke in #3252
- cheaper docgen test and use threadpoolexecutor to generate classes by @sneakers-the-rat in #3220
- Add plugin-link for interactive LinkML viewing by @dkapitan in #3257
- downgrade null/empty enum errors to warnings for optional slots by @madanucd in #3227
- Fix: use kwargs in _normalize_inlined to support inherited classes by @dalito in #3247
- Remove obsolete info on testing from pre-monorepo times by @dalito in #3268
- Clean up obsolete files in linkml-runtime package and update references to new home by @dalito in #3271
- Follow-up of PR #3271 - remove xfails by @dalito in #3275
- Update index.rst by @sagehrke in #3288
- Create office-hours.md by @sagehrke in #3286
- improve plantuml generator help by @Silvanoc in #3290
- feat(owlgen): add covering axiom for abstract classes by @mgskjaeveland in #3219
- fix(generators): omit sh:class linkml:Any from SHACL output by @jdsika in #3278
- Add new decorator feature for compliance tests by @matentzn in #3302
- Implementing range_expression in jsonschemagen by @cmungall in #2860
- Fix pydantic generator ifabsent=bnode producing invalid code by @amc-corey-cox in #3238
- fix(rdflib): support Pydantic models in RDFLibDumper by @emmanuel-ferdman in #3234
- Sort type declaration classes in
pythongenaccording to inheritence graph by @christian-monch in #3045 - fix(generators): prefer literal coercion in mixed any_of unions by @jdsika in #3276
- fix(shacl): emit sh:BlankNodeOrIRI for nodeidentifier type by @jdsika in #3291
- feat(context): add --exclude-imports flag to ContextGenerator by @jdsika in #3294
- Fix issue #3011 test and add documentation for SHACL naming modes by @kevinschaper in #3090
- fix(shaclgen): migrate ShaclGenerator from SchemaLoader to SchemaView by @jdsika in #3293
- Enable parallel test execution with pytest-xdist by @amc-corey-cox in #3306
- Add AI-Assisted Discussions guidelines by @matentzn in #3150
- Make delimited file loader schema-aware to preserve string/enum columns by @Sigfried in #3289
- Consolidate GOLR biolink snapshots into single file by @amc-corey-cox in #3307
- Misc improvements to the Java code generator by @gouttegd in #3255
- Validate tutorial as part of standard tests by @dalito in #3272
- Refactor: cleanup dead code by @Silvanoc in #3265
- ifabsent enum serialization fix by @kevinschaper in #3308
- fix: handle None preconditions in doc-gen class template by @saschabuehrle in #3310
- Generator-level governance: add first stab at team proposal based on git blame line count by @matentzn in #3137
- fix(gen-json): include mixins/abstracts for union(anyof) support by @noelmcloughlin in #3274
- Add boolean truthy/falsy handling for CSV/TSV by @turbomam in #3144
- Fix linkml-runtime version floor for multivalued inlined slots (#3182) by @turbomam in #3183
- Fix broken doctests across both packages by @cmungall in #3230
- Update metamodel test fixtures from linkml-model by @github-actions[bot] in #3170
- normalize: Correctly recognise linkml:Any classes. by @gouttegd in #3328
- add doc and examples for instantiates vs implements by @sierra-moxon in #3284
- Create a pull request template by @matentzn in #3335
- Update Community-Meetings.md by @sagehrke in #3339
- Update CITATION.cff. by @gouttegd in #3342
- Fixes issue #3235: Summary generator prefixes enums in ranges with "Unknown_" by @sveinugu in #3236
- javagen: Render
uriorcurie-typed slots as String fields. by @gouttegd in #3311 - fix(example-runner): normalize hyphenated key names / linkml:Any handling by @noelmcloughlin in #3319
- oocodegen/javagen: Add option to honour slot aliases when deriving field names by @gouttegd in #3326
- Generate compliance dashboard by @matentzn in #3303
New Contributors
- @dkapitan made their first contribution in #3257
- @jdsika made their first contribution in #3278
- @christian-monch made their first contribution in #3045
- @Sigfried made their first contribution in #3289
- @saschabuehrle made their first contribution in #3310
- @sveinugu made their first contribution in #3236
Full Changelog: v1.10.0...v1.11.0-rc1
v1.10.0
What's Changed
- Merge runtime pep440 - resolve conflicts by @amc-corey-cox in #2987
- 2856 factor out specific pandera slot functionality into a handler subclass by @tfliss in #2952
- Add a new line between CREATE statements in sqltablegen by @FlorianK13 in #3022
- Create Community-Meetings.md by @sagehrke in #3026
- Mm shacl editor optimisation by @sierra-moxon in #3020
- updating shaclgen.py to accept custom shape_uris via annotations and use linkml native names to fix issue #2084 by @HendrikBorgelt in #2647
- Shacl editor optimisation by @HendrikBorgelt in #3015
- 2856 subclass pandera dataframe generator by @tfliss in #2953
- 2865 pandera conftest by @tfliss in #2954
- docs: add missing load subcommand documentation in SQL tutorials by @cnaples79 in #3007
- Remove tutorial10 being a duplicate of tutorial09 by @dalito in #3028
- 2865 polars generator classes with stub templates by @tfliss in #2955
- 2865 polars generator templates by @tfliss in #2956
- update CITATION.cff to include a license, add full apache license to … by @sierra-moxon in #3032
- Add initial CLAUDE.md and coverage by @amc-corey-cox in #3030
- Improve documentation coverage of metamodel properties in gen-doc by @kevinschaper in #3005
- Fix inconsistent formatting between local ruff and CI by @amc-corey-cox in #3037
- Use class type for model fields in template.py by @rly in #2999
- Use same version spec for setup-uv in rustgen as in other actions by @dalito in #3029
- 2865 polars compliance tests by @tfliss in #2959
- 2963 polars transform template by @tfliss in #2964
- Bump astral-sh/setup-uv from 5 to 7 by @dependabot[bot] in #2990
- Bump actions/download-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #2989
- Bump docker/metadata-action from 5.8.0 to 5.10.0 by @dependabot[bot] in #3014
- Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in #3013
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #2991
- Update get-involved section of the documentation on linkml.io/linkml by @sagehrke in #3036
- fix linting errors on main by @sierra-moxon in #3046
- 2963 pandera generate packages by @tfliss in #2965
- pydanticgen: make the default for optional list configurable by @kervel in #3012
- Set container in json ld context for multi valued attributes by @Silvanoc in #2807
- Remove deprecated pydantic v1.0 support according to deprecation protocol for 1.10.0 release by @kevinschaper in #2673
- Fix uv workspaces by @vladistan in #3055
- Fix SHACL generator to use rdfs:comment for NodeShape descriptions by @kevinschaper in #3061
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #3053
- Bump codecov/codecov-action from 5.5.1 to 5.5.2 by @dependabot[bot] in #3052
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #3051
- Replace sphinx linkcheck with cached link checker by @amc-corey-cox in #3060
- Bugfixes and minor enhancements for ERD diagram generator by @vladistan in #3056
- Generate correct union for pydantic by @vladistan in #3057
- Improve link checker: accept 3xx redirects, warn on 403s, fix broken links by @amc-corey-cox in #3063
- Update Community-Meetings.md schedule by @sagehrke in #3070
- Fix broken documentation links by @kevinschaper in #3072
- Feature: improve YARRRML URIs and default prefix handling by @lapkinvladimir in #2996
- Add subproperty_of support to generators by @kevinschaper in #3065
- Markdown data dictionary generator by @vladistan in #3075
- Group dependabot updates by @dalito in #3064
- Bump the github-actions group with 6 updates by @dependabot[bot] in #3077
- Fix circular dependency in metamodel versioning by @matentzn in #3079
- Add support for "true" enumerated types in Java by @gouttegd in #3069
- Update the linkml documentation to cleanly separate between maintainers and schema devs by @matentzn in #3084
- Add metamodel compatibility testing by @matentzn in #3094
- Skip Kroki approach 4: skip during CI/CD by @matentzn in #3108
- Clarify why PRs should be draft by @matentzn in #3105
- [contextgen] Honor parameterization in generator instance, expose parameters to
serializeby @sneakers-the-rat in #1983 - Fix SHACL ifabsent processing for default_range by @matentzn in #3098
- Add empty AI_COVENANT.md by @matentzn in #3113
- Docs: replace cookiecutter with copier template references by @dalito in #3116
- Bump the github-actions group with 4 updates by @dependabot[bot] in #3117
- Fix Excel generator handling of empty class lists by @matentzn in #3096
- Add Draft AI covenant by @matentzn in #3103
- Add stale issue policy workflow by @kevinschaper in #3089
- Save metamodel pytest output to temp/test_output.txt by @matentzn in #3121
- Add dotgen.py tests by @tibisabau in #3119
- 2963 Update pandera validator templates by @tfliss in #2966
- Expand FAQ entry on LinkML licensing with accurate details by @Copilot in #3133
- Remove deprecated gen-markdown generator by @amc-corey-cox in #3139
- Move the metamodel testing to make by @matentzn in #3128
- pandera doc update by @tfliss in #2967
- Remove Pydantic v1 deprecation code for 1.10 by @amc-corey-cox in #3151
- Refactor the Java code generator to allow “template variants” by @gouttegd in #3124
- Fix SimpleDict inlining with multivalued primary slots by @kevinschaper in #3149
- Add tests to converter cli.py by @tibisabau in #3118
- Remove deprecated linkml.validators and linkml.utils.validation by @amc-corey-cox in #3141
- Remove deprecated gen-yuml generator by @amc-corey-cox in #3143
- Update Community-Meetings.md by @sagehrke in #3152
- Fix
SchemaView.induced_slotself-alias error by @emmanuel-ferdman in #3067 - Deprecate generators flags
emit_metadataandheadby @Silvanoc in #2836 - Fix pythongen skipping _normalize_inlined for inlined_as_list slots by @amc-corey-cox in #3165
- Update metamodel files by @matentzn in #3169
- Handle ifabsent default_ns in pythongen postinit by @matentzn in #3157
- Update docs to reference docgen generator by @matentzn in #3171
- Extract literal_form from StructuredAlias in all_aliases() by @matentzn in #3159
- Drop Python 3.9 support by @dalito in #3166
- Update all linkml-model files to the latest 1.10.rc4 by @matentzn in #3163
- feat(owlgen): add --enum-inherits-as-subclass-of flag by @mgskjaeveland in #3189
- Revise PR guidelines for clarity and requirements by @matentzn in #3126
- Improvements and Bug Fixes for Golang Code Generator by @michaeladler in #3174
- feature(golanggen): Re-implementation of Golang Generator by @speedfl in #3175
New Contributors
- @FlorianK13 made their first contribution in https://github...
v1.10.0-rc5
What's Changed
- Add stale issue policy workflow by @kevinschaper in #3089
- Save metamodel pytest output to temp/test_output.txt by @matentzn in #3121
- Add dotgen.py tests by @tibisabau in #3119
- 2963 Update pandera validator templates by @tfliss in #2966
- Expand FAQ entry on LinkML licensing with accurate details by @Copilot in #3133
- Remove deprecated gen-markdown generator by @amc-corey-cox in #3139
- Move the metamodel testing to make by @matentzn in #3128
- pandera doc update by @tfliss in #2967
- Remove Pydantic v1 deprecation code for 1.10 by @amc-corey-cox in #3151
- Refactor the Java code generator to allow “template variants” by @gouttegd in #3124
- Fix SimpleDict inlining with multivalued primary slots by @kevinschaper in #3149
- Add tests to converter cli.py by @tibisabau in #3118
- Remove deprecated linkml.validators and linkml.utils.validation by @amc-corey-cox in #3141
- Remove deprecated gen-yuml generator by @amc-corey-cox in #3143
- Update Community-Meetings.md by @sagehrke in #3152
- Fix
SchemaView.induced_slotself-alias error by @emmanuel-ferdman in #3067 - Deprecate generators flags
emit_metadataandheadby @Silvanoc in #2836 - Fix pythongen skipping _normalize_inlined for inlined_as_list slots by @amc-corey-cox in #3165
- Update metamodel files by @matentzn in #3169
- Handle ifabsent default_ns in pythongen postinit by @matentzn in #3157
- Update docs to reference docgen generator by @matentzn in #3171
- Extract literal_form from StructuredAlias in all_aliases() by @matentzn in #3159
- Drop Python 3.9 support by @dalito in #3166
- Update all linkml-model files to the latest 1.10.rc4 by @matentzn in #3163
New Contributors
- @tibisabau made their first contribution in #3119
- @Copilot made their first contribution in #3133
Full Changelog: v1.10.0-rc4...v1.10.0-rc5
v1.10.0-rc4
What's Changed
- Feature: improve YARRRML URIs and default prefix handling by @lapkinvladimir in #2996
- Add subproperty_of support to generators by @kevinschaper in #3065
- Markdown data dictionary generator by @vladistan in #3075
- Group dependabot updates by @dalito in #3064
- Bump the github-actions group with 6 updates by @dependabot[bot] in #3077
- Fix circular dependency in metamodel versioning by @matentzn in #3079
- Add support for "true" enumerated types in Java by @gouttegd in #3069
- Update the linkml documentation to cleanly separate between maintainers and schema devs by @matentzn in #3084
- Add metamodel compatibility testing by @matentzn in #3094
- Skip Kroki approach 4: skip during CI/CD by @matentzn in #3108
- Clarify why PRs should be draft by @matentzn in #3105
- [contextgen] Honor parameterization in generator instance, expose parameters to
serializeby @sneakers-the-rat in #1983 - Fix SHACL ifabsent processing for default_range by @matentzn in #3098
- Add empty AI_COVENANT.md by @matentzn in #3113
- Docs: replace cookiecutter with copier template references by @dalito in #3116
- Bump the github-actions group with 4 updates by @dependabot[bot] in #3117
- Fix Excel generator handling of empty class lists by @matentzn in #3096
- Add Draft AI covenant by @matentzn in #3103
Full Changelog: v1.10.0-rc3...v1.10.0-rc4
v1.10.0-rc3
What's Changed
- Add initial CLAUDE.md and coverage by @amc-corey-cox in #3030
- Improve documentation coverage of metamodel properties in gen-doc by @kevinschaper in #3005
- Fix inconsistent formatting between local ruff and CI by @amc-corey-cox in #3037
- Use class type for model fields in template.py by @rly in #2999
- Use same version spec for setup-uv in rustgen as in other actions by @dalito in #3029
- 2865 polars compliance tests by @tfliss in #2959
- 2963 polars transform template by @tfliss in #2964
- Bump astral-sh/setup-uv from 5 to 7 by @dependabot[bot] in #2990
- Bump actions/download-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #2989
- Bump docker/metadata-action from 5.8.0 to 5.10.0 by @dependabot[bot] in #3014
- Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in #3013
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #2991
- Update get-involved section of the documentation on linkml.io/linkml by @sagehrke in #3036
- fix linting errors on main by @sierra-moxon in #3046
- 2963 pandera generate packages by @tfliss in #2965
- pydanticgen: make the default for optional list configurable by @kervel in #3012
- Set container in json ld context for multi valued attributes by @Silvanoc in #2807
- Remove deprecated pydantic v1.0 support according to deprecation protocol for 1.10.0 release by @kevinschaper in #2673
- Fix uv workspaces by @vladistan in #3055
- Fix SHACL generator to use rdfs:comment for NodeShape descriptions by @kevinschaper in #3061
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #3053
- Bump codecov/codecov-action from 5.5.1 to 5.5.2 by @dependabot[bot] in #3052
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #3051
- Replace sphinx linkcheck with cached link checker by @amc-corey-cox in #3060
- Bugfixes and minor enhancements for ERD diagram generator by @vladistan in #3056
- Generate correct union for pydantic by @vladistan in #3057
- Improve link checker: accept 3xx redirects, warn on 403s, fix broken links by @amc-corey-cox in #3063
- Update Community-Meetings.md schedule by @sagehrke in #3070
- Fix broken documentation links by @kevinschaper in #3072
Full Changelog: v1.10.0-rc2...v1.10.0-rc3
v1.10.0-rc2
What's Changed
- Merge runtime pep440 - resolve conflicts by @amc-corey-cox in #2987
- 2856 factor out specific pandera slot functionality into a handler subclass by @tfliss in #2952
- Add a new line between CREATE statements in sqltablegen by @FlorianK13 in #3022
- Create Community-Meetings.md by @sagehrke in #3026
- Mm shacl editor optimisation by @sierra-moxon in #3020
- updating shaclgen.py to accept custom shape_uris via annotations and use linkml native names to fix issue #2084 by @HendrikBorgelt in #2647
- Shacl editor optimisation by @HendrikBorgelt in #3015
- 2856 subclass pandera dataframe generator by @tfliss in #2953
- 2865 pandera conftest by @tfliss in #2954
- docs: add missing load subcommand documentation in SQL tutorials by @cnaples79 in #3007
- Remove tutorial10 being a duplicate of tutorial09 by @dalito in #3028
- 2865 polars generator classes with stub templates by @tfliss in #2955
- 2865 polars generator templates by @tfliss in #2956
- update CITATION.cff to include a license, add full apache license to … by @sierra-moxon in #3032
New Contributors
- @FlorianK13 made their first contribution in #3022
- @sagehrke made their first contribution in #3026
- @HendrikBorgelt made their first contribution in #2647
- @cnaples79 made their first contribution in #3007
Full Changelog: v1.9.6...v1.10.0-rc2