diff --git a/CHANGELOG.md b/CHANGELOG.md
index 12747ec6c..8e4acc31c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,16 @@
# Changelog
+## milvus-sdk-java 2.6.9 (2025-11-28)
+### Improvement
+- Add timezone parameter for query/search/QueryIterator/SearchIterator
+- Add filterTemplate for QueryIterator/SearchIterator
+- Add GetCompactionPlans interface
+- Avoid frequent calls of getFlushState() in the flush() loop
+
+### Bug
+- Add missed parameter "timestamp" for describeIndex()
+- Fix a struct filed bug that fail to insert if two struct fields have the same name subfield
+
## milvus-sdk-java 2.6.8 (2025-11-21)
### Improvement
- Adding exception handling on connection for MilvusClientV2
diff --git a/README.md b/README.md
index fc88acc45..7e8094e36 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ The following table shows compatibilities between Milvus and Java SDK.
| 2.3.x | 2.3.11 |
| 2.4.x | 2.4.11 |
| 2.5.x | 2.5.14 |
-| 2.6.x | 2.6.8 |
+| 2.6.x | 2.6.9 |
### Install Java SDK
@@ -34,20 +34,20 @@ You can use **Apache Maven** or **Gradle** add Milvus SDK to your project.
io.milvus
milvus-sdk-java
- 2.6.8
+ 2.6.9
```
- Gradle/Groovy
```groovy
- implementation 'io.milvus:milvus-sdk-java:2.6.8'
+ implementation 'io.milvus:milvus-sdk-java:2.6.9'
```
- Gradle/Kotlin
```kotlin
- implementation("io.milvus:milvus-sdk-java:2.6.8")
+ implementation("io.milvus:milvus-sdk-java:2.6.9")
```
From v2.5.2, milvus Java SDK is split into two packages: milvus-sdk-java and milvus-sdk-java-bulkwriter, because BulkWriter requires quite a lot of dependencies. If you don't need BulkWriter tool, you can ignore the milvus-sdk-java-bulkwriter package.
@@ -59,20 +59,20 @@ To use BulkWriter, import milvus-sdk-java-bulkwriter to your project.
io.milvus
milvus-sdk-java-bulkwriter
- 2.6.8
+ 2.6.9
```
- Gradle/Groovy
```groovy
- implementation 'io.milvus:milvus-sdk-java-bulkwriter:2.6.8'
+ implementation 'io.milvus:milvus-sdk-java-bulkwriter:2.6.9'
```
- Gradle/Kotlin
```kotlin
- implementation("io.milvus:milvus-sdk-java-bulkwriter:2.6.8")
+ implementation("io.milvus:milvus-sdk-java-bulkwriter:2.6.9")
```
### Examples
diff --git a/examples/pom.xml b/examples/pom.xml
index 0066574b4..cc6d958c0 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -42,7 +42,7 @@
- 2.6.8
+ 2.6.9
UTF-8
diff --git a/examples/src/main/java/io/milvus/v2/StructExample.java b/examples/src/main/java/io/milvus/v2/StructExample.java
index 6dc45b0e1..34f89109d 100644
--- a/examples/src/main/java/io/milvus/v2/StructExample.java
+++ b/examples/src/main/java/io/milvus/v2/StructExample.java
@@ -111,18 +111,18 @@ private static void createCollection() {
// define another struct field schema, note that it has a same name subfield to the STRUCT_FIELD
collectionSchema.addField(AddFieldReq.builder()
- .fieldName("simplify_clips")
- .description("simplify clips")
- .dataType(DataType.Array)
- .elementType(DataType.Struct)
- .maxCapacity(100)
- .addStructField(AddFieldReq.builder()
- .fieldName(CLIP_VECTOR_FIELD)
- .description("clip has been simplified")
- .dataType(DataType.FloatVector)
- .dimension(32)
- .build())
- .build());
+ .fieldName("simplify_clips")
+ .description("simplify clips")
+ .dataType(DataType.Array)
+ .elementType(DataType.Struct)
+ .maxCapacity(100)
+ .addStructField(AddFieldReq.builder()
+ .fieldName(CLIP_VECTOR_FIELD)
+ .description("clip has been simplified")
+ .dataType(DataType.FloatVector)
+ .dimension(32)
+ .build())
+ .build());
client.dropCollection(DropCollectionReq.builder()
.collectionName(COLLECTION_NAME)
diff --git a/pom.xml b/pom.xml
index 4b668192e..95061da86 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
- 2.6.8
+ 2.6.9
8
8
UTF-8
diff --git a/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java b/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java
index 063049c8a..dd33598c4 100644
--- a/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java
+++ b/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java
@@ -1198,7 +1198,7 @@ void testStruct() {
JsonArray structArr1 = new JsonArray();
JsonArray structArr2 = new JsonArray();
for (int k = 0; k < 8; k++) {
- if (k <5) {
+ if (k < 5) {
JsonObject struct = new JsonObject();
struct.addProperty("aaa", "No." + k);
struct.add("vector", JsonUtils.toJsonTree(utils.generateFloatVector(32)));