                 libvirt-glib News
                 =================

4.0.0 - Feb 10, 2021
====================

- Replace autotools build system with meson
- Mandate libvirt >= 1.2.8
- Mandate libxml2 >= 2.9.1
- Mandate glib >= 2.48.0
- Mandate gobject-introspection >= 1.46.0
- Fix docs incompatibility with gtk-doc >= 1.30
- Updated translations
- Misc API docs fixes
- Add constants related to NVRAM during domain delete
- Add domain config API for controller ports attribute
- Fix compat with newer glib by avoid volatile for enum types

3.0.0 - Nov 26, 2019
====================

- Add support for bochs video device
- Add API to query firmware config
- Improve testing coverage
- Validate min/max glib API versions in use
- Remove deprecated G_PARAM_PRIVATE
- Fix docs build linking problems
- Convert python demos to be python 3 compatible & use
  modern best practice for pyobject introspection bindings
- Add API to query domain capaibilities
- Refresh translations
- Simplify build process for handling translations
- Fix some memory leaks
- Add API for setting storage volume features


2.0.0 - Oct 12, 2018
====================

- Increase min libvirt to 1.2.5
- Increase min glib to 2.38
- Fix example program event detail strings
- Set LC_CTYPE=en_US.UTF-8 when running python apps
- Don't relay on non-portable paths
- Fix sha-bang lines for portability
- Refresh translations
- Remove bogus casts for g_object_ref args
- Disable -Wcast-function-type warnings
- Modernize gobject macro usage
- Allow adding namespace to child nodes
- Add ICH9 audio support
- Add API for getting machine type

1.0.0 - Nov  4, 2016
====================

- Switch to new release numbering scheme, major
  digit incremented each year, minor for each
  release, micro for stable branches (if any)
- Fix Libs.private variable in pkg-config file
- Fix git introspection warnings
- Add ability to set SPICE gl property
- Add support for virtio video model
- Add support for 3d accel property
- Add support for querying video model
- Add support for host device config for PCI devs
- Add docs for more APIs
- Avoid unused variable warnings
- Fix check for libvirt optional features to use pkg-config
- Delete manually written python binding. All apps should
  use PyGObject with gobjection introspection.
- Add schema to be NULL on config objects
- Preserve unknown devices listed in XML
- Add further test coverage

0.2.3 - Dec 16, 2015
====================

- Require libvirt >= 1.1.1
- Require glib2 >= 2.36.0
- Require gobject-introspection >= 1.36.0
- Fix memory leak setting ram usage
- Fix memory leaks in test suite
- Document intended deployment targets
- Fix misc docs
- Add wrapper for virDOmainSetTime
- Port more code to use GTask instead of GSimpleAsyncResult
- Drop unused finalize functions
- Drop unused variables
- Drop overly verbose debug calls for object lifecycle

0.2.2 - Jul 21, 2015
====================

- Add API for getting interface MAC address
- Simplify implementation of object listing APIs
- Fix memory leaks of virConnect objects
- Port to use GTask instead of GSimpleAsyncResult
- Add API to get list of physical network interfaces
- Add API to get list of virtual networks
- Add API to get DHCP address of virtual networks
- Avoid overwriting filesystem type when setting format
- Include XML data for tests in dist
- Add support for UNIX chardev sources
- Fix test linking on platforms with strict linker deps
- Add ability to set video ram + vgamem

0.2.1 - Jun 16, 2015
====================

- Fix libtoolize detection in autogen.sh
- Allow storage volume format compatibility level to be set
- Add pre-condition checks to more public API entry points
- Don't try to return a value from void functions
- Add API for controlling storage pool autostart flag
- Add API for filesystem image format
- Add loop, nbd and ploop filesystem types
- Fix setting of driver type when called more than once

0.2.0 - Dec 15, 2014
====================

- Support keyboard input device config
- Annotate some unused parameters
- Add support for new graphics attach API

0.1.9 - Aug 20, 2014
====================

- Require glib2 >= 2.36.0
- Add support for spiceport chardev
- Misc fixes to build system
- Fix ref counting of snapshot devices
- Add API for deleting snapshots
- Fix RPM layout for vala files
- Fix race in build of vala code
- Add API for getting security models
- Add classes for dealing with CPU models
- Fix enum generation
- Add API for fetching snapshots

