46 Commits

Author SHA1 Message Date
Bastien Nollet
93dc079f71 docs: remove british spellings (#10724) 2026-11-06 16:58:11 +01:00
Bastien Nollet
d2ffe1ad56 feat: technical release (#10667) 2026-10-23 12:04:08 +02:00
Florent BEAUCHAMP
57282c0457 feat(backup/incremental mirror): don't recompress block if the compression is the same on source and destination (#10581)
* feat(backup/incremental mirror): don't recompress block if the compression is the same on source and destination
2026-10-21 11:07:43 +02:00
Mathieu
068c4cdc86 feat: technical release (#10192) 2026-07-29 15:30:14 +02:00
Florent BEAUCHAMP
84ce89d199 fix(disk-transform): implement a guardrail to ensure it does not read block only in parent 2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
9140cd273b fix(disk-transform): fix getBlockIndexesCount
introduced by #10058

the current method assumes that source block are full but they can
be sparse. In the worst case getBlockIndexesCount can be the same as
the source
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
9388fa4bb6 fix(disk-transform): erronous offset in DiskLargerBlock when copying data
the offset must be relative to the start of THIS large block, not to the
start of the disk — otherwise every large block after index 0 lands past
the end of destinationBlock and copy() silently writes nothing (zeroed block).

affect qcow2 incremental backup with NBD disable

NBD + qcow2 and Vhd backups don't go through this code path
2026-07-27 19:45:25 +02:00
Mathieu
74b952be2b feat: technical release (#10174) 2026-07-27 15:05:16 +02:00
Florent BEAUCHAMP
0cfcb998a2 feat(disk-transform): port getBlockIndexesCount to the relevant classes (#10058) 2026-07-15 14:04:53 +02:00
Bastien Nollet
b96a6dc1e9 feat: technical release (#10022)
* feat(@xen-orchestra/fs): 4.9.1

* feat(@vates/generator-toolbox): 1.1.3

* feat(@xen-orchestra/disk-transform): 1.3.1

* feat(@vates/fuse-vhd): 2.1.3

* feat(xo-common): 0.10.0

* feat(xen-api): 4.7.8

* feat(@vates/types): 1.27.0

* feat(@xen-orchestra/acl): 1.3.0

* feat(@xen-orchestra/backup-archive): 1.0.2

* feat(@xen-orchestra/qcow2): 1.3.1

* feat(@xen-orchestra/xapi): 8.9.0

* feat(@xen-orchestra/backups): 0.73.3

* feat(@xen-orchestra/disk-cli): 2.1.2

* feat(@xen-orchestra/web-core): 0.55.0

* feat(@xen-orchestra/mcp): 1.4.1

* feat(@xen-orchestra/mixins): 0.20.1

* feat(@xen-orchestra/openflow): 0.1.4

* feat(@xen-orchestra/proxy): 0.30.4

* feat(@xen-orchestra/qa-test): 1.1.0

* feat(@xen-orchestra/rest-api): 0.34.0

* feat(@xen-orchestra/upload-ova): 0.1.8

* feat(@xen-orchestra/web): 0.54.0

* feat(xo-acl-resolver): 0.5.3

* feat(xo-server): 5.203.0

* feat(xo-server-audit): 0.15.1

* feat(xo-server-ipmi-sensors): 2.0.1

* feat(xo-server-load-balancer): 0.13.0

* feat(xo-server-netbox): 1.13.0

* feat(xo-server-openmetrics): 1.7.0

* feat(xo-server-sdn-controller): 1.3.3

* feat(xo-web): 5.198.0

* chore(CHANGELOG): update next
2026-06-24 10:18:29 +02:00
Pierre Brunet
9a710e5bf3 feat: update packages (#9969) 2026-06-17 10:02:00 +02:00
Pierre Brunet
7b40af7e86 feat(qcow2): fix invalid range error (#9948)
Reduce memory consumption up to 700MB / TB of data ( 300-350Mb per call of getBlockIndexes().length , called twice).

Ticket: 59102
Tested in client environment. Works for a 7TB import
2026-06-09 11:54:04 +02:00
Florent BEAUCHAMP
8939a2deeb feat(backups): add progress to incremental mirror (#9901) 2026-06-05 16:00:02 +02:00
Pierre Brunet
082ab9cf41 feat: technical release (#9878) 2026-05-22 10:34:38 +02:00
Pierre Brunet
100f11308a refactor(backups): rewrite and test cleanVm (#9765)
the cleanVm script was a monolith in charge of cleaning the backup, 
detecting any corrupted data, deleting the irrecoverable one, removing
and merging older backups 

this PR do a complete rewrite, using the RemoteDisk abstraction and add
tests
2026-05-18 15:15:56 +02:00
Bastien Nollet
fdb82ed68a feat: technical release (#9768) 2026-04-24 14:38:15 +02:00
Elise-F
04a6fb3805 feat: technical release (#9642) 2026-03-27 10:23:50 +01:00
Florent BEAUCHAMP
0286f7786a fix(immutable-backups): decrease resource consumption, add tests and typing (#9548) 2026-03-24 16:00:01 +01:00
Florent BEAUCHAMP
f2b1931408 feat(disk-cli): implement disk cli tooling (#9551)
* feat(disk-cli): implement disk cli tooling

* changelog

* fix test path

* fix following review

* fix following rebase

* ci

* fix following rebase

* more tests
2026-03-24 14:35:05 +01:00
Florent BEAUCHAMP
598ab85446 feat(vmware-explorer): make V2V import cancellable (#9552) 2026-03-17 18:17:08 +01:00
Pierre Brunet
45aee36ae7 typescript: Add types in several packages (#9583)
* feat: add types for fs (#9515)

* feat: add types for fs

* fix: update from review

* fix: update devDep

* feat: add types from @xen-orchestra/fs/path

* feat: export types based on async-each

* fix: remove ts-expect-error because async-each is now typed

* fix: export backups types and packages

* fix: update tsconfig async-each and fix types in MergeRemoteDisk

* fix: extractIdsFromSimplePattern from backups

* fix: package.json

* feat: export vhd-lib types

* feat(disks): export types

* fix(backups/disks): make params optional

* fix(backups/disks): small update in jsdoc

* bump: update yarn.lock

* fix: update vhd-lib exports

* fix(vhd-lib): update package exports

* fix: revert to previous import

* fix: new approach without exports

* fix: revert types except for asyncEach, openDisk

* fix(disks): import in vhd-lib

* fix(remoteVhdDisk): update typedef
2026-03-16 10:55:18 +01:00
Florent BEAUCHAMP
4e0655dc3d fix(backups): better handling of generator cleanup (#9557) 2026-03-10 15:55:59 +01:00
spacotte-vates
4e50858526 feat(@xen-orchestra/backups): refactor backup merge code (#9300)
this merge code leverage the new classes introduced to handle qcow2, improving our flexibility, and future uses.

this also improve the performance on "block mode" backups (s3/ azure and other storage with the option), since it reliably updates the block allocation table only at the end of the merge instead of each time a new block is detected
2026-02-16 18:04:12 +01:00
Mathieu
21767145bd feat: technical release (#9422) 2026-01-23 14:44:23 +01:00
Elise-F
0b52a05bb3 feat: technical patch release (#9372) 2026-01-06 11:51:13 +01:00
Florent BEAUCHAMP
42eb8664be fix(xo-server/v2v): more block alignment fixes (#9293)
from #45336
2026-01-05 16:01:59 +01:00
MlssFrncJrg
1c6bc86794 Release (#9251)
* feat(vhd-lib): 4.14.5

* feat(@vates/nbd-client): 3.2.2

* feat(@xen-orchestra/web-core): 0.35.0

* feat(@xen-orchestra/rest-api): 0.21.1

* feat(@xen-orchestra/vmware-explorer): 0.10.6

* feat(@xen-orchestra/web): 0.34.0

* feat(xo-server): 5.193.1

* feat(xo-server-auth-oidc): 0.4.0

* feat(xo-server-perf-alert): 1.0.0

* feat(xo-web): 5.191.0

* chore(CHANGELOG): update next

* feat(vhd-cli): 1.0.0

* add missing lib
2025-11-27 13:23:09 +01:00
Bastien Nollet
961b505cfb feat: technical release (#9176) 2025-11-03 12:14:53 +01:00
Bastien Nollet
268033439b feat: technical release (#9164) 2025-10-30 15:25:41 +01:00
Bastien Nollet
51855c22d4 feat: technical release (#9146) 2025-10-27 12:13:55 +01:00
Pierre Brunet
9123921676 Chore: update rimraf packages to fix glob ending support (#9046)
feat: update rimraf
2025-10-27 09:48:17 +01:00
Florent BEAUCHAMP
d58efc7b2d fix(xapi): implement Throttling on Xapi/Remote read 2025-10-16 11:30:25 +02:00
Florent BEAUCHAMP
73aa66a219 fix(xapi): implement Timeout on Xapi read 2025-10-16 11:30:25 +02:00
Pierre Brunet
86f3096c1b chore: update packages (#9042)
- passport-saml -> @node-saml/passport-saml
- connect-flash -> typed-flash
2025-10-06 10:42:44 +02:00
Bastien Nollet
043387a913 feat: technical release (#8913) 2025-08-28 11:41:28 +02:00
Mathieu
6d5a1ccdd2 feat: technical release (#8836) 2025-07-28 14:53:35 +02:00
Pierre Brunet
1cb9c5e633 feat: technical release (#8758)
* feat(vhd-lib): 4.14.0

* feat(@xen-orchestra/disk-transform): 1.1.0

* feat(@xen-orchestra/qcow2): 1.0.0

* feat(@xen-orchestra/xapi): 8.3.0

* feat(@xen-orchestra/backups): 0.62.0

* feat(@xen-orchestra/backups-cli): 1.1.1

* feat(@xen-orchestra/immutable-backups): 1.0.22

* feat(@xen-orchestra/web-core): 0.22.0

* feat(@xen-orchestra/proxy): 0.29.23

* feat(@xen-orchestra/rest-api): 0.10.0

* feat(@xen-orchestra/web): 0.20.0

* feat(xo-acl-resolver): 0.5.1

* feat(xo-server): 5.180.0

* feat(xo-web): 5.178.0

* chore(CHANGELOG): update next

* feat(@vates/types): 1.6.0

* fix(chore): changelog package order
2025-06-27 10:19:25 +02:00
Florent BEAUCHAMP
cbc07b319f feat(xapi): support import and export of qcow2 disks (#8506)
This PR implement a limited support of generating and reading qcow2 . The support is limited since it only handles qcow2 with 64KB cluster size, with this structure :

    header
    refcount table
    refcount blocks
    L1 table
    L1 tables
    data clusters

generated by a9cd5bc639/scripts/qcow2-to-stdout.py
2025-06-24 15:32:20 +02:00
Pierre Brunet
7994fc52c3 feat: technical release (#8745)
* feat(xo-remote-parser): 0.10.0

* feat(@xen-orchestra/fs): 4.6.0

* feat(vhd-lib): 4.13.0

* feat(xen-api): 4.7.2

* feat(@vates/task): 0.6.2

* feat(@vates/types): 1.5.0

* feat(@xen-orchestra/backups): 0.61.2

* feat(@xen-orchestra/backups-cli): 1.1.0

* feat(@xen-orchestra/web-core): 0.21.0

* feat(@xen-orchestra/rest-api): 0.9.0

* feat(@xen-orchestra/web): 0.19.0

* feat(vhd-cli): 0.9.4

* feat(xo-web): 5.177.0

* feat(xo-server): 5.179.0

* feat(xo-server-auth-oidc): 0.3.3

* feat(xo-server-backup-reports): 1.6.0

* feat(xo-server-load-balancer): 0.10.2

* feat(xo-server-transport-nagios): 1.0.3

* chore(changelog): update next

* feat(@xen-orchestra/proxy): 0.29.22

* feat(xo-server-perf-alert): 0.6.3

* fix(chore): update changelog

* fix: fix yarn.lock
2025-06-23 17:27:36 +02:00
Mathieu
529e6bd7d1 feat: technical release (#8677)
* feat(@vates/generator-toolbox): 1.0.3

* feat(@xen-orchestra/backups): 0.61.1

* feat(@xen-orchestra/proxy): 0.29.21

* feat(xo-server): 5.178.2

* feat(xo-web): 5.176.0

* chore(CHANGELOG): update next
2025-06-05 15:13:41 +02:00
Josh Soref
0a378391a9 chore: fix spelling errors and typos in docs and comments (#8619) 2025-06-04 14:37:58 +02:00
Mathieu
a7346871c3 feat: technical release (#8642) 2025-05-27 15:47:25 +02:00
Florent BEAUCHAMP
dfbc578dfa fix(disk-transform): backup omnibus fix (#8635) 2025-05-27 13:50:27 +02:00
Mathieu
ca227536aa feat: technical release (#8631) 2025-05-23 15:47:32 +02:00
Mathieu
b674e0d13f feat: technical release (#8629)
* feat(@xen-orchestra/fs): 4.5.1

* feat(@vates/generator-toolbox): 1.0.2

* feat(@vates/nbd-client): 3.1.3

* feat(@vates/types): 1.3.0

* feat(@xen-orchestra/disk-transform): 1.0.0

* feat(@xen-orchestra/xapi): 8.2.0

* feat(@xen-orchestra/backups): 0.60.0

* feat(@xen-orchestra/backups-cli): 1.0.31

* feat(@xen-orchestra/immutable-backups): 1.0.20

* feat(@xen-orchestra/web-core): 0.20.0

* feat(@xen-orchestra/proxy): 0.29.18

* feat(@xen-orchestra/rest-api): 0.7.0

* feat(@xen-orchestra/web): 0.18.0

* feat(xo-server): 5.177.1

* feat(xo-server-auth-oidc): 0.3.2

* feat(xo-server-netbox): 1.9.0

* feat(xo-server-perf-alert): 0.6.2

* chore(CHANGELOG): update next
2025-05-23 15:06:25 +02:00
Florent BEAUCHAMP
41e5a33cfe feat(backups): use generator instead of streams for backup and replication (#8432)
use generators instead of stream for backup and replication
2025-05-16 14:24:09 +02:00