Skip to content

Commit 3acc37c

Browse files
eng, prepare release 0.37.4 (#3242)
1 parent 06887cb commit 3acc37c

File tree

23 files changed

+792
-438
lines changed

23 files changed

+792
-438
lines changed

core

Submodule core updated 255 files

typespec-extension/changelog.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Release History
22

3+
## 0.37.4 (2025-12-18)
4+
5+
Compatible with compiler 1.7.1.
6+
7+
- Updated TypeSpec dependencies (compiler 1.7.1) and refreshed dev dependencies.
8+
- Supported ArrayEncoding on array properties in the HTTP client emitter.
9+
310
## 0.37.3 (2025-12-12)
411

512
Compatible with compiler 1.7.0.

typespec-extension/package-lock.json

Lines changed: 347 additions & 347 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typespec-extension/package.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@azure-tools/typespec-java",
3-
"version": "0.37.3",
3+
"version": "0.37.4",
44
"description": "TypeSpec library for emitting Java client from the TypeSpec REST protocol binding",
55
"keywords": [
66
"TypeSpec"
@@ -53,7 +53,7 @@
5353
"@azure-tools/typespec-azure-rulesets": ">=0.63.0 <1.0.0",
5454
"@azure-tools/typespec-client-generator-core": ">=0.63.0 <1.0.0",
5555
"@azure-tools/typespec-liftr-base": ">=0.11.0 <1.0.0",
56-
"@typespec/compiler": "^1.7.0",
56+
"@typespec/compiler": "^1.7.1",
5757
"@typespec/http": "^1.7.0",
5858
"@typespec/openapi": "^1.7.0",
5959
"@typespec/rest": ">=0.77.0 <1.0.0",
@@ -75,10 +75,10 @@
7575
"@microsoft/api-extractor": "^7.55.2",
7676
"@types/js-yaml": "~4.0.9",
7777
"@types/lodash": "~4.17.21",
78-
"@types/node": "~25.0.1",
79-
"@typescript-eslint/eslint-plugin": "~8.49.0",
80-
"@typescript-eslint/parser": "~8.49.0",
81-
"@typespec/compiler": "1.7.0",
78+
"@types/node": "~25.0.3",
79+
"@typescript-eslint/eslint-plugin": "~8.50.0",
80+
"@typescript-eslint/parser": "~8.50.0",
81+
"@typespec/compiler": "1.7.1",
8282
"@typespec/events": "0.77.0",
8383
"@typespec/http": "1.7.0",
8484
"@typespec/openapi": "1.7.0",
@@ -88,22 +88,22 @@
8888
"@typespec/tspd": "0.73.2",
8989
"@typespec/versioning": "0.77.0",
9090
"@typespec/xml": "0.77.0",
91-
"@vitest/coverage-v8": "^4.0.15",
92-
"@vitest/ui": "^4.0.15",
91+
"@vitest/coverage-v8": "^4.0.16",
92+
"@vitest/ui": "^4.0.16",
9393
"c8": "~10.1.3",
94-
"eslint": "~9.39.1",
94+
"eslint": "~9.39.2",
9595
"eslint-plugin-deprecation": "~3.0.0",
9696
"eslint-plugin-import": "^2.32.0",
9797
"eslint-plugin-unicorn": "^62.0.0",
9898
"prettier": "~3.7.4",
9999
"rimraf": "~6.1.2",
100100
"typescript": "~5.9.3",
101-
"typescript-eslint": "^8.49.0",
102-
"vitest": "^4.0.15"
101+
"typescript-eslint": "^8.50.0",
102+
"vitest": "^4.0.16"
103103
},
104104
"overrides": {
105-
"eslint": "~9.39.1",
106-
"@typescript-eslint/eslint-plugin": "~8.49.0",
107-
"@typescript-eslint/parser": "~8.49.0"
105+
"eslint": "~9.39.2",
106+
"@typescript-eslint/eslint-plugin": "~8.50.0",
107+
"@typescript-eslint/parser": "~8.50.0"
108108
}
109109
}

