Here you can see the full list of changes between each pyxs release.
Bugfix release, released on May 11th, 2016
- Fixed a bug in
XenBusConnection.create_transportwhich failed on attribute lookup. See PR #7 on GitHub.
Released on March 6th, 2016
Fixed a bug in
Client.set_permissionswhich 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.
Clientconstructor. The user is advised to use the corresponding methods explicitly.
Clientconstructor. The user should now wrap it in a
Renamed some of the
Clientmethods 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
Client.transactioncontext manager, because it didn’t provide a way to handle possible commit failure.
Client.existsfor 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.
/dev/xen/xenbuson Linux due to a possible deadlock in XenBus backend.
socket.socketinstead of the corresponding file descriptor.
XenBusConnection. See http://lists.xen.org/archives/html/xen-devel/2016-02/msg03816 for details.
Released on November 29th 2012
Client.read(), which acts similar to
- Fixed a lot of minor quirks so
pyxscan be Debianized.
Released on September 12th 2011
- Moved all PUBSUB functionality into a separate
Monitorclass, 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).
Released on August 18th 2011
- Completely refactored validation – no more @spec magic, everything
is checked explicitly inside
- Added a compatibility interface, which mimics xen.lowlevel.xs
pyxsas a backend, see pyxs/_compat.py.
- Restricted SET_TARGET, INTRODUCE and RELEASE operations to
Dom0 only –
/proc/xen/capabilitiesis used to check domain role.
- Fixed a bug in
Client.wait()– queued watch events weren’t wrapped in
pyxs._internal.Eventclass, unlike the received ones.
Client.walk()method for walking XenStore tree – similar to
Initial release, released on July 16th 2011
- Added a complete implementation of XenStore protocol, including
transactions and path watching, see
- Added generic validation helper – @spec, which forces arguments to match the scheme from the wire protocol specification.
- Added two connection backends –
XenBusConnectionfor connecting from DomU through a block device and
UnixSocketConnection, communicating with XenStore via a Unix domain socket.