release housekeeping
This commit is contained in:
2 files changed
+131
-43
No files matched your search
@@ -1,4 +1,26 @@
|
||||
[
|
||||
{
|
||||
"version": "1.0.47",
|
||||
"date": "",
|
||||
"comingSoon": true,
|
||||
"changes": [
|
||||
{ "type": "fix", "text": "back up stacks whose folder is bind-mounted over the data volume (#1533)" },
|
||||
{ "type": "fix", "text": "backup restore preview now works for view-only roles (#1534)" },
|
||||
{ "type": "feature", "text": "warn before saving a stack whose compose file location won't survive a container recreate (#1524)" },
|
||||
{ "type": "fix", "text": "OpenAPI spec now types opaque object fields correctly and documents the validate 'existing' flag (#1531, #1530, PR#1532, @strausmann)" },
|
||||
{ "type": "fix", "text": "\"always redeploy\" git stacks now force-recreate so config changes take effect (#1523)" },
|
||||
{ "type": "fix", "text": "resolve secret references (op://, keepass://, ...) pasted with surrounding quotes (#1521)" },
|
||||
{ "type": "fix", "text": "deleting a secret provider now warns which stacks it unbinds (#1522)" },
|
||||
{ "type": "fix", "text": "deploy a 1:1-mounted local stack by file so its compose path label is preserved (#1514)" },
|
||||
{ "type": "fix", "text": "store the compose path when a stack is created via the API without one (#1515)" },
|
||||
{ "type": "fix", "text": "Microsoft Teams (via Workflows) accepts the new Power Automate webhook URL format (#1512)" },
|
||||
{ "type": "fix", "text": "container shell sessions each keep their own live terminal when you switch between them (#1516)" },
|
||||
{ "type": "fix", "text": "sort container uptimes under a minute correctly instead of tying them (PR#1395, @wrlee)" },
|
||||
{ "type": "fix", "text": "load the web manifest through a Cloudflare tunnel by sending credentials (PR#1513, @Macleykun)" },
|
||||
{ "type": "fix", "text": "copy the restic password over plain HTTP (#1488)" }
|
||||
],
|
||||
"imageTag": "fnsys/dockhand:v1.0.47"
|
||||
},
|
||||
{
|
||||
"version": "1.0.46",
|
||||
"date": "2026-09-02",
|
||||
|
||||
+109
-43
@@ -9461,7 +9461,8 @@
|
||||
"type": "boolean"
|
||||
},
|
||||
"newerVersion": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -9488,7 +9489,7 @@
|
||||
"currentImage": "string",
|
||||
"checkedAt": "string",
|
||||
"hasImageUpdate": true,
|
||||
"newerVersion": "string"
|
||||
"newerVersion": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10016,7 +10017,8 @@
|
||||
"type": "string"
|
||||
},
|
||||
"uptime": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"gcForced": {
|
||||
"type": "boolean"
|
||||
@@ -10025,19 +10027,24 @@
|
||||
"type": "boolean"
|
||||
},
|
||||
"process": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"growth": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"v8Heap": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"system": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"rssTracker": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -12585,7 +12592,8 @@
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -13163,10 +13171,12 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"vars": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"sources": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -13175,8 +13185,8 @@
|
||||
]
|
||||
},
|
||||
"example": {
|
||||
"vars": "string",
|
||||
"sources": "string"
|
||||
"vars": {},
|
||||
"sources": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14487,7 +14497,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"vars": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -15476,7 +15487,8 @@
|
||||
"type": "integer"
|
||||
},
|
||||
"environment": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -15586,7 +15598,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"icons": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -16344,7 +16357,8 @@
|
||||
"type": "boolean"
|
||||
},
|
||||
"result": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -16504,7 +16518,7 @@
|
||||
"tags": [
|
||||
"jobs"
|
||||
],
|
||||
"summary": "Poll a background job's status and accumulated output lines (no auth — job ids are unguessable UUIDs)",
|
||||
"summary": "Poll a background job's status and accumulated output lines (owner or admin only)",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
@@ -16588,7 +16602,7 @@
|
||||
"tags": [
|
||||
"jobs"
|
||||
],
|
||||
"summary": "Request cancellation of a running background job (no auth — job ids are unguessable UUIDs)",
|
||||
"summary": "Request cancellation of a running background job (owner or admin only)",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
@@ -16621,6 +16635,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Job not found"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
@@ -22801,7 +22818,8 @@
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -22813,7 +22831,7 @@
|
||||
"example": {
|
||||
"name": "string",
|
||||
"type": "string",
|
||||
"config": "string"
|
||||
"config": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22856,21 +22874,46 @@
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"stacksUsing": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"stackName": {
|
||||
"type": "string"
|
||||
},
|
||||
"environmentId": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"stackName"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"type",
|
||||
"config"
|
||||
"config",
|
||||
"stacksUsing"
|
||||
]
|
||||
},
|
||||
"example": {
|
||||
"id": 0,
|
||||
"name": "string",
|
||||
"type": "string",
|
||||
"config": "string"
|
||||
"config": {},
|
||||
"stacksUsing": [
|
||||
{
|
||||
"stackName": "string",
|
||||
"environmentId": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22978,14 +23021,15 @@
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"example": {
|
||||
"name": "string",
|
||||
"type": "string",
|
||||
"config": "string"
|
||||
"config": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23232,7 +23276,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"config": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -23307,7 +23352,8 @@
|
||||
"type": "string"
|
||||
},
|
||||
"config": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -24352,7 +24398,8 @@
|
||||
"envVars": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"rawEnvContent": {
|
||||
@@ -24382,7 +24429,7 @@
|
||||
"composePath": "string",
|
||||
"envPath": "string",
|
||||
"envVars": [
|
||||
"string"
|
||||
{}
|
||||
],
|
||||
"rawEnvContent": "string",
|
||||
"secretProviderId": 0,
|
||||
@@ -24543,6 +24590,9 @@
|
||||
},
|
||||
"currentComposePath": {
|
||||
"type": "string"
|
||||
},
|
||||
"persistenceWarning": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -25057,7 +25107,8 @@
|
||||
}
|
||||
},
|
||||
"secretProvider": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -25075,7 +25126,7 @@
|
||||
"injectedSecretKeys": [
|
||||
"string"
|
||||
],
|
||||
"secretProvider": "string"
|
||||
"secretProvider": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26100,7 +26151,8 @@
|
||||
"type": "integer"
|
||||
},
|
||||
"fix": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"fixDescription": {
|
||||
"type": "string"
|
||||
@@ -26173,6 +26225,7 @@
|
||||
"bearerAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Set existing:true when validating an already-deployed stack, so the stack's own running containers/ports are excluded from the cross-stack collision checks; omit it (or false) for a brand-new stack, where a name/port clash with a running stack of the same name must still be reported.",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -26183,6 +26236,9 @@
|
||||
"compose": {
|
||||
"type": "string"
|
||||
},
|
||||
"existing": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -26193,12 +26249,14 @@
|
||||
}
|
||||
},
|
||||
"severity": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"envVars": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -26806,19 +26864,24 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"docker": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"host": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"runtime": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"database": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"stats": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -26904,7 +26967,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"diskUsage": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -29484,7 +29548,8 @@
|
||||
"findings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
}
|
||||
},
|
||||
"total": {
|
||||
@@ -29542,7 +29607,8 @@
|
||||
"type": "integer"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"images": {
|
||||
"type": "array",
|
||||
|
||||
Reference in new issue
Block a user