Skip to content

Extract inner Default classes to standalone top-level classes#3237

Merged
velo merged 1 commit intomasterfrom
extract-default-inner-classes
Feb 26, 2026
Merged

Extract inner Default classes to standalone top-level classes#3237
velo merged 1 commit intomasterfrom
extract-default-inner-classes

Conversation

@velo
Copy link
Copy Markdown
Member

@velo velo commented Feb 23, 2026

Summary

  • Extracts 9 inner Default implementation classes from their parent interfaces into standalone top-level classes (DefaultClient, DefaultAsyncClient, DefaultContract, DefaultRetryer, DefaultEncoder, DefaultDecoder, DefaultErrorDecoder, DefaultInvocationHandlerFactory, DefaultQueryMapEncoder)
  • Deprecates the original inner Default classes, reducing them to thin subclasses that delegate to the new standalone classes
  • Updates all references (~54 files across 16+ modules) to use the new standalone classes

Test plan

  • mvn test passes across all modules
  • Deprecated inner classes still compile and work as thin wrappers for backward compatibility
  • Client.Proxied correctly extends DefaultClient instead of the deprecated Client.Default

🤖 Generated with Claude Code

@velo velo force-pushed the extract-default-inner-classes branch from bc29ea7 to 54873f0 Compare February 23, 2026 14:36
@velo velo merged commit 9166644 into master Feb 26, 2026
4 checks passed
@velo velo deleted the extract-default-inner-classes branch February 26, 2026 00:24
@norrisjeremy
Copy link
Copy Markdown

What was the motivation for this PR?
And why isn't this change documented at all in the release notes?

@velo
Copy link
Copy Markdown
Member Author

velo commented Mar 4, 2026

did it broke something?

@velo
Copy link
Copy Markdown
Member Author

velo commented Mar 4, 2026

And why isn't this change documented at all in the release notes?

¯_(ツ)_/¯
git hub ignored the PR when release notes are auto-generated. Feel free to review released and suggest fix.

@norrisjeremy
Copy link
Copy Markdown

You deprecated 9 classes with no explanation of what the benefit was.
From a user's perspective, you simply caused a bunch of new deprecation warnings in their codebase for no perceivable benefit.

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.

2 participants