
linkml-lint note linkml-lint is now more strict about type validation in schema files. The Python runtime still coerces many shorthand forms at load time, but schemas that previously passed linkml-lint may 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 *_mappings family, and other multivalued metamodel slots are no longer accepted — you'll need to wrap them in a list. deprecated is 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.value must be a string. Use examples.value for the canonical textual representation of an example. Non-string examples (mappings, numbers, booleans, nested objects) belong under examples.object. What's Changed Fix induced_slot setting alias equal to slot name by @kevinschaper in https://github.com/linkml/linkml/pull/3135 fix: skip subproperty_of Literal expansion when range is class or enum by @vladistan in https://github.com/linkml/linkml/pull/3185 Feature: Improve YARRRML generator object semantics & inline handling by @lapkinvladimir in https://github.com/linkml/linkml/pull/3131 feat(plantumlgen): enum rendering, --all flag, format fix, mixin improvements by @mgskjaeveland in https://github.com/linkml/linkml/pull/3201 mark more tests that use the metamodel as slow by @sneakers-the-rat in https://github.com/linkml/linkml/pull/3210 Emit URIRef for xsd:anyURI values in RDF serialization by @amc-corey-cox in https://github.com/linkml/linkml/pull/3221 Use vendored JSON-LD context in generators by @amc-corey-cox in https://github.com/linkml/linkml/pull/3224 fix(owlgen): implement children_are_mutually_disjoint by @mgskjaeveland in https://github.com/linkml/linkml/pull/3187 Submit releases to the LinkML Zenodo community by @dalito in https://github.com/linkml/linkml/pull/3206 Add configurable list formatting for CSV/TSV serialization by @turbomam in https://github.com/linkml/linkml/pull/3134 dont leave files open by @sneakers-the-rat in https://github.com/linkml/linkml/pull/3207 build(deps): bump the github-actions group with 5 updates by @dependabot[bot] in https://github.com/linkml/linkml/pull/3232 Add alumni section with contributors by @matentzn in https://github.com/linkml/linkml/pull/3195 javagen: Represent boolean slots as Boolean-typed fields by default. by @gouttegd in https://github.com/linkml/linkml/pull/3178 handle special ifabsent cases in ifabsent processor by @sneakers-the-rat in https://github.com/linkml/linkml/pull/2366 Relax click dependency specification by @pkalita-lbl in https://github.com/linkml/linkml/pull/3240 Fix/suppress vacuous axioms by @mgskjaeveland in https://github.com/linkml/linkml/pull/3192 Create new generator sqlvalidationgen by @FlorianK13 in https://github.com/linkml/linkml/pull/3127 Update Community-Meetings.md by @sagehrke in https://github.com/linkml/linkml/pull/3252 cheaper docgen test and use threadpoolexecutor to generate classes by @sneakers-the-rat in https://github.com/linkml/linkml/pull/3220 Add plugin-link for interactive LinkML viewing by @dkapitan in https://github.com/linkml/linkml/pull/3257 downgrade null/empty enum errors to warnings for optional slots by @madanucd in https://github.com/linkml/linkml/pull/3227 Fix: use kwargs in _normalize_inlined to support inherited classes by @dalito in https://github.com/linkml/linkml/pull/3247 Remove obsolete info on testing from pre-monorepo times by @dalito in https://github.com/linkml/linkml/pull/3268 Clean up obsolete files in linkml-runtime package and update references to new home by @dalito in https://github.com/linkml/linkml/pull/3271 Follow-up of PR #3271 - remove xfails by @dalito in https://github.com/linkml/linkml/pull/3275 Update index.rst by @sagehrke in https://github.com/linkml/linkml/pull/3288 Create office-hours.md by @sagehrke in https://github.com/linkml/linkml/pull/3286 improve plantuml generator help by @Silvanoc in https://github.com/linkml/linkml/pull/3290 feat(owlgen): add covering axiom for abstract classes by @mgskjaeveland in https://github.com/linkml/linkml/pull/3219 fix(generators): omit sh:class linkml:Any from SHACL output by @jdsika in https://github.com/linkml/linkml/pull/3278 Add new decorator feature for compliance tests by @matentzn in https://github.com/linkml/linkml/pull/3302 Implementing range_expression in jsonschemagen by @cmungall in https://github.com/linkml/linkml/pull/2860 Fix pydantic generator ifabsent=bnode producing invalid code by @amc-corey-cox in https://github.com/linkml/linkml/pull/3238 fix(rdflib): support Pydantic models in RDFLibDumper by @emmanuel-ferdman in https://github.com/linkml/linkml/pull/3234 Sort type declaration classes in pythongen according to inheritence graph by @christian-monch in https://github.com/linkml/linkml/pull/3045 fix(generators): prefer literal coercion in mixed any_of unions by @jdsika in https://github.com/linkml/linkml/pull/3276 fix(shacl): emit sh:BlankNodeOrIRI for nodeidentifier type by @jdsika in https://github.com/linkml/linkml/pull/3291 feat(context): add --exclude-imports flag to ContextGenerator by @jdsika in https://github.com/linkml/linkml/pull/3294 Fix issue #3011 test and add documentation for SHACL naming modes by @kevinschaper in https://github.com/linkml/linkml/pull/3090 fix(shaclgen): migrate ShaclGenerator from SchemaLoader to SchemaView by @jdsika in https://github.com/linkml/linkml/pull/3293 Enable parallel test execution with pytest-xdist by @amc-corey-cox in https://github.com/linkml/linkml/pull/3306 Add AI-Assisted Discussions guidelines by @matentzn in https://github.com/linkml/linkml/pull/3150 Make delimited file loader schema-aware to preserve string/enum columns by @Sigfried in https://github.com/linkml/linkml/pull/3289 Consolidate GOLR biolink snapshots into single file by @amc-corey-cox in https://github.com/linkml/linkml/pull/3307 Misc improvements to the Java code generator by @gouttegd in https://github.com/linkml/linkml/pull/3255 Validate tutorial as part of standard tests by @dalito in https://github.com/linkml/linkml/pull/3272 Refactor: cleanup dead code by @Silvanoc in https://github.com/linkml/linkml/pull/3265 ifabsent enum serialization fix by @kevinschaper in https://github.com/linkml/linkml/pull/3308 fix: handle None preconditions in doc-gen class template by @saschabuehrle in https://github.com/linkml/linkml/pull/3310 Generator-level governance: add first stab at team proposal based on git blame line count by @matentzn in https://github.com/linkml/linkml/pull/3137 fix(gen-json): include mixins/abstracts for union(anyof) support by @noelmcloughlin in https://github.com/linkml/linkml/pull/3274 Add boolean truthy/falsy handling for CSV/TSV by @turbomam in https://github.com/linkml/linkml/pull/3144 Fix linkml-runtime version floor for multivalued inlined slots (#3182) by @turbomam in https://github.com/linkml/linkml/pull/3183 Fix broken doctests across both packages by @cmungall in https://github.com/linkml/linkml/pull/3230 Update metamodel test fixtures from linkml-model by @github-actions[bot] in https://github.com/linkml/linkml/pull/3170 normalize: Correctly recognise linkml:Any classes. by @gouttegd in https://github.com/linkml/linkml/pull/3328 add doc and examples for instantiates vs implements by @sierra-moxon in https://github.com/linkml/linkml/pull/3284 Create a pull request template by @matentzn in https://github.com/linkml/linkml/pull/3335 Update Community-Meetings.md by @sagehrke in https://github.com/linkml/linkml/pull/3339 Update CITATION.cff. by @gouttegd in https://github.com/linkml/linkml/pull/3342 Fixes issue #3235: Summary generator prefixes enums in ranges with "Unknown_" by @sveinugu in https://github.com/linkml/linkml/pull/3236 javagen: Render uriorcurie-typed slots as String fields. by @gouttegd in https://github.com/linkml/linkml/pull/3311 fix(example-runner): normalize hyphenated key names / linkml:Any handling by @noelmcloughlin in https://github.com/linkml/linkml/pull/3319 oocodegen/javagen: Add option to honour slot aliases when deriving field names by @gouttegd in https://github.com/linkml/linkml/pull/3326 Generate compliance dashboard by @matentzn in https://github.com/linkml/linkml/pull/3303 Identifiers cannot be null by @Silvanoc in https://github.com/linkml/linkml/pull/2449 Pydanticgen support class alias for class names which aren't valid python classes by @kevinschaper in https://github.com/linkml/linkml/pull/2534 feat(sqla): add SQLAlchemy 2.x declarative code generation by @kevinschaper in https://github.com/linkml/linkml/pull/3231 Consolidate SchemaBuilder: deprecate linkml copy in favor of linkml_runtime by @dalito in https://github.com/linkml/linkml/pull/3334 Fix bug in generation of OWL union, intersection, and none of by @cthoyt in https://github.com/linkml/linkml/pull/3359 Jinja template changes for documentation pages search bar optimizations by @sujaypatil96 in https://github.com/linkml/linkml/pull/3350 Update CITATION.cff with new ORCID entries and paper by @matentzn in https://github.com/linkml/linkml/pull/3340 test: warn when OWL coherency checks are skipped by @SproutSeeds in https://github.com/linkml/linkml/pull/3312 test: reduce issue snapshot file count first pass by @SproutSeeds in https://github.com/linkml/linkml/pull/3315 Make gen_doc output ordering deterministic by @sveinugu in https://github.com/linkml/linkml/pull/3368 Update Community-Meetings.md by @sagehrke in https://github.com/linkml/linkml/pull/3385 Add regression tests for _normalize_inlined with comma-containing values by @matentzn in https://github.com/linkml/linkml/pull/3371 docs: update feature dashboard by @github-actions[bot] in https://github.com/linkml/linkml/pull/3346 feat(generators): add --exclude-external-imports flag for JSON-LD context generator by @jdsika in https://github.com/linkml/linkml/pull/3279 doc: do point to Zenodo "transient" DOI by @yarikoptic in https://github.com/linkml/linkml/pull/3394 fix(linter): always validate schema against metamodel before linting by @amc-corey-cox in https://github.com/linkml/linkml/pull/3403 Fix identifier/key slots not marked required in induced_slot by @amc-corey-cox in https://github.com/linkml/linkml/pull/3348 Update validation docs with details on rules by @matentzn in https://github.com/linkml/linkml/pull/3345 feat: add TypeDB generator (gen-typedb) by @GullyBurns in https://github.com/linkml/linkml/pull/3382 New tabular structure to render unit metaslot information on generated docs pages by @sujaypatil96 in https://github.com/linkml/linkml/pull/3404 Update metamodel test fixtures from linkml-model by @github-actions[bot] in https://github.com/linkml/linkml/pull/3424 cli: Accept -h as a short equivalent of --help. by @gouttegd in https://github.com/linkml/linkml/pull/3412 fix(pythongen): skip runtime-computed ifabsent bakes for the metamodel by @amc-corey-cox in https://github.com/linkml/linkml/pull/3414 YARRRML generator bug fixes and E2E tests update by @lapkinvladimir in https://github.com/linkml/linkml/pull/3338 fix(induced_slot): resolve spaced/underscored slots to generators names by @noelmcloughlin in https://github.com/linkml/linkml/pull/3322 feat: add C++ header generator (gen-cpp-header) by @Kieleth in https://github.com/linkml/linkml/pull/3332 Bump the github-actions group with 8 updates by @dependabot[bot] in https://github.com/linkml/linkml/pull/3341 fix(sqltablegen): performance optimization #3355 by @noelmcloughlin in https://github.com/linkml/linkml/pull/3356 Convert leaf test files from unittest to pytest style by @amc-corey-cox in https://github.com/linkml/linkml/pull/3243 Add support for schema dicts in SchemaLoader.importmap by @rly in https://github.com/linkml/linkml/pull/3391 Clarify and consolidate schema validation tools by @amc-corey-cox in https://github.com/linkml/linkml/pull/3410 [codex] Fix owlgen crash on none_of rule expressions by @cmungall in https://github.com/linkml/linkml/pull/3362 fix(pythongen): improved sort_classes performance by @noelmcloughlin in https://github.com/linkml/linkml/pull/3363 fix(schemaview): improve induced_slot #3352, _closure #3354 performance by @noelmcloughlin in https://github.com/linkml/linkml/pull/3364 Update Schedule on the Community-Meetings.md by @sagehrke in https://github.com/linkml/linkml/pull/3452 Update Linkml docs with new Slack signup form by @sagehrke in https://github.com/linkml/linkml/pull/3455 Fix enum.md.jinja2 so that it can correctly expand/render dynamic enum elements by @sujaypatil96 in https://github.com/linkml/linkml/pull/3469 Update Community-Meetings.md with Guidelines for presenting by @sagehrke in https://github.com/linkml/linkml/pull/3460 Trigger CI on merge_group events to unblock the merge queue by @kevinschaper in https://github.com/linkml/linkml/pull/3472 build(deps): bump the github-actions group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/linkml/linkml/pull/3470 Use linkml.validator in linkml.utils.converter by @sneakers-the-rat in https://github.com/linkml/linkml/pull/2385 terminusdb: updates to the modern schema format by @philocalyst in https://github.com/linkml/linkml/pull/3258 feat(generators): add --xsd-anyuri-as-iri flag for cross-generator IRI consistency by @jdsika in https://github.com/linkml/linkml/pull/3292 fix(jsonldcontextgen): emit scoped contexts for class-level range overrides by @amc-corey-cox in https://github.com/linkml/linkml/pull/3336 fix(excelgen): move workbook.save outside loop by @noelmcloughlin in https://github.com/linkml/linkml/pull/3420 Adding test for any_of at the class level. by @cmungall in https://github.com/linkml/linkml/pull/2292 Update Metamodel files for 1.11.0-rc2 by @matentzn in https://github.com/linkml/linkml/pull/3484 Fix 2687: Make class_uri be skos:exactMatch of the element URI on JSON-LD and RDF by @Silvanoc in https://github.com/linkml/linkml/pull/2693 docs: update feature dashboard by @github-actions[bot] in https://github.com/linkml/linkml/pull/3486 Fix empty multivalued cells crashing loader with --list-wrapper none by @turbomam in https://github.com/linkml/linkml/pull/3251 first working version openapi generator by @Silvanoc in https://github.com/linkml/linkml/pull/3300 Emit examples in JSON Schema output by @sveinugu in https://github.com/linkml/linkml/pull/3378 Add --include flag to linkml validate for schema rules overlay composition by @amc-corey-cox in https://github.com/linkml/linkml/pull/3400 feat(contextgen): add @type: @vocab coercion for eligible enums by @jdsika in https://github.com/linkml/linkml/pull/3447 Update metamodel test fixtures from linkml-model by @github-actions[bot] in https://github.com/linkml/linkml/pull/3510 New Contributors @dkapitan made their first contribution in https://github.com/linkml/linkml/pull/3257 @jdsika made their first contribution in https://github.com/linkml/linkml/pull/3278 @christian-monch made their first contribution in https://github.com/linkml/linkml/pull/3045 @Sigfried made their first contribution in https://github.com/linkml/linkml/pull/3289 @saschabuehrle made their first contribution in https://github.com/linkml/linkml/pull/3310 @sveinugu made their first contribution in https://github.com/linkml/linkml/pull/3236 @cthoyt made their first contribution in https://github.com/linkml/linkml/pull/3359 @SproutSeeds made their first contribution in https://github.com/linkml/linkml/pull/3312 @GullyBurns made their first contribution in https://github.com/linkml/linkml/pull/3382 @Kieleth made their first contribution in https://github.com/linkml/linkml/pull/3332 @philocalyst made their first contribution in https://github.com/linkml/linkml/pull/3258 Full Changelog: https://github.com/linkml/linkml/compare/v1.10.0...v1.11.0
