Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
modified_targets: ${{ steps.filter.outputs.modified_targets }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 2

Expand Down Expand Up @@ -49,16 +49,16 @@ jobs:
needs: detect-targets
if: ${{ needs.detect-targets.outputs.modified_targets != '[]' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'adopt'
cache: 'maven'
cache-dependency-path: |
'clients/pom.xml'
'examples/pom.xml'
clients/pom.xml
examples/pom.xml
- name: Validate modules
run: |
mvn -f clients/pom.xml -pl common install -Dgpg.skip
Expand Down
25 changes: 24 additions & 1 deletion clients/spot/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 5.0.0 - 2025-07-24

### Changed (4)

#### REST API

- Added missing parameters to `orderTest()` (`POST /api/v3/order/test`)

#### WebSocket API

- Added missing parameters to `orderTest()`

- Modified parameter `cancelOrderId`:
- format `Integer` → `Long`
- affected methods:
- `orderCancelReplace()` (`order.cancelReplace` method)
- Modified parameter `orderId`:
- format `Integer` → `Long`
- affected methods:
- `allOrders()` (`allOrders` method)
- `myTrades()` (`myTrades` method)
- `orderCancel()` (`order.cancel` method)
- `orderStatus()` (`order.status` method)

## 4.0.0 - 2025-07-16

### Added (1)
Expand Down Expand Up @@ -28,7 +52,6 @@
- `symbols`: item property `amendAllowed` added
- `symbols`: item property `allowAmend` deleted


#### WebSocket API

- Modified response for `exchangeInfo()` method (`POST /exchangeInfo`):
Expand Down
4 changes: 2 additions & 2 deletions clients/spot/docs/rest-api/migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-spot</artifactId>
<version>3.1.0</version>
<version>5.0.0</version>
</dependency>
```

Expand Down Expand Up @@ -91,7 +91,7 @@ by:
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-spot</artifactId>
<version>3.1.0</version>
<version>5.0.0</version>
</dependency>
```

Expand Down
4 changes: 2 additions & 2 deletions clients/spot/example_rest.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,11 @@

[POST /api/v3/order/oco](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-oco---deprecated-trade) - orderOco - [OrderOcoExample.java:53](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/OrderOcoExample.java#L53)

[POST /api/v3/order/test](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade) - orderTest - [OrderTestExample.java:50](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/OrderTestExample.java#L50)
[POST /api/v3/order/test](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade) - orderTest - [OrderTestExample.java:52](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/OrderTestExample.java#L52)

[POST /api/v3/sor/order](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-using-sor-trade) - sorOrder - [SorOrderExample.java:51](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/SorOrderExample.java#L51)

[POST /api/v3/sor/order/test](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-using-sor-trade) - sorOrderTest - [SorOrderTestExample.java:50](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/SorOrderTestExample.java#L50)
[POST /api/v3/sor/order/test](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-using-sor-trade) - sorOrderTest - [SorOrderTestExample.java:52](/examples/spot/src/main/java/com/binance/connector/client/spot/rest/trade/SorOrderTestExample.java#L52)

## UserDataStream

Expand Down
4 changes: 2 additions & 2 deletions clients/spot/example_websocket_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@

[order.place](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#place-new-order-trade) - orderPlace - [OrderPlaceExample.java:51](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/OrderPlaceExample.java#L51)

[order.test](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#test-new-order-trade) - orderTest - [OrderTestExample.java:51](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/OrderTestExample.java#L51)
[order.test](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#test-new-order-trade) - orderTest - [OrderTestExample.java:53](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/OrderTestExample.java#L53)

[sor.order.place](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#place-new-order-using-sor-trade) - sorOrderPlace - [SorOrderPlaceExample.java:52](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/SorOrderPlaceExample.java#L52)

[sor.order.test](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#test-new-order-using-sor-trade) - sorOrderTest - [SorOrderTestExample.java:51](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/SorOrderTestExample.java#L51)
[sor.order.test](https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/trading-requests#test-new-order-using-sor-trade) - sorOrderTest - [SorOrderTestExample.java:53](/examples/spot/src/main/java/com/binance/connector/client/spot/websocket/api/trade/SorOrderTestExample.java#L53)

## UserDataStream

Expand Down
2 changes: 1 addition & 1 deletion clients/spot/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>binance-spot</artifactId>
<name>spot</name>
<version>4.0.0</version>
<version>5.0.0</version>
<packaging>jar</packaging>

<parent>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public class AccountApi {

private static final String USER_AGENT =
String.format(
"binance-spot/4.0.0 (Java/%s; %s; %s)",
"binance-spot/5.0.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public class GeneralApi {

private static final String USER_AGENT =
String.format(
"binance-spot/4.0.0 (Java/%s; %s; %s)",
"binance-spot/5.0.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public class MarketApi {

private static final String USER_AGENT =
String.format(
"binance-spot/4.0.0 (Java/%s; %s; %s)",
"binance-spot/5.0.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public class TradeApi {

private static final String USER_AGENT =
String.format(
"binance-spot/4.0.0 (Java/%s; %s; %s)",
"binance-spot/5.0.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = true;

Expand Down Expand Up @@ -2449,6 +2449,80 @@ private okhttp3.Call orderTestCall(OrderTestRequest orderTestRequest) throws Api
"computeCommissionRates", orderTestRequest.getComputeCommissionRates());
}

if (orderTestRequest.getSymbol() != null) {
localVarFormParams.put("symbol", orderTestRequest.getSymbol());
}

if (orderTestRequest.getSide() != null) {
localVarFormParams.put("side", orderTestRequest.getSide());
}

if (orderTestRequest.getType() != null) {
localVarFormParams.put("type", orderTestRequest.getType());
}

if (orderTestRequest.getTimeInForce() != null) {
localVarFormParams.put("timeInForce", orderTestRequest.getTimeInForce());
}

if (orderTestRequest.getQuantity() != null) {
localVarFormParams.put(
"quantity",
DecimalFormatter.getFormatter().format(orderTestRequest.getQuantity()));
}

if (orderTestRequest.getQuoteOrderQty() != null) {
localVarFormParams.put(
"quoteOrderQty",
DecimalFormatter.getFormatter().format(orderTestRequest.getQuoteOrderQty()));
}

if (orderTestRequest.getPrice() != null) {
localVarFormParams.put(
"price", DecimalFormatter.getFormatter().format(orderTestRequest.getPrice()));
}

if (orderTestRequest.getNewClientOrderId() != null) {
localVarFormParams.put("newClientOrderId", orderTestRequest.getNewClientOrderId());
}

if (orderTestRequest.getStrategyId() != null) {
localVarFormParams.put("strategyId", orderTestRequest.getStrategyId());
}

if (orderTestRequest.getStrategyType() != null) {
localVarFormParams.put("strategyType", orderTestRequest.getStrategyType());
}

if (orderTestRequest.getStopPrice() != null) {
localVarFormParams.put(
"stopPrice",
DecimalFormatter.getFormatter().format(orderTestRequest.getStopPrice()));
}

if (orderTestRequest.getTrailingDelta() != null) {
localVarFormParams.put("trailingDelta", orderTestRequest.getTrailingDelta());
}

if (orderTestRequest.getIcebergQty() != null) {
localVarFormParams.put(
"icebergQty",
DecimalFormatter.getFormatter().format(orderTestRequest.getIcebergQty()));
}

if (orderTestRequest.getNewOrderRespType() != null) {
localVarFormParams.put("newOrderRespType", orderTestRequest.getNewOrderRespType());
}

if (orderTestRequest.getSelfTradePreventionMode() != null) {
localVarFormParams.put(
"selfTradePreventionMode", orderTestRequest.getSelfTradePreventionMode());
}

if (orderTestRequest.getRecvWindow() != null) {
localVarFormParams.put("recvWindow", orderTestRequest.getRecvWindow());
}

final String[] localVarAccepts = {"application/json"};
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) {
Expand Down Expand Up @@ -2782,6 +2856,65 @@ private okhttp3.Call sorOrderTestCall(SorOrderTestRequest sorOrderTestRequest)
"computeCommissionRates", sorOrderTestRequest.getComputeCommissionRates());
}

if (sorOrderTestRequest.getSymbol() != null) {
localVarFormParams.put("symbol", sorOrderTestRequest.getSymbol());
}

if (sorOrderTestRequest.getSide() != null) {
localVarFormParams.put("side", sorOrderTestRequest.getSide());
}

if (sorOrderTestRequest.getType() != null) {
localVarFormParams.put("type", sorOrderTestRequest.getType());
}

if (sorOrderTestRequest.getTimeInForce() != null) {
localVarFormParams.put("timeInForce", sorOrderTestRequest.getTimeInForce());
}

if (sorOrderTestRequest.getQuantity() != null) {
localVarFormParams.put(
"quantity",
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getQuantity()));
}

if (sorOrderTestRequest.getPrice() != null) {
localVarFormParams.put(
"price",
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getPrice()));
}

if (sorOrderTestRequest.getNewClientOrderId() != null) {
localVarFormParams.put("newClientOrderId", sorOrderTestRequest.getNewClientOrderId());
}

if (sorOrderTestRequest.getStrategyId() != null) {
localVarFormParams.put("strategyId", sorOrderTestRequest.getStrategyId());
}

if (sorOrderTestRequest.getStrategyType() != null) {
localVarFormParams.put("strategyType", sorOrderTestRequest.getStrategyType());
}

if (sorOrderTestRequest.getIcebergQty() != null) {
localVarFormParams.put(
"icebergQty",
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getIcebergQty()));
}

if (sorOrderTestRequest.getNewOrderRespType() != null) {
localVarFormParams.put("newOrderRespType", sorOrderTestRequest.getNewOrderRespType());
}

if (sorOrderTestRequest.getSelfTradePreventionMode() != null) {
localVarFormParams.put(
"selfTradePreventionMode", sorOrderTestRequest.getSelfTradePreventionMode());
}

if (sorOrderTestRequest.getRecvWindow() != null) {
localVarFormParams.put("recvWindow", sorOrderTestRequest.getRecvWindow());
}

final String[] localVarAccepts = {"application/json"};
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public class UserDataStreamApi {

private static final String USER_AGENT =
String.format(
"binance-spot/4.0.0 (Java/%s; %s; %s)",
"binance-spot/5.0.0 (Java/%s; %s; %s)",
SystemUtil.getJavaVersion(), SystemUtil.getOs(), SystemUtil.getArch());
private static final boolean HAS_TIME_UNIT = true;

Expand Down
Loading
Loading