# Release Notes

<table border="1" id="bkmrk-3.1.0-20.-apr-25-ini" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.880952%;"></col></colgroup><tbody><tr><td>### 4.3.0

01\. May 26

This release is really only a maintenance release. No consumer facing changes are included.

##### Maintenance

- Readme updated for new domains and exception type
- Tests migrated to Xunit 3
- Workaround added for enum parsing regression in Refit 10.1.6

</td></tr><tr><td>### 4.2.0

20\. Mar 26

This release adds support for the new features introduced in NetStone API 4.2.0. Please refer to the API changelog for details.

##### New

- Facewear
- Gear Dye
- Icon URLs for gear
- Gear rarity

</td></tr><tr><td>### 4.1.0

28\. Dec 25

This release adds support for the new "CacheImages" parameter and updates the Readme for signed JWT client authentication.

##### New

- Support for "CacheImages" parameter on Character GET endpoint

##### Maintenance

- Readme updated to replace client secret with paths for signed JWT client authentication

</td></tr><tr><td>### 4.0.9

22\. Dec 25

##### Maintenance

- Update AspNetCoreExtensions.Keycloak package to expose app.MapJwksEndpoint() extension method

</td></tr><tr><td>### 4.0.8

22\. Dec 25

4.0.2 to 4.0.7 were me trying to figure out how NuGet packaging works for submodules. Version 4.0.8 replaces all that by using a NuGet package for NetStone.Common instead.

##### Fixed

- NetStone.Common contents unavailable because submodule was not added to NuGet package

</td></tr><tr><td>### 4.0.1

21\. Dec 25

##### Fixed

- GitHub workflow was pushing to wrong NuGet package 
    - Package was technically correct, but it included redundant "Tawmy." prefix
    - It's just "NetStone.Api.Sdk" now

</td></tr><tr><td>### 4.0.0

21\. Dec 25

The SDK is now a NuGet package! Because NetStone API now uses FFXIV for authentication, the SDK mandates the use of signed JWT client authentication instead of a client secret. The certificate used for signed JWT authentication must use ECDSA.

##### New

- The SDK is now a NuGet package! It can be found here: [https://www.nuget.org/packages/NetStone.Api.Sdk](https://www.nuget.org/packages/NetStone.Api.Sdk)
    - Only version 4.0.1 and onwards, 4.0.0 falsely included a prefix in its title
- Use FFXIV ID for authentication 
    - The client now uses JWT client authentication instead of a client secret
    - ECDSA certificate required
- API V4 
    - Support for Fallback Type as a flags enum
- ClassJob enum now includes ShortNames (eg. SCH for Scholar)

##### Maintenance

- Runtime upgrade to .NET 10
- Switch to Apache-2.0 license
- NuGet packages are now created and pushed to the NuGet registry automatically
- Added global.json to better control .NET upgrades

##### Breaking Changes

- New client required as NetStone API now uses FFXIV ID for authentication
- Signed JWT (ECDSA) replaces client secret authentication

</td></tr><tr><td>### 3.2.0

20\. May 25

##### New

- Support for custom request timeouts 
    - Requesting achievements can take time, so increasing the default may be desired
- Retrieval of characters and free companies from cache by name
- NetStoneException carries more information about errors

##### Breaking Changes

- "V3" removed from entity names

</td></tr><tr><td>### 3.1.2

26\. Apr 25

Purely a maintenance update to keep the NetStone Common module up to date.

</td></tr><tr><td>### 3.1.1

25\. Apr 25

The old NetStone API Client threw NotFoundExceptions if the response status code was a 404. The new SDK instead threw an ApiException, which was a breaking change and required a dependency on/an import of Refit. It now throws NotFoundExceptions again, and a generic NetStoneException on other unsuccessful response status codes.

##### Fixed

- Exceptions would require dependency on/import of Refit 
    - Errors now throw NetStoneException
- 404 responses would throw Refit ApiException instead of NetStone Common NotFoundException 
    - 404 responses now throw NotFoundException, just like NetStone API Client used to

</td></tr><tr><td>### 3.1.0

20\. Apr 25

##### Initial Release

- Built for dependency injection
- Default .NET resilience handler with extended timeouts built-in
- Support for all Character and Free Company endpoints
- Basic usage guide at [https://github.com/Tawmy/NetStone.Api.Sdk](https://github.com/Tawmy/NetStone.Api.Sdk)
- Replaces previous NetStone.Api.Client

</td></tr></tbody></table>