summaryrefslogtreecommitdiff
path: root/docs/downloads.rst
blob: c7d4237f66f3525831b305ad3b15f5b6f187cb4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
=========
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 and Perl 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-----