mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-06 17:17:56 +03:00
ffff04725c
The actual versioning policy[1] is a bit more nuanced, and in particular there are scenarios in which the monthly release is intentionally skipped, but overall it's not inaccurate to claim that the release cadence of the Go bindings follows the one of the C library. [1] https://gitlab.com/libvirt/libvirt-go-module/-/blob/master/VERSIONING.rst Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
393 lines
13 KiB
ReStructuredText
393 lines
13 KiB
ReStructuredText
=========
|
|
Downloads
|
|
=========
|
|
|
|
.. contents::
|
|
|
|
Project modules
|
|
---------------
|
|
|
|
The libvirt project maintains a number of inter-related modules beyond the core
|
|
C library/daemon.
|
|
|
|
Libvirt
|
|
~~~~~~~
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Module
|
|
- Releases
|
|
- GIT Repo
|
|
- Bug Tracker
|
|
- GIT Mirrors
|
|
- Resources
|
|
|
|
* - libvirt
|
|
- `libvirt <https://download.libvirt.org/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt>`__
|
|
- `api ref <html/index.html>`__
|
|
`changes <news.html>`__
|
|
|
|
Language bindings
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Module
|
|
- Releases
|
|
- GIT Repo
|
|
- Bug Tracker
|
|
- GIT Mirrors
|
|
- Resources
|
|
|
|
* - C#
|
|
-
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-csharp>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-csharp/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-csharp>`__
|
|
-
|
|
|
|
* - Go
|
|
- `pkg.go.dev <https://pkg.go.dev/libvirt.org/go/libvirt>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-go-module>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-go-module/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-go-module>`__
|
|
- `api ref <https://pkg.go.dev/libvirt.org/go/libvirt>`__
|
|
|
|
* - Java
|
|
- `libvirt <https://download.libvirt.org/java/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-java>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-java/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-java>`__
|
|
-
|
|
|
|
* - OCaml
|
|
- `libvirt <https://download.libvirt.org/ocaml/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-ocaml>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-ocaml/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-ocaml>`__
|
|
-
|
|
|
|
* - Perl (Sys::Virt)
|
|
- `cpan <https://metacpan.org/release/Sys-Virt/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-perl>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-perl/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-perl>`__
|
|
- `api ref <https://metacpan.org/release/Sys-Virt/>`__
|
|
`changes <https://gitlab.com/libvirt/libvirt-perl/-/blob/master/Changes>`__
|
|
|
|
* - PHP
|
|
- `libvirt <https://download.libvirt.org/php/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-php>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-php/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-php>`__
|
|
-
|
|
|
|
* - Python
|
|
- `libvirt <https://download.libvirt.org/python/>`__
|
|
`pypi <https://pypi.python.org/pypi/libvirt-python>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-python>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-python/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-python>`__
|
|
-
|
|
|
|
* - Ruby
|
|
- `libvirt <https://download.libvirt.org/ruby/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-ruby>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-ruby/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-ruby>`__
|
|
-
|
|
|
|
* - Rust
|
|
- `crates.io <https://crates.io/crates/virt>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-rust>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-rust/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-rust>`__
|
|
- `api ref <https://docs.rs/virt>`__
|
|
|
|
Integration modules
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Module
|
|
- Releases
|
|
- GIT Repo
|
|
- Bug Tracker
|
|
- GIT Mirrors
|
|
- Resources
|
|
|
|
* - GLib / GConfig / GObject
|
|
- `libvirt <https://download.libvirt.org/glib/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-glib>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-glib/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-glib>`__
|
|
-
|
|
|
|
* - Go XML
|
|
- `pkg.go.dev <https://pkg.go.dev/libvirt.org/go/libvirtxml>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-go-xml-module>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-go-xml-module/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-go-xml-module>`__
|
|
- `api ref <https://pkg.go.dev/libvirt.org/go/libvirtxml>`__
|
|
|
|
* - D-Bus
|
|
- `libvirt <https://download.libvirt.org/dbus/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-dbus>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-dbus/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-dbus>`__
|
|
-
|
|
|
|
* - Console Proxy
|
|
-
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-console-proxy>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-console-proxy/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-console-proxy>`__
|
|
-
|
|
|
|
* - CIM provider
|
|
- `libvirt <https://download.libvirt.org/CIM/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-cim>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-cim/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-cim>`__
|
|
-
|
|
|
|
* - CIM utils
|
|
- `libvirt <https://download.libvirt.org/CIM/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libcmpiutil>`__
|
|
- `issues <https://gitlab.com/libvirt/libcmpiutil/-/issues>`__
|
|
- `github <https://github.com/libvirt/libcmpiutil>`__
|
|
-
|
|
|
|
* - SNMP
|
|
- `libvirt <https://download.libvirt.org/snmp/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-snmp>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-snmp/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-snmp>`__
|
|
-
|
|
|
|
* - Application Sandbox
|
|
- `libvirt <https://download.libvirt.org/sandbox/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-sandbox>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-sandbox/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-sandbox>`__
|
|
-
|
|
|
|
Testing
|
|
~~~~~~~
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Module
|
|
- Releases
|
|
- GIT Repo
|
|
- Bug Tracker
|
|
- GIT Mirrors
|
|
|
|
* - TCK
|
|
- `libvirt <https://download.libvirt.org/tck/>`__
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-tck>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-tck/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-tck>`__
|
|
|
|
* - Test API
|
|
-
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-test-API>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-test-API/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-test-API>`__
|
|
|
|
* - Continuous Integration Config
|
|
-
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-ci>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-ci/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-ci>`__
|
|
|
|
* - CIM Test
|
|
-
|
|
- `gitlab <https://gitlab.com/libvirt/cimtest>`__
|
|
- `issues <https://gitlab.com/libvirt/cimtest/-/issues>`__
|
|
- `github <https://github.com/libvirt/cimtest>`__
|
|
|
|
Documentation
|
|
~~~~~~~~~~~~~
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Module
|
|
- GIT Repo
|
|
- Bug Tracker
|
|
- GIT Mirrors
|
|
|
|
* - Publican Brand
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-publican>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-publican/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-publican>`__
|
|
|
|
* - App Development Guide
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-appdev-guide>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-appdev-guide/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-appdev-guide>`__
|
|
|
|
* - App Development Guide Python
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-appdev-guide-python>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-appdev-guide-python/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-appdev-guide-python>`__
|
|
|
|
* - virsh Command Reference
|
|
- `gitlab <https://gitlab.com/libvirt/libvirt-virshcmdref>`__
|
|
- `issues <https://gitlab.com/libvirt/libvirt-virshcmdref/-/issues>`__
|
|
- `github <https://github.com/libvirt/libvirt-virshcmdref>`__
|
|
|
|
Primary download site
|
|
---------------------
|
|
|
|
Most modules have releases made available for download on the project site via
|
|
HTTPS. Some modules are instead made available at alternative locations, for
|
|
example, the Perl binding is made available only on CPAN.
|
|
|
|
- `libvirt.org HTTPS server <https://download.libvirt.org/>`__
|
|
|
|
Primary release schedule
|
|
------------------------
|
|
|
|
The core libvirt module follows a time based plan, with releases made once a
|
|
month on the 1st of each month give or take a few days. The only exception is at
|
|
the start of the year where there are two 6 weeks gaps (first release in the
|
|
middle of Jan, then skip the Feb release), giving a total of 11 releases a year.
|
|
The Python, Perl and Go modules will aim to release at the same time as the core
|
|
libvirt module. Other modules have independent ad-hoc releases with no fixed
|
|
time schedule.
|
|
|
|
Release numbering
|
|
-----------------
|
|
|
|
Since libvirt 2.0.0, a time based version numbering rule is applied to the core
|
|
library releases. As such, the changes in version number have do not have any
|
|
implications with respect to the scope of features or bugfixes included, the
|
|
stability of the code, or the API / ABI compatibility (libvirt API / ABI is
|
|
guaranteed stable forever). The rules applied for changing the libvirt version
|
|
number are:
|
|
|
|
``major``
|
|
incremented by 1 for the first release of the year (the Jan 15th release)
|
|
``minor``
|
|
reset to 0 with every major increment, otherwise incremented by 1 for each
|
|
monthly release from git master
|
|
``micro``
|
|
always 0 for releases from git master, incremented by 1 for each stable
|
|
maintenance release
|
|
|
|
Prior to 2.0.0, the major/minor numbers were incremented fairly arbitrarily, and
|
|
maintenance releases appended a fourth digit. The language bindings will aim to
|
|
use the same version number as the most recent core library API they support.
|
|
The other modules have their own distinct release numbering sequence, though
|
|
they generally aim to follow the above rules for incrementing major/minor/micro
|
|
digits.
|
|
|
|
Maintenance releases
|
|
--------------------
|
|
|
|
In the git repository are several stable maintenance branches for the core
|
|
library, matching the pattern ``vmajor.minor-maint``; these branches are forked
|
|
off the corresponding ``vmajor.minor.0`` formal release, and may have further
|
|
releases of the form ``vmajor.minor.micro``. These maintenance branches should
|
|
only contain bug fixes, and no new features, backported from the master branch,
|
|
and are supported as long as at least one downstream distribution expresses
|
|
interest in a given branch. These maintenance branches are considered during CVE
|
|
analysis. In contrast to the primary releases which are made once a month, there
|
|
is no formal schedule for the maintenance releases, which are made whenever
|
|
there is a need to make available key bugfixes to downstream consumers. The
|
|
language bindings and other modules generally do not provide stable branch
|
|
releases.
|
|
|
|
For more details about contents of maintenance releases, see `the wiki
|
|
page <https://wiki.libvirt.org/page/Maintenance_Releases>`__.
|
|
|
|
GIT source repository
|
|
---------------------
|
|
|
|
All modules maintained by the libvirt project have their primary source
|
|
available in the `libvirt group on GitLab <https://gitlab.com/libvirt/>`__.
|
|
Each module can be cloned anonymously using:
|
|
|
|
::
|
|
|
|
git clone https://gitlab.com/libvirt/[module name].git
|
|
|
|
In addition to this primary repository, there are mirrored read-only git
|
|
repositories on GitHub:
|
|
|
|
::
|
|
|
|
https://github.com/libvirt/
|
|
|
|
And there are also read-only mirrors on libvirt.org:
|
|
|
|
::
|
|
|
|
git clone https://libvirt.org/git/[module name].git
|
|
|
|
Note that for most repositories, development happens via merge requests
|
|
on GitLab. However, for the main `libvirt.git` repository all patch review and
|
|
discussion only occurs on the `libvir-list <contact.html>`__ mailing list.
|
|
|
|
The GitHub repository is read-only and pull requests and issues there are ignored.
|
|
|
|
Signing keys
|
|
------------
|
|
|
|
Source RPM packages and tarballs for libvirt and libvirt-python published on
|
|
this project site are signed with a GPG signature. You should always verify the
|
|
package signature before using the source to compile binary packages. The
|
|
following key is currently used to generate the GPG signatures:
|
|
|
|
::
|
|
|
|
pub 4096R/10084C9C 2020-07-20 Jiří Denemark <jdenemar@redhat.com>
|
|
Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
|
|
|
|
It can be downloaded from `this
|
|
site <https://download.libvirt.org/gpg_key.asc>`__ or from public GPG key
|
|
servers.
|
|
|
|
Releases prior to libvirt-6.6 were signed with the following GPG key:
|
|
|
|
::
|
|
|
|
pub dsa1024 2000-05-31 [SC]
|
|
C744 15BA 7C9C 7F78 F02E 1DC3 4606 B8A5 DE95 BC1F
|
|
uid [ unknown] Daniel Veillard (Red Hat work email) <veillard@redhat.com>
|
|
uid [ unknown] Daniel Veillard <Daniel.Veillard@w3.org>
|
|
|
|
::
|
|
|
|
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA256
|
|
|
|
Starting from libvirt-6.6.0 the upstream releases will be done by Jiří Denemark
|
|
signed with his PGP key:
|
|
|
|
pub 4096R/10084C9C 2020-07-20 Jiří Denemark <jdenemar@redhat.com>
|
|
Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
|
|
|
|
This message is signed by the old signing key which was used for previous
|
|
releases.
|
|
-----BEGIN PGP SIGNATURE-----
|
|
|
|
iQEzBAEBCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl/8H9cACgkQFViLJllr
|
|
6l3iVwgAm9n703/QoIfPbxT5qGQzWK6LNriEcG2R9MLgFcW+UuGA9cqIBLhH1RaJ
|
|
q7Gc3gK0dgE2HAF6DxuG5+nkDY6LdmonLOVFWQkMCh41JHFrV6tw8y9hc/RNOb/m
|
|
gFAl4HpwYisjTRvsTRcpR3ElK6lI0Yu4GY4gJxj5qH4L5exR+kkylwuAxqP+wuyY
|
|
b/L/tP76F4+Q9SSPj0M01NRVC7V8m3yvnok5y374vtxvRFome0WMELn81vphxBLx
|
|
X7LQ1LyjvRs0HhN5MutJES5FYDzArTYZfZJozJgE465XrHxMMCbXbZ/AgAs/aD+5
|
|
x+m2mFplbS57tMEoMBP/ezbbL5wpvA==
|
|
=KnaO
|
|
-----END PGP SIGNATURE-----
|