|
| 1 | +--- |
| 2 | +title: "Duende IdentityServer v7.3 to v7.4" |
| 3 | +sidebar: |
| 4 | + order: 26 |
| 5 | + label: v7.3 → v7.4 |
| 6 | +--- |
| 7 | + |
| 8 | +This upgrade guide covers upgrading from Duende IdentityServer v7.3 to v7.4 ([release notes](https://github.com/DuendeSoftware/products/releases/tag/is-7.4.0)). |
| 9 | + |
| 10 | +IdentityServer 7.4.0 is a significant release that includes: |
| 11 | + |
| 12 | +- Support for .NET 10 |
| 13 | +- Support for OAuth 2.0 Authorization Server Metadata ([RFC 8414](https://www.rfc-editor.org/rfc/rfc8414.html)) |
| 14 | +- New Callback option for path detection in Dynamic Providers |
| 15 | +- Improved UI locales support |
| 16 | +- Support for custom parameters in the Authorize Redirect Uri |
| 17 | +- Identity package now persists session claims based on an interface |
| 18 | +- Skipping front-channel logout iframe when unnecessary |
| 19 | +- Set HTTP activity name on routing |
| 20 | + |
| 21 | +There are no schema changes needed for IdentityServer 7.4. Small code changes maybe be required for some users to upgrade: |
| 22 | + |
| 23 | +- Removed the unused `Duende.IdentityServer.Models.DiscoveryDocument` class which was public |
| 24 | +- Marked static properties referring to counters in `Telemetry.cs` as `readonly` |
| 25 | + |
| 26 | +## Step 1: Update NuGet package |
| 27 | + |
| 28 | +In your IdentityServer host project, update the version of the NuGet. |
| 29 | +For example in your project file: |
| 30 | + |
| 31 | +```xml |
| 32 | +<PackageReference Include="Duende.IdentityServer" Version="7.3.0" /> |
| 33 | +``` |
| 34 | + |
| 35 | +would change to: |
| 36 | + |
| 37 | +```xml |
| 38 | +<PackageReference Include="Duende.IdentityServer" Version="7.4.0" /> |
| 39 | +``` |
| 40 | + |
| 41 | +## Step 2: Breaking Changes |
| 42 | + |
| 43 | +Small code changes maybe be required for some users to upgrade. |
| 44 | + |
| 45 | +#### Removed the unused `Duende.IdentityServer.Models.DiscoveryDocument` class which was public |
| 46 | + |
| 47 | +In the process of internal code cleanup, we found that the `Duende.IdentityServer.Models.DiscoveryDocument` class was |
| 48 | +public but not used anywhere in the codebase. |
| 49 | + |
| 50 | +If you were using this class in your codebase, you will need to replace it with your own implementation or use a |
| 51 | +different class that provides similar functionality. You can find the removed class in the [pull request][1]. |
| 52 | + |
| 53 | +https://github.com/DuendeSoftware/products/pull/2128 |
| 54 | + |
| 55 | +#### Marked static properties referring to counters in `Telemetry.cs` as `readonly` |
| 56 | + |
| 57 | +In the process of internal code cleanup, these properties were updated to be marked as `readonly`. |
| 58 | +Code should not have been updating these properties as it would likely change the behavior of the telemetry emitted by |
| 59 | +IdentityServer. |
| 60 | + |
| 61 | +Any code which was updating these properties should instead create its own counters for their specific scenario. |
| 62 | + |
| 63 | +https://github.com/DuendeSoftware/products/pull/2170 |
| 64 | + |
| 65 | +## Step 3: Done! |
| 66 | + |
| 67 | +That's it. Of course, at this point you can and should test that your IdentityServer is updated and working properly. |
| 68 | + |
| 69 | +[1]: https://github.com/DuendeSoftware/products/pull/2128/files#diff-b9470315ba30a728f573d4fd52fae80da4f3f180b19d5e1b9b0bf3a9c7ce6841 |
0 commit comments