Find file
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (84 sloc) 3.86 KB
pyxs Changelog
Here you can see the full list of changes between each pyxs release.
Version 0.4.1
Bugfix release, released on May 11th, 2016
- Fixed a bug in ``XenBusConnection.create_transport`` which failed
on attribute lookup. See PR #7 on GitHub.
Version 0.4.0
Released on March 6th, 2016
- Fixed a bug in ``Client.set_permissions`` which coerced permission
lists (e.g. ``["b0"]``) to repr-strings prior to validation.
- The API is now based around ``bytes``, which means that all methods
which used to accept ``str`` (or text) now require ``bytes``. XenStore
paths and values are specified to be 7-bit ASCII, thus it makes little
sense to allow any Unicode string as input and then validate if it
matches the spec.
- Removed ``transaction`` argument from ``Client`` constructor. The user
is advised to use the corresponding methods explicitly.
- Removed ``connection`` argument from ``Client`` constructor. The user
should now wrap it in a ``Router``.
- Renamed some of the ``Client`` methods to more human-readable names:
================= ===================
Old name New name
================= ===================
ls list
rm delete
get_permissions get_perms
set_permissions set_perms
transaction_start transaction
transaction_end commit and rollback
================= ===================
- Removed ``Client.transaction`` context manager, because it didn't provide
a way to handle possible commit failure.
- Added ``Client.exists`` for one-line path existence checks. See PR #6 on
GitHub. Thanks to Sandeep Murthy.
- Removed implicit reconnection logic from ``FileDescriptorConnection``.
The user is now expected to connect manually.
- Changed ``XenBusConnection`` to prefer ``/dev/xen/xenbus`` on Linux
due to a possible deadlock in XenBus backend.
- Changed ``UnixSocketConnection`` to use ``socket.socket`` instead of the
corresponding file descriptor.
- Disallowed calling ``Client.monitor`` over ``XenBusConnection``. See for
Version 0.3.1
Released on November 29th 2012
- Added ``default`` argument to ````, which acts similar to
- Fixed a lot of minor quirks so ``pyxs`` can be Debianized.
Version 0.3
Released on September 12th 2011
- Moved all PUBSUB functionality into a separate ``Monitor`` class, which
uses a *separate* connection. That way, we'll never have to worry
about mixing incoming XenStore events and command replies.
- Fixed a couple of nasty bugs in concurrent use of ``Client.wait()``
with other commands (see above).
Version 0.2
Released on August 18th 2011
- Completely refactored validation -- no more `@spec` magic, everything
is checked explicitly inside ``Client.execute_command()``.
- Added a compatibility interface, which mimics `xen.lowlevel.xs`
behaviour, using ``pyxs`` as a backend, see pyxs/
- Restricted `SET_TARGET`, `INTRODUCE` and `RELEASE` operations to
Dom0 only -- ``/proc/xen/capabilities`` is used to check domain
- Fixed a bug in ``Client.wait()`` -- queued watch events weren't wrapped
in ``pyxs._internal.Event`` class, unlike the received ones.
- Added ``Client.walk()`` method for walking XenStore tree -- similar to
Version 0.1
Initial release, released on July 16th 2011
- Added a complete implementation of XenStore protocol, including
transactions and path watching, see ``pyxs.Client`` for details.
- Added generic validation helper -- `@spec`, which forces arguments
to match the scheme from the wire protocol specification.
- Added two connection backends -- ``XenBusConnection`` for connecting
from DomU through a block device and ``UnixSocketConnection``,
communicating with XenStore via a Unix domain socket.