diff --git a/CryptoExchange.Net/CryptoExchange.Net.csproj b/CryptoExchange.Net/CryptoExchange.Net.csproj
index 4698d2d3..1976e93c 100644
--- a/CryptoExchange.Net/CryptoExchange.Net.csproj
+++ b/CryptoExchange.Net/CryptoExchange.Net.csproj
@@ -6,9 +6,9 @@
CryptoExchange.Net
JKorf
CryptoExchange.Net is a base library which is used to implement different cryptocurrency (exchange) API's. It provides a standardized way of implementing different API's, which results in a very similar experience for users of the API implementations.
- 12.2.0
- 12.2.0
- 12.2.0
+ 12.3.0
+ 12.3.0
+ 12.3.0
false
OKX;OKX.Net;Mexc;Mexc.Net;Kucoin;Kucoin.Net;Kraken;Kraken.Net;Huobi;Huobi.Net;CoinEx;CoinEx.Net;Bybit;Bybit.Net;Bitget;Bitget.Net;Bitfinex;Bitfinex.Net;Binance;Binance.Net;CryptoCurrency;CryptoCurrency Exchange;CryptoExchange.Net
git
diff --git a/README.md b/README.md
index c0f21208..ced681a3 100644
--- a/README.md
+++ b/README.md
@@ -127,6 +127,12 @@ Various:
* PlatformInfo now required support environment names in the constructor
## Release notes
+* Version 12.3.0 - 23 Jul 2026
+ * Added calculation of AveragePrice on Shared order models if data is available and AveragePrice is not set
+ * Extracted ConnectionCanBeUsedFor method in SocketApiClient for easier custom logic implementation
+ * Updated some Shared APIs error messages
+ * Remove duplicate warnings from testing output
+
* Version 12.2.0 - 20 Jul 2026
* Added SpotSymbolCatalog to Shared ISpotSymbolRestClient interface
* Added FuturesSymbolCatalog to Shared IFuturesSymbolRestClient interface
diff --git a/llms.txt b/llms.txt
index 6b45fb1f..1bab8b5a 100644
--- a/llms.txt
+++ b/llms.txt
@@ -2,7 +2,7 @@
> Base C#/.NET library for cryptocurrency exchange API client implementations. Provides a standardized abstraction (REST, WebSocket, authentication, rate limiting, error handling, order book management, shared cross-exchange interfaces) that 28+ exchange-specific libraries are built on top of.
-CryptoExchange.Net itself is not used directly — install one of the exchange-specific libraries (Binance.Net, Bybit.Net, OKX.Net, Kraken.Net, Coinbase.Net, etc.) or `CryptoClients.Net` to access all exchanges via a single bundle. The base library is what makes the entire ecosystem feel consistent: same `HttpResult` REST result pattern, same `WebSocketResult` websocket subscription pattern, same DI registration, same shared interfaces across all exchanges. Current version: 12.2.0. Targets netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0. Native AOT supported.
+CryptoExchange.Net itself is not used directly — install one of the exchange-specific libraries (Binance.Net, Bybit.Net, OKX.Net, Kraken.Net, Coinbase.Net, etc.) or `CryptoClients.Net` to access all exchanges via a single bundle. The base library is what makes the entire ecosystem feel consistent: same `HttpResult` REST result pattern, same `WebSocketResult` websocket subscription pattern, same DI registration, same shared interfaces across all exchanges. Current version: 12.3.0. Targets netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0. Native AOT supported.
The standout feature for cross-exchange code is `CryptoExchange.Net.SharedApis` — a set of interfaces (`ISpotTickerRestClient`, `ISpotOrderRestClient`, `IBalanceRestClient`, etc.) implemented by every exchange library. Same call signature works against any exchange.