typespec-extension/src/options.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ export const EmitterOptionsSchema: JSONSchemaType<EmitterOptions> = {
8585
nullable: true,
8686
default: false,
8787
},
88+
"client-side-validations": {
89+
type: "boolean",
90+
description:
91+
"When set to `true`, the model classes would be generated with a `validate()` API for validating required properties, during REST API invocation. Default value is `false`. This option is for backward-compatibility.",
92+
nullable: true,
93+
default: false,
94+
},
8895
"float32-as-double": {
8996
type: "boolean",
9097
description:

typespec-tests/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
"@typespec/spector": "0.1.0-alpha.21",
1414
"@typespec/http-specs": "0.1.0-alpha.29",
1515
"@azure-tools/azure-http-specs": "0.1.0-alpha.33",
16-
"@azure-tools/typespec-java": "file:/../typespec-extension/azure-tools-typespec-java-0.37.3.tgz"
16+
"@azure-tools/typespec-java": "file:/../typespec-extension/azure-tools-typespec-java-0.37.4.tgz"
1717
},
1818
"devDependencies": {
1919
"@typespec/prettier-plugin-typespec": "^1.7.0",
2020
"prettier-plugin-organize-imports": "^4.3.0",
2121
"prettier": "^3.7.4"
2222
},
2323
"overrides": {
24-
"@typespec/compiler": "1.7.0",
24+
"@typespec/compiler": "1.7.1",
2525
"@typespec/http": "1.7.0",
2626
"@typespec/rest": "0.77.0",
2727
"@typespec/versioning": "0.77.0",

typespec-tests/src/main/java/encode/array/models/CommaDelimitedArrayProperty.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
import com.azure.json.JsonToken;
1212
import com.azure.json.JsonWriter;
1313
import java.io.IOException;
14+
import java.util.Arrays;
15+
import java.util.LinkedList;
1416
import java.util.List;
17+
import java.util.stream.Collectors;
1518

1619
/**
1720
* The CommaDelimitedArrayProperty model.
@@ -51,7 +54,10 @@ public List<String> getValue() {
5154
@Override
5255
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
5356
jsonWriter.writeStartObject();
54-
jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeString(element));
57+
if (this.value != null) {
58+
jsonWriter.writeStringField("value",
59+
this.value.stream().map(element -> element == null ? "" : element).collect(Collectors.joining(",")));
60+
}
5561
return jsonWriter.writeEndObject();
5662
}
5763

@@ -73,7 +79,12 @@ public static CommaDelimitedArrayProperty fromJson(JsonReader jsonReader) throws
7379
reader.nextToken();
7480

7581
if ("value".equals(fieldName)) {
76-
value = reader.readArray(reader1 -> reader1.getString());
82+
String valueEncodedAsString = reader.getString();
83+
value = valueEncodedAsString == null
84+
? null
85+
: valueEncodedAsString.isEmpty()
86+
? new LinkedList<>()
87+
: new LinkedList<>(Arrays.asList(valueEncodedAsString.split(",", -1)));
7788
} else {
7889
reader.skipChildren();
7990
}

typespec-tests/src/main/java/encode/array/models/NewlineDelimitedArrayProperty.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
import com.azure.json.JsonToken;
1212
import com.azure.json.JsonWriter;
1313
import java.io.IOException;
14+
import java.util.Arrays;
15+
import java.util.LinkedList;
1416
import java.util.List;
17+
import java.util.stream.Collectors;
1518

1619
/**
1720
* The NewlineDelimitedArrayProperty model.
@@ -51,7 +54,10 @@ public List<String> getValue() {
5154
@Override
5255
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
5356
jsonWriter.writeStartObject();
54-
jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeString(element));
57+
if (this.value != null) {
58+
jsonWriter.writeStringField("value",
59+
this.value.stream().map(element -> element == null ? "" : element).collect(Collectors.joining("\n")));
60+
}
5561
return jsonWriter.writeEndObject();
5662
}
5763

@@ -73,7 +79,12 @@ public static NewlineDelimitedArrayProperty fromJson(JsonReader jsonReader) thro
7379
reader.nextToken();
7480

7581
if ("value".equals(fieldName)) {
76-
value = reader.readArray(reader1 -> reader1.getString());
82+
String valueEncodedAsString = reader.getString();
83+
value = valueEncodedAsString == null
84+
? null
85+
: valueEncodedAsString.isEmpty()
86+
? new LinkedList<>()
87+
: new LinkedList<>(Arrays.asList(valueEncodedAsString.split("\n", -1)));
7788
} else {
7889
reader.skipChildren();
7990
}

typespec-tests/src/main/java/encode/array/models/PipeDelimitedArrayProperty.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
import com.azure.json.JsonToken;
1212
import com.azure.json.JsonWriter;
1313
import java.io.IOException;
14+
import java.util.Arrays;
15+
import java.util.LinkedList;
1416
import java.util.List;
17+
import java.util.stream.Collectors;
1518

1619
/**
1720
* The PipeDelimitedArrayProperty model.
@@ -51,7 +54,10 @@ public List<String> getValue() {
5154
@Override
5255
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
5356
jsonWriter.writeStartObject();
54-
jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeString(element));
57+
if (this.value != null) {
58+
jsonWriter.writeStringField("value",
59+
this.value.stream().map(element -> element == null ? "" : element).collect(Collectors.joining("|")));
60+
}
5561
return jsonWriter.writeEndObject();
5662
}
5763

@@ -73,7 +79,12 @@ public static PipeDelimitedArrayProperty fromJson(JsonReader jsonReader) throws
7379
reader.nextToken();
7480

7581
if ("value".equals(fieldName)) {
76-
value = reader.readArray(reader1 -> reader1.getString());
82+
String valueEncodedAsString = reader.getString();
83+
value = valueEncodedAsString == null
84+
? null
85+
: valueEncodedAsString.isEmpty()
86+
? new LinkedList<>()
87+
: new LinkedList<>(Arrays.asList(valueEncodedAsString.split("\\|", -1)));
7788
} else {
7889
reader.skipChildren();
7990
}

typespec-tests/src/main/java/encode/array/models/SpaceDelimitedArrayProperty.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
import com.azure.json.JsonToken;
1212
import com.azure.json.JsonWriter;
1313
import java.io.IOException;
14+
import java.util.Arrays;
15+
import java.util.LinkedList;
1416
import java.util.List;
17+
import java.util.stream.Collectors;
1518

1619
/**
1720
* The SpaceDelimitedArrayProperty model.
@@ -51,7 +54,10 @@ public List<String> getValue() {
5154
@Override
5255
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
5356
jsonWriter.writeStartObject();
54-
jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeString(element));
57+
if (this.value != null) {
58+
jsonWriter.writeStringField("value",
59+
this.value.stream().map(element -> element == null ? "" : element).collect(Collectors.joining(" ")));
60+
}
5561
return jsonWriter.writeEndObject();
5662
}
5763

@@ -73,7 +79,12 @@ public static SpaceDelimitedArrayProperty fromJson(JsonReader jsonReader) throws
7379
reader.nextToken();
7480

7581
if ("value".equals(fieldName)) {
76-
value = reader.readArray(reader1 -> reader1.getString());
82+
String valueEncodedAsString = reader.getString();
83+
value = valueEncodedAsString == null
84+
? null
85+
: valueEncodedAsString.isEmpty()
86+
? new LinkedList<>()
87+
: new LinkedList<>(Arrays.asList(valueEncodedAsString.split(" ", -1)));
7788
} else {
7889
reader.skipChildren();
7990
}

0 commit comments

Comments
 (0)