[Bug][Backend] MediatR (Lucky Penny) commercial license expired — Error logged on every startup, renew before hard enforcement #487

Closed
opened 2026-07-12 00:26:57 +00:00 by spikerj · 1 comment
Owner

Summary

The backend logs, at Error level on startup, that the MediatR commercial license has expired:

[Error] Your license for the Lucky Penny software MediatR expired 1 days ago.
[Error] Please visit https://luckypennysoftware.com to obtain a valid license for the Lucky Penny software MediatR.

MediatR (now Lucky Penny Software) is paid-licensed from v13+, and it mediates effectively all CQRS commands/queries in SpikerSoft.Business. The license lapsed ~1 day ago.

Why fix proactively

  • Compliance: running a commercial library on an expired license.
  • Risk: license enforcement currently logs errors; depending on the MediatR version's enforcement policy this can escalate (nagging → startup refusal in future versions). Since MediatR is on the hot path for nearly every request, any hard enforcement would be a broad outage.
  • It's cluttering the Seq Error stream on every startup (triage noise).

Actions

  1. Renew / obtain a valid MediatR (Lucky Penny) license key and configure it (typically services.AddMediatR(cfg => cfg.LicenseKey = "...") or the LuckyPenny:LicenseKey config the version expects). Store it as a secret, not in appsettings.json.
  2. If the licensing cost isn't wanted, evaluate pinning to the last MIT-licensed MediatR (v12.x) or migrating to an OSS alternative — but that's a larger change; renewal is the immediate fix.
  3. Confirm the expired Error stops appearing in Seq after deploy.

Where

SpikerSoft.Business MediatR registration (the AddMediatR(...) call in the API/Business DI setup).


Filed proactively by automated health check (Seq centralized error audit).

## Summary The backend logs, at `Error` level on startup, that the **MediatR commercial license has expired**: ``` [Error] Your license for the Lucky Penny software MediatR expired 1 days ago. [Error] Please visit https://luckypennysoftware.com to obtain a valid license for the Lucky Penny software MediatR. ``` MediatR (now Lucky Penny Software) is paid-licensed from v13+, and it mediates effectively all CQRS commands/queries in `SpikerSoft.Business`. The license lapsed ~1 day ago. ## Why fix proactively - **Compliance:** running a commercial library on an expired license. - **Risk:** license enforcement currently logs errors; depending on the MediatR version's enforcement policy this can escalate (nagging → startup refusal in future versions). Since MediatR is on the hot path for nearly every request, any hard enforcement would be a broad outage. - It's cluttering the Seq `Error` stream on every startup (triage noise). ## Actions 1. Renew / obtain a valid MediatR (Lucky Penny) license key and configure it (typically `services.AddMediatR(cfg => cfg.LicenseKey = "...")` or the `LuckyPenny:LicenseKey` config the version expects). Store it as a secret, not in `appsettings.json`. 2. If the licensing cost isn't wanted, evaluate pinning to the last MIT-licensed MediatR (v12.x) or migrating to an OSS alternative — but that's a larger change; renewal is the immediate fix. 3. Confirm the `expired` Error stops appearing in Seq after deploy. ## Where `SpikerSoft.Business` MediatR registration (the `AddMediatR(...)` call in the API/Business DI setup). --- _Filed proactively by automated health check (Seq centralized error audit)._
Author
Owner

Resolved in spikersoft-backend PR #212 (merged to master): Joey's renewed Lucky Penny key installed (decoded exp 2027-07-12 — calendar the next renewal for early July 2027). Also fixed along the way: the config section was typo'd MediaR (code + appsettings renamed to MediatR in lockstep), and the Notifications worker — the one other deployed MediatR host — had no license wiring at all and now reads MediatR:LicenseKey. Verification: after CI rolls the API + notifications images, the two 'license expired' Error events disappear from Seq startup logs. Key remains committed-config per the existing pattern; the README §9 Docker-secrets migration should take it along when it happens. Closing.

Resolved in spikersoft-backend PR #212 (merged to master): Joey's renewed Lucky Penny key installed (decoded exp 2027-07-12 — calendar the next renewal for early July 2027). Also fixed along the way: the config section was typo'd MediaR (code + appsettings renamed to MediatR in lockstep), and the Notifications worker — the one other deployed MediatR host — had no license wiring at all and now reads MediatR:LicenseKey. Verification: after CI rolls the API + notifications images, the two 'license expired' Error events disappear from Seq startup logs. Key remains committed-config per the existing pattern; the README §9 Docker-secrets migration should take it along when it happens. Closing.
Sign in to join this conversation.