diff --git a/dev-proxy-abstractions/dev-proxy-abstractions.csproj b/dev-proxy-abstractions/dev-proxy-abstractions.csproj
index 690515fd..a63aafc8 100644
--- a/dev-proxy-abstractions/dev-proxy-abstractions.csproj
+++ b/dev-proxy-abstractions/dev-proxy-abstractions.csproj
@@ -5,7 +5,7 @@
Microsoft.DevProxy.Abstractions
enable
enable
- 0.17.0
+ 0.16.2
false
diff --git a/dev-proxy-plugins/Mocks/MockResponsePlugin.cs b/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
index 99b55fcb..a0df2a61 100644
--- a/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
+++ b/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
@@ -27,7 +27,7 @@ public class MockResponseConfiguration
public bool BlockUnmockedRequests { get; set; } = false;
[JsonPropertyName("$schema")]
- public string Schema { get; set; } = "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.17.0/mockresponseplugin.schema.json";
+ public string Schema { get; set; } = "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/mockresponseplugin.schema.json";
public IEnumerable Mocks { get; set; } = Array.Empty();
}
diff --git a/dev-proxy-plugins/dev-proxy-plugins.csproj b/dev-proxy-plugins/dev-proxy-plugins.csproj
index 0b0a3869..4c591963 100644
--- a/dev-proxy-plugins/dev-proxy-plugins.csproj
+++ b/dev-proxy-plugins/dev-proxy-plugins.csproj
@@ -6,7 +6,7 @@
enable
true
OnOutputUpdated
- 0.17.0
+ 0.16.2
false
diff --git a/dev-proxy/dev-proxy.csproj b/dev-proxy/dev-proxy.csproj
index e11dc176..18d6b7fb 100644
--- a/dev-proxy/dev-proxy.csproj
+++ b/dev-proxy/dev-proxy.csproj
@@ -8,7 +8,7 @@
enable
LICENSE
Dev Proxy
- 0.17.0
+ 0.16.2
Microsoft
Dev Proxy
devproxy
diff --git a/dev-proxy/devproxy-errors.json b/dev-proxy/devproxy-errors.json
index b5c1c94d..6b8c6418 100644
--- a/dev-proxy/devproxy-errors.json
+++ b/dev-proxy/devproxy-errors.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/genericrandomerrorplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/genericrandomerrorplugin.schema.json",
"responses": [
{
"statusCode": 400,
diff --git a/dev-proxy/devproxyrc.json b/dev-proxy/devproxyrc.json
index 44e75193..d0382838 100644
--- a/dev-proxy/devproxyrc.json
+++ b/dev-proxy/devproxyrc.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
diff --git a/dev-proxy/presets/m365-mocks.json b/dev-proxy/presets/m365-mocks.json
index e48c04e1..11f5aa14 100644
--- a/dev-proxy/presets/m365-mocks.json
+++ b/dev-proxy/presets/m365-mocks.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/mockresponseplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/mockresponseplugin.schema.json",
"mocks": [
{
"request": {
diff --git a/dev-proxy/presets/m365.json b/dev-proxy/presets/m365.json
index 56660b98..6f3c6bbd 100644
--- a/dev-proxy/presets/m365.json
+++ b/dev-proxy/presets/m365.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/rc.schema.json",
"plugins": [
{
"name": "DevToolsPlugin",
diff --git a/dev-proxy/presets/microsoft-graph-rate-limiting.json b/dev-proxy/presets/microsoft-graph-rate-limiting.json
index 7b5d35ae..4988e15c 100644
--- a/dev-proxy/presets/microsoft-graph-rate-limiting.json
+++ b/dev-proxy/presets/microsoft-graph-rate-limiting.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/rc.schema.json",
"plugins": [
{
"name": "RateLimitingPlugin",
diff --git a/dev-proxy/presets/microsoft-graph.json b/dev-proxy/presets/microsoft-graph.json
index 182a863e..23ca61f9 100644
--- a/dev-proxy/presets/microsoft-graph.json
+++ b/dev-proxy/presets/microsoft-graph.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.1/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.16.2/rc.schema.json",
"plugins": [
{
"name": "GraphSelectGuidancePlugin",
diff --git a/install.iss b/install.iss
index 8842ee58..9ff795bb 100644
--- a/install.iss
+++ b/install.iss
@@ -2,8 +2,8 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Dev Proxy"
-#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.17.0"
-#define MyAppVersion "0.17.0"
+#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.16.2"
+#define MyAppVersion "0.16.2"
#define MyAppPublisher "Microsoft"
#define MyAppURL "https://aka.ms/devproxy"
diff --git a/schemas/v0.16.2/crudapiplugin.schema.json b/schemas/v0.16.2/crudapiplugin.schema.json
new file mode 100644
index 00000000..286a3c2c
--- /dev/null
+++ b/schemas/v0.16.2/crudapiplugin.schema.json
@@ -0,0 +1,135 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "CRUD API plugin API definition",
+ "description": "API definition for use with the CRUD API Dev Proxy plugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "dataFile": {
+ "type": "string"
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "action": {
+ "type": "string",
+ "enum": [
+ "create",
+ "getAll",
+ "getOne",
+ "getMany",
+ "merge",
+ "update",
+ "delete"
+ ]
+ },
+ "url": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ]
+ },
+ "auth": {
+ "type": "string",
+ "enum": [
+ "none",
+ "entra"
+ ]
+ },
+ "entraAuthConfig": {
+ "type": "object",
+ "properties": {
+ "audience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateLifetime": {
+ "type": "boolean"
+ },
+ "validateSigningKey": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "auth": {
+ "type": "string",
+ "enum": [
+ "none",
+ "entra"
+ ]
+ },
+ "entraAuthConfig": {
+ "type": "object",
+ "properties": {
+ "audience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateLifetime": {
+ "type": "boolean"
+ },
+ "validateSigningKey": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "required": [
+ "baseUrl",
+ "dataFile",
+ "actions"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.16.2/genericrandomerrorplugin.schema.json b/schemas/v0.16.2/genericrandomerrorplugin.schema.json
new file mode 100644
index 00000000..39174b32
--- /dev/null
+++ b/schemas/v0.16.2/genericrandomerrorplugin.schema.json
@@ -0,0 +1,51 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GenericRandomErrorPlugin responses",
+ "description": "Mocks for the Dev Proxy GenericRandomErrorPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type":"string"
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "responses"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.16.2/mockrequestplugin.schema.json b/schemas/v0.16.2/mockrequestplugin.schema.json
new file mode 100644
index 00000000..f690cb8f
--- /dev/null
+++ b/schemas/v0.16.2/mockrequestplugin.schema.json
@@ -0,0 +1,62 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockRequestPlugin mocks",
+ "description": "Mock request for the Dev Proxy MockRequestPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "request": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "HEAD",
+ "OPTIONS",
+ "CONNECT",
+ "TRACE"
+ ]
+ },
+ "body": {
+ "type": "object"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ },
+ "required": [
+ "request"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.16.2/mockresponseplugin.schema.json b/schemas/v0.16.2/mockresponseplugin.schema.json
new file mode 100644
index 00000000..d4719182
--- /dev/null
+++ b/schemas/v0.16.2/mockresponseplugin.schema.json
@@ -0,0 +1,88 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockResponsePlugin mocks",
+ "description": "Mocks for the Dev Proxy MockResponsePlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "mocks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "request": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "HEAD",
+ "OPTIONS",
+ "CONNECT",
+ "TRACE"
+ ]
+ },
+ "nth": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "response": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "request",
+ "response"
+ ]
+ }
+ }
+ },
+ "required": [
+ "mocks"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.16.2/ratelimitingplugin.schema.json b/schemas/v0.16.2/ratelimitingplugin.schema.json
new file mode 100644
index 00000000..11e6ecbd
--- /dev/null
+++ b/schemas/v0.16.2/ratelimitingplugin.schema.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy RateLimitingPlugin response",
+ "description": "Mock for the Dev Proxy RateLimitingPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type":"string"
+ },
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.16.2/rc.schema.json b/schemas/v0.16.2/rc.schema.json
new file mode 100644
index 00000000..827c33ea
--- /dev/null
+++ b/schemas/v0.16.2/rc.schema.json
@@ -0,0 +1,107 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy config",
+ "description": "Configuration for Dev Proxy",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type":"string"
+ },
+ "ipAddress": {
+ "type": "string",
+ "format": "ipv4"
+ },
+ "labelMode": {
+ "type": "string",
+ "enum": [
+ "debug",
+ "text",
+ "icon",
+ "nerdFont"
+ ]
+ },
+ "logLevel": {
+ "type": "string",
+ "enum": [
+ "debug",
+ "information",
+ "warning",
+ "error"
+ ]
+ },
+ "newVersionNotification": {
+ "type": "string",
+ "enum": [
+ "none",
+ "stable",
+ "beta"
+ ]
+ },
+ "plugins": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "pluginPath": {
+ "type": "string"
+ },
+ "configSection": {
+ "type": "string"
+ },
+ "urlsToWatch": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "enabled",
+ "pluginPath"
+ ]
+ }
+ },
+ "port": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 65535
+ },
+ "rate": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "record": {
+ "type": "boolean"
+ },
+ "urlsToWatch": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "watchPids": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "watchProcessNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "plugins"
+ ],
+ "additionalProperties": true
+}
\ No newline at end of file