Skip to content

Commit ac1594a

Browse files
authored
Merge pull request #180 from binance/release_spot_5.0.0
release spot 5.0.0
2 parents a664ee0 + 0bc6135 commit ac1594a

File tree

31 files changed

+2626
-72
lines changed

31 files changed

+2626
-72
lines changed

.github/workflows/java.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
modified_targets: ${{ steps.filter.outputs.modified_targets }}
1414
steps:
1515
- name: Checkout repository
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 2
1919

@@ -49,16 +49,16 @@ jobs:
4949
needs: detect-targets
5050
if: ${{ needs.detect-targets.outputs.modified_targets != '[]' }}
5151
steps:
52-
- uses: actions/checkout@v3
52+
- uses: actions/checkout@v4
5353
- name: Set up JDK
54-
uses: actions/setup-java@v3
54+
uses: actions/setup-java@v4
5555
with:
5656
java-version: 17
5757
distribution: 'adopt'
5858
cache: 'maven'
5959
cache-dependency-path: |
60-
'clients/pom.xml'
61-
'examples/pom.xml'
60+
clients/pom.xml
61+
examples/pom.xml
6262
- name: Validate modules
6363
run: |
6464
mvn -f clients/pom.xml -pl common install -Dgpg.skip

clients/spot/CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## 5.0.0 - 2025-07-24
4+
5+
### Changed (4)
6+
7+
#### REST API
8+
9+
- Added missing parameters to `orderTest()` (`POST /api/v3/order/test`)
10+
11+
#### WebSocket API
12+
13+
- Added missing parameters to `orderTest()`
14+
15+
- Modified parameter `cancelOrderId`:
16+
- format `Integer``Long`
17+
- affected methods:
18+
- `orderCancelReplace()` (`order.cancelReplace` method)
19+
- Modified parameter `orderId`:
20+
- format `Integer``Long`
21+
- affected methods:
22+
- `allOrders()` (`allOrders` method)
23+
- `myTrades()` (`myTrades` method)
24+
- `orderCancel()` (`order.cancel` method)
25+
- `orderStatus()` (`order.status` method)
26+
327
## 4.0.0 - 2025-07-16
428

529
### Added (1)
@@ -28,7 +52,6 @@
2852
- `symbols`: item property `amendAllowed` added
2953
- `symbols`: item property `allowAmend` deleted
3054

31-
3255
#### WebSocket API
3356

3457
- Modified response for `exchangeInfo()` method (`POST /exchangeInfo`):

clients/spot/docs/rest-api/migration-guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ With the transition to a modularized structure, the Binance Connector has been s
2222
<dependency>
2323
<groupId>io.github.binance</groupId>
2424
<artifactId>binance-spot</artifactId>
25-
<version>3.1.0</version>
25+
<version>5.0.0</version>
2626
</dependency>
2727
```
2828

@@ -91,7 +91,7 @@ by:
9191
<dependency>
9292
<groupId>io.github.binance</groupId>
9393
<artifactId>binance-spot</artifactId>
94-
<version>3.1.0</version>
94+
<version>5.0.0</version>
9595
</dependency>
9696
```
9797

clients/spot/example_rest.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@
8282

8383
[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)
8484

85-
[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)
85+
[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)
8686

8787
[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)
8888

89-
[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)
89+
[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)
9090

9191
## UserDataStream
9292

clients/spot/example_websocket_api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,11 @@
9090

9191
[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)
9292

93-
[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)
93+
[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)
9494

9595
[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)
9696

97-
[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)
97+
[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)
9898

9999
## UserDataStream
100100

clients/spot/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<artifactId>binance-spot</artifactId>
77
<name>spot</name>
8-
<version>4.0.0</version>
8+
<version>5.0.0</version>
99
<packaging>jar</packaging>
1010

1111
<parent>