0.1.8 - Feb 21, 2014
====================

- Add getter/setter for UUID in domain config
- Remove dead code / unused variables
- Add missing symbol exports
- Add support for setting nwfilters in domain config
- Switch to standard gobject introspection autotools macros
- Fix typo preventing removal of clock config
- Add getter/setters for disk driver type
- Add unit tests based on glib tap harness
- Add test for validating symbol file exports
- Add getters for domain graphics config params
- Add more getters for domain timer config
- Add support for hpet timer type
- Fix event loop impl on win32
- Fix parent class/object of pit timer class
- Fix misc API doc bugs
- Add more getters for domain clock config
- Fix removal of domain CPU feature flags
- Fix removal of capabilities CPU topology
- Misc fixes to glib event loop integration

0.1.7 - Jul  8, 2013
====================

- Fix memory leaks in domain memory setters
- Add APIs for configuration sdl/rdp/desktop graphics modes
- Add getter APIs for domain channel devices
- Add getter APIs for storage pools
- Add API for getting/setting virt type
- Add getter APIs for storage pool schema
- Add base framework for i18n of error messages
- Fix annotation of gvir_init_object
- Add getter/setter APIs for disk driver format
- Add APIs for domain snapshot schema
- Add APIs to access domain chardev source
- Add API to access domain device aliases

0.1.6 - Mar 18, 2013
====================

- Prefer g_strlcpy over strncpy
- Fix potential crashes in some error handling cases
- Fix typo in gvir_config_init docs which broke vala binding
- Use 'transfer none' for argv parameter in all init functions
- Ensure stream data parameters are annotated to be guint8
  arrays, not gchar, since they're not NULL terminated
  strings.
- Replace FSF address with URL in copyright headers
- Add API for changing Spice compression parameters.

0.1.5 - Jan 14, 2013
====================

- Add support for bridge interface types in guest XML
- Add API to open a read-only connection
- Add support for smartcard devices in guest XML
- Remove storage volume from pool list after deleteing it

0.1.4 - Nov 16, 2012
====================

- Add support for configuring power management config
- Add API binding for updating device config
- Avoid SEGV when querying storage volune with NULL name
- Avoid reference count leak when constructing wrapped libvirt objects
- Avoid calling g_type_init for newer glib
- Add flags for domain reboot API
- Fix leak with GMutex compatibility wrappers
- Don't use storage volumes before the pool refresh finishes
- Add binding for destroying storage pools
- Add binding for defining storage pools

0.1.3 - Oct  8, 2012
====================

- Improve documentation for set_memory method in GVirConfigDomain
- Handle size units for memory attributes
- Add API for current memory
- Fix python example to specify virt type
- Use 1 GB of RAM in python example instead 1 TB !
- Add API to get hypervisor name and version
- Avoid NULL format string for g_set_error
- Fix XXX_new_with_xml constructors for config objects
- Add misc getters for VNC/SPICE config attributes
- Add handling of PMSUSPENDED state
- Add handling of WAKEUP events
- Require libvirt 0.10.2 minimum
- Add API for domain PM wakeup

0.1.2 - Aug 20, 2012
====================

- Add async binding for virDomainResume
- Fix deadlock in event loop handle/timer removal

0.1.1 - Aug 06, 2012
====================

- Add bindings for virDomainSnapshotCreate*().
- Add bindings for virDomainRestore*().
- Add GVir.DomainShutdownFlags() binding.
- Add GVir.DomainXMLFlags binding.

0.1.0 - Jul 16, 2012
====================

- Add setters for capabilities CPU config object
- Add constructor for capabilities CPU config object
- Add config object for domain CPU schema
- Add bindings for domain save APIs
- Add bindings for storage volume upload/download

0.0.9 - Jun 25, 2012
====================
- Full API docs for libvirt-glib library
- Add API for getting domain OS config
- Add API for getting domain OS boot devices
- Add APIs for querying host capabilities
- Add missing domain OS type enum values
- Add API for getting domain virt type
- Add comprehensive API arg checking
- Add API for getting domain arch
- Allow zero timeouts in timer
- Fix build with newer glibc-headers and -O0
- Fix generation of filesystem source element
- Port to use Mingw64 toolchain for automated builds
- Add async API for starting domains
- Fix thread safety of event loop timeouts/watches
- Add support for filesystem type=bind|ram

