Skip to content

chore: bump xmi pin to 0.6+; tighten lutaml-uml pin to 0.5.0+#16

Merged
ronaldtse merged 1 commit into
mainfrom
chore/bump-sibling-pins
Jul 10, 2026
Merged

chore: bump xmi pin to 0.6+; tighten lutaml-uml pin to 0.5.0+#16
ronaldtse merged 1 commit into
mainfrom
chore/bump-sibling-pins

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

Two gemspec pin updates that unblock the contributor's Phase 2 transformer work and align with the actual API compatibility surface.

xmi: ~> 0.5, >= 0.5.2~> 0.6, >= 0.6.0

The Phase 2 QeaToXmi transformer (on feat/qeatoxmi-via-xmi-gem) depends on features added in xmi 0.6.0:

  • Xmi::Uml::Slot, Xmi::Uml::OpaqueExpression, Xmi::Uml::InterfaceRealization
  • Xmi::Uml::ValueSpecification polymorphic hierarchy (LiteralInteger, LiteralUnlimitedNatural, LiteralString)
  • Xmi::Uml::Base pattern
  • Phase 2 attribute set on PackagedElement: visibility, is_abstract, is_leaf, is_active, classifier, interface_realization, slot, specification
  • aggregation and visibility on OwnedEnd

Verified by inspecting xmi 0.6.0 local checkout and published 0.6.1.

lutaml-uml: ~> 0.5~> 0.5.0

Tightened the pessimistic pin for explicitness. Verified the entire bridge API surface used by lib/ea/ is intact in lutaml-uml 0.5.0 — all 23 constants the bridge references exist unchanged:

Association, AssociationGeneralization, Cardinality, Constraint, DataType, Dependency, Diagram, DiagramLink, DiagramObject, Document, Enum, GeneralAttribute, Generalization, Instance, Operation, Package, Realization, TaggedValue, TopElement, TopElementAttribute, UmlClass, Validation, Value.

The prior comment claimed "1.x renamed these constants" — that rename never happened. Updated the comment to describe what was actually verified.

Verification

  • bundle install resolves cleanly against ../xmi (0.6.0 local) and ../lutaml-uml (0.5.0 local).
  • ea full suite: 2036 examples, 0 failures, 37 pending.
  • QeaToXmi specs: 130 examples, 0 failures.

Test plan

  • CI green against published xmi 0.6.1 and lutaml-uml 0.5.0.
  • feat/qeatoxmi-via-xmi-gem branch (which depends on these features) rebases cleanly once this lands on main.

xmi: the Phase 2 transformer work depends on features added in xmi
0.6.0 — Xmi::Uml::Slot, OpaqueExpression, InterfaceRealization,
ValueSpecification polymorphic hierarchy (LiteralInteger /
LiteralUnlimitedNatural / LiteralString), Uml::Base pattern, and
the Phase 2 attribute set on PackagedElement (visibility,
is_abstract, classifier, aggregation, interface_realization,
slot). xmi 0.5.x lacks all of these. Verified against local
checkout of xmi 0.6.0 and published 0.6.1.

lutaml-uml: the prior '~> 0.5' pin is functionally correct (the
bridge API surface — Lutaml::Uml::Document, UmlClass, Association,
DataType, Enum, Generalization, Operation, Package, Realization,
TaggedValue, TopElement, TopElementAttribute, Value, Cardinality,
Constraint, Dependency, Diagram, DiagramLink, DiagramObject,
GeneralAttribute, Instance, Validation — is intact from 0.2 through
0.5+; the major-bump cadence never carried the rename the old
comment threatened). Tightened to '~> 0.5.0' for explicitness and
amended the comment to describe what was actually verified.

Verification: ea full suite 2036 examples, 0 failures, 37 pending.
QeaToXmi specs: 130 examples, 0 failures.
@ronaldtse ronaldtse merged commit 4042b5b into main Jul 10, 2026
11 of 14 checks passed
@ronaldtse ronaldtse deleted the chore/bump-sibling-pins branch July 10, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant