Skip to content

Bump coverlet.collector from 8.0.1 to 10.0.0#614

Open
dependabot[bot] wants to merge 2 commits intomainfrom
dependabot/nuget/tests/AgroPlatform.IntegrationTests/multi-1634f3bb90
Open

Bump coverlet.collector from 8.0.1 to 10.0.0#614
dependabot[bot] wants to merge 2 commits intomainfrom
dependabot/nuget/tests/AgroPlatform.IntegrationTests/multi-1634f3bb90

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 24, 2026

Updated coverlet.collector from 8.0.1 to 10.0.0.

Release notes

Sourced from coverlet.collector's releases.

10.0.0

Improvements

  • Unique Report Filenames (coverlet.MTP and AzDO) #​1866
  • Add --coverlet-file-prefix option for unique report files #​1869
  • Introduce .NET 10 support #​1823

Fixed

  • Fix [BUG] Wrong branch rate on IAsyncEnumerable for generic type #​1836
  • Fix [BUG] Missing Coverage after moving to MTP #​1843
  • Fix [BUG] No coverage reported when targeting .NET Framework with 8.0.1 #​1842
  • Fix [BUG] Behavior changes between MTP and Legacy (msbuild) #​1878
  • Fix [BUG] Coverlet.MTP - Unable to load coverlet.mtp.appsettings.json #​1880
  • Fix [BUG] Coverlet.Collector produces empty report when Mediator.SourceGenerator is referenced #​1718 by https://github.com/yusyd
  • Fix [BUG] Crash during instrumentation (Methods using LibraryImport/DllImport have no body) #​1762

Maintenance

  • Add comprehensive async method tests and documentation for issue #​1864
  • Replace Tmds.ExecFunction Package in coverlet.core.coverage.tests #​1833
  • Add net9.0 and net10.0 targets #​1822

Diff between 8.0.1 and 10.0.0

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: coverlet.collector
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: coverlet.collector
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Apr 24, 2026
barach6662001-bit added a commit that referenced this pull request Apr 24, 2026
barach6662001-bit added a commit that referenced this pull request Apr 25, 2026
…640)

* docs(roadmap): correct currency conversion v2 PR number (#632#634) and note switcher is re-enabled

* chore(roadmap): split PR #614 into core + #614a (system) + #614b (catalogs) + #614c (broadcast)

PR #614 scope as a single ticket was too broad (3 admin pages + impersonation
engine + audit log + global users + 4 sub-features each non-trivial). Split
into a sequenced set so each is reviewable:

- #614 (in progress): impersonation engine + /admin/users + /admin/audit-log
  + 6 integration tests + red banner + rate limit + forbidden-action filter
- #614a: /admin/system read-only health dashboard + audit-log CSV export
- #614b: /admin/catalogs (global reference data CRUD)
- #614c: /admin/broadcast (depends on PR #617 notifications fixes)

TZ.md status marker updated to reflect the split.

* feat(impersonation): backend engine, JWT extension, forbidden-action filter, /admin/users + audit-log filters

- ICurrentUserService gains IsImpersonating + ImpersonatedByUserId
- JwtTokenService.GenerateImpersonationToken issues a 60min token with claims
  is_super_admin=false, impersonated_by_user_id, original_tenant_id, impersonation_reason
- IImpersonationService + ImpersonationService:
  * StartAsync: validates target (not self, not super-admin, active), enforces 3/24h
    rate limit by querying SuperAdminAuditLog, audits 'impersonate.start',
    inserts in-app Notification (severity warning, body in Ukrainian with Kyiv
    timestamp + reason), best-effort email
  * EndAsync: requires impersonated_by_user_id claim, audits 'impersonate.end',
    re-issues a fresh super-admin token for the original admin
  * LogForbiddenAttemptAsync: writes 'impersonate.forbidden_attempt' audit row
- ForbiddenDuringImpersonationAttribute (filter): on 403 also writes the
  forbidden-attempt audit row with the attempted route. Applied to:
  AuthController.ChangePassword, ApiKeysController create + revoke,
  UsersController.UpdateUserRole + ResetUserPassword
- ImpersonationController: POST /api/admin/impersonate (super-admin only),
  POST /api/admin/impersonate/end (callable from impersonation token)
- AdminController: GET /api/admin/users (global search across tenants with
  tenant name), GET /api/admin/audit-log gains action / adminUserId / fromUtc /
  toUtc / tenantId filters

* feat(impersonation): add partial composite index for rate-limit query

CREATE INDEX ix_superadminauditlogs_impersonation_ratelimit
  ON SuperAdminAuditLogs (AdminUserId, TargetId, OccurredAt DESC)
  WHERE Action = 'impersonate.start'

Backs the 3/24h-per-(admin,target) rate-limit lookup in
ImpersonationService.StartAsync. Partial filter keeps the index small as
the audit log grows across all super-admin actions.

* test(impersonation): 6 integration scenarios + extend TestAuthHandler with X-Test-ImpersonatedBy

- (1) non-super-admin caller -> 403
- (2) super-admin without MFA -> 403 + X-Mfa-Required
- (3) happy path -> 200 + 60min token + audit row + Notification row (Ukrainian
      title 'Сесія імперсонації', warning severity, body contains the reason)
- (4) reason < 10 chars -> 400
- (5) rate limit: 4th impersonation in 24h on same target -> 429
      (3 prior 'impersonate.start' rows pre-seeded directly into
      SuperAdminAuditLogs to keep the test deterministic and fast)
- (6) forbidden action under impersonation token (POST /api/auth/change-password)
      -> 403 AND writes a separate 'impersonate.forbidden_attempt' audit row

TestAuthHandler now also accepts X-Test-ImpersonatedBy for forbidden-action
coverage, matching the JWT contract (impersonation tokens always carry
is_super_admin=false).

All 441 tests pass (315 unit + 126 integration).

* feat(frontend): super-admin impersonation banner + /admin/users + /admin/audit-log

- authStore: add impersonation slice (target + original snapshots, expires)
- api/admin: startImpersonation / endImpersonation / listAdminUsers / listAdminAuditLog
- ImpersonationBanner: red, non-closable, z-index 9999, full viewport, countdown, exit restores original token
- /admin/users: global users table with reason modal (>=10 chars) + impersonate
- /admin/audit-log: filtered audit log with expandable payload
- i18n keys (uk + en) for users page, audit log, banner, modal

* fix(impersonation): default-impl IsImpersonating/ImpersonatedByUserId on ICurrentUserService

Avoids breaking 5 unit-test stubs (FakeCurrentUserService + per-test TestCurrentUserService) without forcing them to update.
barach6662001-bit added a commit that referenced this pull request Apr 27, 2026
…a/b/c (#641)

- Move PR #614 core (impersonation + /admin/users + /admin/audit-log) to Completed
- Promote PR #615 (Warehouse: grain receipt + inventory) to In progress
- Create new 'Deferred (post-core, before Phase B)' section for #614a/b/c
- Move #614a (/admin/system), #614b (/admin/catalogs), #614c (/admin/broadcast) to Deferred
- Reorder Upcoming to start with PR #616 (Notifications center)
- Update TZ.md: mark ПУНКТ 9 + 10 as [IN PROGRESS in PR #615]
@barach6662001-bit barach6662001-bit enabled auto-merge (squash) April 28, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant