Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 40bb4f2
Choose a base ref
...
head repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9807ab1
Choose a head ref
  • 18 commits
  • 58 files changed
  • 3 contributors

Commits on Jun 15, 2026

  1. chore(deps): update tunit to 1.56.0 (#6259)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    5fa037e View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependency streamjsonrpc to 2.25.29 (#6258)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    b34a556 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2026

  1. Configuration menu
    Copy the full SHA
    6547063 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2026

  1. Configuration menu
    Copy the full SHA
    8b2d5e4 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update aspire to 13.4.5 (#6267)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 17, 2026
    Configuration menu
    Copy the full SHA
    6b31503 View commit details
    Browse the repository at this point in the history
  3. chore(deps): bump launch-editor from 2.12.0 to 2.14.1 in /docs (#6268)

    Bumps [launch-editor](https://github.com/vitejs/launch-editor) from 2.12.0 to 2.14.1.
    - [Commits](vitejs/launch-editor@v2.12.0...v2.14.1)
    
    ---
    updated-dependencies:
    - dependency-name: launch-editor
      dependency-version: 2.14.1
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 17, 2026
    Configuration menu
    Copy the full SHA
    09f3b9f View commit details
    Browse the repository at this point in the history
  4. chore(deps): bump @babel/core from 7.28.5 to 7.29.7 in /docs (#6269)

    Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.28.5 to 7.29.7.
    - [Release notes](https://github.com/babel/babel/releases)
    - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-core)
    
    ---
    updated-dependencies:
    - dependency-name: "@babel/core"
      dependency-version: 7.29.7
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 17, 2026
    Configuration menu
    Copy the full SHA
    fbaf7a9 View commit details
    Browse the repository at this point in the history
  5. chore(deps): update dependency dompurify to v3.4.11 (#6271)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 17, 2026
    Configuration menu
    Copy the full SHA
    81082d1 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2026

  1. chore(deps): update dependency serialize-javascript to v7.0.6 (#6272)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 18, 2026
    Configuration menu
    Copy the full SHA
    78cac2e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9347a85 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update actions/checkout action to v7 (#6277)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 18, 2026
    Configuration menu
    Copy the full SHA
    844643d View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2026

  1. chore(deps): update verify to 31.20.0 (#6278)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    456685d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    846004a View commit details
    Browse the repository at this point in the history
  3. fix(mocks): mock deep interface hierarchies (#6264) (#6283)

    Transitive auto-mock discovery was capped at a fixed depth of 3. Every
    interface-returning member emits a reference to the next level's
    generated factory (XMockFactory.CreateAutoMock), but the depth cap
    stopped generating those factories at the boundary — so the deepest
    generated impl referenced a factory that was never emitted, failing the
    whole compilation with CS0400.
    
    Remove the cap. The `visited` set is the real termination guard: it
    bounds the walk to the finite set of distinct reachable interfaces and
    is cycle-safe (already covered by the circular-reference auto-mock
    tests). The closure's filters (interface / non-framework namespace /
    no static-abstract members) match the factory-emission filters exactly,
    so every referenced factory is now generated.
    
    Existing snapshots are byte-identical (all fixtures were within depth 3).
    thomhurst authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    6049d73 View commit details
    Browse the repository at this point in the history
  4. feat: support artifact retention for auto-uploaded HTML report (#6266) (

    #6270)
    
    The automatic GitHub Actions artifact upload had no way to set a retention
    period, so reports accumulated until a workflow run was manually deleted,
    eating into the Actions storage quota.
    
    Add a `TUNIT_ARTIFACT_RETENTION_DAYS` environment variable. When set to a
    positive integer, TUnit sends an `expires_at` timestamp in the CreateArtifact
    request, clamped to the repository maximum (`GITHUB_RETENTION_DAYS`) when one
    is present. Invalid/non-positive values are ignored and fall back to GitHub's
    default retention.
    thomhurst authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    d0547b3 View commit details
    Browse the repository at this point in the history
  5. chore(deps): bump webpack-dev-server from 5.2.4 to 5.2.5 in /docs (#6273

    )
    
    Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 5.2.4 to 5.2.5.
    - [Release notes](https://github.com/webpack/webpack-dev-server/releases)
    - [Changelog](https://github.com/webpack/webpack-dev-server/blob/main/CHANGELOG.md)
    - [Commits](webpack/webpack-dev-server@v5.2.4...v5.2.5)
    
    ---
    updated-dependencies:
    - dependency-name: webpack-dev-server
      dependency-version: 5.2.5
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    f8cc4c7 View commit details
    Browse the repository at this point in the history
  6. fix(mocks): forward asymmetric new-hidden property slots per-access…

    …or (#6263) (#6281)
    
    * fix(mocks): forward asymmetric new-hidden property slots per-accessor (#6263)
    
    A derived interface that hides a base property/indexer with `new` and a
    different accessor set (e.g. base { get; }, derived new { get; set; })
    declares two distinct interface slots. The shared impl holds the merged
    accessors, but the wrapper emitted every explicit forward using those
    merged flags, so the get-only base slot's forward gained a `set` the
    interface never declared -> CS0550.
    
    Carry per-slot accessor info: each AdditionalExplicitSlot records the
    accessors its interface declares, and the primary forward emits the
    declaring slot's own (pre-merge) accessors via new OwnHasGetter/
    OwnHasSetter. Each forward now emits only the accessors its slot has.
    Both asymmetry directions handled. Wrapper-only; impl/setup surface keep
    the merged flags, so output is byte-identical for non-asymmetric cases
    (all 225 snapshot tests unchanged).
    
    Fixes #6263
    
    * refactor(mocks): explicit IEquatable on MockExplicitInterfaceSlot
    
    Match the codebase convention (MockParameterModel, MockTypeParameterModel,
    MockMemberModel, MockEventModel all declare IEquatable<T> with hand-written
    Equals/GetHashCode) instead of relying on compiler-synthesized record members.
    Structural equality is unchanged, so generated output stays byte-identical
    (225 snapshot tests pass).
    thomhurst authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    1b7218a View commit details
    Browse the repository at this point in the history
  7. fix: honor OverloadResolutionPriority on net8 consumers (#6276, #6280) (

    #6282)
    
    * fix: honor OverloadResolutionPriority on net8 consumers (#6276, #6280)
    
    TUnit's Assert.That(...) overloads are disambiguated with
    [OverloadResolutionPriority], which is only honored by C# 13+. Projects
    targeting net8.0 (and earlier) default to C# 12, which silently ignores the
    attribute, so Assert.That binds to the generic catch-all overload instead of
    the typed collection/dictionary overload. The typed surface (All, Count,
    ContainsKey, ...) then disappears and calls fail to compile (CS0411/CS0121).
    net9.0/net10.0 default to C# 13/14, so they were unaffected.
    
    PR #2437 already set <LangVersion>latest</LangVersion> to address this, but it
    lived in the package .targets. The SDK assigns the target-framework default
    LangVersion (e.g. 12.0 for net8.0) during the .targets phase, so a .targets
    default guarded by Condition="'$(LangVersion)' == ''" never fires. Move the
    default to the package .props (imported earlier, before the SDK default) so it
    actually wins, while still letting consumers override LangVersion explicitly.
    
    Also remove the #if NET9_0_OR_GREATER gate from
    ImplicitConversionEqualityExtensions (a partial band-aid for the same root
    cause, issue #5765) and the matching test gates, restoring the
    implicit-conversion IsEqualTo / collection-overload-resolution coverage on
    net8.0. The JsonElement.DeepEquals gate stays (genuine net9+ BCL API), as do
    the Mocks ref-struct (allows ref struct) gates.
    
    Validated end to end with a packed net8 consumer: forced C#12 reproduces
    CS0411; the props default builds clean. net8 test build green (Issue5720 15/15,
    CollectionOverloadResolution 47/47).
    
    * test: update net8 PublicAPI snapshot for restored typed Assert.That overloads
    
    Dropping the #5765 #if NET9 gate restored IsEqualTo<TValue,TOther> and
    IsNotEqualTo<TValue,TOther> on net8, changing the net8 public API surface.
    thomhurst authored Jun 19, 2026
    Configuration menu
    Copy the full SHA
    9807ab1 View commit details
    Browse the repository at this point in the history
Loading