Skip to content

Update to xunit.v3 3.x prerelease#148

Merged
AArnott merged 3 commits into
AArnott:mainfrom
Youssef1313:xunitv3-3
Jun 19, 2025
Merged

Update to xunit.v3 3.x prerelease#148
AArnott merged 3 commits into
AArnott:mainfrom
Youssef1313:xunitv3-3

Conversation

@Youssef1313

@Youssef1313 Youssef1313 commented Jun 19, 2025

Copy link
Copy Markdown
Contributor

Fixes #147

NOTE: I noticed you have some APIs in PublicAPI.Unshipped.txt but they are actually shipped and should have been moved to shipped. I left that in place. So, for the constructors that changed their signature, if originally was in Unshipped, I updated in place. And if it was originally in Shipped, I added to Unshipped with *REMOVED* prefix and added the new API.

@AArnott AArnott left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I noticed you have some APIs in PublicAPI.Unshipped.txt but they are actually shipped and should have been moved to shipped

Good point. I'll fix that.
I also note that you made several binary breaking changes by implicitly removing the default constructors on all the attributes. I'll correct that as well.

@AArnott AArnott left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Oh, I see that even xunit.v3 drops their default constructor on the attributes. I guess binary compatibility isn't a goal for xunit.v3 across major versions, so it's pointless to try to achieve on our side. I'll keep what you've done.

@AArnott AArnott left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Oh, I see that even xunit.v3 drops their default constructor on the attributes. I guess binary compatibility isn't a goal for xunit.v3 across major versions, so it's pointless to try to achieve on our side. I'll keep what you've done.

@Youssef1313

Copy link
Copy Markdown
Contributor Author

Oh, I see that even xunit.v3 drops their default constructor on the attributes. I guess binary compatibility isn't a goal for xunit.v3 across major versions, so it's pointless to try to achieve on our side. I'll keep what you've done.

Yes. xunit.v3 is following semantic versioning now. So major release can have binary breaking changes. The binary break for removal of parameterless constructor is the primary reason why the current version of xunit.stafact cannot work with xunit.v3 3.0 prerelease. (to make it more funny, the tests are silently not discovered because of an empty catch in xunit when getting attributes, which swallows the MissingMethodException)

@AArnott
AArnott merged commit 082f21d into AArnott:main Jun 19, 2025
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.

Prerelease version of xunit.stafact using xunit.v3 3.x

2 participants