feat: technical release (#9878)

This commit is contained in:
Pierre Brunet
2026-05-22 10:34:38 +02:00
committed by GitHub
parent e3a58ed351
commit 082ab9cf41
27 changed files with 122 additions and 106 deletions

View File

@@ -19,7 +19,7 @@
}, },
"main": "./index.mjs", "main": "./index.mjs",
"dependencies": { "dependencies": {
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"fuse-native": "^2.2.6", "fuse-native": "^2.2.6",
"lru-cache": "^7.14.0", "lru-cache": "^7.14.0",

View File

@@ -22,7 +22,7 @@
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@vates/read-chunk": "^1.2.1", "@vates/read-chunk": "^1.2.1",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"promise-toolbox": "^0.21.0", "promise-toolbox": "^0.21.0",
"xen-api": "^4.7.7" "xen-api": "^4.7.7"

View File

@@ -1,7 +1,7 @@
{ {
"name": "@vates/types", "name": "@vates/types",
"private": false, "private": false,
"version": "1.24.0", "version": "1.25.0",
"main": "./dist/index.mjs", "main": "./dist/index.mjs",
"exports": { "exports": {
".": { ".": {

View File

@@ -6,7 +6,7 @@
"main": "dist/index.mjs", "main": "dist/index.mjs",
"name": "@xen-orchestra/acl", "name": "@xen-orchestra/acl",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/acl", "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/acl",
"version": "1.0.0", "version": "1.1.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"private": false, "private": false,
"type": "module", "type": "module",
@@ -30,7 +30,7 @@
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.19.0", "@eslint/js": "^9.19.0",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"typescript": "~5.6", "typescript": "~5.6",
"typescript-eslint": "^8.23.0" "typescript-eslint": "^8.23.0"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@xen-orchestra/backup-archive", "name": "@xen-orchestra/backup-archive",
"version": "1.0.0", "version": "2.0.0",
"description": "Helper to handle generic backup archives", "description": "Helper to handle generic backup archives",
"license": "ISC", "license": "ISC",
"author": "", "author": "",
@@ -21,12 +21,12 @@
"tar-stream": "^3.1.8", "tar-stream": "^3.1.8",
"@types/tar-stream": "^3.1.4", "@types/tar-stream": "^3.1.4",
"tmp": "^0.2.1", "tmp": "^0.2.1",
"@vates/types": "^1.21.0" "@vates/types": "^1.25.0"
}, },
"dependencies": { "dependencies": {
"@xen-orchestra/log": "^0.7.1", "@xen-orchestra/log": "^0.7.1",
"@xen-orchestra/fs": "^4.6.7", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@vates/task": "0.7.0", "@vates/task": "0.7.0",
"golike-defer": "0.5.1", "golike-defer": "0.5.1",
"uuid": "^9.0.0", "uuid": "^9.0.0",

View File

@@ -8,8 +8,8 @@
"dependencies": { "dependencies": {
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"filenamify": "^6.0.0", "filenamify": "^6.0.0",
"getopts": "^2.2.5", "getopts": "^2.2.5",
"lodash": "^4.18.0", "lodash": "^4.18.0",
@@ -28,7 +28,7 @@
"scripts": { "scripts": {
"postversion": "npm publish --access public" "postversion": "npm publish --access public"
}, },
"version": "1.1.11", "version": "1.1.12",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"author": { "author": {
"name": "Vates SAS", "name": "Vates SAS",

View File

@@ -8,7 +8,7 @@
"type": "git", "type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git" "url": "https://github.com/vatesfr/xen-orchestra.git"
}, },
"version": "0.72.1", "version": "0.73.0",
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
}, },
@@ -30,14 +30,14 @@
"@vates/nbd-client": "^3.4.0", "@vates/nbd-client": "^3.4.0",
"@vates/parse-duration": "^0.1.1", "@vates/parse-duration": "^0.1.1",
"@vates/task": "^0.7.0", "@vates/task": "^0.7.0",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/qcow2": "^1.3.0", "@xen-orchestra/qcow2": "^1.3.0",
"@xen-orchestra/template": "^0.1.1", "@xen-orchestra/template": "^0.1.1",
"@xen-orchestra/backup-archive": "^1.0.0", "@xen-orchestra/backup-archive": "^2.0.0",
"app-conf": "^3.0.0", "app-conf": "^3.0.0",
"compare-versions": "^6.0.0", "compare-versions": "^6.0.0",
"d3-time-format": "^4.1.0", "d3-time-format": "^4.1.0",
@@ -67,7 +67,7 @@
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"peerDependencies": { "peerDependencies": {
"@xen-orchestra/xapi": "^8.7.2" "@xen-orchestra/xapi": "^8.8.0"
}, },
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"author": { "author": {

View File

@@ -1,7 +1,7 @@
{ {
"private": false, "private": false,
"name": "@xen-orchestra/disk-cli", "name": "@xen-orchestra/disk-cli",
"version": "2.0.0", "version": "2.1.0",
"description": "CLI tool to inspect and manage disks in backup repositories", "description": "CLI tool to inspect and manage disks in backup repositories",
"type": "module", "type": "module",
"bin": { "bin": {
@@ -20,10 +20,10 @@
}, },
"dependencies": { "dependencies": {
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/backup-archive": "^1.0.0", "@xen-orchestra/backup-archive": "^2.0.0",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/qcow2": "^1.3.0", "@xen-orchestra/qcow2": "^1.3.0",
"promise-toolbox": "^0.21.0", "promise-toolbox": "^0.21.0",
"vhd-lib": "^4.16.0" "vhd-lib": "^4.16.0"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@xen-orchestra/disk-transform", "name": "@xen-orchestra/disk-transform",
"version": "1.2.3", "version": "1.3.0",
"main": "./dist/index.mjs", "main": "./dist/index.mjs",
"license": "MIT", "license": "MIT",
"private": false, "private": false,

View File

@@ -1,7 +1,7 @@
{ {
"private": false, "private": false,
"name": "@xen-orchestra/fs", "name": "@xen-orchestra/fs",
"version": "4.8.0", "version": "4.9.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"description": "The File System for Xen Orchestra backups.", "description": "The File System for Xen Orchestra backups.",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/fs", "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/fs",

View File

@@ -16,13 +16,13 @@
"xo-immutable-remote": "./dist/protectRemotes.mjs" "xo-immutable-remote": "./dist/protectRemotes.mjs"
}, },
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"version": "3.0.1", "version": "3.0.2",
"engines": { "engines": {
"node": ">=20.0.0" "node": ">=20.0.0"
}, },
"dependencies": { "dependencies": {
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"app-conf": "^3.0.0", "app-conf": "^3.0.0",
"execa": "^5.0.0", "execa": "^5.0.0",

View File

@@ -28,13 +28,13 @@
"@types/file-saver": "^2.0.7", "@types/file-saver": "^2.0.7",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"@types/node": "^18.19.80", "@types/node": "^18.19.80",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.9.0", "@vue/tsconfig": "^0.9.0",
"@vueuse/core": "^14.0.0", "@vueuse/core": "^14.0.0",
"@vueuse/math": "^14.0.0", "@vueuse/math": "^14.0.0",
"@vueuse/shared": "^14.0.0", "@vueuse/shared": "^14.0.0",
"@xen-orchestra/web-core": "^0.52.0", "@xen-orchestra/web-core": "^0.53.0",
"complex-matcher": "^1.1.1", "complex-matcher": "^1.1.1",
"d3-time-format": "^4.1.0", "d3-time-format": "^4.1.0",
"decorator-synchronized": "^0.6.0", "decorator-synchronized": "^0.6.0",

View File

@@ -1,7 +1,7 @@
{ {
"private": false, "private": false,
"name": "@xen-orchestra/mcp", "name": "@xen-orchestra/mcp",
"version": "1.2.0", "version": "1.3.0",
"description": "MCP server for Xen Orchestra — allows AI assistants to query and manage XO infrastructure", "description": "MCP server for Xen Orchestra — allows AI assistants to query and manage XO infrastructure",
"type": "module", "type": "module",
"main": "./dist/index.mjs", "main": "./dist/index.mjs",
@@ -34,7 +34,7 @@
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.19.0", "@eslint/js": "^9.19.0",
"@types/node": "^22.3.0", "@types/node": "^22.3.0",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"rimraf": "^6.0.0", "rimraf": "^6.0.0",
"typescript": "~5.6.3", "typescript": "~5.6.3",
"typescript-eslint": "^8.23.0" "typescript-eslint": "^8.23.0"

View File

@@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "@xen-orchestra/proxy", "name": "@xen-orchestra/proxy",
"version": "0.30.1", "version": "0.30.2",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"description": "XO Proxy used to remotely execute backup jobs", "description": "XO Proxy used to remotely execute backup jobs",
"keywords": [ "keywords": [
@@ -33,13 +33,13 @@
"@vates/disposable": "^0.1.6", "@vates/disposable": "^0.1.6",
"@vates/task": "^0.7.0", "@vates/task": "^0.7.0",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/mixin": "^0.2.1", "@xen-orchestra/mixin": "^0.2.1",
"@xen-orchestra/mixins": "^0.20.0", "@xen-orchestra/mixins": "^0.20.0",
"@xen-orchestra/self-signed": "^0.2.1", "@xen-orchestra/self-signed": "^0.2.1",
"@xen-orchestra/xapi": "^8.7.2", "@xen-orchestra/xapi": "^8.8.0",
"ajv": "^8.0.3", "ajv": "^8.0.3",
"app-conf": "^3.0.0", "app-conf": "^3.0.0",
"async-iterator-to-stream": "^1.1.0", "async-iterator-to-stream": "^1.1.0",

View File

@@ -35,6 +35,6 @@
"typescript-eslint": "^8.23.0" "typescript-eslint": "^8.23.0"
}, },
"dependencies": { "dependencies": {
"@xen-orchestra/disk-transform": "^1.2.3" "@xen-orchestra/disk-transform": "^1.3.0"
} }
} }

View File

@@ -6,7 +6,7 @@
"main": "./dist/index.mjs", "main": "./dist/index.mjs",
"name": "@xen-orchestra/rest-api", "name": "@xen-orchestra/rest-api",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/rest-api", "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/rest-api",
"version": "0.30.1", "version": "0.31.0",
"description": "REST API to manage your XOA", "description": "REST API to manage your XOA",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"private": false, "private": false,
@@ -36,11 +36,11 @@
"dependencies": { "dependencies": {
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@vates/task": "^0.7.0", "@vates/task": "^0.7.0",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@xen-orchestra/acl": "^1.0.0", "@xen-orchestra/acl": "^1.1.0",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/xapi": "^8.7.2", "@xen-orchestra/xapi": "^8.8.0",
"complex-matcher": "^1.1.1", "complex-matcher": "^1.1.1",
"golike-defer": "^0.5.1", "golike-defer": "^0.5.1",
"inversify": "^6.2.2", "inversify": "^6.2.2",

View File

@@ -1,7 +1,7 @@
{ {
"name": "@xen-orchestra/web-core", "name": "@xen-orchestra/web-core",
"type": "module", "type": "module",
"version": "0.52.0", "version": "0.53.0",
"private": false, "private": false,
"exports": { "exports": {
"./*": { "./*": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@xen-orchestra/web", "name": "@xen-orchestra/web",
"version": "0.50.0", "version": "0.51.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@@ -28,14 +28,14 @@
"@types/d3-time-format": "^4.0.3", "@types/d3-time-format": "^4.0.3",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"@types/node": "^18.19.80", "@types/node": "^18.19.80",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.9.0", "@vue/tsconfig": "^0.9.0",
"@vueuse/core": "^14.0.0", "@vueuse/core": "^14.0.0",
"@vueuse/integrations": "^14.0.0", "@vueuse/integrations": "^14.0.0",
"@vueuse/math": "^14.0.0", "@vueuse/math": "^14.0.0",
"@vueuse/shared": "^14.0.0", "@vueuse/shared": "^14.0.0",
"@xen-orchestra/web-core": "^0.52.0", "@xen-orchestra/web-core": "^0.53.0",
"complex-matcher": "^1.1.1", "complex-matcher": "^1.1.1",
"d3-time-format": "^4.1.0", "d3-time-format": "^4.1.0",
"human-format": "^1.2.1", "human-format": "^1.2.1",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@xen-orchestra/xapi", "name": "@xen-orchestra/xapi",
"version": "8.7.2", "version": "8.8.0",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/xapi", "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/xapi",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues", "bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": { "repository": {
@@ -30,7 +30,7 @@
"@vates/read-chunk": "^1.2.1", "@vates/read-chunk": "^1.2.1",
"@vates/task": "^0.7.0", "@vates/task": "^0.7.0",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/qcow2": "^1.3.0", "@xen-orchestra/qcow2": "^1.3.0",
"d3-time-format": "^4.1.0", "d3-time-format": "^4.1.0",

View File

@@ -1,5 +1,64 @@
# ChangeLog # ChangeLog
## **next**
### Security
- [XO 5] Update sanitize-html dependency (Dependabot alert [484](https://github.com/vatesfr/xen-orchestra/security/dependabot/484)) (PR [#9851](https://github.com/vatesfr/xen-orchestra/pull/9851))
### Enhancements
- [xo-server] support qcow2 format in `disk.importContent` and `disk.import` jsonRPC api (PR [#9817](https://github.com/vatesfr/xen-orchestra/pull/9817))
- [web-core] Update `UiTag` and parse tag for detecting tags with `=` (PR [#9811](https://github.com/vatesfr/xen-orchestra/pull/9811))
- [Encryption] Implement encryption and decryption feature for redis (PR [#9735](https://github.com/vatesfr/xen-orchestra/pull/9735))
- [xo-server-ipmi-sensors] Migrated the old ipmi feature to a new plugin and added user defined sensors (PR [#9724](https://github.com/vatesfr/xen-orchestra/pull/9724))
- [MCP] Read `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` so an internal XOA stays reachable when the AI assistant goes through a corporate proxy (PR [#9820](https://github.com/vatesfr/xen-orchestra/pull/9820))
- [REST API] Expose `DELETE /rest/v0/srs/:id` (PR [#9464](https://github.com/vatesfr/xen-orchestra/pull/9464))
- [REST API] Add `vms/:id/actions/revert_snapshot` REST route (PR [#9788](https://github.com/vatesfr/xen-orchestra/pull/9788))
- **Backups**:
- [Backups] Refactor clean phase for incremental and full backups ([#9765](https://github.com/vatesfr/xen-orchestra/pull/9765))
- [Backups] bidirectional replication, reuse snapshot when possible (PR [#9806](https://github.com/vatesfr/xen-orchestra/pull/9806))
- [Backups/fs] Add UserAgent in s3 client (PR [#9815](https://github.com/vatesfr/xen-orchestra/pull/9815))
- **RBAC** check for REST API endpoints:
- `/hosts/:id/actions/disable` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- `/hosts/:id/actions/enable` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- `/hosts/:id/actions/management_reconfigure` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- **XO 5**:
- [Export config] Hide passphrase by default (PR [#9824](https://github.com/vatesfr/xen-orchestra/pull/9824))
- [xo-web] support qcow2 format in disk > import (PR [#9817](https://github.com/vatesfr/xen-orchestra/pull/9817))
### Bug fixes
- [REST] Fixed ignored parameters in request body due to a tsoa bug (see https://github.com/lukeautry/tsoa/pull/1858) (PR [#9793](https://github.com/vatesfr/xen-orchestra/pull/9793))
- [Tasks] Fixed issue with task without result and backup runs on task size (PR [#9841](https://github.com/vatesfr/xen-orchestra/pull/9841))
- **XO 5**:
- [Job] Error while using vm.set with `cpuMask` in job view (PR [#9823](https://github.com/vatesfr/xen-orchestra/pull/9823))
### Released packages
- @xen-orchestra/fs 4.9.0
- @xen-orchestra/disk-transform 1.3.0
- @vates/types 1.25.0
- @xen-orchestra/acl 1.1.0
- @xen-orchestra/backup-archive 2.0.0
- @xen-orchestra/xapi 8.8.0
- @xen-orchestra/backups 0.73.0
- @xen-orchestra/backups-cli 1.1.12
- @xen-orchestra/disk-cli 2.1.0
- @xen-orchestra/immutable-backups 3.0.2
- @xen-orchestra/web-core 0.53.0
- @xen-orchestra/mcp 1.3.0
- @xen-orchestra/proxy 0.30.2
- @xen-orchestra/rest-api 0.31.0
- @xen-orchestra/web 0.51.0
- xo-server 5.201.0
- xo-server-ipmi-sensors 2.0.0
- xo-web 5.197.0
## **6.4.1** (2026-05-05) ## **6.4.1** (2026-05-05)
<img id="latest" src="https://badgen.net/badge/channel/latest/yellow" alt="Channel: latest" /> <img id="latest" src="https://badgen.net/badge/channel/latest/yellow" alt="Channel: latest" />

View File

@@ -7,40 +7,14 @@
> Security fixes and new features should go in this section > Security fixes and new features should go in this section
- [XO 5] Update sanitize-html dependency (Dependabot alert [484](https://github.com/vatesfr/xen-orchestra/security/dependabot/484)) (PR [#9851](https://github.com/vatesfr/xen-orchestra/pull/9851))
### Enhancements ### Enhancements
> Users must be able to say: "Nice enhancement, I'm eager to test it" > Users must be able to say: "Nice enhancement, I'm eager to test it"
- [Backups] Add UserAgent in s3 client (PR [#9815](https://github.com/vatesfr/xen-orchestra/pull/9815))
- [xo-web] support qcow2 format in disk > import (PR [#9817](https://github.com/vatesfr/xen-orchestra/pull/9817))
- [xo-server] support qcow2 format in `disk.importContent` and `disk.import` jsonRPC api (PR [#9817](https://github.com/vatesfr/xen-orchestra/pull/9817))
- [web-core] Update `UiTag` and parse tag for detecting tags with `=` (PR [#9811](https://github.com/vatesfr/xen-orchestra/pull/9811))
- [Encryption] Implement encryption and decryption feature for redis (PR [#9735](https://github.com/vatesfr/xen-orchestra/pull/9735))
- [REST API] Add `vms/:id/actions/revert_snapshot` REST route (PR [#9788](https://github.com/vatesfr/xen-orchestra/pull/9788))
- **RBAC** check for REST API endpoints:
- `/hosts/:id/actions/disable` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- `/hosts/:id/actions/enable` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- `/hosts/:id/actions/management_reconfigure` (PR [#9840](https://github.com/vatesfr/xen-orchestra/pull/9840))
- **XO 5**:
- [Export config] Hide passphrase by default (PR [#9824](https://github.com/vatesfr/xen-orchestra/pull/9824))
- [Backups] Refactor clean phase for incremental and full backups ([#9765](https://github.com/vatesfr/xen-orchestra/pull/9765))
- [REST API] Expose `DELETE /rest/v0/srs/:id` (PR [#9464](https://github.com/vatesfr/xen-orchestra/pull/9464))
- [xo-server-ipmi-sensors] Migrated the old ipmi feature to a new plugin and added user defined sensors (PR [#9724](https://github.com/vatesfr/xen-orchestra/pull/9724))
- [MCP] Read `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` so an internal XOA stays reachable when the AI assistant goes through a corporate proxy (PR [#9820](https://github.com/vatesfr/xen-orchestra/pull/9820))
- [Backups] bidirectional replication, reuse snapshot when possible (PR [#9806](https://github.com/vatesfr/xen-orchestra/pull/9806))
### Bug fixes ### Bug fixes
> Users must be able to say: "I had this issue, happy to know it's fixed" > Users must be able to say: "I had this issue, happy to know it's fixed"
- [REST] Fixed ignored parameters in request body due to a tsoa bug (see https://github.com/lukeautry/tsoa/pull/1858) (PR [#9793](https://github.com/vatesfr/xen-orchestra/pull/9793))
- [Tasks] Fixed issue with task without result and backup runs on task size (PR [#9841](https://github.com/vatesfr/xen-orchestra/pull/9841))
- **XO 5**:
- [Job] Error while using vm.set with `cpuMask` in job view (PR [#9823](https://github.com/vatesfr/xen-orchestra/pull/9823))
### Packages to release ### Packages to release
> When modifying a package, add it here with its release type. > When modifying a package, add it here with its release type.
@@ -57,21 +31,4 @@
<!--packages-start--> <!--packages-start-->
- @vates/types minor
- @xen-orchestra/acl minor
- @xen-orchestra/backup-archive major
- @xen-orchestra/backups minor
- @xen-orchestra/backups-cli patch
- @xen-orchestra/disk-cli minor
- @xen-orchestra/disk-transform minor
- @xen-orchestra/fs minor
- @xen-orchestra/mcp minor
- @xen-orchestra/rest-api minor
- @xen-orchestra/web minor
- @xen-orchestra/web-core minor
- @xen-orchestra/xapi minor
- xo-server minor
- xo-server-ipmi-sensors major
- xo-web minor
<!--packages-end--> <!--packages-end-->

View File

@@ -24,7 +24,7 @@
"node": ">=10" "node": ">=10"
}, },
"dependencies": { "dependencies": {
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"cli-progress": "^3.1.0", "cli-progress": "^3.1.0",
"exec-promise": "^0.7.0", "exec-promise": "^0.7.0",
"getopts": "^2.2.3", "getopts": "^2.2.3",

View File

@@ -20,7 +20,7 @@
"@vates/read-chunk": "^1.2.1", "@vates/read-chunk": "^1.2.1",
"@vates/stream-reader": "^0.1.0", "@vates/stream-reader": "^0.1.0",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"async-iterator-to-stream": "^1.0.2", "async-iterator-to-stream": "^1.0.2",
"decorator-synchronized": "^0.6.0", "decorator-synchronized": "^0.6.0",
@@ -33,8 +33,8 @@
"uuid": "^9.0.0" "uuid": "^9.0.0"
}, },
"devDependencies": { "devDependencies": {
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"execa": "^5.0.0", "execa": "^5.0.0",
"get-stream": "^6.0.0", "get-stream": "^6.0.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",

View File

@@ -1,6 +1,6 @@
{ {
"name": "xo-server-ipmi-sensors", "name": "xo-server-ipmi-sensors",
"version": "1.0.0", "version": "2.0.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"description": "XO Server plugin exposing and configuring IPMI sensors", "description": "XO Server plugin exposing and configuring IPMI sensors",
"type": "module", "type": "module",
@@ -28,7 +28,7 @@
}, },
"dependencies": { "dependencies": {
"@isaacs/ttlcache": "^1.4.1", "@isaacs/ttlcache": "^1.4.1",
"@vates/types": "^1.22.0", "@vates/types": "^1.25.0",
"@xen-orchestra/log": "^0.7.1" "@xen-orchestra/log": "^0.7.1"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -30,7 +30,7 @@
}, },
"dependencies": { "dependencies": {
"@vates/async-each": "^1.0.3", "@vates/async-each": "^1.0.3",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"json5": "^2.2.3", "json5": "^2.2.3",
"undici": "^6.2.1" "undici": "^6.2.1"

View File

@@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "xo-server", "name": "xo-server",
"version": "5.200.1", "version": "5.201.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"description": "Server part of Xen-Orchestra", "description": "Server part of Xen-Orchestra",
"keywords": [ "keywords": [
@@ -46,25 +46,25 @@
"@vates/predicates": "^1.1.0", "@vates/predicates": "^1.1.0",
"@vates/read-chunk": "^1.2.1", "@vates/read-chunk": "^1.2.1",
"@vates/task": "^0.7.0", "@vates/task": "^0.7.0",
"@vates/types": "^1.24.0", "@vates/types": "^1.25.0",
"@vates/xml": "^2.0.0", "@vates/xml": "^2.0.0",
"@vates/xml-rpc": "^1.0.0", "@vates/xml-rpc": "^1.0.0",
"@xen-orchestra/async-map": "^0.1.3", "@xen-orchestra/async-map": "^0.1.3",
"@xen-orchestra/backups": "^0.72.1", "@xen-orchestra/backups": "^0.73.0",
"@xen-orchestra/cron": "^1.0.7", "@xen-orchestra/cron": "^1.0.7",
"@xen-orchestra/defined": "^0.0.2", "@xen-orchestra/defined": "^0.0.2",
"@xen-orchestra/disk-transform": "^1.2.3", "@xen-orchestra/disk-transform": "^1.3.0",
"@xen-orchestra/emit-async": "^1.0.0", "@xen-orchestra/emit-async": "^1.0.0",
"@xen-orchestra/fs": "^4.8.0", "@xen-orchestra/fs": "^4.9.0",
"@xen-orchestra/log": "^0.7.2", "@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/mixin": "^0.2.1", "@xen-orchestra/mixin": "^0.2.1",
"@xen-orchestra/mixins": "^0.20.0", "@xen-orchestra/mixins": "^0.20.0",
"@xen-orchestra/qcow2": "^1.3.0", "@xen-orchestra/qcow2": "^1.3.0",
"@xen-orchestra/rest-api": "^0.30.1", "@xen-orchestra/rest-api": "^0.31.0",
"@xen-orchestra/self-signed": "^0.2.1", "@xen-orchestra/self-signed": "^0.2.1",
"@xen-orchestra/template": "^0.1.1", "@xen-orchestra/template": "^0.1.1",
"@xen-orchestra/vmware-explorer": "^0.13.0", "@xen-orchestra/vmware-explorer": "^0.13.0",
"@xen-orchestra/xapi": "^8.7.2", "@xen-orchestra/xapi": "^8.8.0",
"@xen-orchestra/xva": "^1.0.2", "@xen-orchestra/xva": "^1.0.2",
"ajv": "^8.0.3", "ajv": "^8.0.3",
"app-conf": "^3.0.0", "app-conf": "^3.0.0",
@@ -162,7 +162,7 @@
"@babel/plugin-proposal-pipeline-operator": "^7.0.0", "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0", "@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/preset-env": "^7.11.0", "@babel/preset-env": "^7.11.0",
"@xen-orchestra/acl": "^1.0.0", "@xen-orchestra/acl": "^1.1.0",
"babel-plugin-transform-define": "^2.1.4", "babel-plugin-transform-define": "^2.1.4",
"babel-plugin-transform-dev": "^2.0.1", "babel-plugin-transform-dev": "^2.0.1",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",

View File

@@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "xo-web", "name": "xo-web",
"version": "5.196.0", "version": "5.197.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"description": "Web interface client for Xen-Orchestra", "description": "Web interface client for Xen-Orchestra",
"keywords": [ "keywords": [