0.0.8 - Apr 27, 2012
====================

- Fix build of test suites with Debian's libtool
- Add API for disk source startup policy
- Add API for domain controller devices
- Add APIs for USB controllers
- Add APIs for USB / PCI device addressing schemes
- Add APIs for USB redirection devices
- Add ASync API for fetching domain info
- Add APIs for domain timer configuration

0.0.7 - Mar 30, 2012
====================

- Fix typo in filesystem access mode constant
- Remove incorrect encoding of XML attributes
- Add support for USB redirection devices
- Add support for SPICE agent device
- Fix typo in channel device target constant
- Make all string getters return a const string
- Keep list of devices sorted in original XML order

0.0.6 - Mar 05, 2012
====================

- Add binding for virDomainBlockResize(): gvir_domain_disk_resize().
- Set correct target node attribute for domain interface.
  gvir_config_domain_interface_set_ifname() should be setting 'dev' attribute
  under 'target', not 'device'.
- Getter for the associated domain of a domain device.
- Getters for GVirConfigDomainInterface attributes.
- GVirDomainDevice now has an associated GVirConfigDomainDevice.
- Remove now redundant 'path' property from GVirDomainDevice subclasses.
- Add gvir_domain_get_devices().
- Empty statistics for user-mode interfaces. One of the limitations of user-mode
  networking of libvirt is that you can't get statistics for it (not yet, at
  least). Instead of erroring-out in that case, simply return empty statistics
  result and spit a debug message.
- Fix a GVirStream leak.
- Also distribute GNUmakefile, cfg.mk and maint.mk files.

0.0.5 - Feb 20, 2012
====================

- Require libvirt >= 0.9.10
- Fix error after finishing a stream
- Use G_PARAM_STATIC_STRINGS
- Add config for readonly disks
- Add config for description/metadata
- Fix type when creating storage volumes
- Remove some bogus g_error usage
- Import GNULIB's compiler warning flags support & fix
  problems
- Add API for resizing storage volumes
- Add API to check if a domain is saved
- Add config for disk cache method
- Add APIs to get node information
- Add flags for deleting domains


0.0.4 - Jan 12, 2012
====================

- Add support for configuring sound, serial, parallel
  and channel devices
- Add support for newer libvirt shutdown event
- Add support for setting SPICE/VNC passwords
- Fix storage pool annotations
- Improve docs for memory APIs
- Fix problem with duplicated attributes
- Many internal XML helper API cleanups/additions
- Add API for retrieving list of all devices
- Fix mixup between g_new0/g_slice_free
- Change namespace for GVirConfig APIs (breaks ABI
  and API)
- New APIs for save/suspend


0.0.3 - Dec 19, 2011
====================

- Flesh out API in libvirt-gconfig to allow basic domain
  configuration
- Don't memset private data fields, since glib already
  ensures this
- Fix VPATH builds
- Add syntax-check rules ensuring coding style compliance
- Describe coding style in HACKING file
- Expand libvirt-gobject API to allow watches on streams
- Simplify debug system with new glib
- Fix libvirt-gobject pkg-config file
- Fix domain event handlig wrt transient guests
- Don't crash if given a NULL uri to connect to
- Expand libvirt-gobject API for storage pools & volumes
- Fix some crashes in error paths where GError instance
  was NULL
- Add vala files to the RPM
- Add binding for open domain consoles & graphics


0.0.2 - Nov 22, 2011
====================

- Add API to redefine an existing domain.
- Expicitely call virInitialize() to avoid connection races.
- Adjust example to latest pygobject-3.0.
- Add missing deps on libxml2-devel & libtool.
- Add support for writing to streams
- Add API for creating transient domains
- Change all flags parameters to be guint
- Uncomment & fix code for returning object config
- Ensure pools & domains hashes are non-NULL to avoid SEGV
- Don't de-reference GError instances which are NULL
- Update COPYING file to have latest FSF address
- Update RPM specfile to include Fedora review feedback


0.0.1 - Nov 16, 2011
====================

First public release.
