feat: technical release (#10458)

This commit is contained in:
Elise-F
2026-09-25 15:03:27 +02:00
committed by GitHub
parent dc57333f58
commit 22706164d6
44 changed files with 240 additions and 214 deletions
+2
View File
@@ -10,6 +10,8 @@ on:
jobs:
changed-packages:
# the release PR bumps every listed package and empties the list
if: github.head_ref != 'release'
runs-on: ubuntu-latest
steps:
# https://github.com/actions/checkout
+1 -1
View File
@@ -24,7 +24,7 @@
},
"dependencies": {
"@vates/multi-key-map": "^0.2.0",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/log": "^0.7.2",
"ensure-array": "^1.0.0"
},
+1 -1
View File
@@ -19,7 +19,7 @@
},
"main": "./index.mjs",
"dependencies": {
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"fuse-native": "^2.2.6",
"lru-cache": "^7.14.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@vates/iscsi",
"version": "0.1.0",
"version": "0.2.0",
"main": "dist/index.mjs",
"types": "dist/index.d.mts",
"bin": {
+3 -3
View File
@@ -13,7 +13,7 @@
"url": "https://vates.fr"
},
"license": "ISC",
"version": "3.5.1",
"version": "3.6.0",
"engines": {
"node": ">=14.0"
},
@@ -21,11 +21,11 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/read-chunk": "^1.2.1",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/log": "^0.7.2",
"promise-toolbox": "^0.21.0",
"xen-api": "^4.9.0"
"xen-api": "^5.0.0"
},
"devDependencies": {
"tap": "^18.7.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@vates/node-vsphere-soap",
"version": "2.1.3",
"version": "2.2.0",
"description": "interface to vSphere SOAP/WSDL from node for interfacing with vCenter or ESXi, forked from node-vsphere-soap",
"main": "lib/client.mjs",
"author": "reedog117",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@vates/types",
"private": false,
"version": "2.0.1",
"version": "2.1.0",
"main": "./dist/index.mjs",
"exports": {
".": {
+2 -2
View File
@@ -6,7 +6,7 @@
"main": "dist/index.mjs",
"name": "@xen-orchestra/acl",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/acl",
"version": "1.6.1",
"version": "1.7.0",
"license": "AGPL-3.0-or-later",
"private": false,
"type": "module",
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@eslint/js": "^9.19.0",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"rimraf": "^6.0.1",
"typescript": "~5.6",
"typescript-eslint": "^8.61.0"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/async-map",
"version": "0.1.4",
"version": "0.1.5",
"license": "ISC",
"description": "Promise.all + map for all iterables",
"keywords": [
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@xen-orchestra/backup-archive",
"version": "1.1.2",
"version": "1.1.3",
"description": "Helper to handle generic backup archives",
"license": "ISC",
"author": "",
@@ -21,11 +21,11 @@
"tar-stream": "^3.1.8",
"@types/tar-stream": "^3.1.4",
"tmp": "^0.2.1",
"@vates/types": "^2.0.1"
"@vates/types": "^2.1.0"
},
"dependencies": {
"@xen-orchestra/log": "^0.7.1",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/disk-transform": "^1.3.3",
"@vates/task": "0.7.0",
"golike-defer": "0.5.1",
+4 -4
View File
@@ -7,9 +7,9 @@
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"dependencies": {
"@vates/async-each": "^1.0.3",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/fs": "^4.9.4",
"filenamify": "^6.0.0",
"getopts": "^2.2.5",
"lodash": "^4.18.0",
@@ -28,7 +28,7 @@
"scripts": {
"postversion": "npm publish --access public"
},
"version": "1.1.14",
"version": "1.1.15",
"license": "AGPL-3.0-or-later",
"author": {
"name": "Vates SAS",
+9 -9
View File
@@ -8,7 +8,7 @@
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
},
"version": "0.74.2",
"version": "0.75.0",
"engines": {
"node": ">=14.18"
},
@@ -27,17 +27,17 @@
"@vates/disposable": "^0.1.6",
"@vates/fuse-vhd": "^2.1.3",
"@vates/generator-toolbox": "^1.1.3",
"@vates/nbd-client": "^3.5.1",
"@vates/nbd-client": "^3.6.0",
"@vates/parse-duration": "^0.1.1",
"@vates/task": "^0.7.0",
"@vates/types": "^2.0.1",
"@xen-orchestra/async-map": "^0.1.4",
"@vates/types": "^2.1.0",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/qcow2": "^1.3.1",
"@xen-orchestra/qcow2": "^1.4.0",
"@xen-orchestra/template": "^0.1.1",
"@xen-orchestra/backup-archive": "^1.1.2",
"@xen-orchestra/backup-archive": "^1.1.3",
"app-conf": "^3.0.0",
"compare-versions": "^6.0.0",
"d3-time-format": "^4.1.0",
@@ -56,7 +56,7 @@
"uuid": "^9.0.0",
"value-matcher": "^0.2.0",
"vhd-lib": "^4.16.1",
"xen-api": "^4.9.0",
"xen-api": "^5.0.0",
"yazl": "^2.5.1"
},
"devDependencies": {
@@ -67,7 +67,7 @@
"typescript": "^5.9.3"
},
"peerDependencies": {
"@xen-orchestra/xapi": "^8.10.5"
"@xen-orchestra/xapi": "^9.0.0"
},
"license": "AGPL-3.0-or-later",
"author": {
+2 -2
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/cr-seed-cli",
"version": "1.0.2",
"version": "1.0.3",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/cr-seed-cli",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
@@ -18,7 +18,7 @@
"preferGlobal": true,
"dependencies": {
"golike-defer": "^0.5.1",
"xen-api": "^4.9.0"
"xen-api": "^5.0.0"
},
"scripts": {
"postversion": "npm publish"
+5 -5
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/disk-cli",
"version": "2.2.1",
"version": "2.2.2",
"description": "CLI tool to inspect and manage disks in backup repositories",
"type": "module",
"bin": {
@@ -20,11 +20,11 @@
},
"dependencies": {
"@vates/async-each": "^1.0.3",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/backup-archive": "^1.1.2",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/backup-archive": "^1.1.3",
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/qcow2": "^1.3.1",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/qcow2": "^1.4.0",
"promise-toolbox": "^0.21.0",
"vhd-lib": "^4.16.1"
},
+2 -2
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/fs",
"version": "4.9.3",
"version": "4.9.4",
"license": "AGPL-3.0-or-later",
"description": "The File System for Xen Orchestra backups.",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/fs",
@@ -42,7 +42,7 @@
"proper-lockfile": "^4.1.2",
"readable-stream": "^4.1.0",
"through2": "^4.0.2",
"xo-remote-parser": "^0.10.1"
"xo-remote-parser": "^1.0.0"
},
"devDependencies": {
"@babel/cli": "^7.29.0",
@@ -16,13 +16,13 @@
"xo-immutable-remote": "./dist/protectRemotes.mjs"
},
"license": "AGPL-3.0-or-later",
"version": "3.0.5",
"version": "3.0.6",
"engines": {
"node": ">=20.0.0"
},
"dependencies": {
"@vates/async-each": "^1.0.3",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/log": "^0.7.2",
"app-conf": "^3.0.0",
"execa": "^5.0.0",
+2 -2
View File
@@ -27,13 +27,13 @@
"@types/file-saver": "^2.0.7",
"@types/lodash-es": "^4.17.12",
"@types/node": "^18.19.80",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@vitejs/plugin-vue": "^6.0.0",
"@vue/tsconfig": "^0.9.0",
"@vueuse/core": "^14.0.0",
"@vueuse/math": "^14.0.0",
"@vueuse/shared": "^14.0.0",
"@xen-orchestra/web-core": "^0.60.0",
"@xen-orchestra/web-core": "^0.61.0",
"complex-matcher": "^1.1.1",
"d3-time-format": "^4.1.0",
"decorator-synchronized": "^0.6.0",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/mcp",
"version": "1.4.2",
"version": "1.4.3",
"description": "MCP server for Xen Orchestra — allows AI assistants to query and manage XO infrastructure",
"type": "module",
"main": "./dist/index.mjs",
@@ -34,7 +34,7 @@
"devDependencies": {
"@eslint/js": "^9.19.0",
"@types/node": "^22.3.0",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"rimraf": "^6.0.0",
"typescript": "~5.6.3",
"typescript-eslint": "^8.61.0"
+3 -3
View File
@@ -14,17 +14,17 @@
"url": "https://vates.fr"
},
"license": "AGPL-3.0-or-later",
"version": "0.20.2",
"version": "0.21.0",
"engines": {
"node": ">=15.6"
},
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/event-listeners-manager": "^1.0.1",
"@vates/iscsi": "^0.1.0",
"@vates/iscsi": "^0.2.0",
"@vates/parse-duration": "^0.1.1",
"@vates/task": "^0.7.0",
"@xen-orchestra/backup-archive": "^1.1.1",
"@xen-orchestra/backup-archive": "^1.1.3",
"@xen-orchestra/log": "^0.7.2",
"acme-client": "^5.0.0",
"app-conf": "^3.0.0",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@xen-orchestra/proxy-cli",
"version": "0.3.3",
"version": "0.3.4",
"license": "AGPL-3.0-or-later",
"description": "CLI for @xen-orchestra/proxy",
"keywords": [
+7 -7
View File
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@xen-orchestra/proxy",
"version": "0.31.10",
"version": "0.32.0",
"license": "AGPL-3.0-or-later",
"description": "XO Proxy used to remotely execute backup jobs",
"keywords": [
@@ -33,14 +33,14 @@
"@vates/decorate-with": "^2.1.0",
"@vates/disposable": "^0.1.6",
"@vates/task": "^0.7.0",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/mixin": "^0.2.1",
"@xen-orchestra/mixins": "^0.20.2",
"@xen-orchestra/mixins": "^0.21.0",
"@xen-orchestra/self-signed": "^0.2.1",
"@xen-orchestra/xapi": "^8.10.5",
"@xen-orchestra/xapi": "^9.0.0",
"ajv": "^8.0.3",
"app-conf": "^3.0.0",
"async-iterator-to-stream": "^1.1.0",
@@ -62,7 +62,7 @@
"source-map-support": "^0.5.16",
"stoppable": "^1.0.6",
"xdg-basedir": "^5.1.0",
"xen-api": "^4.9.0",
"xen-api": "^5.0.0",
"xo-common": "^0.11.0"
},
"devDependencies": {
+4 -4
View File
@@ -2,7 +2,7 @@
"name": "@xen-orchestra/qa-test",
"private": true,
"type": "module",
"version": "1.2.0",
"version": "1.2.1",
"description": "XenOrchestra QA Test Suite",
"author": {
"name": "Vates SAS",
@@ -22,10 +22,10 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/read-chunk": "^1.2.1",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/vmware-explorer": "^0.15.0",
"@xen-orchestra/vmware-explorer": "^1.0.0",
"nodemailer": "^7.0.13",
"xo-lib": "^0.11.2"
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@xen-orchestra/qcow2",
"version": "1.3.1",
"version": "1.4.0",
"description": "parse and produce qcow2 files",
"main": "dist/index.mjs",
"scripts": {
+7 -7
View File
@@ -6,7 +6,7 @@
"main": "./dist/index.mjs",
"name": "@xen-orchestra/rest-api",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/rest-api",
"version": "0.39.0",
"version": "0.40.0",
"description": "REST API to manage your XOA",
"license": "AGPL-3.0-or-later",
"private": false,
@@ -37,12 +37,12 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/task": "^0.7.0",
"@vates/types": "^2.0.1",
"@xen-orchestra/acl": "^1.6.1",
"@xen-orchestra/backups": "^0.74.2",
"@vates/types": "^2.1.0",
"@xen-orchestra/acl": "^1.7.0",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/qcow2": "^1.3.1",
"@xen-orchestra/xapi": "^8.10.5",
"@xen-orchestra/qcow2": "^1.4.0",
"@xen-orchestra/xapi": "^9.0.0",
"complex-matcher": "^1.1.1",
"golike-defer": "^0.5.1",
"inversify": "^6.2.2",
@@ -55,7 +55,7 @@
"value-matcher": "^0.2.0",
"vhd-lib": "^4.16.1",
"xo-common": "^0.11.0",
"xo-remote-parser": "^0.10.1",
"xo-remote-parser": "^1.0.0",
"zod": "^4.3.6",
"zod-openapi": "^5.4.6"
},
+2 -2
View File
@@ -1,12 +1,12 @@
{
"license": "ISC",
"private": false,
"version": "0.15.0",
"version": "1.0.0",
"name": "@xen-orchestra/vmware-explorer",
"description": "Reads the VMs and the disks of an ESXi host or a vCenter",
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/node-vsphere-soap": "^2.1.3",
"@vates/node-vsphere-soap": "^2.2.0",
"@xen-orchestra/log": "^0.7.2",
"promise-toolbox": "^0.21.0",
"undici": "^7.8.0"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@xen-orchestra/web-core",
"type": "module",
"version": "0.60.0",
"version": "0.61.0",
"private": false,
"exports": {
"./*": {
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@xen-orchestra/web",
"version": "0.60.1",
"version": "0.61.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -26,7 +26,7 @@
"@types/d3-time-format": "^4.0.3",
"@types/lodash-es": "^4.17.12",
"@types/node": "^18.19.80",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@vitejs/plugin-vue": "^6.0.0",
"@vitest/ui": "^4.1.9",
"@vue/test-utils": "^2.4.11",
@@ -35,7 +35,7 @@
"@vueuse/integrations": "^14.0.0",
"@vueuse/math": "^14.0.0",
"@vueuse/shared": "^14.0.0",
"@xen-orchestra/web-core": "^0.60.0",
"@xen-orchestra/web-core": "^0.61.0",
"complex-matcher": "^1.1.1",
"d3-time-format": "^4.1.0",
"happy-dom": "^20.0.0",
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@xen-orchestra/xapi",
"version": "8.10.5",
"version": "9.0.0",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/xapi",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
@@ -16,7 +16,7 @@
},
"main": "./index.mjs",
"peerDependencies": {
"xen-api": "^4.9.0"
"xen-api": "^5.0.0"
},
"scripts": {
"postversion": "npm publish --access public",
@@ -25,14 +25,14 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/decorate-with": "^2.1.0",
"@vates/nbd-client": "^3.5.1",
"@vates/nbd-client": "^3.6.0",
"@vates/parse-duration": "^0.1.1",
"@vates/read-chunk": "^1.2.1",
"@vates/task": "^0.7.0",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/qcow2": "^1.3.1",
"@xen-orchestra/qcow2": "^1.4.0",
"d3-time-format": "^4.1.0",
"golike-defer": "^0.5.1",
"json-rpc-protocol": "^0.13.2",
+129
View File
@@ -1,5 +1,134 @@
# ChangeLog
## **next**
### Enhancements
- [Backups] change the prefix name of vms during health checks from 'Importing...' to 'Health Check' to avoid confusion (PR [#10361](https://github.com/vatesfr/xen-orchestra/pull/10361))
- [Backup/Restore] Faster listing of the backups: a backup repository is now listed once, then kept up to date by replaying its journal instead of being listed again. Especially visible on S3 repositories with Object Lock, where nothing could be cached before (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [Backup/Restore] Choose what to do with each disk when restoring an incremental backup: restore it to an SR, live mount it read-only on a host so it is usable immediately without being copied, or not restore it at all (PR [#10345](https://github.com/vatesfr/xen-orchestra/pull/10345))
- [V2V] When a VM has Changed Block Tracking enabled on the source host, a migration now asks the host which blocks it has to read — the blocks a disk uses for a full transfer, the blocks written since the previous pass for a delta — instead of scanning the disk through the VDDK. Faster to start on large disks, and one less moving part. VMs without CBT are migrated exactly as before (PR [#10384](https://github.com/vatesfr/xen-orchestra/pull/10384))
- [V2V] Migrations no longer need the VDDK library, `nbdkit` and `nbdinfo`. The disks are read through `vectura`, a single binary shipped with XO and installed in one click from the import screen. The Broadcom download, the tar.gz upload and the two compile-from-source buttons are gone. Note that the source must now be an ESXi 7.x or 8.x host reached directly, a vCenter address is no longer supported
- [RPU] A rolling pool update is now refused while a previous one is still in progress or was left incomplete, and asks for confirmation when the master is already up to date but other hosts are not (PR [#10394](https://github.com/vatesfr/xen-orchestra/pull/10394))
- [RPU] An incomplete rolling pool update can now be closed from the pool's Patches tab, or with `pool.finalizeRollingUpdate` and the REST route `POST /rest/v0/pools/{id}/actions/finalize_rolling_update`. The closing is refused while the update left something it had changed unrestored (HA, WLB, load balancer, backup schedules, disabled hosts, displaced or halted VMs); forcing it lists the abandoned items in the task and changes nothing in the pool (PR [#10418](https://github.com/vatesfr/xen-orchestra/pull/10418))
- [RPU] Keep track of an interrupted rolling pool update across xo-server restarts: the pool's Patches tab now shows which hosts were updated, the last error, and the VMs that were shut down for the update and not started again (PR [#10331](https://github.com/vatesfr/xen-orchestra/pull/10331))
- [Web-Core/TabItem] Update the component to remove uppercase for better readability (PR [#10338](https://github.com/vatesfr/xen-orchestra/pull/10338))
- [Docs] Improve doc, rename titles, and refactor menu (PR [#10212](https://github.com/vatesfr/xen-orchestra/pull/10212))
- [i18n] Add Turkish and update Czech, Dutch, Slovak and Swedish translations (PR [#10316](https://github.com/vatesfr/xen-orchestra/pull/10316))
- [VIF] Add VIF name in header on VIF detail page (PR [#10252](https://github.com/vatesfr/xen-orchestra/pull/10252))
- [XO6/Host] Sort the networks table by network name (PR [#10367](https://github.com/vatesfr/xen-orchestra/pull/10367))
- [XO6/Host] Add possibility to scan PIFs directly from the host (PR [#10191](https://github.com/vatesfr/xen-orchestra/pull/10191))
- [XO6/Host] Add possibility to shut down and start an host (PR [#10088](https://github.com/vatesfr/xen-orchestra/pull/10088))
- [XO6/Host] Add possibility to forget a host (PR [#10089](https://github.com/vatesfr/xen-orchestra/pull/10089))
- [XO6/Host] Add icon for disabled host (PR [#10188](https://github.com/vatesfr/xen-orchestra/pull/10188))
- [XO6/SR] Add dedicated Storage Repository page hosts sidepanel (PR [#10140](https://github.com/vatesfr/xen-orchestra/pull/10140))
- [XO6] Allow changing which PIF a host uses for its management interface, without deleting and recreating the network config (PR [#10110](https://github.com/vatesfr/xen-orchestra/pull/10110))
- [XO6/Vm] Add the VM name to VM related actions that open a modal (PR [#10310](https://github.com/vatesfr/xen-orchestra/pull/10310))
- [REST API] VDI can now be exported in qcow2 format, and the VHD export uses NBD when available. Both formats work whatever the format the disk is stored in. Every export format, raw included, now provides the size of the download (PR [#10350](https://github.com/vatesfr/xen-orchestra/pull/10350))
- [REST API] Add an endpoint to reclaim space per vm or backup repository: `POST /rest/V0/backup-repositories/:id/actions/reclaim-space` (PR [#10262](https://github.com/vatesfr/xen-orchestra/pull/10262))
- [REST API] Add `hosts/:id/actions/scan_pifs` endpoint (PR [#10187](https://github.com/vatesfr/xen-orchestra/pull/10187))
- [REST API/Backup] Add `POST backup-archives/:id/actions/mount_live_disk` and `POST backup-archives/:id/live_disks/:liveDiskId/actions/unmount` endpoints (administrators only): attach a disk of a backup to a host as a read-only SR, to read its content without restoring it. This XO's address reachable from the hosts is auto-detected, or can be set explicitly with `iscsi.advertisedAddress`
- [REST API] SSE now supports Non XAPI objects (user, group, acl-privilege, acl-role, proxy, server, backup-repository, backup-job, schedule) (PR [#10278](https://github.com/vatesfr/xen-orchestra/pull/10278))
- [REST API/SDN Controller, Audit] Traffic rule and audit record routes are now documented in the Swagger/OpenAPI spec (PR [#9895](https://github.com/vatesfr/xen-orchestra/pull/9895))
- [IPMI-plugin] Add GET plugins/ipmi-sensors/hosts/{id}/ipmi to get IPMI sensors (PR [#10003](https://github.com/vatesfr/xen-orchestra/pull/10003))
- [Proxy] Check proxy licenses at XOA level instead of blocking backups on it (PR [#10280](https://github.com/vatesfr/xen-orchestra/pull/10280))
- [Rolling pool update/reboot] A pool can now skip the phase which brings the VMs back to the host they were running on, which halves the migrations of the run (PR [#10295](https://github.com/vatesfr/xen-orchestra/pull/10295))
- [LDAP] Release plugin for LDAP multidomain management (PR [#10015](https://github.com/vatesfr/xen-orchestra/pull/10015))
- [XO5/Backups] Open the backup job edition form in the same tab when editing a backup job from the VM page (PR [#10342](https://github.com/vatesfr/xen-orchestra/pull/10342))
### Bug fixes
- [Backups/Encryption] New error thrown when encryption key is removed from an encrypted remote url (PR [#10339](https://github.com/vatesfr/xen-orchestra/pull/10339))
- [Backup-archive] No longer create a `cache.json.gz` file on immutable/S3 remote during cleanup, which could not be deleted afterwards and stayed billed forever (PR [#10243](https://github.com/vatesfr/xen-orchestra/pull/10243))
- [Backups] Fix orphaned VM on target after failed transfer (PR [#10369](https://github.com/vatesfr/xen-orchestra/pull/10369))
- [Backup] Fix `uncaught exception AssertionError: assert(!this.paused)` in the logs, when a host closes a transfer while XO is writing to a slower destination (PR [#10282](https://github.com/vatesfr/xen-orchestra/pull/10282))
- [backup/restore] Fix backups of a repository randomly disappearing from the list after visiting a VM (PR [#10277](https://github.com/vatesfr/xen-orchestra/pull/10277))
- [Backup] Fix a job combining Rolling Snapshot with Disaster Recovery to an SR of the source VM's pool destroying its own snapshots: the job reported a success but kept fewer snapshots than the configured snapshot retention, usually none (PR [#10395](https://github.com/vatesfr/xen-orchestra/pull/10395))
- [Backups] Fix slow replication startup and fallback to full on qcow2 (PR [#10333](https://github.com/vatesfr/xen-orchestra/pull/10333))
- [REST API/SDN Controller] Fix deleting a non-existent traffic rule wrongly returning success instead of a 404 (PR [#9895](https://github.com/vatesfr/xen-orchestra/pull/9895))
- [REST API] Rolling pool update and rolling pool reboot are now refused while a backup job runs on the pool, like their JSON-RPC counterparts, unless `bypassBackupCheck` is set in the request body (PR [#10313](https://github.com/vatesfr/xen-orchestra/pull/10313))
- [Servers] Fix endless connection attempts to a pool which is already connected through another server entry (PR [#10355](https://github.com/vatesfr/xen-orchestra/pull/10355))
- [Servers] fix a mishandling in the grace period before marking a pool disconnected, this will keep the ui in sync AND not redownload all the xapi object for a transient issue (PR [#10355](https://github.com/vatesfr/xen-orchestra/pull/10355))
- [XO server] Fix current_operations format on host and pool objects (PR [#10283](https://github.com/vatesfr/xen-orchestra/pull/10283))
- [xo-server] If an HTTP proxy was configured, internal routes (`/openmetrics`, `/v5`) were wrongly routed through it when xo-server listened on a wildcard address. `localhost` targets are now always reached directly, bypassing the HTTP proxy, whether the configured listen address is a wildcard (`0.0.0.0`, `::`) or a specific one (PR [#10335](https://github.com/vatesfr/xen-orchestra/pull/10335))
- [xo-server] Fix a memory leak when a client stops reading a proxied response, e.g. a Prometheus scrape of `/openmetrics` reaching its timeout: the request to the proxied service was never closed and its whole response stayed in memory, which could end up in the appliance being OOM-killed (PR [#10388](https://github.com/vatesfr/xen-orchestra/pull/10388))
- [xo-server] Set the VM topology to `1 core per socket` when a VM update attempts to apply a CPU static max configuration that is incompatible with the VM topology (PR [#10398](https://github.com/vatesfr/xen-orchestra/pull/10398))
- [OpenMetrics] Share metrics collection between requests to avoid filling up XOA memory (PR [10401](https://github.com/vatesfr/xen-orchestra/pull/10401))
- [Netbox] Fix IP addresses synced with an incorrect, less specific prefix (e.g. `/8` instead of `/24`) when a shorter container prefix also matched [#10240](https://github.com/vatesfr/xen-orchestra/issues/10240) (PR [#10297](https://github.com/vatesfr/xen-orchestra/pull/10297))
- [Jobs] Running a sequence whose configured user was deleted now fails with a clear error instead of an obscure one, and saving a sequence now updates it to run as the saving user (PR [#10423](https://github.com/vatesfr/xen-orchestra/pull/10423))
- [Rolling pool update/reboot] VMs are brought back to the host they were running on more reliably, and a VM that cannot be moved back no longer fails the whole operation (PR [#10295](https://github.com/vatesfr/xen-orchestra/pull/10295))
- [Web-core] Fix "console offline" illustration sparks color (PR [#10309](https://github.com/vatesfr/xen-orchestra/pull/10309))
- [Web-core] Fix 404 illustration color (PR [#10325](https://github.com/vatesfr/xen-orchestra/pull/10325))
- [Web-core] Fix "no data" illustration stars color (PR [#10327](https://github.com/vatesfr/xen-orchestra/pull/10327))
- [V2V] Consolidating or removing the snapshots of a VM no longer fails with `task execution failed` after one minute: an operation is now given the time it needs (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a failure to read the snapshots of a VM silently transferring the whole disk instead of a delta (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a VM whose controller has no disk on its first slot being imported with a duplicated disk, or in full instead of a delta (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a second import, or the final pass of a warm migration, failing on a disk export server which had already been stopped (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix xo-server stopping when `nbdkit` is not installed, or when the connection to the source host is lost during a migration (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Listing the VMs of a host no longer fails entirely when one of them is incomplete, e.g. while being created (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] The credentials are no longer sent again on every read of a disk, and a session expiring during a long import is renewed (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] The session opened on the source host is now closed when a listing, a migration or a disk export ends, instead of piling up until it expires — a host only accepts a limited number of them (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Report what the source host complained about, instead of `task execution failed` or an assertion error, when an operation fails (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- **XO 5**:
- [Netdata] Fix `You must enable Javascript` error due to CSP blocking Netdata's inline scripts (PR [#10275](https://github.com/vatesfr/xen-orchestra/pull/10275))
- [tab-disks] VDI migration now shows all pool SRs for admins, even on VMs bound to a Resource Set [Forum#107707](https://xcp-ng.org/forum/post/107707) (PR [#10422](https://github.com/vatesfr/xen-orchestra/pull/10422))
- [MCP] Fix the MCP server crashing at startup on Node 26 with `fetch failed`, and make `search_documentation` honour `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` like the other requests (PR [#10413](https://github.com/vatesfr/xen-orchestra/pull/10413))
- [OpenMetrics] A host whose IPMI controller does not answer no longer delays the `/openmetrics/metrics` response until Prometheus gives up with `context deadline exceeded`: power and XOSTOR metrics are served from the last collected values and refreshed in the background (PR [#10409](https://github.com/vatesfr/xen-orchestra/pull/10409))
- [VM/Console] Fix the page header and tab navigation disappearing permanently in the console tab (PR [#10007](https://github.com/vatesfr/xen-orchestra/pull/10007))
- [Backup/Restore] Fix listing backups sometimes mixing the results of two different VM listings (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [Backup/Restore] Better handling of a backup repository the proxy fails to list, instead of silently returning nothing (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [Backup] Fixed disk space not being freed during delta backup deletion (PR [#10273] (https://github.com/vatesfr/xen-orchestra/pull/10273))
### Released packages
- @xen-orchestra/async-map 0.1.5
- xo-remote-parser 1.0.0
- @xen-orchestra/fs 4.9.4
- @vates/iscsi 0.2.0
- xen-api 5.0.0
- @vates/nbd-client 3.6.0
- @vates/node-vsphere-soap 2.2.0
- @vates/types 2.1.0
- @xen-orchestra/acl 1.7.0
- @xen-orchestra/backup-archive 1.1.3
- @xen-orchestra/qcow2 1.4.0
- @xen-orchestra/xapi 9.0.0
- @xen-orchestra/backups 0.75.0
- @xen-orchestra/backups-cli 1.1.15
- @xen-orchestra/cr-seed-cli 1.0.3
- @xen-orchestra/disk-cli 2.2.2
- @xen-orchestra/immutable-backups 3.0.6
- @xen-orchestra/web-core 0.61.0
- @xen-orchestra/mcp 1.4.3
- @xen-orchestra/mixins 0.21.0
- @xen-orchestra/proxy 0.32.0
- @xen-orchestra/proxy-cli 0.3.4
- @xen-orchestra/vmware-explorer 1.0.0
- @xen-orchestra/qa-test 1.2.1
- @xen-orchestra/rest-api 0.40.0
- @xen-orchestra/web 0.61.0
- xapi-explore-sr 0.4.8
- xo-server 5.209.0
- xo-server-audit 0.15.3
- xo-server-auth-ldap 0.10.12
- xo-server-netbox 1.13.3
- xo-server-openmetrics 1.9.3
- xo-server-sdn-controller 1.5.1
- xo-web 5.204.0
## **6.8.2** (2026-09-04)
<img id="latest" src="https://badgen.net/badge/channel/latest/yellow" alt="Channel: latest" />
-105
View File
@@ -11,84 +11,10 @@
> Users must be able to say: "Nice enhancement, I'm eager to test it"
- [XO6/Vm] Add the VM name to VM related actions that open a modal (PR [#10310](https://github.com/vatesfr/xen-orchestra/pull/10310))
- [XO6] Allow changing which PIF a host uses for its management interface, without deleting and recreating the network config (PR [#10110](https://github.com/vatesfr/xen-orchestra/pull/10110))
- [Backups] change the prefix name of vms during health checks from 'Importing...' to 'Health Check' to avoid confusion (PR [#10361](https://github.com/vatesfr/xen-orchestra/pull/10361))
- [XO6/SR] Add dedicated Storage Repository page hosts sidepanel (PR [#10140](https://github.com/vatesfr/xen-orchestra/pull/10140))
- [Backup/Restore] Faster listing of the backups: a backup repository is now listed once, then kept up to date by replaying its journal instead of being listed again. Especially visible on S3 repositories with Object Lock, where nothing could be cached before (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [Rolling pool update/reboot] A pool can now skip the phase which brings the VMs back to the host they were running on, which halves the migrations of the run (PR [#10295](https://github.com/vatesfr/xen-orchestra/pull/10295))
- [XO5/Backups] Open the backup job edition form in the same tab when editing a backup job from the VM page (PR [#10342](https://github.com/vatesfr/xen-orchestra/pull/10342))
- [Web-Core/TabItem] Update the component to remove uppercase for better readability (PR [#10338](https://github.com/vatesfr/xen-orchestra/pull/10338))
- [REST API] VDI can now be exported in qcow2 format, and the VHD export uses NBD when available. Both formats work whatever the format the disk is stored in. Every export format, raw included, now provides the size of the download (PR [#10350](https://github.com/vatesfr/xen-orchestra/pull/10350))
- [REST API] SSE now supports Non XAPI objects (user, group, acl-privilege, acl-role, proxy, server, backup-repository, backup-job, schedule) (PR [#10278](https://github.com/vatesfr/xen-orchestra/pull/10278))
- [REST API/SDN Controller, Audit] Traffic rule and audit record routes are now documented in the Swagger/OpenAPI spec (PR [#9895](https://github.com/vatesfr/xen-orchestra/pull/9895))
- [LDAP] Release plugin for LDAP multidomain management (PR [#10015](https://github.com/vatesfr/xen-orchestra/pull/10015))
- [RPU] Keep track of an interrupted rolling pool update across xo-server restarts: the pool's Patches tab now shows which hosts were updated, the last error, and the VMs that were shut down for the update and not started again (PR [#10331](https://github.com/vatesfr/xen-orchestra/pull/10331))
- [i18n] Add Turkish and update Czech, Dutch, Slovak and Swedish translations (PR [#10316](https://github.com/vatesfr/xen-orchestra/pull/10316))
- [XO6/Host] Add icon for disabled host (PR [#10188](https://github.com/vatesfr/xen-orchestra/pull/10188))
- [V2V] When a VM has Changed Block Tracking enabled on the source host, a migration now asks the host which blocks it has to read — the blocks a disk uses for a full transfer, the blocks written since the previous pass for a delta — instead of scanning the disk through the VDDK. Faster to start on large disks, and one less moving part. VMs without CBT are migrated exactly as before (PR [#10384](https://github.com/vatesfr/xen-orchestra/pull/10384))
- [V2V] Migrations no longer need the VDDK library, `nbdkit` and `nbdinfo`. The disks are read through `vectura`, a single binary shipped with XO and installed in one click from the import screen. The Broadcom download, the tar.gz upload and the two compile-from-source buttons are gone. Note that the source must now be an ESXi 7.x or 8.x host reached directly, a vCenter address is no longer supported
- [Proxy] Check proxy licenses at XOA level instead of blocking backups on it (PR [#10280](https://github.com/vatesfr/xen-orchestra/pull/10280))
- [RPU] A rolling pool update is now refused while a previous one is still in progress or was left incomplete, and asks for confirmation when the master is already up to date but other hosts are not (PR [#10394](https://github.com/vatesfr/xen-orchestra/pull/10394))
- [RPU] An incomplete rolling pool update can now be closed from the pool's Patches tab, or with `pool.finalizeRollingUpdate` and the REST route `POST /rest/v0/pools/{id}/actions/finalize_rolling_update`. The closing is refused while the update left something it had changed unrestored (HA, WLB, load balancer, backup schedules, disabled hosts, displaced or halted VMs); forcing it lists the abandoned items in the task and changes nothing in the pool (PR [#10418](https://github.com/vatesfr/xen-orchestra/pull/10418))
- [REST API/Backup] Add `POST backup-archives/:id/actions/mount_live_disk` and `POST backup-archives/:id/live_disks/:liveDiskId/actions/unmount` endpoints (administrators only): attach a disk of a backup to a host as a read-only SR, to read its content without restoring it. This XO's address reachable from the hosts is auto-detected, or can be set explicitly with `iscsi.advertisedAddress`
- [Backup/Restore] Choose what to do with each disk when restoring an incremental backup: restore it to an SR, live mount it read-only on a host so it is usable immediately without being copied, or not restore it at all (PR [#10345](https://github.com/vatesfr/xen-orchestra/pull/10345))
- [XO6/Host] Add possibility to shut down and start an host (PR [#10088](https://github.com/vatesfr/xen-orchestra/pull/10088))
- [REST API] Add `hosts/:id/actions/scan_pifs` endpoint (PR [#10187](https://github.com/vatesfr/xen-orchestra/pull/10187))
- [XO6/Host] Add possibility to scan PIFs directly from the host (PR [#10191](https://github.com/vatesfr/xen-orchestra/pull/10191))
- [Docs] Improve doc, rename titles, and refactor menu (PR [#10212](https://github.com/vatesfr/xen-orchestra/pull/10212))
- [XO6/Host] Add possibility to forget a host (PR [#10089](https://github.com/vatesfr/xen-orchestra/pull/10089))
- [IPMI-plugin] Add GET plugins/ipmi-sensors/hosts/{id}/ipmi to get IPMI sensors (PR [#10003](https://github.com/vatesfr/xen-orchestra/pull/10003))
- [VIF] Add VIF name in header on VIF detail page (PR [#10252](https://github.com/vatesfr/xen-orchestra/pull/10252))
- [REST API] Add an endpoint to reclaim space per vm or backup repository: `POST /rest/V0/backup-repositories/:id/actions/reclaim-space` (PR [#10262](https://github.com/vatesfr/xen-orchestra/pull/10262))
- [XO6/Host] Sort the networks table by network name (PR [#10367](https://github.com/vatesfr/xen-orchestra/pull/10367))
### Bug fixes
> Users must be able to say: "I had this issue, happy to know it's fixed"
- [Backups/Encryption] New error thrown when encryption key is removed from an encrypted remote url (PR [#10339](https://github.com/vatesfr/xen-orchestra/pull/10339))
- [Web-core] Fix "console offline" illustration sparks color (PR [#10309](https://github.com/vatesfr/xen-orchestra/pull/10309))
- [Web-core] Fix 404 illustration color (PR [#10325](https://github.com/vatesfr/xen-orchestra/pull/10325))
- [Backup-archive] No longer create a `cache.json.gz` file on immutable/S3 remote during cleanup, which could not be deleted afterwards and stayed billed forever (PR [#10243](https://github.com/vatesfr/xen-orchestra/pull/10243))
- [Backups] Fix orphaned VM on target after failed transfer (PR [#10369](https://github.com/vatesfr/xen-orchestra/pull/10369))
- [Servers] Fix endless connection attempts to a pool which is already connected through another server entry (PR [#10355](https://github.com/vatesfr/xen-orchestra/pull/10355))
- [Servers] fix a mishandling in the grace period before marking a pool disconnected, this will keep the ui in sync AND not redownload all the xapi object for a transient issue (PR [#10355](https://github.com/vatesfr/xen-orchestra/pull/10355))
- [Rolling pool update/reboot] VMs are brought back to the host they were running on more reliably, and a VM that cannot be moved back no longer fails the whole operation (PR [#10295](https://github.com/vatesfr/xen-orchestra/pull/10295))
- [XO server] Fix current_operations format on host and pool objects (PR [#10283](https://github.com/vatesfr/xen-orchestra/pull/10283))
- [Web-core] Fix "no data" illustration stars color (PR [#10327](https://github.com/vatesfr/xen-orchestra/pull/10327))
- [Backup] Fix `uncaught exception AssertionError: assert(!this.paused)` in the logs, when a host closes a transfer while XO is writing to a slower destination (PR [#10282](https://github.com/vatesfr/xen-orchestra/pull/10282))
- [xo-server] If an HTTP proxy was configured, internal routes (`/openmetrics`, `/v5`) were wrongly routed through it when xo-server listened on a wildcard address. `localhost` targets are now always reached directly, bypassing the HTTP proxy, whether the configured listen address is a wildcard (`0.0.0.0`, `::`) or a specific one (PR [#10335](https://github.com/vatesfr/xen-orchestra/pull/10335))
- [Backups] Fix slow replication startup and fallback to full on qcow2 (PR [#10333](https://github.com/vatesfr/xen-orchestra/pull/10333))
- [REST API/SDN Controller] Fix deleting a non-existent traffic rule wrongly returning success instead of a 404 (PR [#9895](https://github.com/vatesfr/xen-orchestra/pull/9895))
- [xo-server] Fix a memory leak when a client stops reading a proxied response, e.g. a Prometheus scrape of `/openmetrics` reaching its timeout: the request to the proxied service was never closed and its whole response stayed in memory, which could end up in the appliance being OOM-killed (PR [#10388](https://github.com/vatesfr/xen-orchestra/pull/10388))
- [REST API] Rolling pool update and rolling pool reboot are now refused while a backup job runs on the pool, like their JSON-RPC counterparts, unless `bypassBackupCheck` is set in the request body (PR [#10313](https://github.com/vatesfr/xen-orchestra/pull/10313))
- [V2V] Consolidating or removing the snapshots of a VM no longer fails with `task execution failed` after one minute: an operation is now given the time it needs (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a failure to read the snapshots of a VM silently transferring the whole disk instead of a delta (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a VM whose controller has no disk on its first slot being imported with a duplicated disk, or in full instead of a delta (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix a second import, or the final pass of a warm migration, failing on a disk export server which had already been stopped (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Fix xo-server stopping when `nbdkit` is not installed, or when the connection to the source host is lost during a migration (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Listing the VMs of a host no longer fails entirely when one of them is incomplete, e.g. while being created (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] The credentials are no longer sent again on every read of a disk, and a session expiring during a long import is renewed (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] The session opened on the source host is now closed when a listing, a migration or a disk export ends, instead of piling up until it expires — a host only accepts a limited number of them (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [V2V] Report what the source host complained about, instead of `task execution failed` or an assertion error, when an operation fails (PR [#10363](https://github.com/vatesfr/xen-orchestra/pull/10363))
- [xo-server] Set the VM topology to `1 core per socket` when a VM update attempts to apply a CPU static max configuration that is incompatible with the VM topology (PR [#10398](https://github.com/vatesfr/xen-orchestra/pull/10398))
- [Backup] Fix a job combining Rolling Snapshot with Disaster Recovery to an SR of the source VM's pool destroying its own snapshots: the job reported a success but kept fewer snapshots than the configured snapshot retention, usually none (PR [#10395](https://github.com/vatesfr/xen-orchestra/pull/10395))
- [OpenMetrics] Share metrics collection between requests to avoid filling up XOA memory (PR [10401](https://github.com/vatesfr/xen-orchestra/pull/10401))
- [Netbox] Fix IP addresses synced with an incorrect, less specific prefix (e.g. `/8` instead of `/24`) when a shorter container prefix also matched [#10240](https://github.com/vatesfr/xen-orchestra/issues/10240) (PR [#10297](https://github.com/vatesfr/xen-orchestra/pull/10297))
- [backup/restore] Fix backups of a repository randomly disappearing from the list after visiting a VM (PR [#10277](https://github.com/vatesfr/xen-orchestra/pull/10277))
- [Jobs] Running a sequence whose configured user was deleted now fails with a clear error instead of an obscure one, and saving a sequence now updates it to run as the saving user (PR [#10423](https://github.com/vatesfr/xen-orchestra/pull/10423))
- **XO 5**:
- [Netdata] Fix `You must enable Javascript` error due to CSP blocking Netdata's inline scripts (PR [#10275](https://github.com/vatesfr/xen-orchestra/pull/10275))
- [tab-disks] VDI migration now shows all pool SRs for admins, even on VMs bound to a Resource Set [Forum#107707](https://xcp-ng.org/forum/post/107707) (PR [#10422](https://github.com/vatesfr/xen-orchestra/pull/10422))
- [MCP] Fix the MCP server crashing at startup on Node 26 with `fetch failed`, and make `search_documentation` honour `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` like the other requests (PR [#10413](https://github.com/vatesfr/xen-orchestra/pull/10413))
- [OpenMetrics] A host whose IPMI controller does not answer no longer delays the `/openmetrics/metrics` response until Prometheus gives up with `context deadline exceeded`: power and XOSTOR metrics are served from the last collected values and refreshed in the background (PR [#10409](https://github.com/vatesfr/xen-orchestra/pull/10409))
- [Backup/Restore] Fix listing backups sometimes mixing the results of two different VM listings (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [Backup/Restore] Better handling of a backup repository the proxy fails to list, instead of silently returning nothing (PR [#10257](https://github.com/vatesfr/xen-orchestra/pull/10257))
- [VM/Console] Fix the page header and tab navigation disappearing permanently in the console tab (PR [#10007](https://github.com/vatesfr/xen-orchestra/pull/10007))
- [Backup] Fixed disk space not being freed during delta backup deletion ( PR [#10273] (https://github.com/vatesfr/xen-orchestra/pull/10273))
### Packages to release
> When modifying a package, add it here with its release type.
@@ -105,35 +31,4 @@
<!--packages-start-->
- @vates/iscsi minor
- @vates/nbd-client minor
- @vates/node-vsphere-soap minor
- @vates/types minor
- @xen-orchestra/acl minor
- @xen-orchestra/async-map patch
- @xen-orchestra/backup-archive patch
- @xen-orchestra/backups minor
- @xen-orchestra/disk-cli patch
- @xen-orchestra/fs patch
- @xen-orchestra/mcp patch
- @xen-orchestra/mixins minor
- @xen-orchestra/proxy minor
- @xen-orchestra/proxy-cli patch
- @xen-orchestra/qcow2 minor
- @xen-orchestra/rest-api minor
- @xen-orchestra/vmware-explorer major
- @xen-orchestra/web minor
- @xen-orchestra/web-core minor
- @xen-orchestra/xapi patch
- vectura major
- xen-api major
- xo-remote-parser major
- xo-server minor
- xo-server-audit patch
- xo-server-auth-ldap patch
- xo-server-netbox patch
- xo-server-openmetrics patch
- xo-server-sdn-controller patch
- xo-web minor
<!--packages-end-->
+1 -1
View File
@@ -24,7 +24,7 @@
"node": ">=10"
},
"dependencies": {
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"cli-progress": "^3.1.0",
"exec-promise": "^0.7.0",
"getopts": "^2.2.3",
+3 -3
View File
@@ -19,8 +19,8 @@
"@vates/diff": "^0.1.0",
"@vates/read-chunk": "^1.2.1",
"@vates/stream-reader": "^0.1.0",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"async-iterator-to-stream": "^1.0.2",
"decorator-synchronized": "^0.6.0",
@@ -34,7 +34,7 @@
},
"devDependencies": {
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"execa": "^5.0.0",
"get-stream": "^6.0.0",
"rimraf": "^6.0.1",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "xapi-explore-sr",
"version": "0.4.7",
"version": "0.4.8",
"license": "ISC",
"description": "Display the list of VDIs (unmanaged and snapshots included) of a SR",
"keywords": [
@@ -40,7 +40,7 @@
"human-format": "^1.0.0",
"lodash": "^4.18.0",
"pw": "^0.0.4",
"xen-api": "^4.9.0"
"xen-api": "^5.0.0"
},
"scripts": {
"postversion": "npm publish"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "xen-api",
"version": "4.9.0",
"version": "5.0.0",
"license": "ISC",
"description": "Connector to the Xen API",
"keywords": [
+1 -1
View File
@@ -1,7 +1,7 @@
{
"private": false,
"name": "xo-remote-parser",
"version": "0.10.1",
"version": "1.0.0",
"license": "AGPL-3.0-or-later",
"description": "Parse and format XO remote URLs",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/packages/xo-remote-parser",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "xo-server-audit",
"version": "0.15.2",
"version": "0.15.3",
"license": "AGPL-3.0-or-later",
"description": "Audit plugin for XO-Server",
"keywords": [
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "xo-server-auth-ldap",
"version": "0.10.11",
"version": "0.10.12",
"license": "AGPL-3.0-or-later",
"description": "LDAP authentication plugin for XO-Server",
"keywords": [
+1 -1
View File
@@ -28,7 +28,7 @@
},
"dependencies": {
"@isaacs/ttlcache": "^1.4.1",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@xen-orchestra/log": "^0.7.1",
"xo-common": "^0.11.0"
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "xo-server-netbox",
"version": "1.13.2",
"version": "1.13.3",
"license": "AGPL-3.0-or-later",
"description": "Synchronizes pools managed by Xen Orchestra with Netbox",
"keywords": [
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "xo-server-openmetrics",
"version": "1.9.2",
"version": "1.9.3",
"license": "AGPL-3.0-or-later",
"description": "XO Server plugin exposing metrics in OpenMetrics/Prometheus format",
"type": "module",
@@ -31,7 +31,7 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/coalesce-calls": "^0.1.0",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@xen-orchestra/log": "^0.7.2",
"json5": "^2.2.3",
"undici": "^6.2.1"
@@ -16,7 +16,7 @@
"predev": "yarn run prebuild",
"prepublishOnly": "yarn run build"
},
"version": "1.5.0",
"version": "1.5.1",
"engines": {
"node": ">=10"
},
@@ -30,7 +30,7 @@
"dependencies": {
"@vates/async-each": "^1.0.3",
"@vates/coalesce-calls": "^0.1.0",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/openflow": "^0.1.4",
"ipaddr.js": "^2.0.1",
+1 -1
View File
@@ -29,7 +29,7 @@
"node": ">=7"
},
"dependencies": {
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/cron": "^1.0.7",
"@xen-orchestra/log": "^0.7.2",
"csv-stringify": "^6.0.0",
+14 -14
View File
@@ -1,7 +1,7 @@
{
"private": true,
"name": "xo-server",
"version": "5.208.3",
"version": "5.209.0",
"license": "AGPL-3.0-or-later",
"description": "Server part of Xen-Orchestra",
"keywords": [
@@ -39,32 +39,32 @@
"@vates/event-listeners-manager": "^1.0.1",
"@vates/fatfs": "^0.11.1",
"@vates/multi-key-map": "^0.2.0",
"@vates/nbd-client": "^3.5.1",
"@vates/nbd-client": "^3.6.0",
"@vates/obfuscate": "^0.1.0",
"@vates/otp": "^1.1.0",
"@vates/parse-duration": "^0.1.1",
"@vates/predicates": "^1.1.0",
"@vates/read-chunk": "^1.2.1",
"@vates/task": "^0.7.0",
"@vates/types": "^2.0.1",
"@vates/types": "^2.1.0",
"@vates/xml": "^2.0.0",
"@vates/xml-rpc": "^1.0.0",
"@xen-orchestra/async-map": "^0.1.4",
"@xen-orchestra/backups": "^0.74.2",
"@xen-orchestra/async-map": "^0.1.5",
"@xen-orchestra/backups": "^0.75.0",
"@xen-orchestra/cron": "^1.0.7",
"@xen-orchestra/defined": "^0.0.2",
"@xen-orchestra/disk-transform": "^1.3.3",
"@xen-orchestra/emit-async": "^1.0.0",
"@xen-orchestra/fs": "^4.9.3",
"@xen-orchestra/fs": "^4.9.4",
"@xen-orchestra/log": "^0.7.2",
"@xen-orchestra/mixin": "^0.2.1",
"@xen-orchestra/mixins": "^0.20.2",
"@xen-orchestra/qcow2": "^1.3.1",
"@xen-orchestra/rest-api": "^0.39.0",
"@xen-orchestra/mixins": "^0.21.0",
"@xen-orchestra/qcow2": "^1.4.0",
"@xen-orchestra/rest-api": "^0.40.0",
"@xen-orchestra/self-signed": "^0.2.1",
"@xen-orchestra/template": "^0.1.1",
"@xen-orchestra/vmware-explorer": "^0.15.0",
"@xen-orchestra/xapi": "^8.10.5",
"@xen-orchestra/vmware-explorer": "^1.0.0",
"@xen-orchestra/xapi": "^9.0.0",
"@xen-orchestra/xva": "^1.0.3",
"ajv": "^8.0.3",
"app-conf": "^3.0.0",
@@ -146,11 +146,11 @@
"vhd-lib": "^4.16.1",
"ws": "^8.2.3",
"xdg-basedir": "^5.1.0",
"xen-api": "^4.9.0",
"xen-api": "^5.0.0",
"xo-acl-resolver": "^0.5.4",
"xo-collection": "^0.6.1",
"xo-common": "^0.11.0",
"xo-remote-parser": "^0.10.1",
"xo-remote-parser": "^1.0.0",
"xo-vmdk-to-vhd": "^2.5.10",
"yaml": "^2.9.0"
},
@@ -163,7 +163,7 @@
"@babel/plugin-proposal-pipeline-operator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/preset-env": "^7.29.0",
"@xen-orchestra/acl": "^1.6.1",
"@xen-orchestra/acl": "^1.7.0",
"babel-plugin-transform-define": "^2.1.4",
"babel-plugin-transform-dev": "^2.0.1",
"cross-env": "^7.0.2",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"private": true,
"name": "xo-web",
"version": "5.203.0",
"version": "5.204.0",
"license": "AGPL-3.0-or-later",
"description": "Web interface client for Xen-Orchestra",
"keywords": [
@@ -136,7 +136,7 @@
"xo-acl-resolver": "^0.5.4",
"xo-common": "^0.11.0",
"xo-lib": "^0.11.2",
"xo-remote-parser": "^0.10.1",
"xo-remote-parser": "^1.0.0",
"xo-vmdk-to-vhd": "^2.5.10"
},
"scripts": {