Skip to content

[#137] Merge Message Transformation support#4689

Merged
smcvb merged 41 commits into
mainfrom
feature/axoniq/137/feature-message-transformator
Jun 30, 2026
Merged

[#137] Merge Message Transformation support#4689
smcvb merged 41 commits into
mainfrom
feature/axoniq/137/feature-message-transformator

Conversation

@smcvb

@smcvb smcvb commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This pull request merges the Message Transformation feature branch, which is Axon Framework 5's upcasting equivalent, into main.
As such, we are dealing with a rather large pull request, which consists out of the following PR:

  1. [#137] Message Transformation / Upcasting - Demo #4624
  2. [#137] Message Transformation / Upcasting - Documentation #4629
  3. [#137] Message Transformation - Sourcing Criteria widening for sourcing #4638
  4. [#137] Message Transformation - Rename support (phase 4) #4642
  5. [#137] Message Transformation - Drop / Filter support (phase 5) #4648
  6. [#137] Message Transformation - Semantic matching docs + demo #4660
  7. [#137]: move Event Transformation reference docs to Axoniq Framework #4664

As can be noted, the provided changes are mainly documentation and a sample project.
Just a couple minor changes where required to support the Message Transformation feature in Axoniq Framework.

laura-devriendt-lemon and others added 30 commits May 27, 2026 13:02
Reference and migration guides for event transformation, using the
EventTransformation API and "transformation" vocabulary throughout
(EventTransformerChain engine name kept).
…transformation

[#137] Message Transformation / Upcasting - Demo
…transformation

[#137] Message Transformation / Upcasting - Documentation
…ning-transformations.adoc

Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
…ming/EventCriteria.java

Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
…ming/StreamingCondition.java

Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
…ning-for-sourcing

[#137] Message Transformation - Sourcing Criteria widening for sourcing
…lback

Update the message-transformation reference guide to the two-tier
resolution model. "Matching multiple event versions" now leads with the
exact from(List) overload; the predicate variant moves under a "Matching
with a predicate" subsection framed as the exception/fallback. Rewrite
"When more than one transformation matches" from last-match-wins to
specificity: an exact match always wins regardless of registration order,
and overlapping exact claims are rejected at build time.

Add a WelcomeMessageBetaCleanupViaList demo transformer and a
SemanticMatchingTest demonstrating from(List), exact-beats-predicate
precedence, predicate fallback, and build-time duplicate rejection.
The message-transformation module documents the commercial
io.axoniq.framework:axoniq-message-transformation API, so its reference
pages move to the Axoniq Framework docs repo. Only the migration path and
the gated nav pointer stay in Axon Framework.

- Remove the message-transformation module pages and nav partial; the
  gated include in events/partials/nav.adoc keeps working because the
  module simply relocates within the same Antora component.
- Gate the remaining message-transformation xrefs in the upcaster
  migration path behind advanced-framework, so the open-source build
  stays free of broken xrefs.
- Collapse the Event Upcasting section in event-versioning.adoc to a
  concise status warning (one-to-one transformation, rename, and drop are
  available; the full upcaster API is still being reintroduced) and
  relocate the structural changes that are not yet covered to the
  upcaster migration path.
…ssage-transformation

[#137]:  move Event Transformation reference docs to Axoniq Framework
…ocs-split-message-transformation

Revert "[#137]:  move Event Transformation reference docs to Axoniq Framework"
[#137] Message Transformation - Rename support (phase 4)
The message-transformation module documents the commercial
io.axoniq.framework:axoniq-message-transformation API, so its reference
pages move to the Axoniq Framework docs repo. Only the migration path and
the gated nav pointer stay in Axon Framework.

- Remove the message-transformation module pages and nav partial; the
  gated include in events/partials/nav.adoc keeps working because the
  module simply relocates within the same Antora component.
- Gate the remaining message-transformation xrefs in the upcaster
  migration path behind advanced-framework, so the open-source build
  stays free of broken xrefs.
- Collapse the Event Upcasting section in event-versioning.adoc to a
  concise status warning (one-to-one transformation, rename, and drop are
  available; the full upcaster API is still being reintroduced) and
  relocate the structural changes that are not yet covered to the
  upcaster migration path.

Re-applies the change reverted in #4663 (the original #4661 was merged by
accident); reopened here as a fresh PR since GitHub cannot reopen a merged PR.
…iguring-transformations.adoc

Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
…ge-transformator' into feature/axoniq/137/phase-5-drop

# Conflicts:
#	examples/university-message-transformation/src/main/java/org/axonframework/examples/demo/coursecatalog/catalog/transformations/CourseCatalogTransformations.java
laura-devriendt-lemon and others added 11 commits June 18, 2026 16:13
[#137] Message Transformation - Drop / Filter support (phase 5)
…ge-transformator' into feature/axoniq/137/phase-6-semantic-matching

# Conflicts:
#	examples/university-message-transformation/src/main/java/org/axonframework/examples/demo/coursecatalog/catalog/transformations/CourseCatalogTransformations.java
…tic-matching

[#137] Message Transformation - Semantic matching docs + demo
Add the [.axoniq-feature] indicator to the Event Upcasting heading in
event-versioning.adoc, since event transformation is an Axoniq Framework
feature (review feedback on #4664).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ge-transformator' into feature/axoniq/137/docs-split-message-transformation

# Conflicts:
#	docs/reference-guide/modules/message-transformation/pages/configuring-transformations.adoc
#	docs/reference-guide/modules/message-transformation/pages/defining-transformations.adoc
#	docs/reference-guide/modules/message-transformation/pages/demo.adoc
#	docs/reference-guide/modules/migration/pages/paths/upcasters.adoc
Event transformation is an Axoniq Framework feature, so its detailed
treatment lives in the message-transformation module and the upcaster
migration path. Replace the full [.axoniq-feature] "Event Upcasting"
section on the open-source event-versioning page with a concise,
advanced-framework-gated pointer to those docs (review feedback on #4664).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ssage-transformation

[#137]: move Event Transformation reference docs to Axoniq Framework
@smcvb smcvb added this to the Release 5.2.0 milestone Jun 24, 2026
@smcvb smcvb requested a review from a team as a code owner June 24, 2026 15:29
@smcvb smcvb added Type: Feature Use to signal an issue is completely new to the project. Priority 1: Must Highest priority. A release cannot be made if this issue isn’t resolved. labels Jun 24, 2026
@smcvb smcvb requested review from hatzlj, jangalinski and zambrovski and removed request for a team June 24, 2026 15:29
@smcvb smcvb changed the title Merge MessageTransformation support [#137] Merge MessageTransformation support Jun 24, 2026
@smcvb smcvb changed the title [#137] Merge MessageTransformation support [#137] Merge Message Transformation support Jun 24, 2026
@hatzlj

hatzlj commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

The example build failures are due to the missing axoniq-message-transformation module not yet merged to main in axoniq-framework. Locally building both works.

@hatzlj hatzlj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

skimmed through it and locally built the examples and ran the tests; all seem good to me

@smcvb smcvb merged commit f0becbd into main Jun 30, 2026
8 of 10 checks passed
@smcvb smcvb deleted the feature/axoniq/137/feature-message-transformator branch June 30, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority 1: Must Highest priority. A release cannot be made if this issue isn’t resolved. Type: Feature Use to signal an issue is completely new to the project.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants