Skip to content

Conversation

@Su5eD
Copy link
Member

@Su5eD Su5eD commented Feb 3, 2026

Changes since v1

After several months in development, this update brings a substantial rework of Adapter, aiming to improve our patch accuracy and simplify adding new patch strategies.

  • Renamed "definition" to "core"
  • Completely reworked patch workflow
  • Introduced Transformation Pipeline that splits patching into "resolution" and "processing" phases

Transformation Pipeline

  • Each mixin is parsed as a set of immutable, structured data attributes into a Configuration
  • We run multiple stages of class/method transformers against the Configuration
  • In the last phase, we run our Dynamic Transformation Pipeline, which replaces the old DynamicInjectionPointPatch:
    1. Resolvers accept the original ("clean") Configuration and try to find replacements for values where needed, completing the modified ("dirty") Configuration. They do not make any immediate changes to the method itself.
    2. Processors accept the modified Configuration and try their best to transform the mixin method into the desired state

Relations:

@Su5eD Su5eD added the enhancement New feature or request label Feb 3, 2026
@Su5eD Su5eD merged commit 9bafe60 into 1.21.x Feb 3, 2026
1 check passed
@Su5eD Su5eD deleted the next branch February 3, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@WrapOperation parameter substitution is broken

2 participants