Skip to content

Commit 2638297

Browse files
committed
chore(backend): update version to 0.61.0 and changelog
fix(backend): update error codes for invalid database type validation feat(backend): add OAuth requirement field and improve router fix(backend): handle 403 Forbidden as valid OAuth challenge response refactor(backend): replace Zod schemas with JSON schema for settings routes chore(deps): update dependencies in backend and satellite style(frontend): adjust layout for category items in catalog view fix(frontend): remove unused browse button in search view chore(deps): update frontend dependencies for tailwindcss and lucide-vue-next refactor(satellite): skip error log for intentional shutdowns in process manager chore(deps): update typescript-eslint dependencies in satellite
1 parent 2b6694a commit 2638297

9 files changed

Lines changed: 225 additions & 185 deletions

File tree

package-lock.json

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

services/backend/CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,47 @@
11
# Changelog
22

3+
# [0.61.0](https://github.com/deploystackio/deploystack/compare/frontend-v0.57.0...backend-v0.60.0) (2026-02-25)
4+
5+
6+
### fix
7+
8+
* **backend:** update error codes for invalid database type validation ([](https://github.com/deploystackio/deploystack/commit/2b6694addf82a923e92bb851e01ccea2c0a5b5d0))
9+
10+
# [0.61.0](https://github.com/deploystackio/deploystack/compare/backend-v0.60.0...backend-v0.61.0) (2026-02-24)
11+
12+
13+
### chore
14+
15+
* **all:** update dependencies ([](https://github.com/deploystackio/deploystack/commit/9a4e8cc37fc265a67e822ec05aa5ef89c7bb44b0))
16+
17+
18+
### feat
19+
20+
* **all:** add OAuth requirement field, hierarchical router improvements, and tool filtering ([](https://github.com/deploystackio/deploystack/commit/231b175e01b4e3d04bb6e20c5442d2f91e34b737))
21+
* **all:** add public GitHub repository deployment without GitHub App ([](https://github.com/deploystackio/deploystack/commit/f9045615b715109f4b5fbfe8408344b540bc9da5))
22+
* **all:** add reconnect button for offline HTTP/SSE MCP servers ([](https://github.com/deploystackio/deploystack/commit/92ff5093ab02c1c61a8c87062380a003254d8e05))
23+
* **all:** add skip_oauth_flow flag for MCP catalog servers ([](https://github.com/deploystackio/deploystack/commit/154a8c0dc88a567ebe02b333c65fa52ea7126546))
24+
* **all:** auto-detect GitHub installations for user accounts ([](https://github.com/deploystackio/deploystack/commit/a41d5d00e42e61ea96796d43aad9886a23a00986))
25+
* **all:** enhance MCP config management and deploy wizard ([](https://github.com/deploystackio/deploystack/commit/46a897a82d81074086022d38b637a962e3b907a1))
26+
27+
28+
### fix
29+
30+
* **all:** resolve OAuth popup not communicating back to parent window ([](https://github.com/deploystackio/deploystack/commit/5df38edd60f34a60d372a1a8841f4e3103adbf26))
31+
* **all:** use WAF-friendly User-Agent headers for HTTP MCP server requests ([](https://github.com/deploystackio/deploystack/commit/2c9cae011f4fe648d6f0893e1a3150c7093bd9b4))
32+
* **backend:** handle 403 Forbidden as valid OAuth challenge response ([](https://github.com/deploystackio/deploystack/commit/c461139810359a279321c9b4edf914aeabd093ae))
33+
* **backend:** improve OAuth token refresh resilience for transient failures ([](https://github.com/deploystackio/deploystack/commit/ff34160ff72535f7956687a57c0dce66505f1254))
34+
* **backend:** require request body for all API endpoints ([](https://github.com/deploystackio/deploystack/commit/d1aa2336dfb4760fde32c0a9d4da243dfe8011c0))
35+
* **backend:** sync OAuth client credentials on re-auth callback ([](https://github.com/deploystackio/deploystack/commit/540e637d09df3310aad921d8d0bcbdf146f231ad))
36+
* **backend:** update error codes for invalid database type validation ([](https://github.com/deploystackio/deploystack/commit/2b6694addf82a923e92bb851e01ccea2c0a5b5d0))
37+
* **backend:** update instance status during reconnection process ([](https://github.com/deploystackio/deploystack/commit/9fe1dee80273bc5911afe87b3fb8f083c85ec1d7))
38+
39+
40+
### refactor
41+
42+
* **backend:** replace Zod schemas with JSON schema for settings routes ([](https://github.com/deploystackio/deploystack/commit/078887f368d65b71a3851e2745c720aa6786d620))
43+
* **backend:** simplify GitHub installation handling logic ([](https://github.com/deploystackio/deploystack/commit/54f88b82a6919af67dd5ed35ca968c1b05fea599))
44+
345
# [0.60.0](https://github.com/deploystackio/deploystack/compare/satellite-v0.20.0...backend-v0.59.0) (2026-02-08)
446

547
# [0.60.0](https://github.com/deploystackio/deploystack/compare/backend-v0.59.0...backend-v0.60.0) (2026-02-08)

services/backend/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@deploystack/backend",
3-
"version": "0.60.0",
3+
"version": "0.61.0",
44
"scripts": {
55
"dev": "nodemon",
66
"build": "tsc && webpack --mode=production",
@@ -47,6 +47,7 @@
4747
"pino": "^10.3.1",
4848
"pino-pretty": "^13.1.3",
4949
"pug": "^3.0.2",
50+
"sanitize-html": "^2.17.0",
5051
"zod": "^4.3.6",
5152
"zod-openapi": "^5.4.6"
5253
},
@@ -62,8 +63,8 @@
6263
"@types/pug": "^2.0.10",
6364
"@types/sanitize-html": "^2.16.0",
6465
"@types/supertest": "^6.0.3",
65-
"@typescript-eslint/eslint-plugin": "^8.56.0",
66-
"@typescript-eslint/parser": "^8.56.0",
66+
"@typescript-eslint/eslint-plugin": "^8.56.1",
67+
"@typescript-eslint/parser": "^8.56.1",
6768
"@vitest/coverage-v8": "^3.2.4",
6869
"autoprefixer": "^10.4.24",
6970
"copy-webpack-plugin": "^13.0.1",
@@ -74,13 +75,12 @@
7475
"node-loader": "^2.1.0",
7576
"nodemon": "^3.1.11",
7677
"release-it": "^19.2.4",
77-
"sanitize-html": "^2.17.0",
7878
"supertest": "^7.2.2",
7979
"ts-jest": "^29.4.6",
8080
"ts-loader": "^9.5.4",
8181
"ts-node": "^10.9.2",
8282
"typescript": "^5.9.2",
83-
"typescript-eslint": "^8.56.0",
83+
"typescript-eslint": "^8.56.1",
8484
"vitest": "^3.2.4",
8585
"webpack": "^5.105.2",
8686
"webpack-cli": "^6.0.1",

services/backend/src/config/version.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export interface VersionInfo {
99

1010
// This will be replaced by the build script
1111
let versionData: VersionInfo = {
12-
version: '0.60.0',
13-
buildTime: '2026-02-08T22:13:55.933Z',
12+
version: '0.61.0',
13+
buildTime: '2026-02-24T23:26:00.726Z',
1414
source: 'release'
1515
};
1616

services/frontend/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
"release": "release-it --config=.release-it.js"
1515
},
1616
"dependencies": {
17-
"@tailwindcss/vite": "^4.1.18",
17+
"@tailwindcss/vite": "^4.2.1",
1818
"@tanstack/vue-table": "^8.21.3",
1919
"@vueuse/core": "^14.2.1",
2020
"class-variance-authority": "^0.7.1",
2121
"clsx": "^2.1.1",
2222
"echarts": "^6.0.0",
23-
"lucide-vue-next": "^0.574.0",
23+
"lucide-vue-next": "^0.575.0",
2424
"marked": "^17.0.3",
2525
"mitt": "^3.0.1",
2626
"pinia": "^3.0.4",
@@ -39,7 +39,7 @@
3939
"@commitlint/cli": "^20.4.1",
4040
"@commitlint/config-conventional": "^20.4.1",
4141
"@release-it/conventional-changelog": "^10.0.5",
42-
"@tailwindcss/postcss": "^4.1.18",
42+
"@tailwindcss/postcss": "^4.2.1",
4343
"@tsconfig/node22": "^22.0.5",
4444
"@types/node": "^25.2.3",
4545
"@types/prismjs": "^1.26.6",
@@ -54,7 +54,7 @@
5454
"npm-run-all2": "^8.0.4",
5555
"prettier": "^3.8.1",
5656
"release-it": "^19.2.4",
57-
"tailwindcss": "^4.1.18",
57+
"tailwindcss": "^4.2.1",
5858
"typescript": "~5.9.2",
5959
"vite": "^7.3.1",
6060
"vite-plugin-vue-devtools": "^8.0.6",

services/frontend/src/views/mcp-server/catalog/[categoryId].vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,12 @@ onMounted(async () => {
131131
]"
132132
@click="navigateToCategory(category.id)"
133133
>
134-
<div class="flex items-center gap-2">
134+
<div class="flex items-center gap-2 min-w-0 flex-1">
135135
<DynamicIcon
136136
:name="category.icon"
137137
class="h-5 w-5"
138138
/>
139-
<span>{{ category.name }}</span>
139+
<span class="text-left">{{ category.name }}</span>
140140
</div>
141141
<Badge variant="secondary" class="text-xs">
142142
{{ category.server_count }}

services/frontend/src/views/mcp-server/search.vue

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,6 @@ onMounted(() => {
205205

206206
<!-- Browse Buttons -->
207207
<div class="mt-4 flex items-center justify-center gap-3">
208-
<Button
209-
variant="outline"
210-
size="sm"
211-
class="bg-black text-white border-black hover:bg-black/90 hover:border-black hover:text-white"
212-
@click="router.push('/mcp-server/featured')"
213-
>
214-
{{ t('mcpInstallations.wizard.server.browseFeatured') }}
215-
</Button>
216208
<Button
217209
variant="outline"
218210
size="sm"

services/satellite/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
"devDependencies": {
3232
"@release-it/conventional-changelog": "^10.0.5",
3333
"@types/node": "^25.2.3",
34-
"@typescript-eslint/eslint-plugin": "^8.56.0",
35-
"@typescript-eslint/parser": "^8.56.0",
34+
"@typescript-eslint/eslint-plugin": "^8.56.1",
35+
"@typescript-eslint/parser": "^8.56.1",
3636
"copy-webpack-plugin": "^13.0.1",
3737
"dotenv": "^17.3.1",
3838
"eslint": "^10.0.0",
@@ -42,7 +42,7 @@
4242
"ts-loader": "^9.5.4",
4343
"ts-node": "^10.9.2",
4444
"typescript": "^5.9.3",
45-
"typescript-eslint": "^8.56.0",
45+
"typescript-eslint": "^8.56.1",
4646
"webpack": "^5.105.2",
4747
"webpack-cli": "^6.0.1",
4848
"webpack-node-externals": "^3.0.0"

services/satellite/src/process/manager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,8 @@ export class ProcessManager extends EventEmitter {
438438
}, `MCP server exited: ${config.installation_name} (code: ${code}, signal: ${signal})`);
439439

440440
// Send exit notification to user-facing logs on non-zero exit (crash)
441-
if (code !== 0 && code !== null) {
441+
// Skip error log for intentional shutdowns (dormant idle termination, uninstall)
442+
if (code !== 0 && code !== null && !processInfo.isDormantShutdown && !processInfo.isUninstallShutdown) {
442443
const exitMessage = signal
443444
? `Server process terminated by signal ${signal} (exit code: ${code})`
444445
: `Server process exited with error (exit code: ${code})`;

0 commit comments

Comments
 (0)