clients/spot/src/main/java/com/binance/connector/client/spot/rest/api/AccountApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class AccountApi {
5454

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

clients/spot/src/main/java/com/binance/connector/client/spot/rest/api/GeneralApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class GeneralApi {
4747

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

clients/spot/src/main/java/com/binance/connector/client/spot/rest/api/MarketApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public class MarketApi {
5858

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

clients/spot/src/main/java/com/binance/connector/client/spot/rest/api/TradeApi.java

Lines changed: 134 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public class TradeApi {
6767

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

@@ -2449,6 +2449,80 @@ private okhttp3.Call orderTestCall(OrderTestRequest orderTestRequest) throws Api
24492449
"computeCommissionRates", orderTestRequest.getComputeCommissionRates());
24502450
}
24512451

2452+
if (orderTestRequest.getSymbol() != null) {
2453+
localVarFormParams.put("symbol", orderTestRequest.getSymbol());
2454+
}
2455+
2456+
if (orderTestRequest.getSide() != null) {
2457+
localVarFormParams.put("side", orderTestRequest.getSide());
2458+
}
2459+
2460+
if (orderTestRequest.getType() != null) {
2461+
localVarFormParams.put("type", orderTestRequest.getType());
2462+
}
2463+
2464+
if (orderTestRequest.getTimeInForce() != null) {
2465+
localVarFormParams.put("timeInForce", orderTestRequest.getTimeInForce());
2466+
}
2467+
2468+
if (orderTestRequest.getQuantity() != null) {
2469+
localVarFormParams.put(
2470+
"quantity",
2471+
DecimalFormatter.getFormatter().format(orderTestRequest.getQuantity()));
2472+
}
2473+
2474+
if (orderTestRequest.getQuoteOrderQty() != null) {
2475+
localVarFormParams.put(
2476+
"quoteOrderQty",
2477+
DecimalFormatter.getFormatter().format(orderTestRequest.getQuoteOrderQty()));
2478+
}
2479+
2480+
if (orderTestRequest.getPrice() != null) {
2481+
localVarFormParams.put(
2482+
"price", DecimalFormatter.getFormatter().format(orderTestRequest.getPrice()));
2483+
}
2484+
2485+
if (orderTestRequest.getNewClientOrderId() != null) {
2486+
localVarFormParams.put("newClientOrderId", orderTestRequest.getNewClientOrderId());
2487+
}
2488+
2489+
if (orderTestRequest.getStrategyId() != null) {
2490+
localVarFormParams.put("strategyId", orderTestRequest.getStrategyId());
2491+
}
2492+
2493+
if (orderTestRequest.getStrategyType() != null) {
2494+
localVarFormParams.put("strategyType", orderTestRequest.getStrategyType());
2495+
}
2496+
2497+
if (orderTestRequest.getStopPrice() != null) {
2498+
localVarFormParams.put(
2499+
"stopPrice",
2500+
DecimalFormatter.getFormatter().format(orderTestRequest.getStopPrice()));
2501+
}
2502+
2503+
if (orderTestRequest.getTrailingDelta() != null) {
2504+
localVarFormParams.put("trailingDelta", orderTestRequest.getTrailingDelta());
2505+
}
2506+
2507+
if (orderTestRequest.getIcebergQty() != null) {
2508+
localVarFormParams.put(
2509+
"icebergQty",
2510+
DecimalFormatter.getFormatter().format(orderTestRequest.getIcebergQty()));
2511+
}
2512+
2513+
if (orderTestRequest.getNewOrderRespType() != null) {
2514+
localVarFormParams.put("newOrderRespType", orderTestRequest.getNewOrderRespType());
2515+
}
2516+
2517+
if (orderTestRequest.getSelfTradePreventionMode() != null) {
2518+
localVarFormParams.put(
2519+
"selfTradePreventionMode", orderTestRequest.getSelfTradePreventionMode());
2520+
}
2521+
2522+
if (orderTestRequest.getRecvWindow() != null) {
2523+
localVarFormParams.put("recvWindow", orderTestRequest.getRecvWindow());
2524+
}
2525+
24522526
final String[] localVarAccepts = {"application/json"};
24532527
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
24542528
if (localVarAccept != null) {
@@ -2782,6 +2856,65 @@ private okhttp3.Call sorOrderTestCall(SorOrderTestRequest sorOrderTestRequest)
27822856
"computeCommissionRates", sorOrderTestRequest.getComputeCommissionRates());
27832857
}
27842858

2859+
if (sorOrderTestRequest.getSymbol() != null) {
2860+
localVarFormParams.put("symbol", sorOrderTestRequest.getSymbol());
2861+
}
2862+
2863+
if (sorOrderTestRequest.getSide() != null) {
2864+
localVarFormParams.put("side", sorOrderTestRequest.getSide());
2865+
}
2866+
2867+
if (sorOrderTestRequest.getType() != null) {
2868+
localVarFormParams.put("type", sorOrderTestRequest.getType());
2869+
}
2870+
2871+
if (sorOrderTestRequest.getTimeInForce() != null) {
2872+
localVarFormParams.put("timeInForce", sorOrderTestRequest.getTimeInForce());
2873+
}
2874+
2875+
if (sorOrderTestRequest.getQuantity() != null) {
2876+
localVarFormParams.put(
2877+
"quantity",
2878+
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getQuantity()));
2879+
}
2880+
2881+
if (sorOrderTestRequest.getPrice() != null) {
2882+
localVarFormParams.put(
2883+
"price",
2884+
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getPrice()));
2885+
}
2886+
2887+
if (sorOrderTestRequest.getNewClientOrderId() != null) {
2888+
localVarFormParams.put("newClientOrderId", sorOrderTestRequest.getNewClientOrderId());
2889+
}
2890+
2891+
if (sorOrderTestRequest.getStrategyId() != null) {
2892+
localVarFormParams.put("strategyId", sorOrderTestRequest.getStrategyId());
2893+
}
2894+
2895+
if (sorOrderTestRequest.getStrategyType() != null) {
2896+
localVarFormParams.put("strategyType", sorOrderTestRequest.getStrategyType());
2897+
}
2898+
2899+
if (sorOrderTestRequest.getIcebergQty() != null) {
2900+
localVarFormParams.put(
2901+
"icebergQty",
2902+
DecimalFormatter.getFormatter().format(sorOrderTestRequest.getIcebergQty()));
2903+
}
2904+
2905+
if (sorOrderTestRequest.getNewOrderRespType() != null) {
2906+
localVarFormParams.put("newOrderRespType", sorOrderTestRequest.getNewOrderRespType());
2907+
}
2908+
2909+
if (sorOrderTestRequest.getSelfTradePreventionMode() != null) {
2910+
localVarFormParams.put(
2911+
"selfTradePreventionMode", sorOrderTestRequest.getSelfTradePreventionMode());
2912+
}
2913+
2914+
if (sorOrderTestRequest.getRecvWindow() != null) {
2915+
localVarFormParams.put("recvWindow", sorOrderTestRequest.getRecvWindow());
2916+
}
2917+
27852918
final String[] localVarAccepts = {"application/json"};
27862919
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
27872920
if (localVarAccept != null) {

0 commit comments

Comments
 (0)