Skip to content

Conversation

@linkdotnet
Copy link
Collaborator

This PR adds net8.0 support and merges the latest main into v2
In addition:

  • Remove preprocessor switches for <net8.0
  • Smaller refactorings

dependabot bot and others added 30 commits January 31, 2023 17:25
Bumps [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) from 8.51.0.59060 to 8.52.0.60960.
- [Release notes](https://github.com/SonarSource/sonar-dotnet/releases)
- [Commits](SonarSource/sonar-dotnet@8.51.0.59060...8.52.0.60960)

---
updated-dependencies:
- dependency-name: SonarAnalyzer.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
This reverts commit 8ac537a.

# Conflicts:
#	src/AngleSharpWrappers/AngleSharpWrappers.csproj
#	src/bunit.web/bunit.web.csproj
Release of new minor version v1.15
Release of new minor version v1.16
Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v7.0.1...v7.0.2)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
* Honor preventdefault for events so they don't bubble

* Small change to fix the normal bubbling events

* Small rename of a private method to better indicate its intention

* Improvement and simplification

* Build fix by removing an empty statement

* Changelog

* formatting of the changelog

* Updated changelog

---------

Co-authored-by: Steven Giesel <stgiesel35@gmail.com>
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.4 to 0.13.5.
- [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases)
- [Commits](dotnet/BenchmarkDotNet@v0.13.4...v0.13.5)

---
updated-dependencies:
- dependency-name: BenchmarkDotNet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Release of new minor version v1.17
linkdotnet and others added 15 commits April 25, 2023 22:45
* fix: Better naming for test method

* fix: Don't use unknown matcher first

* fix: Don't use unknown matcher first

* Add attribute
* docs: Use TestContext as base class for Passing parameters to components (#1034)

* refactor: Use TestContext as base class

* fixes to docs

* Indent size 2

* fix getting started and index

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* docs: broken sample code

* doc: fixes to sample code to make it compile

* docs: added CounterTest.razor

* docs: fix code references, added missing samples

* docs: change code ref to correct type

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>
Release of new minor version v1.19
@linkdotnet linkdotnet requested a review from egil April 27, 2023 17:53
@egil
Copy link
Member

egil commented Apr 27, 2023

I think we should keep targeting .net 7 and .net 6 while that is still supported. I know we have talked about dropping everything except .NET 8, but sine the plan is to stop doing anything other than fixes for v1 I think we still need to keep supported frameworks around in v2.

@linkdotnet
Copy link
Collaborator Author

linkdotnet commented Apr 27, 2023

I think we should keep targeting .net 7 and .net 6 while that is still supported. I know we have talked about dropping everything except .NET 8, but sine the plan is to stop doing anything other than fixes for v1 I think we still need to keep supported frameworks around in v2.

We could use v1 as a legacy version that supports net6.0 and net7.0 for quite a while (both are eol 04/2024) where we only provide bug fixes and v2 will be for >net8.0. Sure that might make bug fixes double the work, but makes new features easier.

Edit: Also it makes maintenance and testing easier in general.

@egil
Copy link
Member

egil commented Apr 27, 2023

I think we should keep targeting .net 7 and .net 6 while that is still supported. I know we have talked about dropping everything except .NET 8, but sine the plan is to stop doing anything other than fixes for v1 I think we still need to keep supported frameworks around in v2.

We could use v1 as a legacy version that supports net6.0 and net7.0 for quite a while (both are eol 04/2024) where we only provide bug fixes and v2 will be for >net8.0. Sure that might make bug fixes double the work, but makes new features easier.

Hmm, that could work, but I do think that some features should be backported to v6, e.g. the testing library APIs, and I am not sure that will be too much work to do so when the branches diverge.

@linkdotnet
Copy link
Collaborator Author

I think we should keep targeting .net 7 and .net 6 while that is still supported. I know we have talked about dropping everything except .NET 8, but sine the plan is to stop doing anything other than fixes for v1 I think we still need to keep supported frameworks around in v2.

We could use v1 as a legacy version that supports net6.0 and net7.0 for quite a while (both are eol 04/2024) where we only provide bug fixes and v2 will be for >net8.0. Sure that might make bug fixes double the work, but makes new features easier.

Hmm, that could work, but I do think that some features should be backported to v6, e.g. the testing library APIs, and I am not sure that will be too much work to do so when the branches diverge.

That is a fair point - at the moment, I would argue we only have limited "resources" to allocate one of the topics (if we decide we want to have the testing-library stuff in v1 in the first place and if so if it is an extension package or part of the core library anyway).

My main concern with that, as you said, is the increased maintenance - I would prefer to have v2 with a fresh new API (testing-library like). That includes, what we discussed earlier, some reduced surface API and a few other tweaks.

Currently, I am also thinking of deleting stuff we did in the past like WaitForXXXAsync as we tackled the problem.

To sum it up: I would handle v1 like old-stable in Debian where we only provide critical fixes until EOL of the supported version and put our work/brain into v2.

@egil
Copy link
Member

egil commented Apr 27, 2023

I would prefer to have v2 with a fresh new API (testing-library like). That includes, what we discussed earlier, some reduced surface API and a few other tweaks.

I've gone back and forth wrt. amount of changes we put into V2.

Currently my take is that we should strive to keep the API surface that users interact with as close to V2 as possible. There are books/blogs/videos/presentation out in the world that should still be valid if at all possible.

The "pubternal" things like interface hierarchies and base types we can be more safely change, as only few/advanced users will be dependent on those parts of the code.

To sum it up: I would handle v1 like old-stable in Debian where we only provide critical fixes until EOL of the supported version and put our work/brain into v2.

That's my plan too.

That said. Keeping support for NET6/7 around may not be a big burden. There are only one or two if def specific to NET7 currently after all. But let's start without net6/7 and add it back in when we have a better picture of what will come to V2 in the coming months. I suspect it's not going to be a big problem to do so.

@linkdotnet
Copy link
Collaborator Author

I can live with or without the support of net6/7.
My reasoning goes into the direction that there are new net8 features that have to be behind a #ifdef if we support the "old" version - but you are right, that is nothing in comparison to netstandard / .netcore3 support.

Copy link
Member

@egil egil left a comment

Choose a reason for hiding this comment

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

LGTM

@egil
Copy link
Member

egil commented Apr 27, 2023

I can live with or without the support of net6/7.
My reasoning goes into the direction that there are new net8 features that have to be behind a #ifdef if we support the "old" version - but you are right, that is nothing in comparison to netstandard / .netcore3 support.

Let's hope that's the case. But I feel good about starting out without it to make it easier to do refactorings and then add NET6/7 in after.

@linkdotnet
Copy link
Collaborator Author

Ah some commits are not signed … have to check tomorrow at the PC

@egil
Copy link
Member

egil commented Apr 27, 2023

Removed requirement for signed commits. Go ahead and merge.

@linkdotnet linkdotnet merged commit 663b824 into v2 Apr 28, 2023
@linkdotnet linkdotnet deleted the v2-net8 branch April 28, 2023 06:23
egil added a commit that referenced this pull request Jun 10, 2023
* build(deps): Bump SonarAnalyzer.CSharp from 8.51.0.59060 to 8.52.0.60960

Bumps [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) from 8.51.0.59060 to 8.52.0.60960.
- [Release notes](https://github.com/SonarSource/sonar-dotnet/releases)
- [Commits](SonarSource/sonar-dotnet@8.51.0.59060...8.52.0.60960)

---
updated-dependencies:
- dependency-name: SonarAnalyzer.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build: set AccelerateBuildsInVisualStudio to true

* chore: upgrade anglesharp.diffing to 0.17.1

* docs: update changelog

* Revert AngleSharp from 1.0.1 to 0.17.1

This reverts commit 8ac537a.

# Conflicts:
#	src/AngleSharpWrappers/AngleSharpWrappers.csproj
#	src/bunit.web/bunit.web.csproj

* Set version to '1.15'

* Set version to '1.16-preview'

* Updated CHANGELOG.md for 1.15.5 release

* fix: allow semantic comparer to compare IHtmlUnknownElement types

* Set version to '1.16'

* Set version to '1.17-preview'

* Updated CHANGELOG.md for 1.16.2 release

* fix: wrong type assignment in doc (#975)

* refactor: Use PackageOutputPath instead of -o

* build(deps): Bump System.Text.Json from 7.0.1 to 7.0.2

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v7.0.1...v7.0.2)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Honor preventdefault for events so they don't bubble (#982)

* Honor preventdefault for events so they don't bubble

* Small change to fix the normal bubbling events

* Small rename of a private method to better indicate its intention

* Improvement and simplification

* Build fix by removing an empty statement

* Changelog

* formatting of the changelog

* Updated changelog

---------

Co-authored-by: Steven Giesel <stgiesel35@gmail.com>

* build(deps): Bump BenchmarkDotNet from 0.13.4 to 0.13.5

Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.4 to 0.13.5.
- [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases)
- [Commits](dotnet/BenchmarkDotNet@v0.13.4...v0.13.5)

---
updated-dependencies:
- dependency-name: BenchmarkDotNet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Set version to '1.17'

* Set version to '1.18-preview'

* Updated CHANGELOG.md for 1.17.2 release

* build(deps): Bump AutoFixture from 4.17.0 to 4.18.0

Bumps [AutoFixture](https://github.com/AutoFixture/AutoFixture) from 4.17.0 to 4.18.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](AutoFixture/AutoFixture@v4.17.0...v4.18.0)

---
updated-dependencies:
- dependency-name: AutoFixture
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): Bump AutoFixture.Xunit2 from 4.17.0 to 4.18.0

Bumps [AutoFixture.Xunit2](https://github.com/AutoFixture/AutoFixture) from 4.17.0 to 4.18.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](AutoFixture/AutoFixture@v4.17.0...v4.18.0)

---
updated-dependencies:
- dependency-name: AutoFixture.Xunit2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): Bump Microsoft.NET.Test.Sdk from 17.4.1 to 17.5.0

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.4.1 to 17.5.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.4.1...v17.5.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: Escape text inside html tag and attributes

* fix: Added tests for escpable characters

* fix: Escape text inside html tag

* Added changelog entry

* chore: code cleanup

* fix: optimize char replacement

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* build(deps): Bump SonarAnalyzer.CSharp from 8.52.0.60960 to 8.53.0.62665 (#988)

* build(deps): Bump SonarAnalyzer.CSharp from 8.52.0.60960 to 8.53.0.62665

Bumps [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) from 8.52.0.60960 to 8.53.0.62665.
- [Release notes](https://github.com/SonarSource/sonar-dotnet/releases)
- [Commits](SonarSource/sonar-dotnet@8.52.0.60960...8.53.0.62665)

---
updated-dependencies:
- dependency-name: SonarAnalyzer.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: code analyzer rules code updates

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Egil Hansen <egil@assimilated.dk>

* fix: submit button/input element submits form (#1000)

* fix: submit button/input element submits form

* handle other edge cases

* code clean up

* simplify conditionals

* Set version to '1.18'

* Set version to '1.19-preview'

* Updated CHANGELOG.md for 1.18.4 release

* chore: use file scoped namespaces

* Simplify null coalescing

* refactor: use early return and simplify call

* fix(nullable): forward nullability correctly (#1013)

* fix(nullable): forward nullability correctly

* Update src/bunit.web/TestContext.cs

Co-authored-by: Egil Hansen <egil@assimilated.dk>

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* docs: improve examples of semantic comparison modifiers

* build(deps): Bump AngleSharp.Diffing from 0.17.1 to 0.18.1

Bumps [AngleSharp.Diffing](https://github.com/AngleSharp/AngleSharp.Diffing) from 0.17.1 to 0.18.1.
- [Release notes](https://github.com/AngleSharp/AngleSharp.Diffing/releases)
- [Changelog](https://github.com/AngleSharp/AngleSharp.Diffing/blob/devel/CHANGELOG.md)
- [Commits](AngleSharp/AngleSharp.Diffing@v0.17.1...v0.18.1)

---
updated-dependencies:
- dependency-name: AngleSharp.Diffing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* docs: Use TestContext as base class for Passing parameters to components (#1034)

* refactor: Use TestContext as base class

* fixes to docs

* Indent size 2

* fix getting started and index

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* docs: broken sample code

* doc: fixes to sample code to make it compile

* docs: added CounterTest.razor

* docs: fix code references, added missing samples

* docs: Use TestContext as base class for Passing parameters to components (#1034)

* refactor: Use TestContext as base class

* fixes to docs

* Indent size 2

* fix getting started and index

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* docs: broken sample code

* doc: fixes to sample code to make it compile

* docs: added CounterTest.razor

* docs: fix code references, added missing samples

* docs: change code ref to correct type

* chore: code clean up

* fix: clean up tests

* fix: run markup updates in users sync context

* fix: synchronize code that reads/writes to the internal render tree in TestRenderer/Renderer

* build(deps): Bump SonarAnalyzer.CSharp from 8.54.0.63966 to 8.56.0.67649

Bumps [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) from 8.54.0.63966 to 8.56.0.67649.
- [Release notes](https://github.com/SonarSource/sonar-dotnet/releases)
- [Commits](https://github.com/SonarSource/sonar-dotnet/commits/8.56.0.67649)

---
updated-dependencies:
- dependency-name: SonarAnalyzer.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): Bump dotnet-serve from 1.7.125 to 1.10.155

Bumps [dotnet-serve](https://github.com/natemcmaster/dotnet-serve) from 1.7.125 to 1.10.155.
- [Release notes](https://github.com/natemcmaster/dotnet-serve/releases)
- [Commits](https://github.com/natemcmaster/dotnet-serve/commits/v1.10.155)

---
updated-dependencies:
- dependency-name: dotnet-serve
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: Custom elements with attributes throw exception

* fix: Better naming for test method (#1048)

* fix: Better naming for test method

* fix: Don't use unknown matcher first

* fix: Don't use unknown matcher first

* Add attribute

* Merge stable into main (#1050)

* docs: Use TestContext as base class for Passing parameters to components (#1034)

* refactor: Use TestContext as base class

* fixes to docs

* Indent size 2

* fix getting started and index

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* docs: broken sample code

* doc: fixes to sample code to make it compile

* docs: added CounterTest.razor

* docs: fix code references, added missing samples

* docs: change code ref to correct type

---------

Co-authored-by: Egil Hansen <egil@assimilated.dk>

* Set version to '1.19'

* Set version to '1.20-preview'

* Updated CHANGELOG.md for 1.19.14 release

* Update to net8.0

* Remove preprocessor directives

* Wave 2

* Remove net60 dep in test

* More changes

* Bump actions

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Egil Hansen <egil@assimilated.dk>
Co-authored-by: bUnit bot <bot@bunit.dev>
Co-authored-by: JelleHissink <Jelle@CodeWise.nl>
Co-authored-by: Florian Dohrendorf <LunicLynx@users.noreply.github.com>
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.

6 participants